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