Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
metodichka_k_kursachupech.doc
Скачиваний:
82
Добавлен:
25.03.2016
Размер:
1.11 Mб
Скачать

Содержание пояснительной записки к курсовому проекту.

Введение.

  1. Описание предметной области.

  2. Проектирование базы данных.

    1. Этап концептуального проектирования.

      1. Описание сущностей.

      2. Описание связей.

      3. Концептуальная модель данных.

    1. Этап логического проектирования.

      1. ER-диаграмма в средеERwin.

      2. Анализ ER-диаграммы.

      1. Окончательная ER-диаграмма.

    1. Этап физического проектирования.

        1. Генерация базы данных

        1. Схема данных в среде выбранной СУБД.

  1. Проектирование пользовательских интерфейсов.

    1. Список требуемых транзакций.

    2. Анализ транзакций на этапе логического проектирования.

    3. Документация на пользовательские интерфейсы.

        1. Постановка задачи.

      1. Исходные данные.

          1. Переданные из БД.

          1. Введенные в ручную.

3.5.2.3. Справочные константы.

3.3.3. Алгоритм решения.

3.3.4. Макет интерфейса.

    1. Реализация транзакций средствами выбранной СУБД.

    2. Анализ транзакций на этапе физического проектирования.

          1. Заключение.

Комментарии к содержанию пояснительной записки.

Введение.

Во введении студент в произвольной форме описывает выбранный объект, анализирует основные функции его деятельности, выделяет те функции и тех пользователей, для которых будет проектироваться информационная система. Желательно также пояснить причину выбора конкретных объекта и функций.

1. Описание предметной области.

В произвольной форме на языке деловой прозы необходимо подробно изложить, как и кем выполняются заявленные функции, какие бизнес-правила существуют на выбранном объекте, относящиеся к выполнению выбранных функций, какие входные документы используются, какие выходные документы формируются и куда направляются. В описании предметной области приводятся примеры всех документов, которые используются для реализации выбранных функций.

2. Проектирование базы данных.

Для проектирования базы данных используется одна из нотаций структурного метода – метод ER-диаграмм:

  • стандарт Чена - для построения концептуальной модели данных

  • стандарт IDEF1X- дляCASE–средстваERwin.

    1. Этап концептуального проектирования.

Задачей этапа концептуального проектирования БД является создание формализованного описания данных на основе описания предметной области – концептуальной модели данных (КМД). Создание КМД позволит автоматизировать процесс проектирования, давая возможность использовать различные CASE– средства.

      1. Описание сущностей.

На этом шаге необходимо из описания предметной области выделить и описать все сущности.

Сущность – объект или концепция, которая характеризуется на данном предприятии как имеющая определенное существование.

Другими словами, из описания предметной области выделяются все существительные и устойчивые словосочетания. Далее необходимо определить, для каких из выделенных существительных ответ будет положительным на следующие вопросы:

  • важно ли это существительное для выполнения заявленной функции данного объекта?

  • имеет ли данное существительное дополнительное описание, которое требуется знать для реализации заявленной функции данного объекта?

Повторим, если на оба вопроса ответ будет положительным, то данное существительное – сущность.

Все выделенные сущности выписываются в таблицу описания сущностей. (Таблица № 2.1). Для имени сущности – идентификатора сущности - применяются следующие правила:

  • оно должно быть недлинным, состоящим по возможности из одного слова;

  • оно должно отражать суть сущности;

  • оно не должно содержать специальных символов и пробелов. Пробелы можно заменить знаком подчеркивания – например:

    • паспортные данные – не верно;

    • №паспорта – не верно;

    • пасп,данные – верно;

    • пасп_дан – верно.

Такие же правила используются и для назначения имен атрибутов.

Таблица № 2.1 Описание сущностей.

Сущность

Атрибуты

Ключи

Домен

Примечание

тип

размер

1

2

3

4

5

6

1-я сущность

Ном_сущ

П

Целое полож.число

До 100000

1-ый атрибут

Пт

текст

До 10 символов

По ум.- Москва

2-й атрибут

Любое число

3 знака после запят.

Производный атрибут

3-й атрибут

Пт

текст

До 10 символов

Понедельник;

среда; пятница

2-я сущность

(слабая сущность)

1-й атрибут

Дата/время

2-й атрибут

денежный

До 10000000,00

№-я сущность

1-й атрибут

Пт-П

текст

До 15 символов

2-й атрибут

Целое полож.число

100;10000;100000

