Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
vendrov_A_M_proektirovanie_programmnogo_obespec...doc
Скачиваний:
8
Добавлен:
01.04.2025
Размер:
7 Мб
Скачать
☆

Спецификация структур данных

Определим состав потоков данных и подготовим исходную ин­формацию для конструирования концептуальной модели данных.

Пометим символами «*», «°» и «|» все структуры и элементы данных типа «итерация», «условное вхождение» и «альтернатива» соответственно.

После объединения структур и элементов данных в более крупные структуры для каждого потока данных должна быть Сформирована структура данных.

Примеры спецификации структур данных.

ОТЧЕТ_ПО_ИСТОРИИ_БОЛЕЗНИ

Текущая_дата

Начальная_дата

Конечная_дата

СТРОКА_ПАЦИЕНТА

Номер_пациента

Фио

Дата_рождения

Рис. 3.4. Начальная контекстная диаграмма

СТРОКА_ПРИЕМА*

Номер_приема /* порядковый номер приема нового боль­ного*/

Дата_приема

Номер_палаты

СТРОКА_КУРСА_ЛЕЧЕНИЯ*

Наименование_заболевания

Имя_врача

Специализация

СТРОКА_РЕЗУЛЬТАТОВ_ЛЕЧЕНИЯ*

Дата

Время

Примечание

ИФОРМАЦИЯ_ОТ_ВРАЧА

Присм_нового_больного

Данные_о_враче

Новый_пациент_больницы

Заирос_на_получение_истории_болезни

Курс_лечения

ОТЧЕТ_О_ПАЦИЕНТАХ

Текущая_цата

Начальная_дата

Конечная_дата

СТРОКА_ПАЦИЕНТА*

Номер_пациента

Фио

Адрес

Телефон

Дата_рождения

СТРАХОВАНИЕ0

Страховая_компания

Номер_страховки

Построение начального варианта концептуальной модели данных

Выделим и нарисуем сущности для каждого класса объектов данных в системе приема пациентов. Рассмотрим каждую возможную пару сущностей и установим существование связи между ними. Нарисуем диаграмму «сущность-связь». Присво­им наименование каждой связи и зададим ее характеристики (рис. 3.5).

Предлагается ответить самостоятельно на следующие воп­росы:

  1. Почему мощность связи между Пациентом и Приемом, Приемом и Курсом лечения, Врачом и Курсом лечения рав­на О, а не 1?

  2. Почему отсутствует связь между Врачом и Пациентом?

Рис. 3.5. Начальный вариант концептуальной модели данных

Построение диаграмм потоков данных нулевого и последующих уровней

Декомпозируем начальную контекстную диаграмму. Деком­позируем сложные процессы и проверим соответствие различных уровней модели процессов. Опишем накопители данных посред­ством структур данных. Опишем процессы нижнего уровня пос­редством спецификаций.

Результаты представлены на рис. 3.6—3.9.

Описание накопителей данных и пример спецификации про­цесса приведены ниже.

Накопитель данных: пациенты

Номер_пациента

Фио

Адрес

Телефон

Дата_рождения

Группа_крови

Страхование0

Накопитель данных: приемы

Номер_приема

Номер_пациента

Дата_приема

Рис. 3.6. Диаграмма потоков данных нулевого уровня

Дата_выписки

Номср_палаты

Накопитель данных: курсы лечения

Номер_приема

Номср_врача

Рис. 3.7. Диаграмма потоков данных первого уровня для процесса 1

Наименование_заболевания

ПРИМЕЧАНИЕ

Дата

Время

Примечание

Рис. 3.8. Диаграмма потоков данных второго уровня для процесса 1.1

Накопитель данных: врачи

Номер_врача

Имя_врача

Адрес

Телефон

Дата_рождения

Специализация

Номер_кабинета

Рабочий_телефон

Спецификация процесса: Зарегистрировать пациента

BEGIN

GET Фио и Дата_рождения

FIND пациент

IF пациент найден THEN

DISPLAY данные пациента

Рис. 3.9. Диаграмма потоков данных первого уровня для процесса 2

ELSE

GET Адрес

DETERMINE Номер_пациента

INSERT пациент

ENDIF

PRINT подтверждение

END

Рис. 3.10. Уточненный вариант концептуальной модели данных

Уточнение концептуальной модели данных

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

Результат представлен на рис. 3.10.

3.3.

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