6 Концептуальное моделирование и диаграммы понятий
6.1 Концептуальная модель ПрО
6.2 Пример диаграммы понятий
6.3 Диаграмма понятий
6.4 Пример понятия
6.5 Идентификация понятий
1) Непосредственное выделение понятий
1) Непосредственное выделение понятий
2) Поиск по списку стандартных категорий
Таблица 6.1 Примеры категории понятий
Таблица 6.1 Примеры категории понятий
Таблица 6.1 Примеры категории понятий
Таблица 6.1 Примеры категории понятий
6.6 Варианты графической нотации для изображения понятий
6.7 Ассоциации
6.8 Примеры ассоциации
6.9 Способы выделения ассоциаций
1) Выделение ассоциаций по определению
2) Поиск по списку стандартных категорий ассоциаций
Таблица 6.2 Стандартные категории ассоциаций
Таблица 6.2 Стандартные категории ассоциаций
Таблица 6.2 Стандартные категории ассоциаций
Таблица 6.2 Стандартные категории ассоциаций
6.10 Имя ассоциации
6.11 Именование ассоциации
6.12 Роль ассоциации
6.13 Имя роли ассоциации
Имя роли ассоциации
6.14 Кратность роли ассоциации
6.15 Рекомендации при поиске ассоциаций
6.16 Атрибуты
Понятие «Стол» и его «атрибуты»
Как отличить «понятие» от «атрибута»
6.17 Ограничения
6.18 Обобщение
Обобщение и специализация
2 вопроса, которые помогут выявить обобщение между понятиями
6.19 Модель платежа
6.20 Модель клиента
Рекомендации: тип следует разбивать на подтипы, если:
Примеры использования обобщения
Агрегация
Агрегация
Композитная агрегация
Пример композитной агрегации
Коллективная агрегация
Пример коллективной агрегации
Правила идентификации отношения агрегации
Порядок построения концептуальной модели
Рекомендации по построению диаграммы понятий
1.00M
Category: programmingprogramming

Концептуальное моделирование и диаграммы понятий. Тема 6

1. 6 Концептуальное моделирование и диаграммы понятий

2. 6.1 Концептуальная модель ПрО

= модель, отражающая основные
понятия ПрО, их структуру и
взаимосвязи
Результат концептуального
моделирования на диаграмме
понятий (частный случай диаграммы
классов)
2

3. 6.2 Пример диаграммы понятий

3

4. 6.3 Диаграмма понятий

Элементы:
• Понятия и их атрибуты
• Отношения ассоциации и обобщения
• Ограничения
Понятие =
<символ, содержание, расширение>
• символ = слово или образ понятия
• содержание = определение понятия
• расширение = множество примеров, к
которым понятие применимо
4

5. 6.4 Пример понятия

Окружность:
• символ = слово «окружность»
• содержание = определение
«геометрическое место точек,
равноудаленных от данной»
• расширение = множество
всевозможных окружностей с
различными радиусами
5

6. 6.5 Идентификация понятий

Источник понятий – прецеденты
На практике 2 подхода:
1. непосредственное выделение
понятий
2. поиск по списку стандартных
категорий
6

7. 1) Непосредственное выделение понятий

Поиск имен существительных как кандидатов
в «понятия»
!!! Нет однозначного соответствия между
«именем существительным» и
«понятием» из-за существования:
• синонимов (разные по написанию, но
близкие по значению: «лицо – физиономия»)
• омонимов (разные по значению, но
одинаковые по написанию: «скрипичный ключ
– вода бьет ключом»)
7

8. 1) Непосредственное выделение понятий

!!! «Имя существительное» может
соответствовать:
• «атрибуту» («дата»)
• «операции» («завершение»)
8

9. 2) Поиск по списку стандартных категорий

• список стандартных категорий
понятий
• используют для уточнения
состава понятий
концептуальной модели ПрО
9

10. Таблица 6.1 Примеры категории понятий

Категория понятия
Пример
Физические или
материальные объекты
Самолет
Спецификации, элементы
дизайна или описания
объекта
Места
Транзакции
Описание полета,
Описание товара
Магазин, Аэропорт
Продажа, Платеж,
Бронирование
10

11. Таблица 6.1 Примеры категории понятий

Категория понятия
Пример
Элемент транзакции
Роли людей
Товарная позиция
Кассир, Пилот
Контейнеры других
объектов
Содержимое контейнеров
Склад, Магазин,
Самолет
Товар, Элемент,
Пассажир
Другие системы, внешние Банк (для
по отношению к данной ИС банкомата)
11

