Разработка объектно- ориентированного ПО Итеративная модель разработки (развитие водопадной модели) анализ проектирование кодирование тестирование
Анализ и проектирование Объектно-ориентированный анализ – выделение в предметной области классов и объектов, формулирование требований к программной системе Объектно-ориентированное проектирование – проектирование программы, основанное на объектно- ориентированной декомпозиции, определение интерфейсов классов, описание их взаимодействия.
Унифицированный язык моделирования UML Для ОО анализа и проектирования используется язык визуального моделирования UML (Unified Modeling Language). Диаграммы и спецификации языка UML связали исходный текст программы с характеристиками объекта автоматизации. Существует возможность автоматической генерации исходного кода программы по диаграммам UML и обратное преобразование (рефакторинг).
Варианты использования (прецеденты) На этапе анализа изучаются варианты использования (use case) или прецеденты. Диаграмма прецедентов содержит две основных сущности – действующие субъекты (актеры) и собственно прецеденты. Актер – некоторая роль, которую играет пользователь по отношению к системе. Вариант использования – специальная задача, обычно инициируемая актером, описывающая некоторую цель. Вариант использования состоит из набора сценариев, описывающих способы достижения цели.
Пример диаграммы прецедентов
Диаграммы классов После того, как определены все актеры и прецеденты, процесс разработки переходит в фазу выделения объектов и классов. Классы соответствуют сущностям, определенным в описании прецедентов. Методы соответствуют действиям актеров. Классы и их взаимосвязь изображаются на диаграмме классов. Класс изображается прямоугольником, содержащим имя класса, имена атрибутов и методов.
Связи классов зависимость ассоциация (бинарное отношение) однонаправленная ассоциация с указанной кратностью (один ко многим) агрегация (отношение часть – целое) обобщение (отношение потомок – предок) реализация (интерфейс – класс) 1 *
Пример диаграммы классов
Диаграммы действий Диаграммы действий – используются для моделирования вариантов использования. Диаграммы действий напоминают блок-схемы. Действия обозначаются закругленными прямоугольниками, ветвления – ромбами, переходы – линиями. Жирная прямая – линия синхронизации
Диаграммы последовательностей Описывают взаимодействие объектов во времени. Объекты – прямоугольники, вертикальные линии – линии жизни. прямоугольники – периоды активности объектов Сообщения – горизонтальные стрелки. Окно ввода заказа Заказ Склад новый искать резерв
Написание кода Варианты использования определяют итерации на этапе написания кода. Сначала пишут определения классов по диаграмме классов, описывают атрибуты. Связи обобщения задают наследование классов, агрегации – контейнеры для хранения частей. Далее по диаграммам действий и последовательностей описываются методы.
Тестирование Для проверки работоспособности классов используется модульное (автоматическое) и функциональное (пользовательское) тестирование. Затем уточняются требования к системе и выполняется новая итерация. Подробно процесс разработки ПО будет рассмотрен при изучении дисциплины «Технологии разработки ПО».