Похожие презентации:
Концептуальное моделирование и диаграммы понятий. Тема 6
1. 6 Концептуальное моделирование и диаграммы понятий
2. 6.1 Концептуальная модель ПрО
= модель, отражающая основныепонятия ПрО, их структуру и
взаимосвязи
Результат концептуального
моделирования на диаграмме
понятий (частный случай диаграммы
классов)
2
3. 6.2 Пример диаграммы понятий
34. 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 Примеры ассоциации
1617. 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. Пример композитной агрегации
4546. Коллективная агрегация
= «агрегация»- более слабая связь: со стороны
составного объекта кратность может
быть больше 1
- допустимо участие в нескольких
агрегациях
- при уничтожении составного
объекта не предполагается
уничтожение его частей
46
47. Пример коллективной агрегации
4748. Правила идентификации отношения агрегации
• Время жизни компонента ограниченовременем жизни составного объекта («файл» «каталог»)
• В физическом/логическом агрегате очевидно
наличие отношения «часть» - «целое»
(«двигатель» - «машина»)
• Некоторые свойства составного объекта
распространяются и на его компоненты (место
расположения для «папка» - «документ»)
• Операции над составным объектом
осуществляются и над его частями
(перемещение/удаление «файл» - «каталог»)
48
49. Порядок построения концептуальной модели
1. Составить список понятий2. Идентифицировать их атрибуты
3. Идентифицировать ассоциации
4. Произвести разбиение на подтипы и
выделение супертипов
5. Выделить отношения агрегации
Шаги 1-5 можно выполнять для всей
модели и для ее частей
49
50. Рекомендации по построению диаграммы понятий
1. «7 ± 2» : такое количество понятий являетсяоптимальным вместо одной большой
диаграммы лучше несколько меньших
2. Каждая диаграмма должна акцентировать
внимание на определенном аспекте системы
скрывайте несущественные элементы
(атрибуты, ассоциации, ограничения)
3. Располагайте понятия равномерно по
отношению друг к другу. Линии рисуйте
параллельно осям координат. Избегайте
пересечения линий и их изломов (до 2).
50