Автор работы: Пользователь скрыл имя, 10 Ноября 2013 в 21:28, курсовая работа
В современном мире персональные компьютеры стали неотъемлемым атрибутом человеческой жизни. Сейчас человеку в его повседневной деятельности все чаще необходимо искать информацию в разных источниках, хранить и обрабатывать огромные массивы информации. С появлением компьютеров часть этих операций было передано машине. До недавнего времени проектирование информационных систем выполнялось на интуитивном уровне, с использованием неформализованных методов – методов, основанных на практическом опыте, экспертных оценках и дорогостоящих экспериментальных проверках качества информационной системы.
Введение……………………………………………………….……………..
Постановка задачи………………………………………………………….
Анализ предметной области………………………………………
Обоснование актуальности решаемой задачи....…………………
Проектирование логической модели системы……………………………
Функциональная модель..…………………………………………
Контекстная диаграмма и диаграммы детализации процессов.………………………………..…………..…
Миниспецификации процессов….………………………
Информационная модель……………………………………………
Идентификация сущностей и связей. Исходная ER-диаграмма………………………………………………..
Определение доменов для схем отношений. Нормализация схемы данных. ER-диаграмма логического уровня……………………………………
Разрешение неспецифических отношений. Уточнение типов данных для атрибутов схем отношений. Реализация ссылочной целостности. Проектирование индексов. ER-диаграмма физического уровня………
Реализация системы………………………………………………………...
Описание разработанного программного обеспечения…………
SQL-определения регламентированных запросов…..……………
Исследование операционных характеристик ИСС….……………………
Описание базы данных контрольного примера……………………
Анализ результатов тестирования ИСС……………………………
Заключение………………………………………………………………………
Список использованных источников………….…….……………………
Рисунок 3 Детализирующая диаграмма для процесса 1
Процесс 2 "Обработать данные о противопоказаниях" детализируется диаграммой с двумя процессами (рис.4). Процесс "Найти данные о противопоказании", получает информацию по входному потоку Запрос о противопоказании. Процесс "Сформировать данные о противопоказании" имеет входной поток Информация о противопоказании (шифр, противопоказание). После обработки данные по выходным потокам Новые данные (шифр, противопоказании), Информация о противопоказаниях, рекомендации по применению выдаются пользователю. Данные процессы являются элементарными и не нуждаются в дальнейшей детализации. Они описываются с помощью миниспецификации.
Рисунок 4 Детализирующая диаграмма для процесса 2
Процесс 3 "Обработать данные о заболевании" детализируется на два процесса “Найти информацию о заболевании по заданным критериям” и “Внести информацию о заболевании”. Они получают информацию по входным потокам Запрос о заболеваниях и Новые данные(заболевание, лечение, шифр заболевания). После обработки данные выдаются по выходным потокам Информация о заболевании, Новые данные (лечение, шифр, заболевание),Рекомендации по лечению, Критерии поиска (рис.5). Эти процессы являются элементарными и описываются с помощью миниспецификаций.
Рисунок 5 Детализирующая диаграмма для процесса 3
Процесс 4 "Обработать новые данные" детализируется на три процесса “Внести информацию” и “Создать отчеты”, “ Сформировать информацию”. Они имеют входной поток Новые данные (о растениях, о препаратах, о противопоказаниях, о заболеваниях, о применении). Данные по выходным потокам Отчёт о растениях, Отчёт о препаратах, Отчёт о противопоказаниях, Отчёт о заболеваниях, Отчёт о применении заносятся в отчёт и по выходному потоку Обработанные данные (о растениях, о препаратах, о противопоказаниях, о заболеваниях, о применении) передаются пользователю (рис.6). Эти процессы являются элементарными и описываются с помощью миниспецификаций.
Рисунок 6 Детализирующая диаграмма для процесса 5
Процесс 5 "Обработать данные о применении" детализируется диаграммой с двумя процессами (рис.7). Процессы "Найти информацию о применении", "Сформировать информацию о применении" имеют входные потоки Запрос о применении , Запрос о препарате, Информация о применении, Информация о препарате соответственно, по которым передаются изменения. После обработки данные выдаются по выходным потокам Информация о хранении, Новые данные (данные о блюдах, применение в медицине), Название препарата, Информация о составе. Все процессы являются элементарными и не нуждаются в дальнейшей детализации. Они описываются с помощью миниспецификаций.
Рисунок 7 Детализирующая диаграмма для процесса 5
2.1.2 Миниспецификация процессов
Построим спецификацию процесса «Найти данные о противопоказании».
@ВХОД=ЗАПРОС О ПРОТИВОПОКАЗАНИИ
@ВЫХОД=ИНФОРМАЦИЯ О ПРОТИВОПОКАЗАНИИ [ШИФР, ПРОТИВОПОКАЗАНИЕ]
@СПЕЦПРОЦ 2.1 НАЙТИ ДАННЫЕ О ПРОИВОПОКАЗАНИИ
ДЛЯ каждого ПРОТИВОПОКАЗАНИЯ из ЗАПРОС О ПРОТИВОПОКАЗАНИИ
ВЫПОЛНИТЬ Найти ДАННЫЕ О ПРОТИВОПОКАЗАНИИ
по ЗАПРОС О ПРОТИВОПОКАЗАНИИ
ВЫПОЛНИТЬ Выдать ИНФОРМАЦИЯ О ПРОТИВОПОКАЗАНИИ [ШИФР, ПРОТИВОПОКАЗАНИЕ]
КОНЕЦ ВЫПОЛНИТЬ
КОНЕЦ ДЛЯ
@КОНЕЦ Конец спецификации процесса «Найти данные о противопоказании».
Построим спецификацию процесса «Сформировать данные о противопоказании».
@ВХОД= ИНФОРМАЦИЯ О ПРОТИВОПОКАЗАНИИ [ШИФР, ПРОТИВОПОКАЗАНИЕ]
@ВЫХОД=НОВЫЕ ДАННЫЕ [ШИФР, ПРОТИВОПОКАЗАНИЕ]
@ВЫХОД=ИНФОРМАЦИЯ О ПРОТИВОПОКАЗАНИИ
@ВЫХОД=РЕКОМЕНДАЦИИ ПО ЛЕЧЕНИЮ
@СПЕЦПРОЦ 2.2 СФОРМИРОВАТЬ ДАННЫЕ О ПРОТИВОПОКАЗАНИИ
ДЛЯ каждого противопоказания из ИНФОРМАЦИЯ О ПРОТИВОПОКАЗАНИИ [ШИФР, ПРОТИВОПОКАЗАНИЕ]
ВЫПОЛНИТЬ Сформировать ДАННЫЕ О ПРОТИВОПОКАЗАНИЯХ
по ИНФОРМАЦИЯ О ПРОТИВОПОКАЗАНИИ
ВЫПОЛНИТЬ Выдать НОВЫЕ ДАННЫЕ [ШИФР, ПРОТИВОПОКАЗАНИЕ], ИНФОРМАЦИЯ О ПРОТИВОПОКАЗАНИИ, РЕКОМЕНДАЦИИ ПО ЛЕЧЕНИЮ
КОНЕЦ ВЫПОЛНИТЬ
КОНЕЦ ДЛЯ
@КОНЕЦ Конец спецификации процесса «Сформировать данные о противопоказании».
Построим спецификацию процесса «Найти информацию о заболевании по заданным критериям».
@ВХОД=ЗАПРОС О ЗАБОЛЕВАНИИИ
@ВЫХОД=ИНФОРМАЦИЯ О ЗАБОЛЕВАНИИ
@ВЫХОД=РЕКОМЕНДАЦИИ ПО ЛЕЧЕНИЮ
@ВЫХОД=КРИТЕРИИ ПОИСКА
@ВЫХОД=НОВЫЕ ДАННЫЕ [ЗАБОЛЕВАНИЕ, ЛЕЧЕНИЕ, ШИФР]
@СПЕЦПРОЦ 3.1 НАЙТИ ИНФОРМАЦИЮ О ЗАБОЛЕВАНИИ ПО ЗАДАННЫМ КРИТЕРИЯМ
ДЛЯ каждого заболевания из ЗАПРОС О ЗАБОЛЕВАНИИ
ВЫПОЛНИТЬ Найти ДАННЫЕ О ЗАБОЛЕВАНИИ по ЗАПРОС О ЗАБОЛЕВАНИИ
ВЫПОЛНИТЬ Выдать ИНФОРМАЦИЯ О ЗАБОЛЕВАНИИ, РЕКОМЕНДАЦИИ ПО ЛЕЧЕНИЮ, КРИТЕРИИ ПОИСКА, НОВЫЕ ДАННЫЕ [ЗАБОЛЕВАНИЕ, ЛЕЧЕНИЕ, ШИФР]
КОНЕЦ ВЫПОЛНИТЬ
КОНЕЦ ДЛЯ
@КОНЕЦ Конец спецификации процесса «Найти информацию о заболевании по заданным критериям».
Построим спецификацию процесса «Внести информацию о заболевании».
@ВХОД= НОВЫЕ ДАННЫЕ [ЗАБОЛЕВАНИЕ, ЛЕЧЕНИЕ, ШИФР]
@ВЫХОД= НОВЫЕ ДАННЫЕ [ШИФР, ЗАБОЛЕВАНИЕ, ЛЕЧЕНИЕ]
@СПЕЦПРОЦ 3.2 ВНЕСТИ ИНФОРМАЦИЮ О ЗАБОЛЕВАНИИИ
ДЛЯ каждого заболевания из НОВЫЕ ДАННЫЕ [ШИФР, ЗАБОЛЕВАНИЕ, ЛЕЧЕНИЕ]
ВЫПОЛНИТЬ Внести НОВЫЕ ДАННЫЕ [ШИФР, ЗАБОЛЕВАНИЕ, ЛЕЧЕНИЕ] по НОВЫЕ ДАННЫЕ [ШИФР, ЗАБОЛЕВАНИЕ, ЛЕЧЕНИЕ]
ВЫПОЛНИТЬ Выдать НОВЫЕ ДАННЫЕ [ШИФР, ЗАБОЛЕВАНИЕ, ЛЕЧЕНИЕ]
КОНЕЦ ВЫПОЛНИТЬ
КОНЕЦ ДЛЯ
@КОНЕЦ Конец спецификации процесса «Внести информацию о заболевании».
Построим спецификацию процесса «Найти информацию о применении».
@ВХОД=ЗАПРОС О ПРИМЕНЕНИИ
@ВХОД=ЗАПРОС О ПРЕПАРАТЕ
@ВЫХОД=ИНФОРМАЦИЯ О ПРИМЕНЕНИИ
@ВЫХОД=ИНФОРМАЦИЯ О ПРЕПАРАТЕ
@СПЕЦПРОЦ 4.1 НАЙТИ ИНФОРМАЦИЮ О ПРИМЕНЕНИИ
ДЛЯ каждого препарата из ЗАПРОС О ПРЕПАРАТЕ
ВЫПОЛНИТЬ Найти ИНФОРМАЦИЯ О ПРИМЕНЕНИИ по ЗАПРОС О ПРИМЕНЕНИИ, ИНФОРМАЦИЯ О ПРЕПАРАТЕ по ЗАПРОС О ПРЕПАРАТЕ
ВЫПОЛНИТЬ Выдать ИНФОРМАЦИЯ О ПРИМЕНЕНИИ, ИНФОРМАЦИЯ О ПРЕПАРАТЕ
КОНЕЦ ВЫПОЛНИТЬ
КОНЕЦ ДЛЯ
@КОНЕЦ Конец спецификации процесса «Найти информацию о применении».
Построим спецификацию процесса «Сформировать информацию о применении».
@ВХОД=ИНФОРМАЦИЯ О ПРЕПАРАТЕ
@ВХОД=ИНФОРМАЦИЯ О ПРИМЕНЕНИИ
@ВЫХОД=НОВЫЕ ДАННЫЕ [О БЛЮДАХ, ПРИМЕНЕНИЕ В МЕДИЦИНЕ]
@ВЫХОД=ИНФОРМАЦИЯ О ХРАНЕНИИ, ИНФОРМАЦИЯ О СОСТАВЕ, НАЗВАНИЕ ПРЕПАРАТА
@СПЕЦПРОЦ 4.2 СФОРМИРОВАТЬ ИНФОРМАЦИЮ О ПРИМЕНЕНИИ
ДЛЯ каждого препарата из ИНФОРМАЦИЯ О ПРЕПАРАТЕ
ВЫПОЛНИТЬ Сформировать ДАННЫЕ О ПРЕПАРАТЕ по ИНФОРМАЦИЯ О ПРИМЕНЕНИИ, ИНФОРМАЦИЯ О ПРЕПАРАТЕ
ВЫПОЛНИТЬ Выдать ИНФОРМАЦИЯ О ХРАНЕНИИ, ИНФОРМАЦИЯ О СОСТАВЕ, НАЗВАНИЕ ПРЕПАРАТА, НОВЫЕ ДАННЫЕ [О БЛЮДАХ, ПРИМЕНЕНИЕ В МЕДИЦИНЕ]
КОНЕЦ ВЫПОЛНИТЬ
КОНЕЦ ДЛЯ
@КОНЕЦ Конец спецификации процесса «Сформировать информацию о применении».
Построим спецификацию процесса «Внести информацию».
@ВХОД= НОВЫЕ ДАННЫЕ [О РАСТЕНИЯХ, О ПРЕПАРАТЕ, О ПРИМЕНЕНИИ, О ЗАБОЛЕВАНИИ, О ПРОТИВОПОКАЗАНИИ]
@ВЫХОД= ДАННЫЕ
@СПЕЦПРОЦ 5.1 ВНЕСТИ ИНФОРМАЦИЮ
ДЛЯ каждого растения из НОВЫЕ ДАННЫЕ [О РАСТЕНИЯХ, О ПРЕПАРАТЕ, О ПРИМЕНЕНИИ, О ЗАБОЛЕВАНИИ, О ПРОТИВОПОКАЗАНИИ]
ВЫПОЛНИТЬ Внести ДАННЫЕ по НОВЫЕ ДАННЫЕ [О РАСТЕНИЯХ, О ПРЕПАРАТЕ, О ПРИМЕНЕНИИ, О ЗАБОЛЕВАНИИ, О ПРОТИВОПОКАЗАНИИ]
ВЫПОЛНИТЬ Выдать ДАННЫЕ
КОНЕЦ ВЫПОЛНИТЬ
КОНЕЦ ДЛЯ
@КОНЕЦ Конец спецификации процесса «Внести информацию».
Построим спецификацию процесса «Сформировать информацию».
@ВХОД=ДАННЫЕ
@ВЫХОД=ОБРАБОТАННЫЕ ДАННЫЕ [О РАСТЕНИЯХ, О ПРЕПАРАТЕ, О ПРИМЕНЕНИИ, О ЗАБОЛЕВАНИИ, О ПРОТИВОПОКАЗАНИИ]
@СПЕЦПРОЦ 5.2 СФОРМИРОВАТЬ ИНФОРМАЦИЮ
ДЛЯ каждого растения из ДАННЫЕ
ВЫПОЛНИТЬ Сформировать ОБРАБОТАННЫЕ ДАННЫЕ НОВЫЕ ДАННЫЕ [О РАСТЕНИЯХ, О ПРЕПАРАТЕ, О ПРИМЕНЕНИИ, О ЗАБОЛЕВАНИИ, О ПРОТИВОПОКАЗАНИИ] по ДАННЫЕ
ВЫПОЛНИТЬ Выдать ОБРАБОТАННЫЕ ДАННЫЕ НОВЫЕ ДАННЫЕ [О РАСТЕНИЯХ, О ПРЕПАРАТЕ, О ПРИМЕНЕНИИ, О ЗАБОЛЕВАНИИ, О ПРОТИВОПОКАЗАНИИ]
КОНЕЦ ВЫПОЛНИТЬ
КОНЕЦ ДЛЯ
@КОНЕЦ Конец спецификации процесса «Сформировать информацию».
Построим спецификацию процесса «Создать отчеты».
@ВХОД=НОВЫЕ ДАННЫЕ [О РАСТЕНИЯХ, О ПРЕПАРАТЕ, О ПРИМЕНЕНИИ, О ЗАБОЛЕВАНИИ, О ПРОТИВОПОКАЗАНИИ]
@ВЫХОД=ОТЧЕТ [О РАСТЕНИЯХ, О ПРЕПАРАТЕ, О ПРИМЕНЕНИИ, О ЗАБОЛЕВАНИИ, О ПРОТИВОПОКАЗАНИИ]
@СПЕЦПРОЦ 5.3 СОЗДАТЬ ОТЧЕТЫ
ДЛЯ каждого растения из НОВЫЕ ДАННЫЕ [О РАСТЕНИЯХ, О ПРЕПАРАТЕ, О ПРИМЕНЕНИИ, О ЗАБОЛЕВАНИИ, О ПРОТИВОПОКАЗАНИИ] ВЫПОЛНИТЬ Создать ОТЧЕТЫ [О РАСТЕНИЯХ, О ПРЕПАРАТЕ, О ПРИМЕНЕНИИ, О ЗАБОЛЕВАНИИ, О ПРОТИВОПОКАЗАНИИ] по НОВЫЕ ДАННЫЕ [О РАСТЕНИЯХ, О ПРЕПАРАТЕ, О ПРИМЕНЕНИИ, О ЗАБОЛЕВАНИИ, О ПРОТИВОПОКАЗАНИИ]
ВЫПОЛНИТЬ Выдать ОТЧЁТ [О РАСТЕНИЯХ, О ПРЕПАРАТЕ, О ПРИМЕНЕНИИ, О ЗАБОЛЕВАНИИ, О ПРОТИВОПОКАЗАНИИ]
КОНЕЦ ВЫПОЛНИТЬ
КОНЕЦ ДЛЯ
@КОНЕЦ Конец спецификации процесса «Создать отчеты».
Построим спецификацию процесса «Внести новые данные о растении».
@ВХОД@ВЫХОД = НОВЫЕ ДАННЫЕ [НАЗВАНИЕ, СЕМЕЙСТВО, ВЫСОТА, СОСТАВ, МЕСТО_РАСПРОСТРАНЕНИЯ]
@СПЕЦПРОЦ 6.1 ВНЕСТИ НОВЫЕ ДАННЫЕ О РАСТЕНИИ
ДЛЯ каждого растения из НОВЫЕ ДАННЫЕ [НАЗВАНИЕ, СЕМЕЙСТВО, ВЫСОТА, СОСТАВ, МЕСТО_РАСПРОСТРАНЕНИЯ]
ВЫПОЛНИТЬ Внести ДАННЫЕ О РАСТЕНИИ по НОВЫЕ ДАННЫЕ [НАЗВАНИЕ, СЕМЕЙСТВО, ВЫСОТА, СОСТАВ, МЕСТО_РАСПРОСТРАНЕНИЯ]
ВЫПОЛНИТЬ Выдать НОВЫЕ ДАННЫЕ [НАЗВАНИЕ, СЕМЕЙСТВО, ВЫСОТА, СОСТАВ, МЕСТО_РАСПРОСТРАНЕНИЯ]
КОНЕЦ ВЫПОЛНИТЬ
КОНЕЦ ДЛЯ
@КОНЕЦ Конец спецификации процесса «Внести новые данные о растении».
Построим спецификацию процесса «Найти запись».
@ВХОД=ЗАПРОС О РАСТЕНИИ
@ВХОД=ЗАПРОС О ХАРАКТЕРИСТИКАХ РАСТЕНИЙ
@ВЫХОД=ИНФОРМАЦИЯ О РАСТЕНИИ
@ВЫХОД=ИНФОРМАЦИЯ О ХАРАКТЕРИСТИКАХ РАСТЕНИЙ
@СПЕЦПРОЦ 6.2 НАЙТИ ЗАПИСЬ ДЛЯ каждого растения из ЗАПРОС О РАСТЕНИИ
ВЫПОЛНИТЬ Найти ИНФОРМАЦИЮ О РАСТЕНИИ по ЗАПРОС О ХАРАКТЕРИСТИКАХ РАСТЕНИЙ
ВЫПОЛНИТЬ Выдать ИНФОРМАЦИЯ О РАСТЕНИИ, ИНФОРМАЦИЯ О ХАРАКТЕРИСТИКАХ РАСТЕНИЙ
КОНЕЦ ВЫПОЛНИТЬ
КОНЕЦ ДЛЯ
@КОНЕЦ Конец спецификации процесса «Найти запись».
2.2 Информационная модель
2.2.1 Идентификация сущностей и связей. Исходная ER-диаграмма
Диаграммы сущность-связь (ERD) предназначены для разработки информационных моделей(моделей данных). Диаграммы ERD обеспечивают стандартный способ определения данных и отношений между ними. Также с помощью ERD документируются объекты предметной области (сущности), важнейшие для данной программной системы, их свойства (атрибуты) и их отношения с другими объектами (связи).
Основными понятиями ER-модели являются сущность, связь и атрибут. Сущность - это множество экземпляров реальных или абстрактных объектов, обладающих общими атрибутами (характеристиками). Любой объект системы может быть представлен только одной сущностью. В диаграммах ER-модели сущность представляется в виде прямоугольника, содержащего имя сущности. При этом имя сущности - это имя типа, а не некоторого конкретного экземпляра этого типа.
Для базы данных лекарственных растений создадим следующие сущности:
1.Сущность «Растения»
вводится для учёта всех
2.Сущность «Характеристика растений» вводится для учёта характеристики внешнего вида растений.
3.Сущность «Препарат» вводится для учёта всех видов препаратов, в которые входят лекарственные растения и их хранения.
4.Сущность «Применение»
5.Сущность «Противопоказание»
вводится для учёта всех
6.Сущность «Заболевание»
Связь - это графически изображаемая ассоциация, устанавливаемая между двумя сущностями. Эта ассоциация всегда является бинарной и может существовать между двумя разными сущностями. В любой связи выделяются два конца (в соответствии с существующей парой связываемых сущностей), на каждом из которых указывается имя конца связи, степень конца связи (сколько экземпляров данной сущности связывается), обязательность связи (т.е. любой ли экземпляр данной сущности должен участвовать в данной связи).
Связь представляется в виде линии, связывающей две сущности или ведущей от сущности к ней же самой. При этом в месте "стыковки" связи с сущностью используются трехточечный вход в прямоугольник сущности, если для этой сущности в связи могут использоваться много экземпляров сущности, и одноточечный вход, если в связи может участвовать только один экземпляр сущности.
На логическом уровне проектирования в данной базе данных присутствуют пять определенных связей, перечислим их:
1. Связь между сущностями «
2. Связь между сущностями «
3. Связь, идущая от сущности
«Растение» к сущности «