12. Таблица 6.1 Примеры категории понятий

Категория понятия
Абстрактные понятия
Организации
События
Процессы (обычно не
представляются в виде
понятий )
Пример
Голод,
Клаустрофобия
Отдел продаж,
Библиотека
Продажа, Полет
Продажа продукта,
Бронирование
места
12

13. Таблица 6.1 Примеры категории понятий

Категория понятия
Правила и политики
Пример
Правила возврата
товара,
политика
безопасности
Каталоги
Каталог товаров, книг
Записи финансовой,
Чек, Трудовой
трудовой, юридической и контракт
др. деятельности
Руководства, книги
Должностная
13
инструкция

14. 6.6 Варианты графической нотации для изображения понятий

Для «понятия» - нотация для класса без
раздела операций
14

15. 6.7 Ассоциации

• Используются для связывания понятий
между собой
• Диаграмма понятий = граф с
вершинами «понятиями» и дугами
«ассоциациями»
• Ассоциация = устойчивое структурное
отношение между сущностями
(«понятиями»)
15

16. 6.8 Примеры ассоциации

16

17. 6.9 Способы выделения ассоциаций

На практике 2 подхода:
1. по определению
2. поиск по списку стандартных
категорий ассоциаций
17

18. 1) Выделение ассоциаций по определению

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

19. 2) Поиск по списку стандартных категорий ассоциаций

Экземпляры некоторых двух понятий,
между которыми может быть
ассоциация, проверяются по списку
Важнейшие категории:
• А является физической/логической частью В
• А физически/логически содержится в В
• А записан в В
19

20. Таблица 6.2 Стандартные категории ассоциаций

Категория ассоциации
Пример
А является физической
частью В
А является логической
частью В
Крыло - Самолет
А физически содержится
в/на В
Товар – Полка,
Пассажир Самолет
Описание товара Каталог
А логически содержится
в/на В
Товарная позиция
- Продажа
20

21. Таблица 6.2 Стандартные категории ассоциаций

Категория ассоциации
А является описанием В
А известен / зарегистрирован / записан / включен в
отчет / содержится в В
А является членом В
А является организационной единицей В
Пример
Описание товара Товар
Продажа – Система розничной
торговли
Ученик – Класс,
Игрок - Команда
Отдел - Магазин
21

22. Таблица 6.2 Стандартные категории ассоциаций

Категория ассоциации
Пример
А использует или
управляет В
Кассир - Система
розничной торговли,
Пилот - Самолет
А взаимодействует с В
Покупатель - Платеж
А является транзакцией, Платеж - Продажа
которая связана с другой
транзакцией В
А следует за В
Остановка Остановка
22

23. Таблица 6.2 Стандартные категории ассоциаций

Категория ассоциации
А является
собственностью В
Пример
Самолет –
Авиакомпания,
Система
розничной
торговли - Магазин
23

24. 6.10 Имя ассоциации

• должно содержать глагольную форму
• При прочтении тройки «понятие 1» «ассоциация» - «понятие 2» должна
получиться осмысленная фраза
• По умолчанию чтение «слева направо»
и «сверху вниз»
• Противоположное направление
чтения помечают стрелкой
24

25. 6.11 Именование ассоциации

• Книга написана автором
• Книга опубликована в издательстве
• Книга относится к жанру
25

26. 6.12 Роль ассоциации

Роль = конец ассоциации
Характеристики роли:
• имя
• кратность
26

27. 6.13 Имя роли ассоциации

• Имя = название роли, в которой
выступает понятие в этой
ассоциации
• Если имя роли не указано, то по
умолчанию оно совпадает с
именем «понятия»
27

28. Имя роли ассоциации

• «Руководитель департамента» руководит
«департаментом»
• «Сотрудник» работает в «департаменте»
28

29. 6.14 Кратность роли ассоциации

• определяет, сколько экземпляров понятия,
соответствующего данной роли, может быть
одновременно связано с одним экземпляром
понятия, соответствующего противоположной
роли
• «Департаментом» может руководить только
один «Руководитель»
• Работать в «Департаменте» могут сразу
несколько «Сотрудников»
• Варианты: 1
3..5 2,5,7
29

30. 6.15 Рекомендации при поиске ассоциаций

• Важнее идентифицировать понятия,
чем ассоциации
• Изучение ассоциаций не должно
отнимать слишком много времени,
но приносить максимальные эффект
• Избегайте использования
избыточных ассоциаций
30

31. 6.16 Атрибуты

Атрибут = именованная
характеристика сущности
Характеристики атрибута:
• имя
• тип (желательно, примитивный:
числовой, логический, дата,
перечисление, строковый)
31

