Разработка системы визуального проектирования документации семейств программных продуктов




Скачать 73.99 Kb.
НазваниеРазработка системы визуального проектирования документации семейств программных продуктов
Дата публикации07.04.2013
Размер73.99 Kb.
ТипДипломная работа
odtdocs.ru > Литература > Дипломная работа
Санкт-Петербургский Государственный Университет

Математико-механический факультет
Кафедра информатики


Разработка системы визуального проектирования документации

семейств программных продуктов

Дипломная работа студента 542 группы
Семёнова Алексея Александровича

Научный руководитель ……………… <И.О. Фамилия>

<должность, звание> / подпись /
Рецензент ……………… <И.О. Фамилия>

<должность, звание> / подпись /
“Допустить к защите”
заведующий кафедрой,

д.ф.-м.н., профессор ……………… Н. К. Косовский

/ подпись /

Санкт-Петербург

2007


Оглавление

1.Введение 3

1.Введение 3

2.Постановка задачи 4

2.Постановка задачи 4

3.Обзор литературы 5

3.Обзор литературы 5

3.1.Методы разработки семейств программных продуктов 5

3.1.Методы разработки семейств программных продуктов 5

3.2.Языки разметки документации программных продуктов 5

3.2.Языки разметки документации программных продуктов 5

3.3.Визуальное моделирование в разработке семейств программных продуктов 5

3.3.Визуальное моделирование в разработке семейств программных продуктов 5

4.Реализация 5

4.Реализация 5

5.Заключение 5

5.Заключение 5

6.Литература 6

6.Литература 6





  1. Введение


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

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

Известно несколько популярных подходов к разработке технической документации. Например, подход единого исходного представления (Single Sourcing) обеспечивает разделение содержания и форматирования. [singsos] Он позволяет получить возможность на основе единого исходного представления получить комплект документов, таких как руководство пользователя, справочная система и т.п. Другой распространённый подход – DITA (Darwin Information Typing Architecture), предложенный компанией IBM.[ссылка!] В рамках этого подхода предлагается строить документацию как набор топиков, каждый из которых может быть использован в любом контексте в произвольном документе.

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

В работе [rom06] представлен метод разработки документации семейств программных продуктов. Он включает модельно-ориентированный процесс разработки, согласованный с процессом разработки семейств программных продуктов, язык разметки документации DRL (Documentation Reuse Language), и визуальную модель документации, предназначенную для проектирования пакетов документов и структуры повторного использования. Визуальная модель основана на нотации диаграмм возможностей, применяемой при разработке семейств программных продуктов. [czar00]

Данная работа описывает эксперимент по созданию редактора документации, реализующего подход, описанный в [rom06]. Методика предполагает, что пользователь может редактировать и текст DRL в файлах с исходным кодом документации, так и визуальную модель – для каждого из этих представлений есть круг задач, которые более удобно выполнять именно в этом конкретном представлении. В этой работе описывается редактор визуальной модели – редактор и валидатор текста на DRL стал предметом отдельного исследования.

Ситуация создания специального языка для решения конкретной задачи, синтаксиса визуальной модели и инфраструктуры программных средств для их поддержки обобщается в рамках подхода предметно-ориентированного моделирования (Domain Specific Modeling, DSM). Опыт показывает, что применение традиционных технологий моделирования общего применения наподобие UML в каждом конкретном случае не всегда оправдано, так как далеко не всегда способствует повышению производительности. Этому может быть несколько причин: разработку моделей в конечном итоге приходится происходит в тех же терминах, что и разработку программ; сложный синтаксис моделей и их плохая адаптированность для конкретной задачи; сложности поддержания синхронности диаграмм и сгенерированного программного кода. [clemnpap06] [ещё ссылки]

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

В данный момент этот подход становится востребован индустрией, поскольку на рынке появляются DSM-платформы, которые позволяют компаниям-разработчикам создавать в рамках приемлемых ресурсов свои собственные DSM-решения, максимально учитывающие специфику их бизнеса и удовлетворяющие их собственным потребностям. [dsmtool] Примеры таких решений – технология Eclipse Graphical Modeling Framework, инструменты Microsoft DSL Tools, развиваемые в рамках инициативы Microsoft Software Factory [softfact], среда разработки MetaEdit+[metaedit+] компании MetaCase[metacase].