Атрибут – свойство данной сущности. Атрибуты бывают простые и составные, однозначные и многозначные, производные (вычисляемые). Все типы атрибутов используются в таблице описания сущностей. Производные атрибуты помечаются в таблице и до этапа физического проектирования больше не упоминаются (см. таблицу № 2.1) – производные атрибуты требуют отдельного анализа. Атрибуты каждой сущности необходимо выбрать из описания бизнес-процессов и реквизитов документов, представленных в описании предметной области.

Потенциальный ключ ( Пт ) – это атрибут, уникально характеризующий сущность, то есть одному значению потенциального ключа соответствует только один экземпляр сущности. У каждой сущности может быть один или несколько потенциальных ключей, может не быть ни одного потенциального ключа. Для каждой сущности указываются все потенциальные ключи, если они есть (см. таблицу № 2.1 – 3-я колонка). Для дальнейшего проектирования для каждой сильной сущности необходимо выбрать один первичный ключ. Слабая сущность не имеет собственного первичного ключа. Необходимо указать в таблице № 2.1 все слабые сущности (см. таблицу № 2.1 – 1-я колонка).

Первичный ключ ( П ) – это потенциальный ключ, отвечающий следующим условиям:

  • принимает не очень большие (числовые) или длинные (текстовые) значения;

  • вероятность изменения значений минимальна;

  • вероятность потери уникальности в будущем минимальна;

  • удобен с точки зрения пользователя для частого использования.

Если у сущности нет потенциальных ключей или все они не подходят под выше перечисленные условия, вводится дополнительный потенциальный ключ, как правило это номер данной сущности (например, Ном_док), который и будет первичным ключом. Первичный ключ тоже указывается в таблице 1 в колонке № 3 (см. таблицу № 2.1 – 3-я колонка).

Каждый атрибут имеет область допустимых принимаемых значений - домен, который необходимо указать. Домен делится на тип атрибута и размер и указывается в любой понятной и удобной проектировщику форме. На этом этапе можно, но не обязательно (а иногда и вредно) использовать стандартные типы данных, используемые в целевых СУБД. Если атрибут принимает только определенные конкретные значения, так называемый перечисляемый тип, то в колонке № 6 обязательно указываются все принимаемые значения (см. таблицу № 2.1 – 6-я колонка). Если атрибут может принимать значение по умолчанию – это значение фиксируется в колонке № 6 (см. таблицу № 2.1 – 6-я колонка).

      1. Описание связей.

На этом шаге необходимо найти все связи, существующие на проектируемом объекте и имеющие отношение к выделенной функции между описанными в таблице № 2.1 сущностями. Для этого заполняется таблица № 2.2.

Связь – осмысленная ассоциация между разными сущностями.

Для заполнения таблицы № 2.2 в колонку №1 записываются по порядку все сущности из таблицы № 2.1. В колонку №3, в строки, которые относятся к первой сущности, записываются все сущности по порядку начиная со второй.

Таблица № 2.2 Описание связей

Сущность

Связь

Сущность

Показатель кардинальности

Степень участия

1-й сущности

2-й сущности

1

2

3

4

5

6

1-я сущность

Связаны1

2-я сущность

1:1

П

П

3-я сущность

Связаны2

4-я сущность

1:М

П

Ч

2-я сущность

Связаны5

2-я сущность

1:М

Ч

Ч

Связаны3

3-я сущность

М:Н

Ч

П

3-я сущность

Связаны4

4-я сущность

1:М

П

Ч

Связаны6

4-я сущность

М:Н

П

П

Далее в колонку №3, в строки, которые относятся ко второй сущности, записываются все сущности по порядку, начиная с третьей и так далее. После этого в колонку № 2 записывается глагол – имя связи, если между данными сущностями есть связь, и ничего не записывается, если связи нет.

Необходимо проверить, не связана ли каждая из сущностей из 1-й колонки сама с собой. Если для какой-либо сущности такая связь найдена, необходимо внести ее в таблицу № 2.2 (см. таблицу № 2.2. – связь под именем «связаны5»). Например, возможна связь между разными экземплярами одной и той же сущности «сотрудники» - «управляют». Эту связь тоже заносят в таблицу в виде: «сотрудники» - «управляют» - «сотрудники».

