Главная » Просмотр файлов » Современные подходы и методы моделирования изменяемых программных систем

Современные подходы и методы моделирования изменяемых программных систем (1187429)

Файл №1187429 Современные подходы и методы моделирования изменяемых программных систем (Современные подходы и методы моделирования изменяемых программных систем)Современные подходы и методы моделирования изменяемых программных систем (1187429)2020-09-11СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла

Министерство образования и науки Российской Федерации

МОСКОВСКИЙ ФИЗИКО-ТЕХНИЧЕСКИЙ ИНСТИТУТ (государственный университет)

ФАКУЛЬТЕТ УПРАВЛЕНИЯ И ПРИКЛАДНОЙ МАТЕМАТИКИ

КАФЕДРА ИНФОРМАТИКИ И ВЫЧИСЛИТЕЛЬНОЙ МАТЕМАТИКИ

Специализация 011600 «Прикладные физика и математика»







СОВРЕМЕННЫЕ ПОДХОДЫ И МЕТОДЫ МОДЕЛИРОВАНИЯ ИЗМЕНЯЕМЫХ ПРОГРАММНЫХ СИСТЕМ”



Выпускная квалификационная работа

(магистерская диссертация)









Выполнила:

студентка 176 группы Газизуллина Р.К.

Научный руководитель:

д.ф.-м.н., профессор Лаврищева Е.М.





Москва – 2017

Содержание

Введение ………………………………………………………………….. 3

Глава 1. Анализ подходов к созданию вариабельных систем .…….….. 5

1.1 Моделирование вариабельности в требованиях с помощью

диаграмм характеристик …………………………………………………. 6

1.2 Моделирование вариабельности в требованиях с помощью механизмов UML ……………………………………………………... 6

1.3 Модель К. Похла SPLE ………………………………………………. 7

1.4 Система генерирующего программирования K.Chetrnetski …….… 9

1.5 Система конфигурационной сборки Grid ……………………….…. 12

1.6 Конвейерная сборка разнородных объектов ………………….…… 14



Глава 2. Моделирование вариабельной системы………………………. 16

2.1 Функции управления вариабельностью…………………………….. 17

2.2 ОКМ моделирование программных систем и их семейств ……….. 20

2.3 Технология изготовления программного продукта ……………….. 26

2.4 Процесс обеспечения вариабельности……………………………… 29

Глава 3. Извлечение вариабельности из Legacy-кода…………………. 31

3.1 Цель работы…………………………………………………………... 31

3.2 Сущность подхода Variability Mining……………………………… 33

3.3 Базовая модель……………………………………………………….. 34

Глава 4. Вычислительный эксперимент………………………………... 37

4.1 Итоговый алгоритм………………………………………………….. 37

4.2 Численная оценка рекомендательной системы………………….... 37

Заключение ……………………………………………………………… 40

Список использованной литературы …………………………………... 41

ВВЕДЕНИЕ

Программные системы начали разрабатываться в 80–годах прошедшего столетия для организации вычислений математических, экономических и других задач на ЭВМ. Базовым элементом таких систем были отдельные программы, подпрограммы и др. Ранее разработанные модули и программы становились готовыми для использования и накапливались в библиотеках стандартных программ или в банках модулей.

В эти годы Эдсгер Дейкстра впервые ввел термин семейство программ. Он означал совокупность программ, которые обладают общими функциональными характеристиками, каждая из которых может изменяться независимо друг от друга. Программы и модули семейства описывались в языках программирования и собирались из них с использованием процедур, функций, подпрограмм и т.п. Изменения вносились в любые элементы программ семейства на интуитивном уровне, а затем они повторно объединялись в одну систему.

Одновременно возникло понятие программная система, как совокупность отдельных программных объектов, которые реализуют взаимосвязанные функции некоторого программного обеспечения для выполнения в заданной операционной среде. А так же понятие - семейство программных систем – это совокупность программных систем, которые определяются общим множеством понятий и свойств, присущих всему семейству, и множеством отдельных специальных свойств, которые присущи каждому отдельному члену семейства предметной области.

С начала 2000–х годов институт программной инженерии (SEI) США ввел термин семейство программных продуктов или продуктовая линия (Product Lines). Эти термины идентичны и определены в словаре ISO/IEC FDIS 24765:2009(E) – Systems and Software Engineering Vocabulary как «группа продуктов или услуг, которые имеют общее управляемое множество свойств, удовлетворяющих потребностям определенного сегмента рынка или вида деятельности».

