Диплом, курсовая, контрольная работа
Помощь в написании студенческих работ

Методология моделирования на основе графа взаимодействия при сопровождении программной системы

ДиссертацияПомощь в написанииУзнать стоимостьмоей работы

Сопровождение — наиболее длительный, трудоемкий и дорогостоящий этап жизненного цикла программного обеспечения. Фактически длительность этого этапа определяет длину всего жизненного цикла программной системы. Основное содержание сопровождения — внесение изменений в программное обеспечение по требованию заказчика. Изменения могут быть вызваны изменением в требованиях к программному обеспечению или… Читать ещё >

Содержание

  • Список условных обозначений
  • Глава 1. Развитие технологий моделирования программных систем
    • 1. 2. Первые технологии моделирования программных систем
    • 1. 3. Структурный подход в моделировании
      • 1. 3. 1. Нотация IDEF
      • 1. 3. 2. Нотации DFD
      • 1. 3. 3. Нотации информационного моделирования
      • 1. 3. 4. Структурные карты
      • 1. 3. 5. Нотации для описания динамики поведения
    • 1. 4. Объектный подход в моделировании
      • 1. 4. 1. Общая структура UML
      • 1. 4. 2. Описание диаграмм UML
      • 1. 4. 3. Использование UML при проектировании и сопровождении
    • 1. 5. Model Driven Architecture. Архитектура, основанная на модели
    • 1. 6. Model Driven Development. Разработка, основанная на моделировании

Методология моделирования на основе графа взаимодействия при сопровождении программной системы (реферат, курсовая, диплом, контрольная)

2.2 Граф взаимодействий как модель.42.

2.3 Интеграция различных представлений системы.46.

2.4 Анализ графа взаимодействий.49.

2.4.1 Количественные методики анализа графа взаимодействий.50.

2.4.2 Анализ топологии графа взаимодействий.53.

2.4.2.1 Анализ смежности в графе взаимодействий.53.

2.4.2.2 Анализ связности графа взаимодействий.59.

2.4.2.3 Возможности поиска.61.

2.4.2.4 Повторное использование кода и архитектурных решений.65.

2.4.2.5 Анализ блоков.66.

2.4.2.6 Анализ циклов.69.

2.4.3. Конфигурационные методики анализа графа взаимодействий.71.

2.5. Граф взаимодействий и нотации описания программных систем.72.

2.5.1 Отображение графа взаимодействий в нотации ГОЕБ.73.

2.5.2 Отображение графа взаимодействий в структурные карты Джексона и Константайна.74.

2.5.3 Граф взаимодействий и объектные модели.75.

2.5.4 Граф взаимодействий и модели для описания поведения системы.77.

2.5.5 Граф взаимодействий и информационное моделирование.78.

2.5.6 Расширение представления под конкретную задачу или новые требования.79.

2.6 Заключение.81.

Глава 3. Применение моделей на основе графа взаимодействий для сопровождения программного обеспечения.82.

3.1 Введение.82.

3.2 Организация хранения модели.83.

3.3 Типовые операции над репозиторием.86.

3.4 Обработка типизации элементов репозитория.92.

3.5 Интеграция моделей.94.

3.6 Реализация операций анализа.95.

3.7 Дополнительная информация в узлах графа. 101.

3.8 Документирование. 103.

3.9 Конфигурационное управление. 106.

3.10 Порядок работы с моделью. 113.

3.11 Другие возможности и перспективы использования. 116.

3.12 Заключение.117.

Заключение

120.

Литература

121.

Глоссарий.126.

Приложение 1. Примеры диаграмм.128.

Приложение 2. Дополнения к главе 3.140.

СПИСОК УСЛОВНЫХ ОБОЗНАЧЕНИЙ — начало доказательства. Ў - окончание доказательства.

Цель работы — формализация подхода моделирования программных систем на основе графа взаимодействий, разработка аналитического аппарата для этого подхода и обоснование его применения на этапе сопровождения программных систем. Термин «методология» понимается как система принципов и способов организации и построения теоретической и практической деятельности, а также учение об этой системе [47].

Сопровождение — наиболее длительный, трудоемкий и дорогостоящий этап жизненного цикла программного обеспечения [21, 44]. Фактически длительность этого этапа определяет длину всего жизненного цикла программной системы. Основное содержание сопровождения — внесение изменений в программное обеспечение по требованию заказчика. Изменения могут быть вызваны изменением в требованиях к программному обеспечению или его модернизацией, а также исправлением выявленных ошибок. Поддержка этапа сопровождения особенно важна для крупных программных проектов, потому что разработка и внедрение новой системы в случае невозможности изменить старую сопряжена с большими затратами и может привести к потере критически важной информации [20]. При этом необходимо учитывать, что внесение изменений ограничивается по времени [44]. Несвоевременность внесения изменений тоже может вынудить заказчика отказаться от продукта.