Возможна ситуация, когда для двух сущностей можно найти более одной связи. В этом случае необходимо убедиться, что найденные связи имеют важное значение для реализуемой функции и что они несут принципиально разную смысловую нагрузку. Если это так, то эти связи также включаются в таблицу (см. таблицу № 2.2.- связи «связаны4» и «связаны6»). Например, для сущности «сотрудники» можно найти связь «подчиняются », но данная связь является дублирующей (только в обратном прочтении) к приведенной ранее связи «сотрудники»-«управляют»-«сотрудники». Или, например, если была найдена связь «договор»-подписан»-«клиент», то связи «получает», «изучает» между этими сущностями не имеют большого значения и не включаются в таблицу.

Каждую связь характеризуют два структурных ограничения:

  • показатель кардинальности;

  • степень участия.

Показатель кардинальности описывает количество возможных связей для каждой сущности - участницы связи.

Для нахождения показателя кардинальности необходимо использовать следующее правило, состоящее из трех шагов.

  1. Выделяется один экземпляр первой сущности и проверяется, со сколькими экземплярами второй сущности он может вступать в связь. При этом не учитывается временной фактор, другими словами - со сколькими экземплярами второй сущности он может вступать в связь в любое время.

  2. Выделяется один экземпляр второй сущности и проверяется, со сколькими экземплярами первой сущности он может вступать в связь в любое время.

  3. Результаты первого и второго шагов сравниваются, затем выбирается показатель кардинальности данной связи:

Показатель кардинальности

Ответ на первом шаге

1:1

М:1

Ответ на втором шаге

1:М

Ответ на первом шаге

1:М

1:М

Ответ на втором шаге

1:1

Ответ на первом шаге

1:М

М:М

Ответ на втором шаге

1:М

Ответ на первом шаге

1:1

1:1

Ответ на втором шаге

1:1

Показатель кардинальности зависит от бизнес-правил описываемой организации, а также от набора атрибутов сущностей, вступающих в эту связь. 

Степень участия определяет, зависит ли существование некоторой сущности от участия в этой связи другой сущности.

Для определения степени участия необходимо задать вопрос: все ли экземпляры первой сущности принимают участие в заявленной связи? Если ответ - да, то степень участия первой сущности в этой связи – полная, если ответ - нет, то степень участия первой сущности в этой связи – частичная. Такой же вопрос задается и для второй сущности - участнице этой связи. Ответы заносятся в таблицу № 2.2.

      1. ER-диаграмма.

Используя данные таблиц № 2.1 и №2.2, создается концептуальная модель данных с использованием метода ER-диаграмм.

Для создания ER-диаграммы Чена:

  • сильные сущности отображаются прямоугольниками с именем сущности внутри прямоугольника с обязательным указанием первичного ключа, который находится в овале, связанном с прямоугольником. Имя первичного ключа в овале подчеркивается для отличия первичного ключа от обычного атрибута. Например,

  • слабые сущности отображаются двойными прямоугольниками с именем сущности внутри прямоугольника без указания первичного ключа. Например,

  • связь отображается ромбом с именем связи внутри. Ромб линиями соединяется с прямоугольниками связанных сущностей. Одна линия – частичная степень участия, две линии – полная степень участия. Над каждой линией ставится показатель кардинальности. Например,

1

1

Паспорт

    1. Этап логического проектирования.

Задачей этапа логического проектирования БД является создание такой логической модели данных, которая, с одной стороны, соответствует описанию предметной области, а с другой, отвечает всем требованиям целевой СУБД, которая выбирается (или используется как существующая) на этом этапе проектирования.

2.2.1. ER-диаграмма в среде ERwin.

Для построения ER-диаграммы в средеERwin(стандартIDEF1X) используют данные из таблиц № 2.1 и 2.2 или КМД, построенную на этапе концептуального проектирования.

При запуске среды ERwinнеобходимо внимательно заполнять все появляющиеся окна. В первом окне нужно выбрать режим создания новой модели или открыть существующуюER-диаграмму (см. рис. № 2.1).

Рис.2.1. Вид 1-го окна при запуске CASE–средстваERwin.

Во втором окне необходимо выбрать этапы проектирования, которые будут выполняться – для выполнения курсовой работы это этап Logical/Physical(см. рис. № 2.2), в этом случае становится активной нижняя часть окна, где необходимо выбрать целевую СУБД (на рис. № 2.2 – этоSQLServer).

Рис. 2.2. Вид 2-го окна при запуске CASE–средстваERwin.

При такой настройке можно будет работать на логическом и физическом этапах проектирования в среде ERwin, более того, на этапе физического проектированияERwinбудет поддерживать типы данных выбранной СУБД и автоматически переносить разработанную структуру базы данных в выбранную СУБД.

