
- •Дисциплина «Технология разработки программного обеспечения»
- •Структурная и функциональная схемы: структурные схемы пакетов программ, программного комплекса, программной системы; функциональная схема-схема данных, основные обозначения по гост 19.701-90.
- •Проектирование структуры программного обеспечения с использованием метода пошаговой детализации: основное правило и рекомендации по применению.
- •Проектирование программного обеспечения с использованием методов декомпозиции данных: метод Джексона, метод Варье-Орра.
- •Унифицированный язык моделирования (uml) разработки программного обеспечения на основе объектного подхода.
- •Спецификация программного обеспечения при использовании uml: модель использования, логическая модель, модель реализации, модель процессов, модель развертывания.
- •Варианты использования: основные, вспомогательные, дополнительные, краткая и подробная формы описания.
- •Диаграммы вариантов использования – прецедентов (uses case diagrams): действующее лицо, вариант использования, связь; связи использования и расширения.
- •Диаграмма последовательностей системы (seguence diagrams), системные события и операции, описание системной операции.
- •Диаграммы деятельностей (activity diagrams) этапа анализа требований и уточнения спецификаций: деятельность, альтернативные и параллельные процессы, условные обозначения.
- •Проектирование структуры программного обеспечения при объектном подходе: стереотипы классов – классы сущности, классы интерфейсы, управляющие классы, исключения, пакеты классов.
- •Диаграмма пакетов (package diagrams): назначение, условные обозначения, связи, глобальные пакеты, обобщение пакетов.
- •Определение отношений между объектами: диаграмма кооперации (collaboration diagrams) – обозначение объектов и потоков данных, варианты реализации сценария.
- •Классы интерфейсы: назначение, условные обозначения реализации, зависимость класса от интерфейса.
- •Проектирование классов: структура объектов – атрибуты и операции класса, полное описание атрибута, полное описание операции, ответственность класса.
- •Диаграмма состояний объекта (statechart diagrams): назначение, условные обозначения, состояние объекта, переходы, условие перехода.
- •Диаграмма деятельностей методов класса: назначение, условные обозначения.
- •Диаграмма компонентов (component diagrams): назначение, условные обозначения, зависимость компонентов.
- •Диаграмма размещения (deployment diagrams): назначение, условные обозначения, узлы и их соединения.
- •Система условных обозначений uml.
Определение отношений между объектами: диаграмма кооперации (collaboration diagrams) – обозначение объектов и потоков данных, варианты реализации сценария.
Для моделирования взаимодействия объектов в языке UML используются соответствующие диаграммы взаимодействия. Для представления структурных особенностей передачи и приема сообщений между объектами используется диаграмма кооперации. Кооперация может быть представлена на двух уровнях:
- на уровне спецификации;
- на уровне примеров.
Диаграмма кооперации – это альтернативный способ представления взаимодействия объектов в процесс реализации сценария, который позволяет по-другому взглянуть на ту же информацию. В отличие от диаграмм последовательностей диаграммы кооперации показывают потоки данных между объектами классов, что позволяет уточнить связи между ними.
Диаграмма кооперации уровня спецификации показывает роли, которые играют участвующие во взаимодействии элементы (классы). Такое представление кооперации может относиться к отдельному варианту использования и детализировать особенности его последующей реализации.
Диаграмма кооперации уровня примеров визуализирует объекты, связи и сообщения. На этом уровне показываются только те объекты, которые имеют непосредственное отношение к реализации моделируемой кооперации.
Определение отношений между классами: ассоциация, обобщение, агрегация, композиция, направление ассоциации, абстрактные классы и методы, параметризованные классы, связывание классов, обозначение связывания.
После определения основных пакетов разрабатываемого программного обеспечения переходят к детальному проектированию классов, входящий в каждый пакет. Классы-кандидаты, которые предположительно должны войти в конкретный пакет, показывают на диаграмме классов этапа проектирования и уточняют отношения между объектами указанных классов.
Обобщением называют такое отношение между классами, при котором любой объект одного класса обязательно является также и объектом другого класса, называемого в данном контексте супертипом. Так, если некоторый конкретный студент является объектом подтипа Студент первого курса супертипа Студент, то тот же самый студент является объектом указанного супертипа. Следовательно, все, что известно об объектах супертипа (ассоциации, атрибуты, операции), касается и объектов подтипа. На диаграмме классов обобщение обозначают линией с треугольной стрелкой на конце, подходящей к супертипу.
Отношение ассоциации означает наличие связи между экземплярами классов или объектами, например, класс Студент ассоциирован с классом Институт. Ассоциация может иметь имя, например, Обучается. Рядом с именем ассоциации обычно ставят стрелку, указывающую направление чтения имени («Студент обучается в институте», а не наоборот).
На этапе проектирования помимо ассоциации и обобщения различают ещё 2 типа отношения между классами – агрегацию и композицию.
Агрегацией называют ассоциацию между целым и его частью или частями. Агрегацию вместо ассоциации указывают, если отношение «целое-часть» в конкретном случае существенно.
Композиция – боле сильная разновидность агрегации, которая подразумевает, что объект-часть может принадлежать только единственному целому. Объект часть при этом создаётся и уничтожается только вместе со своим целым.
а
- агрегация б - композиция
Проектирование классов предполагает окончательное определение структуры и поведения его объектов. Структура объектов определяется совокупностью атрибутов и операций класса. Каждый атрибут – это поле или совокупность полей данных, содержащихся в объекте класса.
Поведение объектов класса определяется реализуемыми обязанностями. Обязанности выполняются посредством операций класса.
Поскольку отношение ассоциации и его подвиды (агрегация и композиция) означают наличие обмена сообщениями между объектами классов целесообразно уточнить направление передачи сообщений. Навигацию (направление ассоциации) показывают стрелкой на конце линии ассоциации. Если стрелки указаны с обеих сторон, то это означает двунаправленную ассоциацию.
UML также включает специальную нотацию для обозначения параметризованных классов или шаблонов. Получение из такого класса, класса с конкретными типами элементов называют связыванием. Связывание можно обозначить двумя способами: явно указав тип параметра и используя условное обозначение уточнения.
Диаграммы классов позволяют также отобразить ограничения, которые невозможно показать, используя только понятия, рассмотренные выше (ассоциации, обобщения, атрибуты, операции). Подобную, информацию на диаграмме классов можно представить в виде записи на естественном языке или в виде математической формулы, поместив их в фигурные скобки.