ТСПП - МЕТОДИЧКА UML
.pdfМИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ УКРАИНЫ ВОСТОЧНОУКРАИНСКИЙ НАЦИОНАЛЬНЫЙ УНИВЕРСИТЕТ ИМ. В. ДАЛЯ
МЕТОДИЧЕСКИЕ УКАЗАНИЯ по дисциплине
«ИНЖЕНЕРИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ» тема: «УНИВЕРСАЛЬНЫЙ ЯЗЫК МОДЕЛИРОВАНИЯ UML»
(для студентов всех форм обучения)
У Т В Е Р Ж Д Е Н О на заседании кафедры
«Компьютерные системы и сети»
Протокол № от
Луганск, ВНУ им. В. Даля, 2013
1
УДК 681.3
Методические указания по дисциплине «Инженерия программного обеспечения», тема «Универсальный язык моделирования UML» / Сост.: В.Е. Глущенко, О.С. Зверева – Луганск: Изд-во Восточноукр. нац. ун-та им. В .Даля, 2013. – 162 стр.
В методическом указании системно излагаются основы унифицированного языка моделирования UML. Рассматриваются объектно-ориентированные технологии построения моделей различного
уровня процесса проектирования программного обеспечения на основе использования канонических диаграмм UML .
Пособие снабжено справочником элементов графической нотации UML. Содержит общий обзор StarUML ™, одного из ведущих программных инструментов моделирования.
Предназначено для студентов высших учебных заведений, обучающихся по направлении 6.050102 Компьютерная инженерия.
Составители: В.Е.Глущенко, доц, О.С.Зверева, асс.
.
Отв. за выпуск: |
Соловьев В.И. |
Рецензент:
2
Используемые условные сокращения
ИПО - инженерия программного обеспечения. ПО - программное обеспечение.
ЖЦ - жизненный цикл.
ЖЦ ПО - жизненный цикл программного обеспечения. ПС – программные средства.
ООП – объектно-ориентированное проектирование. ULM – универсальный язык моделирования
(Описание назначения диаграмм см в файле Статья_3 в каталоге) CASE_средства (computer_aided software engineering) – средства
автоматизированной разработки программного обеспечения..
3
Оглавление |
|
Введение.................................................................................................... |
5 |
Глава 1. Технологии, модели и процессы создания ПО ........................... |
6 |
1.1. Терминология................................................................................ |
6 |
1.2. Назначение языка UML................................................................. |
9 |
1.3. Структура языка ULM................................................................. |
11 |
1.4. Модель и ее элементы ................................................................. |
12 |
1.5. Диаграммы................................................................................... |
17 |
Глава 2. Описание диаграмм................................................................... |
24 |
2.1. Диаграммы использования.......................................................... |
24 |
2.2 Диаграммы классов ...................................................................... |
30 |
2.3. Диаграммы объектов ................................................................... |
43 |
2.4. Диаграммы состояний................................................................. |
44 |
2.5 Диаграммы деятельности............................................................. |
67 |
2.6 Диаграммы последовательности.................................................. |
78 |
2.7. Диаграммы кооперации............................................................... |
91 |
2.8 Диаграммы компонентов ........................................................... |
110 |
2.9 Диаграммы развертывания......................................................... |
122 |
Глава 3. Краткий обзор StarUML [ 9].................................................... |
131 |
Введение........................................................................................... |
131 |
3.1. Главное меню ............................................................................ |
132 |
3.2. Основные концепции ................................................................ |
133 |
3.3. Управление проектом................................................................ |
141 |
3.4. Работа с диаграммами............................................................... |
150 |
Литература............................................................................................. |
163 |
4
Введение
Главной целью дисциплины «Инженерия программного обеспечения» является освоение базовых знаний по вопросам проектирования и разработки программного обеспечения [ 8 ]..
Объектами изучения в данной дисциплине являются: технологии проектирования, модели и методы поддержки жизненного цикла программного обеспечения; средства и методы создания и реализации проектов по созданию программных систем.
Особенностью пособия является то, что его можно применять как
основу при изучении теоретического материала и получения навыков проектирования и разработки приложения с использованием CASE-
систем на лабораторных занятиях или в рамках самостоятельной работы студента..
Методические указания предназначены для студентов, изучающих курс «Инженерия ПО», и специалистов по программному обеспечению, работающих в различных областях разработки программных систем.
5
Глава 1. Технологии, модели и процессы создания ПО
1.1. Терминология
Программная инженерия (Software Engineering) является отраслью Computer science, изучает вопросы построения компьютерных программ, отражает закономерности ее развития, обобщает опыт
программирования в виде комплекса общих знаний и правил регламентации инженерной деятельности разработчиков ПО.
Суть методологии программной инженерии состоит в применении систематизированного, научного и предсказуемого процесса проектирования, разработки и сопровождения программных средств.
Программная инженерия, как инженерная дисциплина, делает
главный акцент на повышение качества и производительности ПО за счет применения новых и усовершенствованных: методов проектирования ПО; готовых компонентов и методов их генерации; методов эволюции ПО; методов верификации и тестирования ПО; инструментальных средств поддержки; методов управления проектами, методов оценки качества, производительности, стоимости и т.п.; стандартизации процессов разработки ПО (ISO/IEC 12207, ISO/IEC 15504, ISO 9126 и др.), регламентирующих этапы ЖЦ; подходов к
оценке продуктов и процессов Инструменты поддержки разработки ПО совершили гигантский
скачок в своем развитии и теперь обычной практикой стало создание ПС с использованием современных визуальных и диаграммных средств
UML.
Цель данных методических указаний - помочь студенту освоить
базовые концепции и понятия универсального языка моделирования
6
UML как инструмента, используемого для решения задач курса «Инженерии программного обеспечения».
Программное обеспечение (ПО) – компьютерные программы и соответствующая документация, которые разрабатываются по частному заказу или для продажи на рынке ПО.
Инженерия ПО – инженерная дисциплина, охватывающая все аспекты разработки ПО.
Системотехника (технология создания вычислительных систем)
– дисциплина, охватывающая все аспекты создания и модернизации сложных вычислительных систем, где программное обеспечение играет ведущую роль. Сюда можно отнести технологии создания аппаратных средств, создание вычислительных процессов, развертывание всей системы, а также технологию создания непосредственно ПО.
Процесс создания ПО – совокупность процессов, приводящих к созданию программного продукта.
Базовые процессы создания ПО:
−разработка спецификации;
−проектирование и реализация;
−аттестация:
−эволюция.
Модель процесса создания ПО – последовательность этапов,
необходимых для разработки создаваемого ПО.
Модели являются связующим звеном между процессом анализа исходной задачи и процессом проектирования системы.
Модели могут представить систему в различных аспектах. Модель является абстракцией системы и легче поддается анализу, чем любое другое представление этой системы.
7
Методы создания ПО представляют собой структурный подход к созданию ПО, который способствует производству ПО эффективным, с экономической точки зрения, способом.
Жизненный цикл ПО – совокупность процессов, протекающих от
момента принятия решения о создании ПО до его полного вывода из эксплуатации.
Методы проектирования – множество формализованных нотаций и нормативных документов для проектирования ПО.
Методы создания ПО представляют собой структурный подход к созданию ПО, который способствует производству ПО эффективным, с экономической точки зрения, способом.
Все методы, основаны на использовании моделей системы, основываются на одной из следующих концепциях: функционально- ориентированного или объектно-ориентированного программирования систем.
Функционально-ориентированное проектирование основано на определении основных функциональных компонент системы.
Объектно-ориентированное проектирование представляет собой стратегию, в рамках которой программная система состоит из взаимодействующих объектов, имеющих собственное локальное состояние и способных выполнять определенный набор операций, определяемый состоянием объекта. Оно основано на использовании унифицированного языка моделирования UML.
UML (Unified Modeling Language) - унифицированный язык моделирования – это язык графического описания для объектного моделирования в области разработки программного обеспечения. UML является языком широкого профиля, это открытый стандарт,
использующий графические обозначения для создания абстрактной
8
модели системы, называемой UML моделью. UML был создан для определения, визуализации, проектирования и документирования в основном программных систем.
1.2. Назначение языка UML
UML - унифицированный язык моделирования.
Язык включает в себя набор знаков (словарь) и правила их употребления и интерпретации (грамматику) [ 1 ].
UML – объектно-ориентированный язык моделирования.
UML - это графический язык моделирования общего назначения, предназначенный для спецификации, визуализации, проектирования и документирования всех артефактов, создаваемых в ходе разработки.
UML в первую очередь - это спецификации
Спецификация - подробное описание системы, которое полностью определяет ее цель и функциональные возможности.
Различают:
∙словесные спецификации на естественном языке;
∙формальные спецификации;
∙модельные спецификации.
Словесные спецификации на естественном языке как раз и вызывают массу проблем, поскольку создаются разными специалистами на "их языке".
Формальные спецификации. Формальная спецификация является, по сути, математической моделью задачи и потому для вычислительных задач все выглядит достаточно просто. Формализация же задач из
других областей знаний может оказаться более сложной и трудоемкой
9
проблемой, чем разработка самого приложения ввиду отсутствия четкой
математической модели
Когда говорят о том, что UML - это средство визуализации, подразумевают модельные спецификации, которые представляют собой картинки с текстом.
Проектирование.
UML позволяет строить модели программных систем. По этим
моделям потом может производиться генерация каркасного кода проектируемых приложений. Более того, возможен процесс, который часто называют "реверс-инжинирингом", - т. е. создание UML-модели из существующего кода приложения.
Документирование .
UML-модели сами по себе уже являются документами (и весьма понятными, даже для неспециалиста, модели UML являются XML- документами). Причем любой элемент на любой диаграмме может быть снабжен ноутсом - текстовым комментарием. Т. е. построение набора диаграмм уже является процессом документирования будущей системы. Более того, большинство инструментов UML-проектирования умеют
извлекать текстовую информацию из моделей и генерировать относительно удобочитаемые тексты.
10