Таким образом, классическое определение семейства программных систем эволюционировало к семейству продуктов, изготовляемых на продуктовых, технологических линиях фабрик производства программных систем из готовых продуктов, которые накапливаются в библиотеках.

Многолетние исследования проблем индустрии программных продуктов и их семейств, показал, что одной из ключевых проблем обеспечения работоспособности и качества программных продуктов является сопровождение продукта с целью выполнения и обнаружения различных ошибок и внесения изменений с сохранением функциональности продукта. Особенно остро этот вопрос стоит в системах, которые изготовлены старыми традиционными способами и не ориентированы на развитие новых возможностей.

В связи с этим крупные производители общесистемных и коммерческих программных продуктов подошли вплотную к реализации проблемы создания изменяемых, так называемых, вариабельных программных продуктов.

Для обеспечения изменчивости отдельных элементов семейства программных продуктов Клаус Похл ввел понятие вариабельности. Вариабельность – это свойство продукта (системы) к расширению, изменению, приспособлению или конфигурированию с целью использования в определенном контексте и обеспечения последующей его эволюции.

Понятие вариабельности начало широко применяться при создании программных продуктов, программных систем и их семейств, а также при совершенствовании работающих Legacy-systems, в том числе операционных систем (Unix, Linux и др.). Вопросам формализации понятия вариабельности для класса указанных систем, подходам к интеллектуализации (представления и извлечения знаний из готовых действующих систем) и методам реализации программных систем и их семейств с помощью готовых ресурсов и reuses посвящена данная работа.

Глава 1. АНАЛИЗ ПОДХОДОВ К СОЗДАНИЮ ВАРИАБЕЛЬНЫХ СИСТЕМ

Производители общесистемных и коммерческих программных продуктов подошли вплотную к реализации проблемы создания вариабельных программных продуктов. Эта проблема стоит в центре внимания разработчиков и научных специалистов. Появились много статей и сделанных докладов на конференциях (SPLE – Software Product Line Engineering, 2004 –2014; ICTERI, 2006 –2013; Reusebility, 1994–2013, Vamos, 2005-2014 и др.), посвященных новым подходам к созданию вариабельных систем разного рода и интенсивно используемых систем типа операционных систем.

Многолетние исследования проблем индустрии программных продуктов показали, что одной из ключевых проблем обеспечения работоспособности и качества программных продуктов является сопровождение продукта с целью выполнения и обнаружения различных ошибок и внесения изменений с сохранением функциональности продукта. Особенно остро этот вопрос стоит в системах, которые изготовлены старыми традиционными способами и не ориентированы на развитие новых возможностей.

В связи с этим крупные производители общесистемных и коммерческих программных продуктов подошли вплотную к реализации проблемы создания изменяемых, или другими словами, вариабельных программных продуктов. Эта проблема стала в центре внимания разработчиков и научных специалистов. Появились статьи и доклады, которые обсуждались на разных научных конференциях, посвященных новым подходам к индустрии программных продуктов и вариабельности в частности (SPLE – Software Product Line Engineering, 2004 –2014; ICTERI, 2006 –2013; Reusebility, 1994–2014 и др.).

В рамках исследований в области индустрии программных продуктов изучались методы и процессы производства программных продуктов, программных систем и их семейств на продуктовых линиях (Product Lines), а также механизмы вариабельности для управления введением и реализацией вариантов артефактов семейства программных систем (Software Product Line) [1]. Проводился анализ новых подходов и методов SPLE к построению программных продуктов на основе модели характеристик (Feature Model) продукта из артефактов, компонент повторного использования, а также отдельных приложений в составе семейства программных систем [2–5].

Анализ показал, что работы по созданию систем, их версий из вариантов артефактов, компонент повторного использования и характеристик модели вариабельности программного продукта, в мировой индустрии ведутся по следующим основным направлениям.



1.1. Моделирование вариабельности в требованиях с помощью диаграмм характеристик

Данное моделирование осуществлено в системе FODA [6], которая базируется на подходах featureRSEB, Forfamel, RequiLine, CBFM и др.

FODA (Feature-oriented domain analysis) является основоположником в сфере создания вариабельных систем и является простой моделью с признаками, которые организованы с использованием “состоит из” и “обобщение/специализация” отношений, используя И/ИЛИ граф. Модель разделяется на пространство задач и решений, которые в свою очередь используют цель, контекст использования и атрибуты качества; способности, рабочую среду и конструктивные особенности (Рис. 1).