Eclipse – всё более популярная, динамично развивающаяся и имеющая потенциал вскоре де-факто стать промышленным стандартом платформа для создания инструментов разработки ПО, благодаря с одной стороны бесплатности, открытости, модульной структуре, очень удобной для расширения, и с другой стороны – развитому сообществу пользователей и разработчиков и поддержке со стороны таких компаний как IBM, Borland, HP и BEA. [eclipse] C 2004 года ежегодно проводится конференция EclipseCon.[eclipsecon]

Технология Eclipse Graphical Modeling Framework образует «связь» между технологиями Eclipse Modeling Framework (EMF) и Eclipse Graphical Editing Framework (GEF). Первая из них служит для создания приложений, использующих структурированные модели бизнес-объектов с поддержкой редактирования, кроме прочего она предоставляет визуальный редактор модели и генераторы исходного кода на Java. GEF позволяет на базе какой-либо модели сгенерировать код визуального редактора, при этом архитектура будет соответствовать шаблону MVC. Модель может использоваться любая, но особенно эффективно использование EMF и GEF в паре – по этой причине и была создана GMF.

В рамках этой работы с помощью технологии поддержки предметно-ориентированного моделирования Eclipse GMF был реализован визуальный редактор языка DRL, поддерживающий как получение документации по визуальным моделям, так и синтезирование моделей посредством анализа существующей документации.
  1. ^

    Постановка задачи


Задачу можно разбить на следующие части:

  1. создание метамодели DRL
    Метамодель создаётся в специальном редакторе EMF.

  2. генерация кода объектов модели и каркаса визуального редактора
    После соответствующей настройки генератор из EMF по метамодели генерирует иерархию бизнес-объектов. Затем специфицируются вид и поведение графической модели и с помощью GEF генерируется код графического редактора.

  3. доработка редактора с учётом специфики задачи
    Сгенерированное приложение содержит множество «заглушек», а также нуждается в «тонкой настройке». Кроме того, необходимо доделать недостающую функциональность – например, интегрировать с текстовым редактором.

Схема работы пользователя с полученным программным продуктом должна выглядеть следующим образом:

  1. спецификация каркаса документации с помощью диаграммы в визуальном редакторе

  2. создание конфигурации для одного или нескольких конечных продуктов – для этого пользователь должен в специальном редакторе сделать выбор в точках вариативности

  3. наполнение каркаса текстом одновременно с его доработкой

  4. генерация экземпляров документации

Поскольку не всё может быть удобно сделано в рамках редактирования диаграммы (например, собственно наполнение структуры документации содержимым), должна быть реализована возможность перегенерации модели после ручной правки файлов с данными о документации. В то же время, в исходную модель также могут вноситься изменения и дополнения, что потребует новых сеансов перегенерации.
  1. ^

    Обзор литературы

    1. Методы разработки семейств программных продуктов


  • FODA [ссылка!]

  • sei's PL [clemnplp06]

  • software factories [clemnpap06]

  • [clemnplp06]
    1. ^

      Языки разметки документации программных продуктов


  • DocBook [ссылка!]

  • DRL [rom06]
    1. Визуальное моделирование в разработке семейств программных продуктов


  • uml [???]

  • feature models [czar00]

  • Currently existing tools for variability management (Eclipse plugins)

  • round-trip [rntriptaming]
  1. ^

    Реализация


<...>
  1. Заключение


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


Как это использовать: при добавлении источника сразу после номера в списке пишется обозначение и на него ставится закладка (напр. [rom06]). При финальном редактировании названия закладок заменяются на соответствующие номера в списке, для всех элементов списка литературы нажимаем «Numbering Off», делаем тег. Откатываемся, правим дальше.

TODO: исправить [rom06] на rom06, чтобы можно было в скобках перечислять несколько источников.

