Пример. Система «Служба занятости в рамках вуза».
Рассмотрим процесс построения логической модели на примере БД студентов системы «Служба занятости в рамках вуза». Первым этапом является определение сущностей и атрибутов. В БД будут храниться записи о студентах, следовательно, сущностью будет студент.
Таблица 1. Атрибуты сущности «Студент»
Атрибут | Описание |
1 | 2 |
Номер | Уникальный номер для идентификации пользователя |
Ф.И.О. | Фамилия, имя и отчество пользователя |
Пароль | Пароль для доступа в систему |
Возраст | Возраст студента |
Пол | Пол студента |
Характеристика | Memo-поле с общей характеристикой пользователя |
Адреса электронной почты | |
Телефон | Номера телефонов студента (домашний, рабочий) |
Опыт работы | Специальности и опыт работы студента по каждой из них |
Специальность | Специальность, получаемая студентом при окончании учебного заведения |
Специализация | Направление специальности, по которому обучается студент |
Иностранный язык | Список иностранных языков и уровень владения ими |
Тестирование | Список тестов и отметки о их прохождении |
Экспертная оценка | Список предметов с экспертными оценками по каждому из них |
Оценки по экзаменам | Список сданных предметов с оценками |
В полученном списке существуют атрибуты, которые нельзя определить в виде одного поля БД. Такие атрибуты требуют дополнительных определений и должны рассматриваться как сущности, состоящие, в свою очередь, из атрибутов. К таковым относятся: опыт работы, иностранный язык, тестирование, экспертная оценка, оценки по экзаменам. Определим их атрибуты.
Таблица 2. Атрибуты сущности «Опыт работы»
Атрибут | Описание |
Специальность | Название специальности, по которой у студента есть опыт работы |
Опыт | Опыт работы по данной специальности в годах |
Место работы | Наименование предприятия, где приобретался опыт |
Таблица 3. Атрибуты сущности «Иностранный язык»
Атрибут | Описание |
Язык | Название иностранного языка, которым владеет студент |
Уровень владения | Численная оценка уровня владения иностранным языком |
Таблица 4. Атрибуты сущности «Тестирование»
Атрибут | Описание |
Название | Название теста, который прошел студент |
Описание | Содержит краткое описание теста |
Оценка | Оценка, которую получил студент в результате прохождения теста |
Таблица 5. Атрибуты сущности «Экспертная оценка»
Атрибут | Описание |
Дисциплина | Наименование дисциплины, по которой оценивался студент |
Ф.И.О. преподавателя | Ф.И.О. преподавателя, который оценивал студента |
Оценка | Экспертная оценку преподавателя |
Таблица 6. Атрибуты сущности «Оценки по экзаменам»
Атрибут | Описание |
Предмет | Название предмета, по которому сдавался экзамен |
Оценка | Полученная оценка |
Составим ERD-диаграмму, определяя типы атрибутов и проставляя связи между сущностями (рис. 8). Все сущности будут зависимыми от сущности «Студент». Связи будут типа «один-ко-многим».
Рисунок 8
На полученной диаграмме рядом со связью отражается ее имя, показывающее соотношение между сущностями. При проведении связи между сущностями первичный ключ мигрирует в дочернюю сущность.
Следующим этапом при построении логической модели является определение ключевых атрибутов и типов атрибутов.
Таблица 7. Типы атрибутов
Атрибут | Тип | |
Номер | Number | |
Ф.И.О. | String | |
Пароль | String | |
Возраст | Number | |
Пол | String | |
Характеристика | String | |
String | ||
Специальность | String | |
Специализация | String | |
Опыт | Number | |
Место работы | String | |
Язык | String | |
Уровень владения | Number | |
Название | String | |
Описание | String | |
Оценка | Number | |
Дисциплина | String | |
Ф.И.О. преподавателя | String | |
Предмет | String |
Выберем для каждой сущности ключевые атрибуты, однозначно определяющие сущность. Для сущности «Студент» это будет уникальный номер, для сущности «Опыт работы» все поля являются ключевыми, так как по разным специальностям студент может иметь разный опыт работы в разных фирмах. Сущность «Тест» определяется названием, так как студент по одному тесту может иметь только одну оценку. Оценка по экзамену определяется только названием предмета, экспертная оценка зависит от преподавателя, который ее составил, поэтому в качестве ключевых атрибутов выберем «Дисциплину» и «Ф.И.О. преподавателя». У сущности «Иностранный язык» уровень владения зависит только от наименования языка, следовательно, это и будет являться ключевым атрибутом.
Последовательность выполнения лабораторной работы:
1. Ознакомиться с методологией построения логических моделей системы.
2. Ознакомиться с программным продуктом BpWin в части средств работы с ERD-диаграммами.
3. Построить серию ERD-диаграмм для всей информационной системы в целом и для отдельных сценариев работ, отражающих логику и взаимоотношение подразделений (подсистем).
5. Оформить отчет.
ЛАБОРАТОРНАЯ РАБОТА 5. ПОСТРОЕНИЕ ДИАГРАММЫ ПРЕЦЕДЕНТОВ
Цель работы
Ознакомиться с методологией моделирования прецедентов на основе языка UML
Литература: [1-3, 5, 8-10]
Методические указания к выполнению работы
UML (Universal Modeling Language) - универсальный язык моделирования, который был разработан компанией Rational Software с целью создания наиболее оптимального и универсального языка для описания как предметной области, так и конкретной задачи в программировании. Визуальное моделирование в UML можно представить как некоторый процесс поуровневого спуска от наиболее обшей и абстрактной концептуальной модели системы к логической, а затем и к физической модели соответствующей системы. Любая задача, таким образом, моделируется при помощи некоторого набора иерархических диаграмм, каждая из которых представляет собой некоторую проекцию системы.
Диаграмма (Diagram) - это графическое представление множества элементов. Чаще всего она изображается в виде связного графа с вершинами (сущностями) и ребрами (отношениями).
В UML определено восемь видов диаграмм [1]:
· диаграмма прецедентов (Use case diagram) - диаграмма поведения, на которой показано множество прецедентов и актеров, а также отношения между ними;
· диаграмма деятельности (Activity diagram) - диаграмма поведения, на которой показан автомат и подчеркнуты переходы потока управления от одной деятельности к другой;
· диаграмма классов (Class diagram) - структурная диаграмма, на которой показано множество классов, интерфейсов, коопераций и отношения между ними;
· диаграмма состояний (Statechart diagram) - диаграмма поведения, на которой показан автомат и подчеркнуто поведение объектов с точки зрения порядка получения событий;
· диаграмма последовательностей (Sequence diagram) - диаграмма поведения, на которой показано взаимодействие и подчеркнута временная последовательность событий;
· диаграмма кооперации (Collaboration diagram) - диаграмма поведения, на которой показано взаимодействие и подчеркнута структурная организация объектов, посылающих и принимающих сообщения;
· диаграмма компонентов (Component diagram) - диаграмма поведения, на которой показан автомат и подчеркнуто поведение объектов с точки зрения порядка получения событий
· диаграмма развертывания (Deployment diagram) - структурная диаграмма, на которой показаны узлы и отношения между ними.
Диаграмма прецедентов
Диаграммы прецедентов применяются для моделирования вида системы с точки зрения внешнего наблюдателя. На диаграмме прецедентов графически показана совокупность прецедентов и Субъектов, а также отношения между ними.
Рассмотрим основные элементы диаграммы прецедентов.
Субъект (actor) - любая сущность, взаимодействующая с системой извне [2] или множество логически связанных ролей, исполняемых при взаимодействии с прецедентами [1]. Стандартным графическим обозначением субъекта на диаграммах является фигурка "человечка", под которой записывается конкретное имя субъекта, однако субъектом может быть не только человек, но и техническое устройств о, программа или любая другая система, которая может служить источником воздействия на моделируемую систему так, как определит сам разработчик (рис.9).