2.2 Спецификации локальных ограничений и правил
В данном подразделе для построенных выше исходных моделей выявляются и записываются локальные ограничения целостности и операционные правила, а именно:
– ограничения атрибутов и агрегатов (таблица 2.1);
– ограничения кортежей (таблица 2.2);
– ограничения уникальности (таблица 2.3);
– динамические ограничения (таблица 2.4);
– прочие ограничения (таблица 2.5);
– операционные правила (таблица 2.6).
Столбец «Источник» в указанных таблицах содержит ссылки на предыдущий этап проекта, где содержится определение, на основании которого специфицирован данный объект. Символ «+» означает, что соответствующий атрибут, агрегат или ограничение добавлено на текущем этапе проектирования.
Таблица 2.1
Ограничения атрибутов и агрегатов
| 
				 Имя атрибута или агрегата  | 
				 Источник (разд. 1.3)  | 
				 Тип  | 
				 Размер  | 
				 Границы или допустимые значения  | 
				 Структура  | 
				 Условие  | 
				 Многозначность  | 
				 Значение по умолчанию  | |
| 
				 мин  | 
				 макс  | ||||||||
| 
				 Функция 1 «Регистрация вызова»  | |||||||||
| 
				 1.1. ФИО оператора  | 
				 1.1  | агрегат | 
				 
  | 
				 
  | 
				 
  | 
				 
  | 
				 1  | 
				 1  | 
				 
  | 
| 
				 1.2. « .Фамилия  | 
				 +  | 
				 строка рус. букв  | 
				 <=30  | 
				 А…Яя  | 
				 1)  | 
				 
  | 
				 1  | 
				 1  | 
				 
  | 
| 
				 1.3. « .Имя  | 
				 +  | 
				 «  | 
				 «  | 
				 «  | 
				 1)  | 
				 
  | 
				 1  | 
				 1  | 
				 
  | 
| 
				 1.4. « .Отчество  | 
				 +  | 
				 «  | 
				 «  | 
				 «  | 
				 1)  | 
				 
  | 
				 1  | 
				 1  | 
				 
  | 
| 
				 1.5. Личный номер  | 
				 1.2  | 
				 строка цифр  | 
				 6  | 
				 
  | 
				 
  | 
				 1  | 
				 1  | 
				 
  | |
| 
				 1.6. Дата вызова  | 
				 2.1  | 
				 дата  | 
				 
  | 
				 
  | 
				 
  | 
				 
  | 
				 1  | 
				 1  | 
				 тек. дата  | 
| 
				 1.7. Время вызова  | 
				 2.2  | 
				 время  | 
				 
  | 
				 
  | 
				 
  | 
				 
  | 
				 1  | 
				 1  | 
				 тек. время  | 
| 
				 1.8. Причина вызова  | 
				 2.3  | 
				 строка рус. букв  | 
				 <=50  | 
				 
  | 
				 
  | 
				 
  | 
				 1  | 
				 1  | 
				 
  | 
| 
				 1.9. Адрес  | 
				 2.4  | 
				 строка рус. букв  | 
				 <=100  | 
				 
  | 
				 
  | 
				 
  | 
				 1  | 
				 1  | 
				 
  | 
| 
				 1.10. Номер отряда  | 
				 2.6  | 
				 строка цифр  | 
				 3  | 
				 
  | 
				 
  | 
				 
  | 
				 1  | 
				 1  | 
				 
  | 
| 
				 1.11 ФИО позвонившего  | 
				 3.1  | агрегат | 
				 
  | 
				 
  | 
				 
  | 
				 
  | 
				 0  | 
				 1  | 
				 
  | 
| 
				 1.12. « .Фамилия  | 
				 +  | 
				 строка рус. букв  | 
				 <=30  | 
				 А…Яя  | 
				 1)  | 
				 
  | 
				 0  | 
				 1  | 
				 
  | 
| 
				 1.13. « .Имя  | 
				 +  | 
				 «  | 
				 «  | 
				 «  | 
				 1)  | 
				 
  | 
				 0  | 
				 1  | 
				 
  | 
| 
				 1.14. « .Отчество  | 
				 +  | 
				 «  | 
				 «  | 
				 «  | 
				 1)  | 
				 
  | 
				 0  | 
				 1  | 
				 
  | 
| 
				 1.15.Телефон звонившего  | 
				 3.2  | строка цифр | 
				 <=10  | 
				 
  | 
				 
  | 
				 
  | 
				 1  | 
				 1  | 
				 
  | 
| 
				 1.16 Нпп  | 
				 +  | положит. целое | 
				 
  | 
				 
  | 
				 
  | 
				 
  | 
				 1  | 
				 1  | 
				 4)  | 
| 
				 Функция 2 «Учет кадров»  | |||||||||
| 
				 2.1. ФИО сотрудника  | 
				 1.1  | 
				 агрегат  | 
				 
  | 
				 
  | 
				 
  | 
				 
  | 
				 1  | 
				 1  | 
				 
  | 
| 
				 2.2. « .Фамилия  | 
				 +  | 
				 строка рус. букв  | 
				 <=30  | 
				 А…Яя  | 
				 1)  | 
				 
  | 
				 1  | 
				 1  | 
				 
  | 
| 
				 2.3. « .Имя  | 
				 +  | 
				 «  | 
				 «  | 
				 «  | 
				 1)  | 
				 
  | 
				 1  | 
				 1  | 
				 
  | 
| 
				 2.4. « .Отчество  | 
				 +  | 
				 «  | 
				 «  | 
				 «  | 
				 1)  | 
				 
  | 
				 1  | 
				 1  | 
				 
  | 
| 
				 2.5. Паспортные данные  | 
				 1.2  | 
				 строка цифр  | 
				 11  | 
				 
  | 
				 
  | 
				 
  | 
				 1  | 
				 1  | 
				 
  | 
| 
				 2.6. Телефон  | 
				 1.4  | 
				 строка цифр  | 
				 6  | 
				 
  | 
				 
  | 
				 0  | 
				 1  | 
				 
  | |
| 
				 2.7. Семейное положение  | 
				 1.5  | 
				 положит. целое  | 
				 1  | 
				 
  | 
				 
  | 
				 1  | 
				 1  | 
				 
  | |
| 
				 2.8. Дети 2.9. « .Нпп  | 
				 1.6 +  | 
				 агрегат положит. целое  | 
				 
 
  | 
				 
  | 
				 
  | 
				 0 1  | 
				 М 1  | 
				 
 4)  | |
| 
				 2.10. « .Дата рождения  | 
				 +  | 
				 дата  | 
				 
  | 
				 3)  | 
				 1  | 
				 1  | 
				 
  | ||
| 
				 2.11. « .Пол  | 
				 +  | 
				 символ  | 
				 
  | 
				 
  | 
				 1  | 
				 1  | 
				 
  | ||
| 
				 2.12. Образование  | 
				 1.7  | 
				 строка рус. букв  | 
				 <=30  | 
				 А…Яя  | 
				 
  | 
				 
  | 
				 1  | 
				 1  | 
				 
  | 
| 
				 2.14. Зар. плата  | 
				 1.8  | 
				 строка цифр  | 
				 
  | 
				 
  | 
				 1  | 
				 1  | 
				 
  | ||
| 
				 2.15. Дата рождения  | 
				 1.9  | 
				 дата  | 
				 
  | 
				 2)  | 
				 1  | 
				 1  | 
				 
  | ||
| 
				 2.16. Личный номер  | 
				 1.10  | 
				 строка цифр  | 
				 6  | 
				 
  | 
				 
  | 
				 1  | 
				 1  | 
				 
  | |
| 
				 2.17. Группа крови  | 
				 1.11  | 
				 положит. целое  | 
				 2  | 
				 1...4, +,-  | 
				 
  | 
				 
  | 
				 1  | 
				 1  | 
				 
  | 
| 
				 2.18. Карьера  | 
				 
  | 
				 агрегат  | 
				 
  | 
				 
  | 
				 
  | 
				 
  | 
				 1  | 
				 М  | 
				 
  | 
| 
				 2.19. « . Нпп  | 
				 +  | 
				 положит. целое  | 
				 
  | 
				 
  | 
				 
  | 
				 
  | 
				 1  | 
				 1  | 
				 4)  | 
| 
				 2.20. « .Должность  | 
				 2.1  | 
				 строка рус. букв  | 
				 <=30  | 
				 А…Яя  | 
				 
  | 
				 
  | 
				 1  | 
				 1  | 
				 
  | 
| 
				 2.21. « .Звание  | 
				 2.2  | 
				 строка рус. букв  | 
				 <=30  | 
				 А…Яя  | 
				 
  | 
				 
  | 
				 1  | 
				 1  | 
				 
  | 
| 
				 2.22. « .Код подразд - ия  | 
				 2.3  | 
				 строка цифр  | 
				 6  | 
				 
  | 
				 
  | 
				 
  | 
				 1  | 
				 1  | 
				 
  | 
| 
				 2.23. « .Дата назначения  | 
				 2.4  | 
				 дата  | 
				 
  | 
				 
  | 
				 
  | 
				 3)  | 
				 1  | 
				 1  | 
				 тек. дата  | 
| 
				 2.24. « .Дата увольнения  | 
				 2.5  | 
				 дата  | 
				 
  | 
				 
  | 
				 
  | 
				 3)  | 
				 0  | 
				 1  | 
				 
  | 
| 
				 2.25. « .Название подр-ия  | 
				 +  | 
				 
  | 
				 
  | 
				 
  | 
				 
  | 
				 
  | 
				 1  | 
				 1  | 
				 
  | 
| 
				 2.26. « .Код звания  | 
				 +  | 
				 строка цифр  | 
				 6  | 
				 
  | 
				 
  | 
				 
  | 
				 0  | 
				 1  | 
				 
  | 
| 
				 2.27. « .Код должности  | 
				 +  | 
				 строка цифр  | 
				 6  | 
				 
  | 
				 
  | 
				 
  | 
				 1  | 
				 1  | 
				 
  | 
| 
				 Функция 3 «Учет материальной части»  | |||||||||
| 
				 3.1. ФИО сотрудника  | 
				 1.1  | 
				 агрегат  | 
				 
  | 
				 
  | 
				 
  | 
				 
  | 
				 1  | 
				 1  | 
				 
  | 
| 
				 3.2. « .Фамилия  | 
				 +  | 
				 строка рус. букв  | 
				 <=30  | 
				 А…Яя  | 
				 1)  | 
				 
  | 
				 1  | 
				 1  | 
				 
  | 
| 
				 3.3. « .Имя  | 
				 +  | 
				 «  | 
				 «  | 
				 «  | 
				 1)  | 
				 
  | 
				 1  | 
				 1  | 
				 
  | 
| 
				 3.4. « .Отчество  | 
				 +  | 
				 «  | 
				 «  | 
				 «  | 
				 1)  | 
				 
  | 
				 1  | 
				 1  | 
				 
  | 
| 
				 3.5. Личный номер  | 
				 1.2  | 
				 строка цифр  | 
				 6  | 
				 
  | 
				 
  | 
				 
  | 
				 1  | 
				 1  | 
				 
  | 
| 
				 3.6. Имущество  | 
				 2  | 
				 агрегат  | 
				 
  | 
				 
  | 
				 
  | 
				 
  | 
				 1  | 
				 М  | 
				 
  | 
| 
				 3.7. « .Название  | 
				 2.1  | 
				 строка рус. букв  | 
				 <=30  | 
				 
  | 
				 
  | 
				 
  | 
				 1  | 
				 1  | 
				 
  | 
| 
				 3.8. « .Идент. номер  | 
				 2.2  | 
				 строка цифр  | 
				 6  | 
				 
  | 
				 
  | 
				 
  | 
				 1  | 
				 1  | 
				 
  | 
| 
				 Функция 4 «График дежурств»  | |||||||||
| 
				 4.1. Нпп  | 
				 +  | 
				 положит. целое  | 
				 
  | 
				 
  | 
				 
  | 
				 
  | 
				 1  | 
				 1  | 
				 4)  | 
| 
				 4.2. Наряд  | 
				 
  | 
				 агрегат  | 
				 
  | 
				 
  | 
				 
  | 
				 
  | 
				 1  | 
				 М  | 
				 
  | 
| 
				 4.3. « .Нпп  | 
				 +  | 
				 полож. целое  | 
				 
  | 
				 
  | 
				 
  | 
				 
  | 
				 1  | 
				 1  | 
				 4)  | 
| 
				 4.4. « .Личный номер  | 
				 2.1  | 
				 строка цифр  | 
				 6  | 
				 
  | 
				 
  | 
				 
  | 
				 1  | 
				 1  | 
				 
  | 
| 
				 4.5. « .Звание  | 
				 2.3  | 
				 строка рус. букв  | 
				 <=30  | 
				 А…Яя  | 
				 
  | 
				 
  | 
				 1  | 
				 1  | 
				 
  | 
| 
				 4.6. « .Номер группы  | 
				 2.4  | 
				 строка цифр  | 
				 3  | 
				 
  | 
				 
  | 
				 
  | 
				 1  | 
				 1  | 
				 
  | 
| 
				 4.7. « .ФИО  | 
				 2.2  | 
				 агрегат  | 
				 
  | 
				 
  | 
				 
  | 
				 
  | 
				 1  | 
				 1  | 
				 
  | 
| 
				 4.8. « .Фамилия  | 
				 +  | 
				 строка рус. букв  | 
				 <=30  | 
				 А…Яя  | 
				 1)  | 
				 
  | 
				 1  | 
				 1  | 
				 
  | 
| 
				 4.9. « Имя.  | 
				 +  | 
				 «  | 
				 «  | 
				 «  | 
				 1)  | 
				 
  | 
				 1  | 
				 1  | 
				 
  | 
| 
				 4.10. « .Отчество  | 
				 +  | 
				 «  | 
				 «  | 
				 «  | 
				 1)  | 
				 
  | 
				 1  | 
				 1  | 
				 
  | 
| 
				 4.11. ФИО оператора  | 
				 1.2  | 
				 агрегат  | 
				 
  | 
				 
  | 
				 
  | 
				 
  | 
				 1  | 
				 1  | 
				 
  | 
| 
				 4.12. « .Фамилия  | 
				 +  | 
				 строка рус. букв  | 
				 <=30  | 
				 А…Яя  | 
				 1)  | 
				 
  | 
				 1  | 
				 1  | 
				 
  | 
| 
				 4.13. « .Имя  | 
				 +  | 
				 «  | 
				 «  | 
				 «  | 
				 1)  | 
				 
  | 
				 1  | 
				 1  | 
				 
  | 
| 
				 4.14. « .Отчество  | 
				 +  | 
				 «  | 
				 «  | 
				 «  | 
				 1)  | 
				 
  | 
				 1  | 
				 1  | 
				 
  | 
| 
				 4.15. Л/номер оператора  | 
				 1.3  | 
				 строка цифр  | 
				 6  | 
				 
  | 
				 
  | 
				 
  | 
				 1  | 
				 1  | 
				 
  | 
| 
				 4.16. Дата заступления  | 
				 1.4  | 
				 дата  | 
				 
  | 
				 
  | 
				 
  | 
				 
  | 
				 1  | 
				 1  | 
				 
  | 
| 
				 Функция 5 «Отчет о вызове»  | |||||||||
| 
				 5.1. Нпп вызова  | 
				 1.1  | 
				 полож. целое  | 
				 
  | 
				 
  | 
				 
  | 
				 
  | 
				 1  | 
				 1  | 
				 4)  | 
| 
				 5.2. Номер отчета  | 
				 1.2  | 
				 строка цифр  | 
				 6  | 
				 
  | 
				 
  | 
				 
  | 
				 1  | 
				 1  | 
				 
  | 
| 
				 5.3. Мероприятия  | 
				 1.3  | 
				 текст  | 
				 <=256  | 
				 
  | 
				 
  | 
				 
  | 
				 1  | 
				 1  | 
				 
  | 
| 
				 5.4. Примечания  | 
				 1.4  | 
				 текст  | 
				 <=256  | 
				 
  | 
				 
  | 
				 
  | 
				 0  | 
				 1  | 
				 
  | 
Примечания:
1) Русскоязычные фамилии, имена, отчества (первая буква прописная, остальные — строчные; возможны двойные фамилии, разделенные дефисом, многословные имена, разделенные пробелами.
2) Дата рождения > Текущая дата – 100 лет; Дата рождения < Текущая дата – 20 лет.
3) Значение даты <= Текущей даты.
4) Следующее значение (инкремент).
Таблица 2.2.
Ограничения кортежей
| 
				 № п/п  | 
				 Источник  | 
				 Группа атрибутов  | 
				 Ограничение  | 