Для любой модификации необходимо знать, что поменять и как это сделать. Эти задачи требует глубокого понимания организации программной системы. Может потребоваться любая информация с предыдущих этапов жизненного цикла приложения. Незнание организации системы, недостаток информации или просто несогласованные изменения приводят к ошибкам, ухудшению характеристик программного обеспечения [44]. Ситуация усугубляется тем что, в результате многочисленных модификаций, вносимых разными участниками разработки, ограниченных жесткими временными рамками, программное обеспечение значительно увеличивается в объеме и принимает бесструктурный вид. Теряются первоначальные цели многих компонент системы, становятся неясными методы, которыми достигалось решение задачи. Именно при длительном сопровождении становится особенно сложно понять, как организована система, поэтому усложняется внесение в нее изменений, и эффективность разработки падает. При этом на ранних этапах сопровождения сразу после внедрения внесение изменений не представляет такую большую сложность.

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

Во-вторых, надо упорядочить процесс модификации системы. Для этого требуется организовать сбор информации на каждом из этапов жизненного цикла. Эта информация разнородна и сильно зависит от самой программной системы, технологий, используемых при ее создании, и предметной области. Форма хранения сведений о программной системе составляет ее представление и определяет возможности ее анализа. Цель этого анализалокализовать изменения, определить их содержание или структурировать систему для улучшения сопровождаемое&tradeв дальнейшем. Важно отметить, что решающую роль для анализа играет и организация самого приложения.

На сегодняшний день существует множество методов и нотаций представления программных систем, предназначенных для описания систем вообще, программных систем или каких-либо их аспектов. Отдельные нотации ориентированы на работу в рамках определенных технологий, инструментов и предметных областей [17, 36]. Некоторые фирмы, занимающиеся производством программных систем, разрабатывают свои собственные методологии, которые наиболее полно соответствуют их деятельности и специфики предметных областей их программного обеспечения [20, 4]. При этом для развитых программных систем при длительном сопровождении адаптация представления к специфике предметной области делает систему более понимаемой и облегчает ее анализ.

Хранение и анализ информации о системе производится с помощью CASE-средств (Computer Aided System Engineering)^ 8, 37, 56]. Вопрос о том, какие нотации войдут в состав инструмента, решает производитель, а возможности расширения представления отсутствуют или ограничены. Такое положение дел ограничивает возможности анализа. Совместное использование нескольких инструментов требует согласования информации. В работе предлагается разработанный автором принцип моделирования программных систем, называемый графом взаимодействий и позволяющий наиболее полно подобрать представление сведений о системе необходимых для ее модификации при длительном сопровождении, построить модель системы в заданном представлении и обеспечить анализ введенных данных. Для достижения поставленной цели необходимо решить следующие задачи:

• обеспечить построение модели программной системы в заданной нотации.

• обеспечить расширяемость представления.

• обеспечить интеграцию нескольких методологий.

• обобщить методики анализа программных систем.

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

ЗАКЛЮЧЕНИЕ

.

На защиту выносятся следующие результаты:

— Принцип моделирования программной системы на основе графа взаимодействий, обеспечивающий уменьшение сложности настройки нотации представления [27,28,34,29,30,33].

— Аналитический аппарат для решения задач сопровождения программной системы, в основе которого лежат доказанные в работе свойства графа взаимодействий при описании архитектуры программных систем [27,28,34,30,33].

— Методология моделирования систем с использованием предложенного аналитического аппарата [27−29,32,34,35].

— Уточнённые схемы хранения модели и связанной с ней информации, а также алгоритмы их анализа [27−29,32,34,35].

Показать весь текст