При нажатии кнопки «ОК» во втором окне открывается рабочее окно в среде ERwin, имеющее несколько строк, приближенных по своему виду и функционалу к стандартуMicrosoftOffice(см. рис. № 2.3).

Первая строка – строка заголовка, содержащая имя (путь) файла, содержащего модель, которая в текущий момент находится в рабочем окне, по умолчанию modelN.er, гдеN- номер открываемого в средеERwinокна по порядку. Первая строка имеет стандартные кнопки – свертывания, изменения размера и закрытия рабочего окна.

Вторая строка – строка главного меню - содержит все команды, которые можно выполнять в CASE-средствеErwin, в том числе как привычные, например относящиеся к работе с файлами - «открыть», «сохранить», «сохранить как», так и специальные, например выбрать стандарт проектирования модели.

Рис. 2.3. Вид рабочего окна при запуске CASE–средстваERwin.

Третья строка – пиктографическое меню, на которое выведены иконки наиболее часто используемых команд – работа с файлами («создать», «открыть», «сохранить», «распечатать»), изменение уровня отображения модели (уровень сущности, уровень атрибутов, уровень описания), масштабирования отображения модели (мельче, крупнее) и выбор этапа проектирования. Необходимо убедиться, что нажата кнопка «уровень атрибутов», при котором отображается не только сама сущность, но и все ее атрибуты, а также что вы находитесь на логическом этапе проектирования.

Четвертая строка - так называемая панель форматирования, почти полностью повторяет стандарт MicrosoftOfficeс добавлением кнопок «отмена действия нажатой кнопки», «создать сущность», «связь суперкласс/подкласс», «идентифицирующая связь», «связь многие-ко-многим», «неидентифицирующая связь». Именно с помощью этих кнопок создается модель (см. рис. № 2.4).

Рис.2.4. Часть панели форматирования с кнопками для создания модели.

1 2 3 4 5

Для отображения сущности необходимо нажать кнопку 1 (см. рис. № 2.4), указатель курсора поменяет свой вид на крестик, что позволит, щелкнув мышью, показать местоположение в рабочем окне сущности. В рабочем окне появится:

Сущность отображается прямоугольником, разделенным на две части. Над прямоугольником выделено имя и номер сущности – Е/5 (сущность – Entity№ 5). Выделение говорит о том, что мы можем изменить имя сущности, просто набирая на клавиатуре нужное нам:

Обратите внимание - размер прямоугольника изменится таким образом, чтобы имя сущности читалось целиком. Размер и положение сущности меняется привычным в MicrosoftOfficeспособом работы с объектами. Если необходимо изменить имя сущности - щелкните дважды по нему мышью, появится окно работы с сущностью – рис.2.5, и в строкеNameможно вписать другое имя.

Рис.2.5. Изменение имени в окне работы с сущностью.

Для того чтобы в вести атрибуты сущности, необходимо добавить эти атрибуты в окне ввода нового атрибута окна работы с атрибутами - рис.2.6. При этом пишется имя атрибута и выбирается один из четырех предлагаемых типов атрибута:

  • Blob– логический иOLE-тип,

  • Datetime– время-дата,

  • Number- числовой,

  • String– символьный тип.

Для работы с введенными атрибутами – изменения имени, уточнения типа, удаления атрибута, а также для указания, является ли выбранный атрибут первичным ключом, значения атрибута по умолчанию - открывается окно работы с атрибутами – рис. 2.7.

Рис.2.6. Добавление нового атрибута в окне ввода атрибута.

На рис. 2.7. показано назначение введенного атрибута «Табном» сущности «Персонал» первичным ключом. При нажатии на кнопки, расположенные в нижней части окна, можно:

  • New… - открыть окно ввода нового атрибута;

  • Rename… - изменить имя выбранного атрибута;

  • Delete– удалить выбранный атрибут.

Для уточнения типа атрибута, для указания значения атрибута по умолчанию в правой части окна работы с атрибутами выбирается вкладка Datatype. На рис. 2.8. показано, что для атрибутаFIOтип принимается какvarchar(55) – не более 55 символов.

Необходимо отметить, что первичный ключ располагается в верхней части прямоугольника («на крыше»), все остальные атрибуты – в нижней. Можно указателем мыши переносить атрибуты «с крыши» вниз и наоборот, меняя таким образом первичный ключ.

Рис.2.7. Окно работы с атрибутами.