Были другие варианты:

  • попытка ставить cross-reference прямо на элемент списка, как в MS Word (?), не имела успеха – нет такой возможности

  • попытка использовать встроенные удобные средства для bibliography тоже не случилась, потому что они не рассчитаны на работу с русским языком

  • в любом случае, надо иметь в виду возможную миграцию на разработку в MS Word в будущем

  1. [rom06] Романовский К.Ю. Метод разработки документации семейств программных продуктов. // <место издания>

  2. [dsmtool] Павлинов А., Кознов Д., Перегудов, Бугайченко Д., Казакова А., Чернятчик Р., Фисенко Т., Иванов А. Комплекс средств для реализации предметно-ориентированных визуальных языков.

  3. [clemnplp06] Clements, P., Northrop, L. A Framework for Software Product Line Practice. - Pittsburgh, PA: Software Engineering Institute, Carnegie Mellon University. http://www.sei.cmu.edu/plp/framework.html, 2006.

  4. [clemnpap06] Clements, P., Northrop, L. Software Product Lines: Practices and Patterns. - Boston, MA: Addison-Wesley, 2002. - 608 p.

  5. [czar00] Czarnecki K., Eisenecker U., Generative Programming: Methods, Tools and Applications. - Reading, Mass.: Addison Wesley Longman, 2000. - 864 p.

  6. [eclipse] Eclipse project official site. // http://www.eclipse.org

  7. [eclipsegmf] Eclipse GMF project official site // http://www.eclipse.org/gmf/

  8. [eclipsecon] EclipseCon official site. // http://www.eclipsecon.org/

  9. [msdsl] Microsoft DSL Tools project official site // http://msdn.microsoft.com/vstudio/DSLTools/.

  10. [metacase] Metacase company official site. //http://www.metacase.com/

  11. [clemworkrep98] John Bergey, Paul Clements, Sholom Cohen, Pat Donohoe, Larry Jones, Bob Krut, Linda Northrop, Scott Tilley, Dennis Smith, Jim Withey: Product Line Practice Workshop Report, May 1998, TECHNICAL REPORT CMU/SEI-98-TR-007 ESC-TR-98-007.

  12. [singsos] Clark D. Rhetoric of Present Single-Sourcing Methodologies. // SIGDOC'02, October 20-23, 2002, Toronto, Ontario, Canada. - 2002.- P. 20-25

  13. [devdotstar] Steven Kelly 2005

  14. [softfact] Jack Greenfield, Keith Short et al. Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools. John Wiley & Sons, 2004, 666 p.

  15. [metaedit+] Kelly, S., Lyytinen, K., and Rossi, M., MetaEdit+: A Fully Configurable Multi-User and Multi-Tool CASE Environment. Proceedings of CAiSE'96, 8th Intl. Conference on Advanced Information Systems/

  16. [rntriptaming]Sendal S., Küster J. Taming Model Round-Trip Engineering.


Добавить документ в свой блог или на сайт

Похожие:

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

Разработка системы визуального проектирования документации семейств программных продуктов

Фамилия Имя Отчество Осетров Юрий Вячеславович Пол мужской Дата рождения
Разбор декомпилированной информации. Сетевые технологии, разработка клиент-серверных систем. Разработка системы автоматизированного...

Теоретические и практические указания к выполнению лабораторной работы №1
Курс “Анализ производительности вс (мпс) ” направлен на оценку показателей, характеризующих организацию и функционирование программных...

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

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

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

Отчет по лабораторной работе «проектирование печатного узла рэа»...
Целью лабораторной работы является разработка конструкторской документации узла рэа по заданной принципиальной схеме

Отчет по лабораторной работе «проектирование печатного узла рэа»...
Целью лабораторной работы является разработка конструкторской документации узла рэа по заданной принципиальной схеме

Использование в образовательном процессе школы программных продуктов операционной системы Линукс
Российской Федерации и Министерством образования и науки Российской Федерации в целях установки операционной системы Линукс, состоящий...

Вы можете разместить ссылку на наш сайт:
Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
odtdocs.ru
Главная страница