Информационная система оптового заводского склада 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Информационная система оптового заводского склада



Предисловие

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

Целью данного учебного пособия является знакомство с организацией базы данных на основе реляционной СУБД. В качестве средства проектирования БД выбрано Microsoft Visio 2010, как СУБД используется Microsoft SQL Server 2012.

Поддерживаемый сервером язык запросов Transact-SQL является реализацией стандарта SQL-92 с множественными расширениями (в том числе дополнительный синтаксис для хранимых процедур и поддержка транзакций). Основными интерфейсами взаимодействия приложений с сервером являются ODBC и JDBC (для приложений под управлением Java). Версия SQL Server 2012 обеспечивает возможность подключения пользователей через веб-сервисы, использующие протокол SOAP, что позволяет клиентским программам, не предназначенным для Windows, кроссплатформенно соединяться с сервером. Кроме того, в SQL Server 2012 встроена поддержка.NET Framework, благодаря этому хранимые процедуры могут быть написаны на любом языке платформы.NET, используя полный набор библиотек, доступных для.NET Framework.

Используемая в лабораторном практикуме версия Microsoft SQL Server Express Edition является бесплатно распространяемой версией SQL Server. Данная версия имеет некоторые технические ограничения (1 поддерживаемый процессор, 1 Гб адресуемой памяти и предел в 4 Гб для размера базы), не препятствующие, однако, использованию сервера в учебном процессе и в небольших программных приложениях. Фактически это полноценный MS SQL Server, включая все его компоненты программирования, поддержку национальных алфавитов, Unicode и новых типов данных, в том числе XML-спецификации. Для администрирования сервера используется утилита с графическим интерфейсом Microsoft SQL Server Management Studio Express, которая также доступна для бесплатного скачивания с сайта корпорации Microsoft (http://www.microsoft.com).

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

Ниже приведено содержание лабораторного практикума по выполнению курсовой работы.

Тема 1 (4 часа). Анализ предметной области. Анализ полученного задания (прил. А); формулировка требований к функциям (задачам) и составу потенциальных пользователей создаваемой учебной информационной системы. Концептуальное моделирование предметной области с построением диаграммы классов в нотации UML. По результатам работы в итоговый отчет помещаются текст задания, название информационной системы, таблица ролей пользователей и функций, концептуальная модель предметной области (диаграмма классов UML).

Тема 2 (4 часа). Проектирование базы данных. Проектирование базы данных с оформлением модели на стандарте IDEF1X. По результатам работы в отчет помещаются модели (логическая и физическая) базы данных.

Тема 3 (4 часа). Создание базы данных. Создание базы данных на сервере. Добавление ограничений для поддержания целостности (см. гл. 3). По результатам работы в итоговый отчет помещается сценарий создания базы данных.

Тема 4 (4 часа) Загрузка информации в базу данных. Заполнение базы данными в графической среде Management Studio. Вставка, удаление и модификация данных средствами языка SQL (см. гл. 4). По результатам работы в итоговый отчет помещается содержимое заполненных таблиц и тексты запросов.

Тема 5 (6 часов). Выборка данных. Формирование десяти запросов на выборку данных, охватывающих основные возможности языка SQL. Тестирование запросов. По результатам работы в итоговый отчет помещаются тексты запросов с результатами выполнения (копии экрана).

Тема 6 (6 часов). Реализация бизнес-логики приложения в теле сервера. Создание триггеров и хранимых процедур, охватывающих бизнес-логику создаваемой информационной системы и поддержание целостности базы данных. По результатам работы в итоговый отчет помещаются коды создания и вызова хранимых процедур и триггеров с кратким описанием.

 

Для выполнения лабораторного практикума понадобятся Microsoft Visio 2010, MS SQL Server 2012 Express и задание с описанием предметной области (см. прил. А).

 

Форма отчетности. Курсовая работа должна быть представлена в виде итогового отчета в электронном и печатном виде (прил. Б). К нему должны прилагаться файлы базы данных.

 

Благодарности. Авторы выражают благодарность начальнику отдела системного администрирования кафедры программного обеспечения компьютерных систем ИГЭУ А.Б. Гадалову и кандидату технических наук Н.В. Железняк за оказанную помощь в подготовке учебного пособия.


Анализ предметной области

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

UML (англ. Unified Modeling Language – унифицированный язык моделирования) – язык моделирования, используемый при определении, визуализации, проектировании и документировании программных систем.

Сущности – это абстракции, описывающие основные бизнес-понятия и бизнес-события предметной области.

Связи отражают отношения между сущностями.

Совокупности сущностей и связей группируются в диаграммы.

1.1. Анализ требований

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

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

На этапе анализа требований важно понять разницу между пользователем и его ролью.

Пользователь – это человек, который будет использовать информационную систему.

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

Рассмотрим пример информационной системы оптового заводского склада.

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

 

 

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

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

Создание базы данных

В состав Microsoft SQL Server 2012 входит графическая среда SQL Server Management Studio, являющаяся одним из основных программных средств администрирования СУБД SQL Server. В этой программе предусмотрен целый ряд функциональных средств управления сервером, в которых применяется относительно простой графический интерфейс.

Автоинкрементное поле

Автоинкрементное поле – поле с целочисленным типом данных, значение которого увеличивается с заданным шагом, начиная с заданной величины (Например: 1, 2, 3…).

Для назначения полю свойства автоинкрементности на закладке «Свойства столбцов» в нижней части окна создания полей таблицы выбирается раздел «Спецификация идентифицирующего столбца» (рис. 3.6).

Здесь для строки «Является идентифицирующим столбцом» требуется установить значение «Да». При этом автоматически заполнятся две следующие строки – «Начальное значение» и «Приращение», по умолчанию в обоих появится единица. Это значит, что значение первичного ключа в таблице начнется с единицы и будет увеличиваться дальше с шагом 1. Можно задать и другие значения начального значения и приращения счетчика.

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

Рис. 3.6. Создание автоинкрементного поля

Создание связей

[CONSTRAINT <имя_ограничения>]

[FOREIGN KEY (<имя_поля> [,... [, <имя_поля16>]])]

REFERENCES <табл_ссылки> (<поле_ссылки>[,...[,<поле_ссылки16>]])

Связи между таблицами в MS SQL Server задаются в виде ссылок, т.е. внешних ключей FOREIGN KEY.

Рассмотрим установление связи в среде Management Studio между таблицами «Деталь» и «Материал». Для этого необходимо открыть окно редактирования структуры таблицы «Деталь», с помощью пункта «Проект» контекстного меню этой таблицы.

Далее в контекстном меню открывшегося окна редактирования следует выбрать пункт «Отношения» или же воспользоваться одноименной кнопкой на панели инструментов. На экране появится окно «Отношения внешнего ключа», изначально пустое.

Для добавления внешнего ключа следует нажать кнопку «Добавить» в нижнем правом углу окна. Далее в появившемся шаблоне настройки внешнего ключа (рис. 3.7) необходимо выделить строку «Спецификация таблиц и столбцов» и нажать на кнопку с многоточием в этой строке справа.

На экране появится окно настройки связи между таблицами (рис. 3.8). В разделе «Имя отношения» можно задать название создаваемой связи или оставить название по умолчанию.

Рис. 3.7. Окно добавления / удаления связей между таблицами

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

В разделе «Таблица внешнего ключа» (справа) требуемая таблица задается автоматически и соответствует редактируемой в данный момент таблице (таблица «Деталь»). Следует лишь выбрать из выпадающего списка поле таблицы, содержащее ссылку (поле «Код материала» таблицы «Деталь»).

По завершении настройки связи между таблицами следует закрыть окна «Таблицы и столбцы» и «Отношения внешнего ключа» и обязательно сохранить произведенные изменения в таблице «Деталь» (кнопка с дискетой на панели инструментов).

 

Рис. 3.8. Окно настройки связи между таблицами

Проверки CHECK

[CONSTRAINT <имя_ограничения>]

CHECK [NOT FOR REPLICATION] (<выражение>)

Ограничения CHECK задают условия проверки значений одного или нескольких полей таблицы (включая проверку сочетаний значений полей таблицы); при этом значения берутся из одной и той же вставляемой или обновляемой строки.

Создание новой проверки осуществляется по команде «Проверочные ограничения» контекстного меню редактора структуры таблицы. В открывшемся окне следует создать новое ограничение, воспользовавшись кнопкой «Добавить», и записать условие проверки в строке «Выражение» (рис. 3.10).

Рис. 3.10. Окно создания проверочных ограничений CHECK

Заполнение базы данных

Правила

1. Количество элементов в разделе «Столбцы» должно совпадать с количеством элементов в разделе «Значения»; типы данных должны совпадать либо допускать неявное преобразование.

2. Если раздел «Столбцы» отсутствует, раздел «Значения» должен содержать столько же значений, сколько всего столбцов в редактируемой таблице, кроме того, значения должны перечисляться в том же порядке, в каком объявлены столбцы таблицы.

3. В случае использования синтаксиса (б) подзапрос SELECT может быть адресован либо к этой же таблице, либо к другой таблице базы данных, либо к другой базе данных на сервере; структура и типы полей запроса должны соответствовать структуре и типам полей таблицы.

4. Если для некоторого столбца задано значение по умолчанию, в разделе «Значения» для этого столбца можно написать ключевое слово DEFAULT.

Примеры:

INSERT INTO detail (detail_name)

VALUES ('Подшипник')

INSERT INTO supply (supplier_id, supply_quantity, supply_cost,

supply_date, detail_id)

VALUES (4, 177, 453.45, '25.09.2009', 1)

INSERT supplier (supplier_type, supplier_name)

VALUES (DEFAULT, 'Смирнов С. С.')

Запросы на выборку данных

Примеры реализации запросов

Наиболее простые запросы

1. Выбрать название и вес деталей (рис. 5.1).

Рис. 5.1. Результаты выполнения запроса №1

2. Выбрать всю информацию из таблицы материалов (рис. 5.2).

Рис. 5.2. Результаты выполнения запроса №2

 

Уникальность DISTINCT

3. Выбрать уникальные коды поставщиков из таблицы поставок (рис. 5.3).

Рис. 5.3. Результаты выполнения запроса №3

Ограничение WHERE

4. Выбрать количество и даты поставок детали с кодом 1 (рис. 5.4).

Рис. 5.4. Результаты выполнения запроса №4

 

5. Выбрать названия поставщиков с кодами 1, 4 и 6 (рис. 5.5).

или

 

Рис. 5.5. Результаты выполнения запроса №5

 

6. Выбрать всю информацию о поставках, сделанных до 1.10.2009 (рис. 5.6).

Рис. 5.6. Результаты выполнения запроса №6

7. Выбрать всю информацию о деталях, не начинающихся на букву «В» (в любом регистре) и чей вес меньше 50 (рис. 5.7).

Рис. 5.7. Результаты выполнения запроса №7

8. Выбрать детали весом от 5 до 10 грамм или с названием, где третья буква «н» (рис. 5.8).

Рис. 5.8. Результаты выполнения запроса №8

9. Выбрать названия поставщиков длиной не больше 15-и символов (рис. 5.9).

Рис. 5.9. Результаты выполнения запроса №9

10. Выбрать месяцы и годы поставок деталей (рис. 5.10).

Рис. 5.10. Результаты выполнения запроса №10

Сортировка ORDER BY

11. Упорядочить поставки сначала по коду поставщика, а затем по дате поставки (рис. 5.11).

Рис. 5.11. Результаты выполнения запроса №11

12. Выбрать названия поставщиков с кодами 4, 6, 8, 9, упорядоченных по алфавиту в обратном порядке (рис. 5.12).

Рис. 5.12. Результаты выполнения запроса №12

Альтернативы CASE

22. Разделить детали на легкие (весом до 20), средние (между 20 и 50) и тяжелые (рис. 5.22).

Рис. 5.22. Результаты выполнения запроса №22

Обработка NULL-значений

23. Получить сведения о деталях и их весах, причем если у детали вес не задан, то вместо NULL написать -100 (рис. 5.23).

 

Рис. 5.23. Результаты выполнения запроса №23

Подзапросы

26. Получить сведения о самой последней (по дате) поставке (рис. 5.26).

Рис. 5.26. Результаты выполнения запроса №26

27. Получить все поставки деталей из материала с кодом 2 (рис. 5.27).

Рис. 5.27. Результаты выполнения запроса №27

28. Для каждого поставщика получить сведения о самой первой (по дате) его поставке (рис. 5.28).

Рис. 5.28. Результаты выполнения запроса №28

29. Для каждого поставщика получить его имя и дату последнего заказа (рис. 5.29).

Рис. 5.29. Результаты выполнения запроса №29

Объединение таблиц JOIN

30. Получить таблицу вида: название детали, название материала, из которого выполнена эта деталь (рис. 5.30).

или

или

Рис. 5.30. Результаты выполнения запроса №30

31. Получить таблицу вида: поставщик, название детали, количество и дата поставки для деталей, у которых задан вес (рис. 5.31).

Рис. 5.31. Результаты выполнения запроса №31

32. Выбрать всю информацию о тех деталях, которые когда-либо поставлялись (рис. 5.32).

Рис. 5.32. Результаты выполнения запроса №32

33. Для каждого поставщика посчитать суммарную величину его поставок (рис. 5.33).

Рис. 5.33. Результаты выполнения запроса №33

34. Выбрать материалы и сделанные из них детали (рис. 5.34).

Рис. 5.34. Результаты выполнения запроса №34

35. Получить все данные о поставщиках, поставках и деталях (рис. 5.35).

Рис. 5.35. Результаты выполнения запроса №35

Организация бизнес-логики

СУБД, MS SQL Server предоставляет возможность частично или полностью перенести бизнес-логику приложения на уровень сервера баз данных. Для решения подобных задач служат механизмы триггеров, хранимых процедур и пользовательских функций.

Хранимые процедуры

Хранимая процедура – это упорядоченная последовательность операторов SQL, оформленных в виде единого логического модуля.

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

Общий синтаксис создания хранимой процедуры:

CREATE PROC[EDURE] <Имя процедуры>

[@<Имя параметра> <Тип данных параметра>

[ = <Значение пар-ра по умолчанию>]

[OUTPUT]] [,...n]

AS <SQL-выражения, составляющие тело процедуры>

Общий синтаксис вызова хранимой процедуры:

EXEC[UTE] <Имя процедуры>

[[<Имя входного пар-ра> = ]<Значение входного пар-ра>] [,…n]

Среда Management Studio предоставляет два способа создания хранимой процедуры.

Первый способ – использование рассмотренного выше окна редактора запросов.

Второй – в ветке нужной базы данных (правая часть окна программы) выбрать пункт «Программирование / Хранимые процедуры» (рис. 6.1). При этом будет сгенерирован шаблон новой хранимой процедуры, снабженный подробными комментариями, которые призваны помочь в написании текста процедуры (рис. 6.2).

Рис. 6.1. Создание новой хранимой процедуры

Рис. 6.2. Автоматически генерируемый шаблон хранимой процедуры

Примеры:

1. Хранимая процедура, возвращающая отчет о поставках деталей (рис. 6.3).

Рис. 6.3. Текст хранимой процедуры №1 и результаты ее работы

2. Хранимая процедура, возвращающая отчет о поставках деталей за определенный интервал времени (рис. 6.4).

Рис. 6.4. Текст хранимой процедуры №2 и результаты ее работы

3. Процедура, добавляющая новую деталь в таблицу деталей (рис. 6.5).

Рис. 6.5. Текст хранимой процедуры №3 и результаты ее работы

4. Процедура, возвращающая название материала, из которого изготовлено больше всего деталей (рис. 6.6).

Рис. 6.6. Текст хранимой процедуры №4 и результаты ее работы

5. Процедура, реализующая функцию каскадного удаления на связь между таблицами материалов и деталей (рис. 6.7).

Рис. 6.7. Текст хранимой процедуры №5 и результаты ее работы

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

Триггеры

Триггеры, как и хранимые процедуры, являются механизмом организации функционала системы в теле сервера баз данных. В табл. 6.1 приведено сравнение триггеров и хранимых процедур.

Таблица 6.1. Сравнение триггеров и хранимых процедур
Хранимые процедуры Триггеры
Являются самостоятельным объектом базы данных Привязываются к таблице или виду
Явно вызываются на выполнение командой EXECUTE Реагируют на события, связанные с таблицей-владельцем
Могут иметь входные и / или выходные параметры, коды возврата Не имеют входных / выходных параметров и кодов возврата
Могут выполняться в отдельной транзакции Выполняются в той же транзакции, в которой осуществляются изменения таблицы-владельца

Возможность закрепления триггеров за конкретными операторами определяется тем, что в языке SQL предусмотрены три типа запросов, предназначенных для изменения данных – INSERT, UPDATE и DELETE. В связи с этим выделяют шесть видов триггеров (табл. 6.2).

Таблица 6.2. Виды триггеров
Объект Действие Триггер
Таблица / вид Вставка строк INSERT Вместо вставки строк INSTEAD OF
После вставки строк FOR (AFTER)
Модификация строк UPDATE Вместо модификации строк INSTEAD OF
После модификации строк FOR (AFTER)
Удаление строк DELETE Вместо удаления строк INSTEAD OF
После удаления строк FOR (AFTER)

Примечание: триггеры FOR и AFTER являются синонимами.

Независимо от используемого типа триггера для реализации действий, предусмотренных этим триггером в СУБД SQL Server, используются две виртуальные таблицы.

В одной из них хранятся копии всех вставляемых строк (поэтому данная таблица именуется INSERTED), а во второй хранятся копии всех удаляемых строк (эта таблица именуется DELETED) (табл. 6.3).

Таблица 6.3. Содержимое таблиц INSERTED и DELETED
Вид триггера Таблицы INSERTED и DELETED
INSTEAD OF INSERT INSERTED содержит вставляемые в таблицу записи. DELETED пуста
FOR INSERT INSERTED содержит вставленные в таблицу записи. DELETED пуста
INSTEAD OF UPDATE INSERTED содержит новые значения модифицируемых записей. DELETED содержит старые значения модифицируемых записей
FOR UPDATE INSERTED содержит новые значения модифицированных записей. DELETED содержит старые значения модифицированных записей
INSTEAD OF DELETE INSERTED пуста. DELETED содержит удаляемые записи
FOR DELETE INSERTED пуста. DELETED содержит удаленные записи

 


На рис. 6.8 приведена схема запуска триггеров FOR (AFTER) и INSTEAD OF.

Рис. 6.8. Схема запуска триггеров FOR (AFTER) и INSTEAD OF

 

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


Создавать новые триггеры можно либо в редакторе запросов среды Management Studio, либо воспользовавшись специальным шаблоном (рис. 6.10), который открывается при выборе в «Обозревателе объектов» пункта «Создать триггер» у таблицы, к которой будет привязываться создаваемый триггер (рис. 6.9).

 

Рис. 6.9. Создание нового триггера

Рис. 6.10. Шаблон создания нового триггера


Общий синтаксис создания триггера:

CREATE TRIGGER <Имя триггера>

ON <Имя таблицы или вида>

{FOR|AFTER|INSTEAD OF} {[INSERT] [,] [UPDATE] [,] [DELETE]}

AS <SQL-выражения, составляющие тело триггера>

Примеры:

1. Триггер на поддержание актуального количества товаров на складе при добавлении поставок деталей (рис. 6.11).

Рис. 6.11. Текст триггера №1

2. Триггер на поддержание актуального количества товаров на складе при удалении поставок (рис. 6.12).

Рис. 6.12. Текст триггера №2

3. Триггер на поддержание актуального количества товаров на складе при отпуске деталей в цеха (рис. 6.13).

Рис. 6.13. Текст триггера №3

4. Проверка допустимости значения даты поставки при осуществлении новой поставки деталей (рис. 6.14).

Рис. 6.14. Текст триггера №4

5. Проверка допустимости значения даты поставки при редактировании существующей поставки деталей (рис. 6.15).

Рис. 6.15. Текст триггера №5

 

Задание: создайте два триггера для своей базы, в отчет поместите их описание и код создания.

 


Контрольные вопросы

1. Что такое бизнес-логика приложения в теле сервера БД?

2. Охарактеризуйте архитектуры информационных систем?

3. В чем преимущества и недостатки использования бизнес-логики приложения в теле сервера баз данных?

4. Что такое триггер? Как он активизируется в информационной системе?

5. Охарактеризуйте особенности работы с триггерами в СУБД MS SQL Server.

6. Приведите пример триггера на поддержание целостности БД.

7. Чем триггер отличается от хранимой процедуры?

8. Кто может вызывать триггер и хранимую процедуру?

9. Охарактеризуйте синтаксис языка хранимых процедур СУБД MS SQL Server.

10. Как значения параметров передаются в хранимую процедуру?

11. Приведите пример процедуры с возвращаемыми значениями параметров.

12. Приведите пример хранимой процедуры для организации отчета по информации, собранной в созданной БД.

13. Приведите пример хранимой процедуры для поддержания историчности регистрационных сведений в созданной БД.

14. Что такое вид над таблицей? Какой командой он создается?

15. Приведите пример использования вида в созданной БД.

16. Может ли триггер быть связан с видом?

 

Инсталляция сервера

Установка и обновление MS SQL Server происходит под управлением приложения с графическим интерфейсом, которое направляет действия пользователя при вводе сведений, необходимых программе установки. Программа установки автоматически определяет наличие ранней версии SQL Server. После завершения установки инсталлятор предлагает пользователю выполнить процесс обновления сервера. Таким образом, весь процесс установки или обновления завершается быстро, причем пользователю требуется вводить минимум информации.

Санкционирование доступа

Обеспечение безопасности хранимых данных является неотъемлемой частью любой современной СУБД.

Как и в большинстве СУБД, в SQL Server защита данных основывается на том, что существует концепция пользователей, которые получают те или иные права для работы с каждым объектом внутри базы данных. Под пользователем понимается регистрационная запись, состоящая из имени пользователя (логина) и идентифицирующего его пароля.

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

Среди всех пользователей основным является пользователь SA – системный администратор сервера. Имя SA предопределено и не может меняться. По умолчанию этот пользователь обладает всеми правами над любым объектом базы данных.

Для создания новых пользователей, как правило, используют среду Management Studio, реже – инструменты командной строки. C помощью команд T-SQL создать или удалить пользователя MS SQL Server нельзя.

По возможности следует включать пользователей в предопределенные роли (Role), которые служат для организации пользователей с одинаковыми правами в группы. Например, если имеется группа пользователей, для которых нужен доступ только на чтение, то можно создать роль с именем READER (SQL-команда СREATE ROLE READER). При использовании механизма ролей при соединении с базой данных следует указывать и имя пользователя, и его желаемую роль.

Разрешение (Permission) в MS SQL Server – это право какому-либо пользователю, роли, хранимой процедуре или триггеру совершить какую-либо операцию над определенным объектом базы данных. Операторы GRANT, REVOKE и DENY используются для управления разрешениями на работу с объектом или исполнение SQL-выражений.

 

ПРИЛОЖЕНИЯ

ПРИЛОЖЕНИЕ А

Варианты описания предметной области

1. Биржа труда

«Центр занятости населения» обеспечивает реализацию права граждан на защиту от безработицы.

В Центр обращаются выпускники вузов и безработные, все они заполняют анкету: ФИО, дата рождения, образование, дата обращения. Временно безработные указывают предыдущее место работы, стаж, причину увольнения (по собственному желанию, за несоблюдение трудовой дисциплины, истечение срока трудового договора). Выпускники – средний балл аттестата.

Работодатели размещают объявления о вакансиях: должность, зарплата, требования к соискателям (образование, возраст, стаж).

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

Если соискатель получает работу, факт трудоустройства фиксируется с указанием даты вступления в должность.

2. Регистратура городской поликлиники

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

Сведения о пациентах включают: номер медицинского полиса, фамилию, пол, дату рождения, место работы, адрес, по которому определяется участок.

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

3. Проектная организация

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

В рамках заключаемых проектной организацией договоров с заказчиками выполняются различного рода проекты, причем один проект выполняется для одного договора. Суммарная стоимость договора определяется стоимостью всех его проектов.

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

4. Библиотечный фонд города

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

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

На руках у читателя не может одновременно находиться более 7 книг.

5. ГИБДД

В ГИБДД регистрируют машины различных классов: грузовые, легковые, пассажирские. Каждый класс имеет свои специфические атрибуты: вместимость – для пассажирских, форма кузова – для легковых, грузоподъемность – для грузовых. Общими для всех классов машин являются номер гос. регистрации, цвет, объем двигателя, мощность, пробег, марка (Жигули, Мерседес, Хонда и т. п.).

Автовладельцу может принадлежать несколько машин. Машина может принадлежать владельцу только при условии наличия у него водительских прав соответствующей категории.

Для автовладельцев ведется статистика совершенных ими дорожных правонарушений – дата, статья гражданского / уголовного кодекса, сумма штрафа, ФИО сотрудника ГИБДД, выписавшего штраф. Некоторые правонарушения могут предусматривать изъятие водительских прав.

6. Автострахование

Автострахованию подлежат машины различных категорий: грузовые, легковые, пассажирские. Каждая категория имеет свои специфические атрибуты: вместимость – для пассажирских, грузоподъемность – для грузовых, использование в качестве такси – для легковых. Общими для всех являются номер гос. регистрации, мощность, пробег, стаж вождения владельца. Все характеристики задаются диапазонами, диапазоны имеют свои страховые коэффициенты.

Все автомобили должны ежегодно проходить технический осмотр; автомобили, не прошедшие техосмотр, не подлежат страхованию.

Стоимость страхового полиса равняется 1% максимальной величины выплаты, умноженной на все страховые коэффициенты.

7. Турагентство

Турагентство предлагает своим клиентам туристические поездки по России и за рубеж. О каждом туре известно следующее: направление (страна и город), название отеля, звездность отеля, даты заезда / выезда, туроператор, стоимость, вид транспорта (самолет, поезд, автобус).

В случае заключения сделки клиент предоставляет информацию о себе: ФИО, номер паспорта, дату рождения, а для зарубежных туров также номер загранпаспорта и место работы. Каждый клиент работает только со своим агентом.

По количеству заключенных сделок ведется рейтинг туристических направлений (городов или стран).

Когда до вылета остается две недели, тур переходит в разряд горящих и его стоимость уменьшается на 40%.

8. Аптека

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

В аптеке существует справочник ингредиентов для изготавливаемых лекарств с указанием стоимости ингредиента за грамм. Технология изготовления лекарства перечисляет нужные ингредиенты и их количества.

Для заказа лекарства покупатель должен принести рецепт от лечащего врача. В рецепте должны быть указаны: номер, ФИО врача и название лекарства. Факт покупки фиксируется с указанием даты.

9. Аудиторный фонд университета

Паспорт аудитории включает следующие характеристики: номер, местонахождение, подразделение, площадь, способ охраны. Аудитории различаются по видам – лекционные, лаборатории, конференц-залы. Каждый вид описывается своим набором характеризующих атрибутов: возможность проведения крупных семинаров для лекционных и конференц-залов, специализация лабораторий, вместимость лекционных.

Формируются планы ремонтов аудиторий; в плане прописывается вид ремонта (капитальный, косметический, евро), подрядная организация, стоимость и сроки выполнения.



Поделиться:


Последнее изменение этой страницы: 2017-01-25; просмотров: 379; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.218.38.125 (0.212 с.)