Технология разработки программного обеспечения

8 ПРОЕКТИРОВАНИЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ПРИ ОБЪЕКТНОМ ПОДХОДЕ

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

Основной задачей логического проектирования при объектном подходе является разработка классов для реализации объектов полученных при объектной декомпозиции. Эта задача включает полное описание полей и методов каждого класса.

Физическое проектирование при объектном подходе включает объединение классов и других ресурсов программных компонентов и размещение этих компонентов на конкретных устройствах.

Каждая сущность должна иметь наименование, выраженное существительным в единственном числе. Примерами сущностей могут быть такие классы объектов как "Поставщик", "Сотрудник", "Накладная". Каждая сущность в модели изображается в виде прямоугольника с наименованием:

Разработка структуры ПО при объектном подходе

На этапе проектирования уточняются поля и методы классов, а также отношения между классами. Все это находит отражение на диаграмме классов.

Для уточнения содержания некоторых классов на диаграмме используют следующие обозначения:

  • класс-сущность (entity class) – пассивный класс, информация о котором должна храниться постоянно. Как правило, этот класс соответствует отдельной таблице базы данных. В этом случае его атрибуты являются полями таблицы, а операции — присоединенными или хранимыми процедурами (рис. 8.1, 5);
  • граничный класс (boundary class) располагается на границе системы с внешней средой. К этому типу относят как классы, реализующие пользовательские интерфейсы, так и классы, обеспечивающие интерфейс с аппаратными средствами или программными системами (рис. 8.1, в).

Рисунок 8.1 - Графическое изображение классов для моделирования программного обеспечения: а – управляющий класс; б – класс-сущность; в – граничный класс