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