13. Цикл разработки ПО с использованием ООП: анализ, проектирование, эволюция, модификация.
Рабочие продукты объектно-ориентированного анализа.
Цикл разработки ПО с использованием ООП
Разработка программного обеспечения (ПО) с использованием объектно-ориентированного программирования (ООП) проходит через несколько ключевых этапов. Каждый этап имеет свои методы и цели, направленные на создание качественного и поддерживаемого кода.
Основные этапы разработки ПО
Анализ требований
Цель: Понять, что именно должно делать ПО.
Действия:
Собрать требования от заказчика и конечных пользователей.
Провести анализ предметной области.
Определить основные объекты и их поведение.
Продукты:
Документ с требованиями.
Диаграммы классов, показывающие ключевые сущности.
Пример: Разработка системы управления заказами для интернет-магазина. На этапе анализа будут определены основные сущности, такие как «Заказ», «Покупатель», «Товар» и их взаимосвязи.
Проектирование
Цель: Спроектировать структуру системы, определив классы, их свойства и методы, а также взаимодействие между ними.
Действия:
Разработка архитектуры системы.
Определение классов и их отношений.
Спецификация интерфейсов и модулей.
Продукты:
Диаграммы классов и объектов.
Диаграммы взаимодействия.
Техническая документация.
Пример: Проектирование системы управления заказами. На этом этапе будут разработаны классы «Order», «Customer», «Product» и «OrderLine», а также их взаимодействие.
Реализация (Кодирование)
Цель: Написать программный код в соответствии с проектом.
Действия:
Написание кода классов и методов.
Проведение модульного тестирования.
Продукты:
Исходный код программы.
Тесты и тестовые данные.
// Пример реализации класса Order class Order { private: std::vector<OrderLine> orderLines; public: void addProduct(const Product& product, int quantity) { orderLines.push_back(OrderLine(product, quantity)); } double calculateTotal() const { double total = 0.0; for (const auto& line : orderLines) { total += line.getTotalPrice(); } return total; } };
Тестирование
Цель: Убедиться, что ПО работает правильно и соответствует требованиям.
Действия:
Проведение функционального тестирования.
Проведение интеграционного тестирования.
Проведение приемочного тестирования.
Продукты:
Тестовые планы и результаты.
Исправления кода на основе обнаруженных ошибок.
Пример: Тестирование функции addProduct класса Order на добавление товара с корректным количеством.
Внедрение
Цель: Развернуть ПО в рабочей среде.
Действия:
Установка ПО.
Настройка окружения.
Обучение пользователей.
Продукты:
Развернутая система.
Документация для пользователей.
Пример: Установка системы управления заказами на сервер интернет-магазина и обучение персонала по работе с системой.
Поддержка и эволюция
Цель: Обеспечить бесперебойную работу ПО и адаптировать его к новым требованиям.
Действия:
Исправление ошибок.
Обновление системы в ответ на изменения требований.
Оптимизация производительности.
Продукты:
Обновления и патчи.
Новые версии ПО.
Пример: Добавление новой функции в систему управления заказами для поддержки скидок на товары.
Рабочие продукты объектно-ориентированного анализа
Модель предметной области
Описание основных сущностей, атрибутов и связей.
Диаграммы классов предметной области.
Сценарии использования (Use Case)
Описание взаимодействий между пользователями и системой.
Диаграммы сценариев использования.
Диаграммы классов и объектов
Определение классов, их атрибутов и методов.
Показ взаимоотношений между объектами.
Пример: Диаграмма классов для системы управления заказами, включающая классы Order, Customer, Product и их связи.
Диаграммы взаимодействий
Описание последовательности взаимодействий между объектами.
Диаграммы последовательностей и сотрудничества.
Пример: Диаграмма последовательностей для процесса размещения заказа в интернет-магазине.
Модели состояний и переходов
Описание жизненного цикла объектов и их реакций на события.
Диаграммы состояний.
Пример: Диаграмма состояний для объекта Order, включающая состояния "Создан", "Обработан", "Доставлен" и "Завершен".
Last updated