Рис.1. Схема моделирования программных систем в FODA

1.2. Моделирование вариабельности c помощью механизмов UML

UML (Unified Modeling Language) включает сценарии использования (use cases) [7, 8]. Этот язык был первоначально реализован в Rational Rose, а затем оформлен как стандарт IBM Rational и консорциума OMG (Object Management Group) в виде объектной модели. UML начали применять многие фирмы-производители программного обеспечения. UML – это диаграммный язык документирования и моделирования систем. В нем графовая модель системы задается набором Use Case диаграмм вида: варианты использования (use case diagrams); классы (class diagrams); поведение (behavior diagrams); взаимодействие (interaction diagrams); состояние (statechart diagrams); деятельности (activity diagrams), реализации (implementation diagrams) и др. Модель системы – это архитектура системы, которую трансформируют к программным текстам отдельных элементов в языках С++, Pascal, Basic и др. Фактически промышленных продуктов средствами UML не было создано, а только некоторые экспериментальные системы.



1.3. Модель К. Похла SPLE

Технология SPLE (Software Product Line Engineering) обеспечивает производство вариабельных программных продуктов и их семейств. Она формировалась более 8 лет и экспериментально отработана на ряде коммерческих продуктов. Технология SPLE представлена в базовой работе К. Похла и 12 соавторов [1] в институте SEI USA. Отдельные аспекты индустрии систем, касающиеся производства вариабельных продуктов, нашли отражение в статьях и докладах специалистов на научно-технических конференциях SPLE (2006–2013), ICTERI (2007–2013), Reusebility (1998–2013) и др.

Клаус Похл ввел понятие вариабельности в виде модели характеристик (Feature Model) для элементов системы, помечаемых вариантными точками для изготовления программного продукта.

Модель характеристик FM формируется в процессе разработки программного продукта аналитиками и разработчиками и включает общие функциональные и нефункциональные характеристики элементов системы (рис.2), которые используются членами семейства при решении соответствующих задач. Она имеет несколько видов представления – в домене (семействе) и в отдельных приложениях этого семейства.

Задача обеспечения вариабельности программного продукта базируется на методах разработки и конфигурирования продукта (product configuration) из готовых reuses и процессов управления конфигурацией (configuration management), направленных на определение и внедрение эффективных процедур разработки и эволюции систем, а также их адаптации к новым условиям функционирования в современных гетерогенных средах [2].

Рис.2 – Структура и связи в модели характеристик

К главным аспектам обеспечения вариабельности программного продукта и систем отнесены:

– моделирование вариабельности на наивысшем уровне характеристик объектов, которые имеют вариантные характеристики. Целью подходов моделирования является представление вариабельности таким способом, который улучшает понимание задач и функций системы и возможность управлять ими;

– реализация вариабельности архитектуры системы посредством механизмов вариабельности на уровнях ее реализации (или она будет реализована в момент определения архитектуры программной системы или во время процессов разработки продукта). Соответствующее решение принимается аналитиками и разработчиками программной системы с учетом их собственного опыта, задач домена и механизмов теории обеспечения вариабельности;

– управление вариабельностью связано с планированием, контролем и регуляцией в ходе жизненного цикла объектов и системы в целом, которые ориентированы на изменяемость.

SPLE подход обеспечивает процесс создания программного продукта из базовых элементов, которые называют, компонентами повторного использования. К ним относятся – reuses, assets, application и др.

Данный SPLE подход направлен на производство программного продукта из отдельных элементов семейства программных продуктов и компонентов повторного использования с вариантами, на снижение стоимости и увеличение производительности труда разработчиков программной системы за счет компонентов повторного использования и внесения изменений, как в отдельные элементы, так и в саму систему. При производстве программных продуктов из готовых элементов и компонент повторного использования, используется метод систематического изменения компонент повторного использования по модели характеристик FM для варьирования ими в структуре программного продукта. Данный метод стал эффективным средством для поддержки адаптивности программной системы.

1.4 Система генерирующего программирования K.Chetrnetski Данная система [13] осуществляет моделирование архитектуры системы в пространстве проблем и решений (рис.3) средствами feature-oriented подхода. Его основу составляют характеристики семейства, которые отображаются в модели характеристик его членов (компоненты повторного использования, программные системы, reuses и др.) и семейства в целом.

Характеристики

Тип файла документ

Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.

Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.

Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.

Список файлов ВКР

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6305
Авторов
на СтудИзбе
313
Средний доход
с одного платного файла
Обучение Подробнее