| 
				 Функция 1 «Регистрация вызова»  | |||
| 
				 
  | 
				 В данной функции ограничения на кортежи не выявлены.  | ||
| 
				 Функция 2 «Учет кадров»  | |||
| 
				 2.1  | 
				 +  | 
				 Дата рождения, Дата назначения  | 
				 Дата назначения – Дата рождения >= 20 лет  | 
| 
				 2.2  | 
				 +  | 
				 Дата назначения, Дата увольнения  | 
				 Дата увольнения > Дата назначения  | 
| 
				 2.3  | 
				 +  | 
				 Дата рождения ребенка, Дата рождения сотрудника  | 
				 Дата рождения сотрудника < Дата рождения ребенка  | 
| 
				 Функция 3 «Учет материальной части»  | |||
| 
				 
  | 
				 В данной функции ограничения на кортежи не выявлены.  | ||
| 
				 Функция 4 «График дежурств»  | |||
| 
				 4.1  | 
				 +  | 
				 Л/номер оператора, л/номер спасателя  | 
				 Л/номер дежурного ≠ л/номер оперативника  | 
Таблица 2.3.
Ограничения уникальности
| 
				 № п/п  | 
				 Источник  | 
				 Группа атрибутов  | 
				 Среди каких экземпляров имеет место уникальность  | 
| 
				 Функция 1 «Регистрация вызова»  | |||
| 
				 1.1  | 
				 +  | 
				 Нпп  | 
				 среди всех вызовов  | 
| 
				 1.2  | 
				 +  | 
				 Личный номер  | 
				 среди всех сотрудников  | 
| 
				 Функция 2 «Учет кадров»  | |||
| 
				 2.1  | 
				 +  | 
				 Личный номер  | 
				 среди всех сотрудников  | 
| 
				 2.2  | 
				 +  | 
				 Фамилия, Имя, Отчество  | 
				 «  | 
| 
				 2.3  | 
				 +  | 
				 Паспортные данные  | 
				 «  | 
| 
				 2.4  | 
				 +  | 
				 Дети.Нпп  | 
				 среди всех детей одного сотрудника  | 
| 
				 2.5  | 
				 +  | 
				 Карьера.Нпп  | 
				 среди всех мест работы одного сотрудника  | 
| 
				 2.6  | 
				 +  | 
				 Карьера.Дата назначения  | 
				 «  | 
| 
				 2.7  | 
				 +  | 
				 Карьера.Дата увольнения  | 
				 «  | 
| 
				 Функция 3 «Учет материальной части»  | |||
| 
				 3.1  | 
				 +  | 
				 Инвентарный номер  | 
				 среди всего имущества  | 
| 
				 3.2  | 
				 +  | 
				 Личный номер сотрудника  | 
				 среди всех сотрудников  | 
| 
				 Функция 4 «График дежурств»  | |||
| 
				 4.1  | 
				 +  | 
				 Нпп  | 
				 среди всех дежурств  | 
| 
				 4.2  | 
				 +  | 
				 Дата заступления  | 
				 «  | 
| 
				 4.3  | 
				 +  | 
				 Наряд.Нпп  | 
				 среди всех нарядов  | 
| 
				 4.4  | 
				 +  | 
				 Наряд.Оперативник.Личный номер  | 
				 среди всех сотрудников наряда  | 
| 
				 4.5  | 
				 +  | 
				 Оператор.Личный номер  | 
				 среди всех сотрудников  | 
| 
				 Функция 5 «Отчет о вызове»  | |||
| 
				 5.1  | 
				 +  | 
				 Нпп  | 
				 среди всех вызовов  | 
| 
				 5.2  | 
				 +  | 
				 Номер протокола  | 
				 среди всех протоколов  | 
Динамические ограничения
В функциях 1-5 динамические ограничения не выявлены
Таблица 2.5.
Другие ограничения
| 
				 № п/п  | 
				 Источник  | 
				 Группа атрибутов  | 
				 Ограничение  | 
| 
				 Функция 1 «Регистрация вызова»  | |||
| 
				 1.1  | 
				 +  | 
				 Нпп  | 
				 Последовательность номеров, соответствующая вызовам, должна начинаться с 1 и не иметь пропусков  | 
