Этапы объектно- ориентированного проектирования

Процесс разработки программного обеспечения с использованием объектно-ориентированного программирования включает четыре этапа:

1.Анализ.

2.Проектирование.

3.Эволюция.

4.Модификация.

Особенностью ООП является то, что объект или группа объектов могут разрабатываться отдельно, поэтому их проектирование может находиться на различных этапах. Например, интерфейсные классы уже реализованы, а структура классов предметной области еще только уточняется. Обычно проектирование начинается, когда какой-либо фрагмент предметной области достаточно полно описан в процессе анализа.

Этап 1.Цель анализа – максимально полное описание задачи. На этом этапе:

— Выполняется анализ предметной области задачи. Анализ предметной области позволяет выделить ее сущности, определить первоначальные требования к функциональности и определить границы проекта. По результатам анализа разрабатывается структурная схема программного продукта, на которой показываются основные объекты и сообщения, передаваемые между ними.

— Строится объектная декомпозиция разрабатываемой системы. При объектной декомпозиции система разбивается на объекты или компоненты, которые взаимодействуют друг с другом, обмениваясь сообщениями. Сообщения описывают или представляют собой некоторые события.

— Определяются важнейшие особенности поведения объектов – описание абстракций.

Например, необходимо разработать программный продукт «Телефонная книга» для мобильного телефона. На первом этапе определяются основные требования к данному приложению: оно должно работать на операционной системе Android, поддерживать хранение до 1 000 записей и их быструю сортировку. Выполняется поиск наиболее подходящего алгоритма сортировки. Выбирается быстрый алгоритм сортировки. Основными компонентами приложения будут запись телефонной книги и менеджер функций.

Этап 2. Проектирование. Различают:

— логическое проектирование, при котором принимаемые решения практически не зависят от условий эксплуатации;

— физическое проектирование, при котором приходится принимать во внимание факторы эксплуатации.

Логическое проектирование заключается в разработке структуры классов. Определяются поля для хранения составляющих состояния объектов и алгоритмы методов, реализующих аспекты поведения объектов. При этом используются такие приемы разработки классов как наследование, композиция, наполнение, полиморфизм. Результатом является иерархия или диаграмма классов, отражающие взаимосвязь классов и их описание.

Физическое проектирование включает объединение описаний классов в модули, выбор схемы их подключения (статическая или динамическая компоновка), определение способов взаимодействия с оборудованием, с операционной системой и/или другим программным обеспечением (например, базами данных, сетевыми программами), обеспечение синхронизации процессов для систем параллельной обработки и т. д.

На втором этапе (продолжение примера с предыдущей сцены) для разрабатываемого приложения «Телефонная книга» строится структура классов: класс «Запись» с полями «Имя», «Фамилия», «Телефонный номер». Класс «Менеджер» с методами «Добавление», «Удаление», «Редактирование», «Сортировка». Определяются функции, предоставляемые операционной системой Android для работы с приложением.

Этап 3. Эволюция системы. Эволюция – это процесс поэтапной реализации и подключения классов к проекту. В первую очередь происходит создание основной программы или проекта будущего программного продукта. Затем реализуются и подключаются классы, так чтобы создать грубый, но, по возможности, работающий прототип будущей системы. Он тестируется и отлаживается. В итоге получается работоспособный прототип продукта, который может быть, например, показан заказчику для уточнения требований. Затем к системе подключается следующая группа классов, например, связанная с реализацией некоторого пункта меню. Полученный вариант также тестируется и отлаживается, и так далее, до реализации всех возможностей системы. Использование поэтапной реализации существенно упрощает тестирование и отладку программного продукта. На третьем этапе выполняется программная реализация разрабатываемого приложения «Телефонная книга».

Этап 4. Модификация. Модификация – это процесс добавления новых функциональных возможностей или изменение существующих свойств системы. Как правило, изменения затрагивают реализацию класса, оставляя без изменения его интерфейс, что при использовании ООП обычно обходится без особых неприятностей, так как процесс изменений затрагивает локальную область. Изменение интерфейса – также не очень сложная задача, но ее решение может повлечь за собой необходимость согласования процессов взаимодействия объектов, что потребует изменений в других классах программы. Однако сокращение количества параметров в интерфейсной части по сравнению с модульным программированием существенно облегчает и этот процесс. Простота модификации позволяет сравнительно легко адаптировать программные системы к изменяющимся условиям эксплуатации, что увеличивает время жизни систем, на разработку которых затрачиваются огромные временные и материальные ресурсы. На четвертом этапе для разрабатываемого приложения «Телефонная книга» добавляется новая функциональная возможность – функция добавления изображения в запись телефонной книги.

Контрольные вопросы

1. Назовите характеристики объектно- ориентированного программирования.

2. Сформулируйте принципы объектно-ориентированного программирования.

3. В чем заключаются принципы абстракции и инкапсуляции данных и инкапсуляции?

4. В чем заключаются принципы наследования и полиморфизма?

5. Назовите этапы объектно-ориентированного программиронвания.

6. Охарактеризуйте этап анализа объектно –ориентированного проектирования.

7. Охарактеризуйте этап проектирования.

8. Охарактеризуйте этап эволюции.

9. Охарактеризуйте этап модификации.

Объектно-ориентированное проектирование, часть 1 — как проектируются классы


Похожие статьи.

Понравилась статья? Поделиться с друзьями: