
- •Методология объектно-ориентированного анализа и проектирования
- •Модель предметной области
- •Идентификация концептуальных классов
- •Основные элементы языка uml
- •Канонические диаграммы языка uml.
- •Элементы графической нотации диаграммы прецедентов.
- •Отношения на диаграмме прецедентов
- •Отношения на диаграмме прецедентов
- •Типы классов
- •Отношения и их графические изображения на диаграмме классов
- •Отношение ассоциации
- •Типы ассоциаций
- •Отношение агрегации
- •Отношение композиции
- •Отношение обобщения
- •Наследование и виртуальные функции
Балса Алдрин Раульевич
Литература:
Буч Г. «ООАП с применением приложений»
Методология объектно-ориентированного анализа и проектирования
Предметная область – часть реального мира, которая имеет существенное значение или непосредственное отношение к процессу функционирования программы. Это формальная область, определяющая объект или сферу интересов. Она включает в себя только те объекты и взаимосвязи между ними, которые необходимы для описания требований и условий решения конкретной задачи.
Выделение исходных или базовых компонентов предметной области, требуемых для решения той или иной задачи, представляет нетривиальную проблему, связанную со сложностью управления процедурами или правилами, применяемыми для этой цели. Примерами таких правил служат политика компаний, физические или государственные законы и т. д. Поэтому, работа по выделению этих базовых или исходных компонентов предметной области должна выполняться совместно со специалистами или экспертами, хорошо знакомыми с данной предметной областью.
Сложность моделирования предметной области и разработки программного обеспечения привело к появлению методологии объектно-ориентированного анализа и проектирования. ООАП – технология разработки программных систем, в основу которых положена объектно-ориентированная методология представления предметной области в виде объектов, являющихся экземплярами соответствующих классов. Методология ООАП тесно связана с концепцией автоматизированной разработки ПО, то есть тесно связана с CASE(Computer Aid Software Engineering)-технологиями.
ДЗ – история развития языка UML + прочитать 1 главу Буча.
4 причины возникновения сложности в программной системе:
Сложность предметной области
Трудность управления разработкой программного обеспечения
Необходимость обеспечить гибкость программ
Сложность описания функционирования дискретных систем
Модель предметной области
Модель предметной области отражает основные классы понятий (концептуальные классы) предметной области. Она является наиболее важным артефактом, создаваемым на этапе объектно-ориентированного анализа. Основной задачей объектно-ориентированного анализа является идентификация большого количества разнообразных объектов или понятий, а так же точная оценка усилий в терминах отдачи на стадиях проектирования и реализации моделируемой системы. Таким образом, идентификация классов понятий или концептуальных классов является составная часть исследования предметной области. На языке UML модель предметной области строится в виде диаграммы концептуальных классов.
Замечание: модель предметной области представляет классы понятий реального мира, а не программные компоненты, это не набор диаграмм, описывающих программные классы или программные объекты с их обязанностями. Другими словами, модель предметной области – визуальное представление концептуальных классов или объектов реального мира в терминах конкретной предметной области. Такие модели называют концептуальными моделями предметной области.
Концептуальный класс – на языке UML концептуальный класс представляется в виде класса, в котором могут быть атрибуты, но не может быть никаких операций. Модель предметной области отражает следующее:
Объекты предметной области или концептуальные классы
Отношения в виде ассоциаций между концептуальными классами
Атрибуты концептуальных классов
Итак, модель предметной области – визуальные слова абстракций.
Пример
Предметная область: розничная торговля.
Pos-System (point-of-sale-system)
Рассмотрим процесс «Покупка товара»
Создадим словарь:
Понятие |
Определение |
\/Item |
|
\/Shop |
|
\/Register |
|
Item specification |
|
Item Name |
|
\/Sale |
|
Price |
|