После ввода всех атрибутов желательно изменить высоту прямоугольника таким образом, чтобы были видны все атрибуты и оставалось место примерно еще для двух атрибутов – см. рис. 2.9.

У изображения сущности можно менять шрифт, его размер, цвет шрифта, цвет фона и линий аналогично тому, как это делается в среде MicrosoftWord.

Для установления связей между сущностями необходимо пользоваться кнопками 2-5 (см. рис.2.4.).

Для выбора нужной связи необходимо использовать таблицу 2.2, подготовленную на этапе концептуального проектирования.

Для отображения связей с показателями кардинальности 1хМ и 1х1 используют:

  • кнопку 4 – «идентифицирующая связь», она переводит первичный ключ сущности с кардинальностью «1» в качестве обычного, внешнего атрибута в сущность с кардинальностью «М»;

  • кнопку 5 – «неидентифицирующая связь», она переводит первичный ключ сущности с кардинальностью «1» в качестве первичного, внешнего атрибута в сущность с кардинальностью «М».

Рис. 2.8. Уточнение типа атрибута.

Рис. 2.9. Отображение сущности в CASE-средствеErwin.

Для того, чтобы зафиксировать свойства связи, используют окно «Свойства связи» (RelationshipProperty), вызываемое из контекстного меню правой кнопки мыши одноименной строчкой (см. рис.2.10).

В этом окне указывается имя связи: в нашем примере - «заключает» и степень участия в этой связи сущности с кардинальностью «1», так называемой «родительской» сущности: в нашем примере - экземпляры сущности «Персонал» могут не принимать участие в связи «заключает», то есть не заключать договора ( например, лаборанты ), а могут принимать, то есть заключать М договоров. Если же все экземпляры сущности «Персонал» принимают участие в связи «заключает», то необходимо выбрать строчку “OneorMore(P)”.

Для связи с показателем кардинальности 1х1 выбираются строки “ZeroorOne(Z)” и “Exactly”. Если выбирается строка “ZeroorOne(Z)”, экземпляры сущности «Персонал» могут не принимать участие в связи «заключает», то есть не заключать договора, а могут принимать, то есть заключать, только 1 договор. Если выбирается строка“Exactly”, необходимо указать конкретную цифру. В этом случае экземпляры сущности «Персонал» обязательно принимают участие в связи и заключают конкретное количество договоров.

Рис. 2.10. Окно «Свойства связи» в CASE-средствеErwin.

Если две сущности связаны друг с другом двумя или более разными связями, а также в случае рекуррентных (ролевых) связей, необходимо указать ролевые имена, с которыми эти сущности вступают в связь. Для этого в окне «Свойства связи» (RelationshipProperty) открывают вкладку «Ролевые имена» (Rolename) (см. рис. 2.11) и в строке «Ролевое имя» (Rolename) указывают имя – в данном примере для связи «доставляют» ролевое имя - «курьер». Ролевое имя используется в качестве имени внешнего атрибута, по которому передается первичный ключ.

Для отображения связи «суперкласс-подкласс» используется кнопка 3. При этом сначала щелкают мышью по кнопке 3 – выбирают тип связи, затем щелкают по сущности-суперклассу, затем по сущности-подклассу. Если у сущности-суперкласса есть несколько сущностей-подклассов, то для их включения используется кнопка 4, сначала щелкают по кнопке, затем – по значку связи, а затем – по сущности-подклассу. Для связи «суперкласс-подкласс» необходимо указать степень вхождения подклассов в суперкласс в окне “SubtypeRelationships” (см. рис. 2.12), вызываемое правой кнопкой мыши. “Complete” – сущность-суперкласс состоит только из экземпляров сущностей-подклассов; “Incomplete” - сущность-суперкласс состоит не только из экземпляров сущностей-подклассов. На рис. 2.12. изображен пример неполного вхождения сущностей-подклассов в сущность-суперкласс: «Персонал» состоит не только из «Менеджеры» и «Операторы».

Рис. 2.11. Вкладка “Ролевые имена”(“Rolename”).

При отображении полного вхождения значок связи будет иметь двойное подчеркивание.

Для отображе6ния связи с показателем кардинальности МхМ используется кнопка 5. Передача ключа при этой связи не происходит (см. рис. 2.13).

При отображении всех сущностей и связей, заявленных в таблицах

2.1 и 2.2., получается ER- диаграмма в стандартеIDEF1X.

Рис. 2.12. Окно “SubtypeRelationships”.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]