Список литературы

  1. Brown A. An 1. troduction to Model Driven Architecture // IBM Rational DevelopER Works, 2004.
  2. Common Warehouse Metamodel (CWM) Specification // http://www.omg.org/docs/foraial/03−03−02.pdf
  3. Grant Larsen Using the IBM Rational Asset Manager Configurator to configure UML model profiles //http://www.ibm.com/developerworks/rational/library/08/0923larsen/
  4. McGregor J. D. Software Architecture// Journal of Object Technology (JOT), vol.3, No. 5, pp. 65−77.
  5. Meta Object Facility (MOF) 2.0 QuERy/View/Transformation Specification VERsion 1.0 //http://www.omg.org/docs/formal/08−04−03.pdf
  6. Meta Object Facility (MOF) Core Specification OMG Available Specification VERsion 2.0 // http://www.omg.org/cgi-bin/doc7formal/06−01-Ol.pdf
  7. MOF 2.0/XMI Mapping, VERsion 2.1.1 // http://www.omg.org/docs/formal/07−12−01 .pdf
  8. Recommended Practice for Architectural Description of Software-Intensive Systems, ANSI/IEEE Std 1471−2000
  9. Robert B. France, Sudipto Ghosh, Trung Dinh-Trong, Amor SolbERg. Model-Driven Development Using UML 2.0: Promises and Pitfalls, IEEE Computer, February 2006. IEEE Computer Society, 2006.
  10. Selic B. Unified Modeling Language vERsion 2.0 // http://www.ibm.com/developERworlcs/rational/library/05/321 UML/index.htm
  11. Selic В., The Pragmatics of Model-Driven Development. IEEE Software, September/October 2003. IEEE Computer Society, 2003
  12. Stephen Mellor, Anthony Clark, Takao Futagami, Model-Driven Development. IEEE Software, September/October 2003. IEEE Computer Society, 2003
  13. Thomas D. Agile Evolution -Towards The Continuous Improvement of Legacy Software // Journal of Object Technology (JOT), vol. 5, no. 7, September-October 2006, pp. 19−26
  14. UML 2.0 OCL Specification // http://www.omg.org/cgi-bin/apps/doc?formal/06−05−01 .pdf
  15. Vinoski S. Do You Know Where Your Architecture Is? // IEEE IntERnet Computing, September-October 2003.
  16. В., Чудин А. Практика применения паттернов проектирования.:RSDN Magazine #3
  17. Буч Г., Рамбо Д., Джекобсон А. Язык UML. Руководство пользователя. 2-е изд.:-СПб: ДМК Пресс, 2007
  18. Вендров A.M. CASE-технологии. Современные методы и средства проектирования информационных систем. // http://CASEtech.h 1 .ru/library/vendrov/index.htm
  19. Е. Д., Страбыкин А. Д. Анализ и трансформации исполняемых UML моделей. // Труды Института системного программирования. М.: ИСПРАН, 2006. С. 171−192.
  20. Р. Факты и заблуждения профессионального программирования. СПб: Символ-Плюс, 2007.
  21. Р., Нуазо Р. Сопровождение программного обеспечения. — М: Мир, 1983
  22. Горбунов-Посадов М. М. Конфигурация программ. Рецепты безболезненных изменений. 2-изд. испр. и доп. — М: Малип, 1994
  23. К.Д. Введение в системы баз данных. 8-е издание.: Пер с англ. — М.:Издательский дом «Вильяме», 2006
  24. О. Обзор паттернов проектирования //http://www.citforum.ru/SE/project/pattem/
  25. А.П. Введение в теоретическое программирование. М.: Наука, 1973
  26. И.В Игнацкая, В. Н. Лукин. Моделирование программных систем на основе графа взаимодействий // Вестник Московского Авиационного Института 2009, т. 16, № 7, с 70−76
  27. И.В Игнацкая. Представление и анализ архитектуры программных систем на основе графа взаимодействий // Труды МАИ http://www.mai.ru. Вып. 39, 2010.
  28. И.В. Граф взаимодействий как инструмент сопровождения программных систем //Материалы VIII Международной конференции по Неравновесным процессам в соплах и струях (NPNJ'2010), 25−31 мая 2010 г., Алушта. -М: Изд-во МАИ-ПРИНТ, 2010, с.569−571
  29. И.В. Использование представления программной системы на основе графа взаимодействий в конфигурационном управлении. //"Новые информационные технологии". Тезисы докладов XVI Международной студенческой школы-семинара М.: МИЭМ, 2008, с.94
  30. И.В. Граф взаимодействий как инструмент сопровождения программных систем // Вестник Московского Авиационного Института 2011, т.18, № 1, с 175−178
  31. И.В. Универсальная система создания и анализа внутренней документации UNIDOC //"Новые информационные технологии". Тезисы докладов XV Международной студенческой школы-семинара -М.: МИЭМ, 2007, с.250
  32. Калянов Г. Н. CASE: структурный системный анализ (автоматизация и применение). М.: ЛОРИ. 1996.
  33. Г. Н., Козлинский A.B., Лебедев В. Н. Сравнение и проблема выбора методов структурного системного анализа // PC WEEK/RE. 1996. N.34 (27 августа).
  34. Д. Рефакторинг с использованием шаблонов.: Пер с англ. -М: ООО «И.Д. Вильяме», 2006
  35. В. Разработка ПО: метрики программных проектов.//Компьютерное Обозрение № 13 (581) 3 апреля 2007
  36. В. Е. Сабельфельд В. К. Теория схем программ. М.: Наука, 1991.
  37. В.Е. Сети Петри. М.: Наука, 1984
  38. М.Б. Трансформация UML-моделей и ее использование в технологии MDА // Программирование, 2007. № 1. С. 65−78.
  39. Кузнецов. М. MDA — новая концепция интеграции приложений // Открытые системы.2003. № 09.
  40. Э. Управление изменениями: неужели между качеством и скоростью разработки программного обеспечения должен быть компромисс. 2004// http://wwvv.intERface.ru/fset.asp?url=/ross/rossh.htm
  41. Д. Новичков А. Конфигурационное управление проектами разработки программного обеспечения //http://www.citforum.ru/SE/qualily/configurationmanagement/
  42. В.В. Документирование и управление конфигурацией программных средств. М: СИНТЕГД998
  43. В.В. Управление разработкой программных комплексов. М.: Финансы и статистика, 1993
  44. C.B. Моделирование бизнес-процессов с AllFusion Process ModelER(BPWin 4.1). -M.:ДИАЛОГ-МИФИ, 2003
  45. А. Метрики кода и их практическая реализация в IBM Rational ClearCase.//http://www.ibm.eom/developERworks/m/edu/0108novich/index.html
  46. С., Елманова Н. Роль моделирования в разработке приложений //BYTE, 2004 № 7 (71), июль 2004
  47. С. Технологии разработки программного обеспечения: Учебное пособие. 2-е изд. СПб: Питер, 2003.
  48. Фаулер M. UML. Основы, 3-е издание.-СПб:Символ-Плюс, 2006
  49. М. Архитектура корпоративных программных приложений.: Пер с англ. -М.:Издагельский дом «Вильяме», 2008
  50. М. Рефакторинг: улучшение существующего кода.: Пер с англ. СПб: Символ-Плюс, 2008
  51. М. Эффективная работа с унаследованным кодом. М: ООО «ИД. Вильяме», 2009
  52. C.B., Семенов И. О. Ручкин B.C. Структурный анализ систем: IDEF-технологии. — М.: Финансы и статистика, 20 011. ГЛОССАРИЙ1. CASE, 8 Архитектура, 71. CIM, 37 Ассоциация, 26
  53. CWM, 38 Ассоциированный псевдограф, 59
  54. DFD, 14, 15 Блок схемы, 10
  55. FEO, 15 Взаимодействие, 25
  56. EFO, 14 Временная диаграмма, 301. EF1, 17 Действие, 25
  57. EF1X, 17 Диаграмма артефактов, 31
  58. EF3, 20 Диаграмма деятельности, 29
  59. MDA, 36 Диаграмма классов, 27
  60. MDD, 39 Диаграмма компонентов, 31
  61. MOF, 38 Диаграмма кооперации, 29
  62. OCL, 23 Диаграмма обзора взаимодействий, 1. OMG, 23 30
  63. OSTN, 21 Диаграмма объектов, 28
  64. PFDD, 21 Диаграмма пакетов, 32
  65. PIM, 37 Диаграмма последовательностей, 28
  66. PSM, 37 Диаграмма прецедентов, 27
  67. QVT, 39 Диаграмма развертывания, 31
  68. SADT, 13, 14 Диаграмма составной структуры, 28
  69. STD, 20 Диаграмма состояний, 291. UML, 23 Длина пути, 59
  70. XMI, 38 Достижимость вершин, 59
  71. Автомат, 25 Зависимость, 26
  72. Активный класс, 25 Интеграция моделей, 46
  73. Анализ достижимости, 59 Интерфейс, 24
  74. Анализ смежности, 53 Информационный граф, 10
  75. Аннотационные сущности, 26 Класс, 24
  76. Артефакт, 25 Кодогенерация, 34
  77. Количественные методики анализа, 501. Компонент, 251. Компоненты связности, 591. Кооперация, 251. Кратные дуги, 541. Марковская модель, 111. Методология, 61. Механизм ограничений, 331. Множество потомков, 56
  78. Множество предшественников, 561. Модель, 91. Модуль, 19
  79. Нотация Гейна-Сарсона, 15 Нотация Йодана-Де Марко, 16 Обобщение, 26 Обратный инжиниринг, 35 Общие методики анализа, 49 Односторонне связный граф, 59 Оценка корректности модели, 52 Оценка сложности представления, 50
  80. Оценка сложности программнойсистемы, 51 Петли, 54
  81. Полумарковская модель, 11 Полу степень захода, 57 Полу степень исхода, 57 Помеченные значения, 33 Прецедент, 25
  82. Структурные методологии, 13 Структурный анализ, 12 Теория схем программ, 10 Топологические методики анализа, 53 Узел, 25
  83. Управляющий граф, 10 Шаблон, 62
  84. Шаблон проектирования, 34 Шаблон рефакторинга, 36, 65
Заполнить форму текущей работой