- •Отчёт по курсовой работе
- •Задание на курсовую работу
- •Выделение прецендентов
- •Определение рамок системы
- •Определение основных исполнителей и задач
- •Описание прецедентов
- •Построение диаграммы прецедентов
- •Описание нефункциональных требований
- •Составление системных диаграмм последовательностей
- •Составление описаний операций
- •Моделирование предметной области
- •Реализация прецедентов
- •Заключение
- •Список литературы
Моделирование предметной области
Модель предметной области создаётся посредством выполнения
следующих действий:
Выделения концептуальных классов.
Отображения их в модели предметной области в виде классов на
диаграммы UML.
Добавления необходимых ассоциаций и атрибутов.
Результатом выполнения этих действий для нашей предметной области будет являться диаграмма классов, представленная на рис.2.
Рисунок 2 - Диаграмма классов предметной области
Составление системных диаграмм последовательностей
Системная диаграмма последовательностей (СДП) — это схема, которая для определённого сценария прецедента показывает генерируемые внешними исполнителями события, их порядок, а также события, генерируемые внутри самой системы. Назначением данной диаграммы является отображение событий, передаваемых исполнителями системе через её границы.
На рис. 3-9 приведены СДП прецедентов нашей предметной области.
Рисунок 3 - СДП “Возрастное ограничение”
Рисунок 4 - СДП “Регистрация сотрудника”
Рисунок 5 - СДП “Корректировка личных данных”
Рисунок 6 - СДП “Внесение в БД”
Рисунок 7 - СДП “Тарификация сотрудника”
Рисунок 8 - СДП “Критерии преподавательской должности”
Рисунок 9 - СДП “Условия контракта”
Составление описаний операций
Описания операций нужны для описания изменения состояния объектов предметной области после реакции системы на системные события.
Ниже приведены описания операций нашей предметной области.
Описание операции ОП1: AgeLimit
Операция: AgeLimit(age: integer)
Ссылки: Прецеденты: Возрастное ограничение
Предусловия: Сотрудник отдела кадров проверяет возраст нового сотрудника по паспорту
Постусловия:
Создан экземпляр age класса Age.
Присваиваемое значение атрибуту user.age проверяется операцией CheckAge. В случае, если возраст сотрудника меньше пенсионного (CheckAge возвращает True), то атрибуту user.age присваивается вводимое значение.
Описание операции ОП2: RegUser
Операция: RegUser(login: string, password: string, surName: string, name: string, middleName: string, language and degree: string, age: integer, education: string, work exp: integer, aval acad degree: boolean, aval acad title: boolean)
Ссылки: Прецеденты: Регистрация сотрудника
Предусловия: Сотрудник отдела кадров открыл форму регистрации.
Постусловия:
● Создан экземпляр user класса User.
● Атрибут user.login проверяется операцией CheckLogin. Если CheckLogin возвращает True, то создаётся новый атрибут user.login.
● Атрибут user.password проверяется на количество символов операцией CheckPassword. В случае, когда количество символов равно или больше 8, то атрибуту user.password присваивается вводимый пароль.
● Атрибуту user.surName присваивается вводимое значение.
● Атрибуту user.name присваивается вводимое значение.
● Атрибуту user.middleName присваивается вводимое значение.
● Атрибуту user.language and degree присваивается выбранное значение из выпадающего списка.
Атрибуту user.age присваивается вводимое значение.
Атрибуту user.education присваивается вводимое образование.
Присваиваемое значение атрибуту user.work exp присваивается вводимое значение.
Атрибуту user.aval acad degree присваивается значение True либо False.
Атрибуту user.aval acad title присваивается значение True либо False.
Описание операции ОП3: CorrectionData
Операция: CorrectionData(login: string, password: string, surName: string, name: string, middleName: string, language and degree: string, age: integer, education: string, work exp: integer, aval acad degree: boolean, aval acad title: boolean)
Ссылки: Прецеденты: Корректировка личных данных
Предусловия: Новый сотрудник запрашивает у сотрудника отдела кадров форму с его текущими личными данными для корректировки
Постусловия:
Атрибут user.login корректируется операцией CorrectLogin. Если CorrectLogin возвращает True, то атрибут user.login обновляется.
Атрибут user.password корректируется и проверяется на количество символов. В случае, когда количество символов равно или больше 8, то атрибуту user.password присваивается новый пароль.
Атрибут user.surName корректируется сотрудником в случае неправильного внесения.
Атрибуту user.name корректируется сотрудником в случае неправильного внесения.
Атрибуту user.middleName корректируется сотрудником в случае неправильного внесения.
Атрибут user.language and degree корректируется путём выбора языка(-ов) из выпадающего списка.
Атрибут user.age корректируется сотрудником в случае неправильного внесения.
Атрибут user.education корректируется сотрудником в случае неправильного внесения.
Атрибут user.work exp корректируется сотрудником в случае неправильного внесения.
Атрибут user.aval acad degree корректируется сотрудником в случае неправильного внесения.
Атрибут user.aval acad title корректируется сотрудником в случае неправильного внесения.
Описание операции ОП4: EnteringDB
Операция: EnteringDB(login: string, password: string, surName: string, name: string, middleName: string, language and degree: string, age: integer, education: string, work exp: integer, aval acad degree: boolean, aval acad title: boolean)
Ссылки: Прецеденты: Внесение в БД
Предусловия: Сотрудник отдела кадров собирает личные данные нового сотрудника подразделения/кафедры для отправки в БД
Постусловия:
Создан экземпляр db класса EntDB.
Значение атрибута user.login (исходное или корректированное) вносится в БД.
Значение атрибута user.password (исходное или корректированное) вносится в БД.
Атрибут user.surName (исходный или корректированный) вносится в БД.
Атрибут cd.name (исходный или корректированный) вносится в БД.
Атрибут cd.middleName (исходный или корректированный) вносится в БД.
Атрибут cd.language and degree (исходный или корректированный) вносится в БД.
Атрибут user.age (исходный или корректированный) вносится в БД.
Атрибут user.education (исходный или корректированный) вносится в БД.
Атрибут user.work exp (исходный или корректированный) вносится в БД.
Атрибут user.aval acad degree (исходный или корректированный) вносится в БД.
Атрибут user.aval acad title (исходный или корректированный) вносится в БД.
Описание операции ОП5: EmployeeTarif
Операция: EmployeeTarif(education: string, work exp: integer, aval acad degree: boolean, aval acad title: boolean)
Ссылки: Прецеденты: Тарификация сотрудника
Предусловия: Сотрудник отдела кадров собирает необходимые данные (образование, опыт работы, наличие учёной степени, учёного звания) о сотруднике подразделения/кафедры
Постусловия:
Создан экземпляр tarif класса EmpTar.
Рассчитывается атрибут tarif на основе данных, используемых в операции
Описание операции ОП6: StandartTeachingPosition
Операция: StandartTeachingPosition(education: string, work exp: integer, aval acad degree: boolean, aval acad title: boolean)
Ссылки: Прецеденты: Критерии преподавательской должности
Предусловия: Новый сотрудник подаёт заявление, диплом о высшем образовании и резюме для принятия его на желаемую должность преподавателя.
Постусловия:
Создан экземпляр STP класса StTeachPos.
Описание операции ОП7: EnrollmentState
Операция: EnrollmentState
Ссылки: Прецеденты: Зачисление в штат
Предусловия: Сотрудник отдела кадров проводит с сотрудником подразделения/кафедры собеседование и при соответствии критериям педагогического состава и наличии свободных мест в соответствии со штатным расписанием получает от него заявление о приёме в штат.
Постусловия:
Создан экземпляр St класса State.
В результате создания описаний операций новые атрибуты были добавлены в модель предметной области (рис.10)
Рисунок 10 - Обновлённая модель предметной области