32. Понятие «Стол» и его «атрибуты»

Назначение (строка: барный, офисный,…)
Количество опор (целое: 0, 1, 2, 3, 4,..?)
Материал (строка: деревянный, стеклянный,…)
Цвет (строка: белый, коричневый, черный, …)
32

33. Как отличить «понятие» от «атрибута»

Если тип не элементарный, то этот
атрибут лучше сделать понятием и
установить ассоциацию
33

34. 6.17 Ограничения

- С любым элементов диаграмм UML
может быть связано одно или несколько
ограничений
- Ограничение может быть задано:
•в произвольной форме
•формально (язык OCL, Object Constraint
Language, из семейства стандартов
OMG)
•в { } , соединяют пунктирной линией
•См. рис. «Пример диаграммы понятий»
34

35. 6.18 Обобщение

В модели прецедентов обобщение
использовалось между акторами и
между прецедентами
В концептуальной модели
обобщение используется между
понятиями.
Далее вместо термина «понятие»
используется термин «тип»
35

36. Обобщение и специализация


Элемент-родитель называют «супертип»,
элемент-потомок – «подтип»
Движение от подтипа к супертипу называют
«обобщение», от супертипа к подтипу «специализацией»
36

37. 2 вопроса, которые помогут выявить обобщение между понятиями

1. «Что ОБЩЕЕ у двух и более понятий?»
Найденное ОБЩЕЕ «делегируем» элементуродителю («супертипу)
2. «Чем ОТЛИЧАЮТСЯ два и более понятий?»
Найденные отличия «делегируем» элементампотомкам («подтипам)»
37

38. 6.19 Модель платежа

Конкретный платеж также характеризуется
датой, суммой и ассоциацией с продажей
38

39. 6.20 Модель клиента

Пример формально правильной, но
бесполезной иерархии понятий
39

40. Рекомендации: тип следует разбивать на подтипы, если:

• подтип имеет дополнительные атрибуты,
интересные с точки зрения задачи (рис. 6.2 а))
• подтип имеет дополнительные ассоциации,
интересные с точки зрения задачи (рис. 6.2 б))
• подтипу соответствует понятие, управляемое,
обрабатываемое, реагирующее или
используемое способом, отличным от
способа, определяемого супертипом или
другим подтипом
40

41. Примеры использования обобщения

а)
б)
Рис. 6.2
41

42. Агрегация

= вид ассоциации, моделирующей
неравноправные отношения типа
«часть-целое»
- примеры:
• «файл» и «каталог»
• «строка таблицы»
и «таблица»
• «ящик» и «стол-верстак»
42

43. Агрегация

- Виды агрегации:
• композитная
• коллективная
43

44. Композитная агрегация

= «композиция»
- сильная связь: со стороны
составного объекта кратность не
может быть больше 1
- составной объект является
владельцем своих частей, части
не могут существовать без целого
44

45. Пример композитной агрегации

45

46. Коллективная агрегация

= «агрегация»
- более слабая связь: со стороны
составного объекта кратность может
быть больше 1
- допустимо участие в нескольких
агрегациях
- при уничтожении составного
объекта не предполагается
уничтожение его частей
46

47. Пример коллективной агрегации

47

48. Правила идентификации отношения агрегации

• Время жизни компонента ограничено
временем жизни составного объекта («файл» «каталог»)
• В физическом/логическом агрегате очевидно
наличие отношения «часть» - «целое»
(«двигатель» - «машина»)
• Некоторые свойства составного объекта
распространяются и на его компоненты (место
расположения для «папка» - «документ»)
• Операции над составным объектом
осуществляются и над его частями
(перемещение/удаление «файл» - «каталог»)
48

49. Порядок построения концептуальной модели

1. Составить список понятий
2. Идентифицировать их атрибуты
3. Идентифицировать ассоциации
4. Произвести разбиение на подтипы и
выделение супертипов
5. Выделить отношения агрегации
Шаги 1-5 можно выполнять для всей
модели и для ее частей
49

50. Рекомендации по построению диаграммы понятий

1. «7 ± 2» : такое количество понятий является
оптимальным вместо одной большой
диаграммы лучше несколько меньших
2. Каждая диаграмма должна акцентировать
внимание на определенном аспекте системы
скрывайте несущественные элементы
(атрибуты, ассоциации, ограничения)
3. Располагайте понятия равномерно по
отношению друг к другу. Линии рисуйте
параллельно осям координат. Избегайте
пересечения линий и их изломов (до 2).
50
English     Русский Rules