
- •Проектирование ис Анализ предметной области и инфологическое проектирование
- •Даталогическое (техническое) проектирование
- •Рабочее (физическое) проектирование
- •Содержание проекта
- •Предпроектный анализ предметной области и инфологическое проектирование
- •Даталогическое проектирование
- •Рабочее проектирование
- •Ормление проекта
- •Описание предметной области и определение цели проектирования
- •Анализ предметной области и инфологическое проектирование
- •Даталогическое проектирование
- •Библиографический список
- •Библиографический список
Анализ предметной области и инфологическое проектирование
В разделе «Функциональная модель предметной области» должны быть приведены результаты функционального моделирования предметной области учебной базы данных, выполненного в среде BPwin. Словесные описания особенностей функционирования предметной области должны сопровождаться изображениями контекстной диаграммы предметной области, диаграмм декомпозиции и иерархической схемы функций (Node Tree-диаграммы BPwin) (рис.4-6).
Рис.
4 Пример контекстной диаграммы предметной
области "Библиотека"
Рис. 5 Пример диаграммы декомпозиции предметной области "Библиотека"
Рис.
6 Пример иерархической диаграммы функций
предметной области "Библиотека"
Описание диаграмм декомпозиции рекомендуется сопроводить сводными таблицами (табл. 1 и табл. 2) описаний работ (функций) и стрелок (данных)
Таблица 1
Описание работ
Имя работы |
Номер работы |
Описание работы |
Работа библиотеки |
А0 |
Под работой библиотеки имеются в виду технологические аспекты ее функционирования |
Комплектование библиотеки и хранение новых книг |
A1 |
Комплектование библиотеки предполагает приобретение новых книг, их хранение и списание |
Справочно-библиографическое обслуживание |
A2 |
Справочно-библиографическое обслуживание предполагает занесение сведений о книгах в каталог и поиск книг в каталоге |
Абонементное обслуживание |
A3 |
Абонементное обслуживание в том числе: 1) запись на абонемент 2) поиск книг в каталоге 3) оформление заявки в хранилище 4) выдача книг 5) прием возвращенных книг |
Комплектование библиотеки |
A11 |
Комплектование библиотеки предполагает приобретение новых книг и списание пришедших в негодность. При комплектовании каждому экземпляру книги присваивается инвентарный номер |
Хранение книг |
A12 |
Экземпляры книг хранятся в хранилище и выдаются по заявкам абонентов во временное пользование |
Занесение в каталог |
A21 |
Вновь приобретенные книги регистрируются в каталоге |
Библиографический поиск |
A22 |
По запросу абонента осуществляется поиск информации о книге в каталоге |
Запись на абонемент |
A31 |
Посетители библиотеки могут быть записаны в качестве ее абонентов |
Поиск книг |
A32 |
Поиск сведений о книге выполняется по заявке абонента |
Выдача книг |
A33 |
Затребованные книги при наличии их в хранилище могут быть выданы |
Оформление заявки |
A34 |
При наличии свободного экземпляра книги в хранилище оформляется заявка на затребованную книгу |
Возврат книг |
A35 |
Выданные книги подлежат возврату и размещению их в хранилище |
Таблица 2
Описание стрелок
Имя стрелки |
Описание стрелки |
Абоненты |
Абоненты - это зарегистрированные клиенты библиотеки. После регистрации они приобретают права законных пользователей |
Бюджет |
Бюджет регламентирует все виды работ в библиотеке |
Возвращенные книги |
Возвращенные на абонемент книги размещаются в хранилище |
Выданные книги |
Выданные книги - это один из вариантов книг на выходе и один из вариантов поступления книг |
Запрос |
Перед оформлением заявки выполняется запрос на поиск информации о книге в каталоге |
Зарегистрированные книги |
Статус зарегистрированной приобретает книга после ее занесения в каталог. После регистрации в каталоге зарегистрированная книга поступает на хранение |
Затребованные книги |
При наличии свободного экземпляра по заявке затребованная книга поступает на абонемент |
Заявка |
При наличии свободного экземпляра книги оформляется заявка на ее получение во временное пользование |
Книги на входе |
Источники книг на входе библиотеки: 1) новые поступления 2) возвращенные книги |
Книги на выходе |
Книги на выходе - это: 1) зарегистрированные, но востребованные книги 2) выданные книги 3) списанные книги |
Новые книги |
Новые книги - это один из вариантов поступления книг в библиотеку |
Персонал |
Сотрудники библиотеки |
Посетители |
Библиотеку могут посещать клиенты, не являющиеся ее абонентами |
Правила пользования |
Правила пользования распространяются только на справочно-библиографическое и абонементное обслуживание |
Списанные книги |
Книги, пришедшие в негодность, подлежат списанию. Это один из вариантов книг на выходе |
Справка |
Справка - это результат справочно-библиографического поиска по запросу абонента |
Учтенные книги |
После поступления новой книге присваивается инвентарный номер и она приобретает статус учтенной книги. Учтенная книга поступает на хранение |
Хранимые книги |
Книги, поступившие на хранение либо после присваивания им инвентарного номера, либо после их регистрации в каталоге |
В разделе «Информационная модель предметной области» должны быть приведены результаты разработки информационной модели предметной области в терминах модели сущность-связь, выполненной в среде ERwin (т.н. Logical Model) [10] (рис. 7).
В разделе «Спецификации сущностей» следует для каждой сущности указать:
имя;
описание
Результаты удобно свести в таблицу типа приведенной ниже (табл. 5). При построении таблицы следует воспользоваться возможностями ERwin для формирования отчетов (по команде Tasks/Generate Reports).
Рис.
7 Пример информационной модели предметной
области "Библиотека"
Таблица 3
Спецификации сущностей
Имя сущности |
Описание сущности |
Абонемент |
История выдач и возврата книг. Содержит сведения о том, кому, кем, что и когда было выдано или возвращено |
Абонент |
Содержит информацию об абонентах библиотеки |
Зарегистрированная книга |
Содержит информацию о книге, зарегистрированной в каталоге |
Персонал |
Содержит информацию о сотрудниках библиотеки |
Сотрудник |
Сотрудник, являющийся абонентом библиотеки |
Студент |
Студент, являющийся абонентом библиотеки |
Хранимая книга |
Содержит информацию о наличии экземпляров свободных книг |
В разделе «Спецификации атрибутов» для каждого атрибута указать:
имя сущности;
имя атрибута;
описание;
первичный ключ;
внешний ключ;
имя домена (тип).
Результаты удобно свести в таблицу типа приведенной ниже (табл. 4). При построении таблицы следует воспользоваться возможностями ERwin для формирования отчетов (по команде Tasks/Generate Reports).
Таблица 4
Спецификации атрибутов сущностей
Имя сущности |
Имя атрибута |
Описание атрибута |
Первичный ключ |
Внешний ключ |
Домен (тип) |
Абонемент |
что выдано |
Инвентарный номер книги на абонементе - компонент первичного ключа и ключ связи с сущностью "Хранимая книга". |
Да |
Да |
String |
|
дата1 |
Дата начала этапа истории книги, компонент первичного ключа |
Да |
Нет |
Datetime |
|
дата2 |
Дата конца этапа истории книги |
Нет |
Нет |
Datetime |
|
кому выдано |
Шифр абонента, которому выдана или кем возвращена книга - внешний ключ связи с сущностью "Абонент" |
Нет |
Да |
String |
|
кто выдал |
Код сотрудника, выдавшего или принявшего книгу - внешний ключ связи с сущностью "Персонал" |
Нет |
Да |
String |
Абонент |
шифр |
Уникальный шифр абонента - ключ сущности |
Да |
Нет |
String |
|
фио |
Фамилия, имя, отчество абонента |
Нет |
Нет |
String |
|
телефон |
Телефон абонента |
Нет |
Нет |
String |
|
тип |
Категория абонента |
Нет |
Нет |
String |
Зарегистрированная книга |
номер |
Учетный номер зарегистрированной в каталоге книги - ключ сущности |
Да |
Нет |
String |
|
автор |
Автор |
Нет |
Нет |
String |
|
название |
Название |
Нет |
Нет |
String |
|
год издания |
Год издания |
Нет |
Нет |
Number |
Персонал |
код |
Учетный номер служащего - ключ сущности |
Да |
Нет |
String |
|
фио |
Фамилия, имя, отчество |
Нет |
Нет |
String |
|
должность |
Должность |
Нет |
Нет |
String |
|
руководитель |
Учетный номер служащего - руководитяля. Ключ рекурсивной связи сущности "Персонал" самой с собой |
Нет |
Да |
String |
Сотрудник |
шифр |
Уникальный шифр абонента - первичный ключ сущности "Сотрудник" и внешний ключ связи с сущностью "Абонент" |
Да |
Да |
String |
|
должность |
Должность сотрудника |
Нет |
Нет |
String |
|
звание |
Ученое звание сотрудника |
Нет |
Нет |
String |
|
степень |
Ученая степень сотрудника |
Нет |
Нет |
String |
Студент |
шифр |
Уникальный шифр абонента - первичный ключ сущности "Студент" и внешний ключ связи с сущностью "Абонент" |
Да |
Да |
String |
|
специальность |
Специальность по которой учится студент |
Нет |
Нет |
String |
Хранимая книга |
инв_номер |
Уникальная характеристека экземпляра книги - ключ сущности |
Да |
Нет |
String |
|
какой книги экземпляр |
Учетный номер зарегистрированной в каталоге книги - внешний ключ связи с сущностью "Зарегистрированная книга" |
Нет |
Да |
String |
|
наличие |
Признак наличия экземпляра книги в книгохранилище (есть/нет) |
Нет |
Нет |
Number |
В разделе «Спецификации связей» следует для каждой связи в иерархии агрегации указать:
имя;
имена связываемых сущностей;
описание;
тип (идентифицирующая/неидентифицирующая);
Null-значение внешнего ключа (разрешено/запрещено);
кардинальность (1:1 или 1:N или M:N);
Результаты удобно свести в таблицу типа приведенной ниже (табл. 5). При построении таблицы следует воспользоваться возможностями ERwin для формирования отчетов (по команде Tasks/Generate Reports).
Таблица 5
Спецификации связей в иерархии агрегации
Имя связи «отец-сын» |
Имя связи «сын-отец» |
Имя отцовской сущности |
Имя сыновьей сущности |
Описание связи |
Тип связи |
Null внешнего ключа |
Кардиналь-ность связи |
Получил на |
|
Абонент |
Абонемент |
Абонент получает или возвращает книгу на абонемент |
Неидентифи-цирующая |
Not Null |
1 : 0,1,N (один-ко-многим) |
Представлена |
|
Зарегистрированная книга |
Хранимая книга |
Зарегистрированная в каталоге книга представлена в книгохранилище. |
Неидентифи-цирующая |
Not Null |
1 : 0,1,N (один-ко-многим) |
Руководит |
Подчиня-ется |
Персонал |
Персонал |
Один сотрудник руководит другим или подчиняется другому сотруднику |
Неидентифи-цирующая |
Null |
0,1 : 0,1,N (один-ко-многим) |
Выдал на |
|
Персонал |
Абонемент |
Сотрудник библиотеки выдает или принимает книгу на абонементе |
Неидентифи-цирующая |
Not Null |
1 : 0,1,N (один-ко-многим) |
Выдана на |
|
Хранимая книга |
Абонемент |
Хранимая книга выдается или возвращается на абонемент |
Идентифици-рующая |
Not Null |
1 : 0,1,N (один-ко-многим) |
Для связей в иерархии обобщения указать:
тип связи (полная/неполная);
дискриминатор категорий-подтипов;
имя сущности-супертипа;
описание сущности-супертипа;
кардинальность (семантику) связи;
описание связи;
имя сущности-подтипа;
описание сущности-подтипа.
Результаты удобно свести в таблицу типа приведенной ниже (табл. 6). При построении таблицы следует воспользоваться возможностями ERwin для формирования отчетов (по команде Tasks/Generate Reports).
Таблица 6
Спецификации связей в иерархии обобщения
Тип связи |
Дискрими-натор категорий |
Сущность-супертип |
Описание сущности-супертипа |
Кардиналь-ность связи |
Описание связи |
Имя сущности-подтипа |
Описание сущности-подтипа |
Неполная |
тип |
Абонент |
Содержит информацию об абонентах библиотеки |
Is a |
Студент как абонент библиотеки. Связь неполная, могут быть и другие категории абонентов |
Студент |
Студент, являющийся абонентом библиотеки |
Неполная |
тип |
Абонент |
Содержит информацию об абонентах библиотеки |
Is a |
Сотрудник как абонент библиотеки. Связь неполная, могут быть и другие категории абонентов |
Сотрудник |
Сотрудник, являющийся абонентом библиотеки |
В разделе «Ограничения ссылочной целостности» следует, с учетом семантических условий (бизнес-правил), действующих в предметной области, для каждой связи указать правила, которые управляют корректирующими запросами как со стороны отцовской сущности, так и со стороны сыновьей:
вставка в отцовской;
обновление в отцовской;
удаление в отцовской;
вставка в сыновьей;
обновление в сыновьей;
удаление в сыновьей.
Результаты удобно свести в таблицы типа приведенных ниже (табл. 7 и табл. 8). При построении таблиц следует воспользоваться возможностями ERwin для формирования отчетов (по команде Tasks/Generate Reports).
Таблица 7
Ограничения ссылочной целостности для бинарных связей
Имя связи «отец-сын» |
Имя связи «сын-отец» |
Тип связи |
Null внешнего ключа |
Ограничения ссылочной целостности |
|||||
Вставка в отцовской |
Обновление в отцовской |
Удаление в отцовской |
Вставка в сыновьей |
Обновление в сыновьей |
Удаление в сыновьей |
||||
Получил на |
|
Неиденти-фицирую-щая |
Not Null |
None Не влияет |
Restrict Запретить |
Restrict Запретить |
Restrict Запретить |
Restrict Запретить |
None Не влияет |
Пред-ставлена |
|
Неиденти-фицирую-щая |
Not Null |
None Не влияет |
Restrict Запретить |
Restrict Запретить |
Restrict Запретить |
Restrict Запретить |
None Не влияет |
Руководит |
Подчи-няется |
Неиденти-фицирую-щая |
Null |
None Не влияет |
Set Null Установить Null |
Set Null Установить Null |
Set Null Установить Null |
Set Null Установить Null |
None Не влияет |
Выдал на |
|
Неиденти-фицирую-щая |
Not Null |
None Не влияет |
Restrict Запретить |
Restrict Запретить |
Restrict Запретить |
Restrict Запретить |
None Не влияет |
Выдана на |
|
Идентифи-цирующая |
Not Null |
None Не влияет |
Restrict Запретить |
Restrict Запретить |
Restrict Запретить |
Restrict Запретить |
None Не влияет |
Таблица 8
Ограничения ссылочной целостности для категориальных связей
Тип связи |
Сущность-супертип |
Имя сущности-подтипа |
Ограничения ссылочной целостности |
|||||
Вставка в отцовской |
Обновление в отцовской |
Удаление в отцовской |
Вставка в сыновьей |
Обновление в сыновьей |
Удаление в сыновьей |
|||
Неполная |
Абонент |
Студент |
None Не влияет |
Cascade Каскадировать |
Cascade Каскадировать |
Restrict Запретить |
Restrict Запретить |
None Не влияет |
Неполная |
Абонент |
Сотрудник |
None Не влияет |
Cascade Каскадировать |
Cascade Каскадировать |
Restrict Запретить |
Restrict Запретить |
None Не влияет |
В разделе «Запросы пользователей» должны быть сформулированы на русском языке содержательные запросы, которые могут представлять интерес для потенциальных пользователей учебной базы данных, например такие:
1. Представить список абонентов данной категории.
2. Представить все данные об абоненте, заданном его шифром.
3. Представить список экземпляров книг, имеющихся в наличии в хранилище, по фамилии автора и названию.
4. Представить список абонентов, имеющих на руках книги данного номинала (экземпляры одной и той же книги).
5. Представить список книг, взятых и не возвращенных конкретным абонентом.