0,59 Mb.страница2/8Дата конвертации04.03.2012Размер0,59 Mb.Тип Смотрите также: 2 ^ 3.Обзор литературы 3.1.Семейства программных продуктов Семейство программных продуктов это набор программных систем, предназначенных для определённого сегмента рынка и имеющих некоторый контролируемый набор общих характеристик, а также разрабатываемых установленным образом используя общие активы. В качестве переиспользуемых ресурсов при этом выступают не только архитектура, модели и код, но также и требования, процессы, средства разработки, компетенции персонала и т.д. [8]. Этот подход к разработке программных продуктов является относительно новым; среди его сильных сторон отмечают значительное повышение производительности труда, повышение качества продуктов, уменьшение времени вывода на рынок, значительное снижение общей стоимости разработки и др. Каждый продукт в семействе относительно независим в том смысле, что он может иметь собственного заказчика и свой уникальный набор требований, более того, заказчик может даже не знать о существовании инфраструктуры семейства. Но изготавливается продукт с помощью компонентов, взятых из общих активов и настроенных с помощью механизмов вариативности, заложенных в них при проектировании, с помощью новых компонентов, специфичных для продукта, и собираются они в соответствии с правилами, определёнными для семейства. В качестве примера семейства программных продуктов можно привести линейку браузеров для мобильных устройств, разрабатываемую в компании Nokia с 1999 года [9]. Использование этого подхода позволило компании к концу 2001 года выпускать до шести версий продуктов в год и предоставлять браузеры для широкого ряда мобильных телефонов с операционными системами Nokia и Symbian, эмулятор браузера в составе инструментария разработки для Windows и компактную версию, не содержащую зависимостей от платформ Nokia для использования такими заказчиками как Samsung и AOL. Несмотря на многочисленные различия, во всех продуктах из линейки Nokia активно использовались общие компоненты, например, реализация стека протоколов, средства поддержки разметки и скриптовых языков и менеджеры расположения. В процессе разработки семейства, согласно [8], выделяют три основных вида деятельности: разработка общих активов, разработка целевых систем, управление. При разработке общих активов принимаются во внимание требования к продуктам, стратегия разработки, производственные ограничения и наличие ресурсов, активов и опыта. Результатами являются архитектура семейства продуктов, спецификация области охвата, метод использования общих активов, привязка требований к архитектуре и, наконец, сами общие активы. В процессе разработки целевых систем используются данные, полученные при разработке общих активов, а также добавляются требования, выдвигаемые к конкретному продукту. По каждому из требований принимается решение следует его реализовывать отдельно, в рамках разработки общих активов или нужная функциональность уже реализована в общих компонентах. Управление разработкой семейства программных продуктов осуществляется на двух уровнях: техническом и организационном. Техническое управление контролирует исполнение метода разработки, определённого для семейства, управляет проектами и решает вопросы, связанные с инструментальной поддержкой и конфигурационным управлением. Организационное управление анализирует рынок, обеспечивает ресурсами, управляет взаимодействиями с внешним миром, разрешает конфликты и осуществляет стратегическое планирование. Все три вида деятельности имеют выраженный итеративный характер и тесно связаны между собой. ^ 3.2.Диаграммы возможностей Одна из основных проблем при визуальном моделированиизадач разработки семейств программных продуктов необходимость отображения всех возможных различийвариаций продуктов семейства. В большинстве подходов это приводит к появлению диаграмм громоздких, неудобных и непонятных, а потому бесполезных. Одним из самых удачных решений этой проблемы оказалась идея метода «моделирования возможностей» (англ. «feature modeling»), впервые предложенная в 1990 году в работе [10]. Его сСмысл метода состоит в определении сходств и различий, общих и требующих настройки частей в продуктах, составляющих семейство, анализе зависимостей этих частей и упорядочении знаний об этих деталях с помощью согласованной диаграммы, называемой также «моделью возможностей». Ключевые понятия моделирования возможностей концепт, возможность, точка вариативности. ^ Рисунок 1: пример диаграммы возможностей [2] Концепт (англ. «сoncept») это элемент или структура в предметной области [5]. Возможность (англ. «feature») некоторое важное свойство концепта, различимое с точки зрения пользователя или разработчика. Возможности позволяют выразить сходства и различия между разными экземплярами реализации концепта, а упорядоченные иерархически на диаграмме возможностей, они отражают его изменчивость. Иерархическая связь отображает декомпозицию концепта или возможности и называется отношением включения. Точки вариативности на диаграмме отображают необязательные включения и условия на группы включений. Они могут быть по-разному истолкованы в различных системах, реализующих концепт. Пример диаграммы возможностей показан на рисунке 1. Телефонный аппарат «Унител» является концептом, обозначающим семейство телефонных аппаратов с различными наборами функций, возможности здесь выделенные функциональные блоки. . Телефонные аппараты в семействе должны поддерживать входящие звонки или исходящие звонки (или и те и другие), причём модуль исходящих звонков обязательно содержит модуль «номеронабиратель». Также в аппарат могут быть включены автоответчик и АОН, который, в свою очередь, реализуется либо в российском стандарте ГОСТ, либо в международном Caller ID. Диаграммы возможностей в оригинальном варианте могут использоваться только на начальных этапах разработки ПО при анализе и проектировании, и они не имеют никакой связи с артефактами последующих этапов, такими как программный код или документация [2]. ^ 3.3.Предметно-ориентированное моделирование Использование техник визуальн
Дипломная работа студента 542 группы
3.Обзор литературы 3.1.Семейства программных продуктов - Дипломная работа студента 542 группы
Комментариев нет:
Отправить комментарий