| 
				 1.2  | 
				 +  | 
				 Нпп, Дата вызова, время вызова  | 
				 Хронологическая последовательность значений «Дата вызова», «Время вызова» упорядоченных по «Нпп»  | 
| 
				 Функция 2 «Учет кадров»  | |||
| 
				 2.1  | 
				 +  | 
				 Карьера.Дата увольнения  | 
				 «Дата увольнения», соответствующая данному сотруднику, может быть незаполненной только для последнего места его работы (текущей)  | 
| 
				 2.2  | 
				 +  | 
				 Карьера.Нпп, Дата назначения, Дата увольнения  | 
				 Хронологическая последовательность значений «Дата назначения», «Дата увольнения» в агрегате «Карьера», соответствующих одному сотруднику, упорядоченных по «Нпп»  | 
| 
				 2.3  | 
				 +  | 
				 Карьера.Нпп  | 
				 Последовательность номеров, соответствующая должностям, должна начинаться с 1 и не иметь пропусков  | 
| 
				 2.4  | 
				 +  | 
				 Дети.Нпп, Дата рождения  | 
				 Хронологическая последовательность значений «Дата рождения» в агрегате «Дети», соответствующих одному сотруднику, упорядоченных по «Нпп»  | 
| 
				 2.5  | 
				 +  | 
				 Дети.Нпп  | 
				 Последовательность номеров, соответствующая должностям, может начинаться с 0 и не иметь пропусков  | 
| 
				 Функция 3 «Учет материальной части» — ограничения не выявлены  | |||
| 
				 
  | 
				 
  | 
				 
  | 
				 
  | 
| 
				 Функция 4 «График дежурств»  | |||
| 
				 4.1  | 
				 4.1  | 
				 Дежурство.Нпп,Дата заступления  | 
				 Хронологическая последовательность значений «Дата заступления» в связях «Дежурство» упорядоченных по «Нпп»  | 
| 
				 4.2  | 
				 4.2  | 
				 Дежурство.Нпп  | 
				 Последовательность номеров, соответствующая номерам дежурств, должна начинаться с 1 и не иметь пропусков  | 
| 
				 4.3  | 
				 4.3  | 
				 Наряд.Нпп  | 
				 Последовательность номеров, соответствующая нарядам, должна начинаться с 1 и не иметь пропусков  | 
| 
				 Функция 5 «Отчет о вызове»  | |||
| 
				 5.1  | 
				 5.1  | 
				 Отчет.Нпп  | 
				 Последовательность номеров, соответствующая вызовам, должна начинаться с 1 и не иметь пропусков  | 
Таблица 2.6.
Операционные правила
| 
				 № п/п  | 
				 Источник (табл. 1.3)  | 
				 Группа атрибутов  | 
				 Ограничение  | 
| 
				 Функция 1 «Регистрация вызова» — Правила не выявлены  | |||
| 
				 
  | 
				 
  | 
				 
  | 
				 
  | 
| 
				 Функция 2 «Учет кадров»  | |||
| 
				 2.1  | 
				 +  | 
				 Атрибуты, относящиеся к сотруднику: Личный номер, Фамилия, Имя, Отчество, … и т.д.  | 
				 При удалении записи о каком-либо сотруднике все сведения о нем переносятся в архивную базу с указанием даты-времени, причины удаления и имени пользователя, выполнившего удаление. Эти сведения хранятся в архивной базе не менее 1 года, а затем могут быть автоматически удалены  | 
| 
				 Функция 3 «Учет материальной части»  | |||
| 
				 3.1  | 
				 +  | 
				 Атрибуты относящиеся к имуществу: Название, Идент. номер.  | 
				 При удалении записи о каком-либо имуществе все сведения о нем переносятся в архивную базу с указанием даты-времени, причины удаления и имени пользователя, выполнившего удаление. Эти сведения хранятся в архивной базе не менее 1 года, а затем могут быть автоматически удалены  | 
| 
				 Функция 4 «График дежурств» — Правила не выявлены  | |||
| 
				 
  | 
				 
  | 
				 
  | 
				 
  | 
| 
				 Функция 5 «Отчет о вызове» — Правила не выявлены  | |||
| 
				 
  | 
				 
  | 
				 
  | 
				 
  | 
