Автор работы: Пользователь скрыл имя, 14 Марта 2014 в 13:46, курсовая работа
Есть спортивный зал, в котором проводятся занятия. Необходимо закреплять тренеров за группами, занимающихся определёнными видами спорта. Имеются тренера и группы. Каждый тренер получает определенный гонорара за проведенное занятие. При закреплении тренера за группой составляется договор, в котором прописывается дата закрепления тренера и длительность занятий с группой. По окончании занятий рассчитывается и выплачивается тренеру оговоренная сумма. Субъектом системы является администратор.
Основные исполнители состояний деятельности:
Определим деятельности системы (таблица 2).
Таблица 2 – Определение деятельностей
Прецедент |
Последовательность деятельностей |
Условие перехода |
Исполнитель |
Получить справку |
Выбор раздела |
Пользователь | |
Поиск файла справки |
Модуль справки | ||
Чтение файла справки |
Файл найден |
Модуль справки | |
Выдача файла справки |
Файл прочтён |
Модуль справки | |
Посмотреть список групп |
Запрос на просмотр списка групп |
Демонстрац. модуль | |
Подтверждение на запрос |
Пользователь | ||
Демонстрация списка групп |
Подтверждение |
Демонстрац. Модуль | |
Управлять тренерами |
Запрос на удаление тренера |
Модуль управления | |
Удаление тренера |
Подтверждение |
Администратор | |
Запрос на добавление тренера |
Модуль управления | ||
Добавление тренера |
Подтверждение |
Администратор | |
Запрос на изменение тренера |
Модуль управления | ||
Изменение тренера |
Подтверждение |
Администратор | |
Управлять группами |
Запрос на удаление группы |
Модуль управления | |
Удаление группы |
Подтверждение |
Администратор | |
Запрос на добавление группы |
Модуль управления | ||
Добавление группы |
Подтверждение |
Администратор | |
Запрос на изменение группы |
Модуль управления | ||
Изменение группы |
Подтверждение |
Администратор | |
Управлять закреплением групп |
Запрос на удаление закрепления группы |
Модуль управления | |
Удаление закрепления группы |
Подтверждение |
Администратор | |
Запрос на добавление закрепления группы |
Модуль управления | ||
Добавление закрепления группы |
Подтверждение |
Администратор | |
Запрос на изменение закрепления группы |
Модуль управления | ||
Изменение закрепления группы |
Подтверждение |
Администратор | |
Авторизация Admina |
Запрос на ввод логина и пароля |
Модуль управления | |
Ввод логина и пароля |
Подтверждение |
Администратор | |
А) если проверка прошла удачно, то вход в систему Б) если проверка прошла неудачно, то выход из системы |
Модуль управления |
После описания последовательности деятельностей, составляем общую диаграмму деятельности администратора (рисунок 4).
Рисунок 4 - Общая диаграмма деятельностей администратора
Построим диаграмму классов для сценария «Скорректировать информацию о закреплении тренеров за группами».
Заполнение диаграммы начнём с определения класса-сущностей. Рассматриваемый сценарий состоит из:
- администратора, который выполняет коррекцию информации;
- управляющего закреплением
- всей информации, которую можно скорректировать.
Создадим класс-сущность Admin (администратор), ManagerZakreplenieGrupp (управляющий закреплением групп) и StructureFirm (структура фирмы). Поскольку в структуре фирмы могут быть различные комплектующие, то введём ещё три (необходимых нам по описанию предметной области) класса-сущности: ListTreners (список тренеров), ListGrupps (список групп), ListZakreplenieGrupps (список закрепления нрупп). В каждый из этих классов может входить ещё по классу, их характеризующему: Trener (тренер), Grupp (группа), ZakreplenieGrupp (закрепление группы).
Получим классы предметной области (рисунок 5).
Рисунок 5 –Классы предметной области
Добавим отношения между классами:
Построим классы предметной области и связи между ними (рисунок 6).
Рисунок 5 –Классы предметной области и связи между ними
Параметр |
Значение |
Комментарий |
Класс, представляющий собой тренера |
Атрибуты |
NameTrener:String – ФИО тренера SpecializaciuTrener:Srting – специализация KvaliwikaciuTrener:String – квалификация GonorarTrener:int – гонорар Все атрибуты имеют модификатор доступа - private |
Операции |
«create» Trener() – конструктор умолчания «destroy» Trener() - деструктор Все операции имеют модификатор доступа - public |
Параметр |
Значение |
Комментарий |
Класс, представляющий собой группу |
Атрибуты |
NumberGrupp:int – номер группы VidZanutiiGrupp:String – вид занятий ageName:String – название возрастной категории StatusGrupp:String – статус Все атрибуты имеют модификатор доступа - private |
Операции |
«create» Grupp() – конструктор умолчания «destroy» Grupp() - деструктор Все операции имеют модификатор доступа - public |
Параметр |
Значение |
Комментарий |
Класс, представляющий собой возрастную категорию группы |
Атрибуты |
ageName:String – название возрастной категории ageMax: int – максимальное значение возраста ageMin: int – минимальное значение возраста Все атрибуты имеют модификатор доступа - private |
Операции |
«create» Age() – конструктор умолчания «destroy» Age() - деструктор Все операции имеют модификатор доступа - public |
Класс Grupp и Age – связь композиция, так как класс Age не может выступать в отрыве от целого, при уничтожении класса группа, уничтожится и класс возрастная категория. Группа одна, и она может содержать только одну возрастную категорию, поэтому связь со стороны класса Grupp – 1, а со стороны Age – 1.
Параметр |
Значение |
Комментарий |
Класс, представляющий собой закрепление группы |
Атрибуты |
NameTrener:String – ФИО тренера NumberGrupp:int – номер группы NumberDogovora: int– номер договора dataZakrepleniu:TDate – дата закрепления DlitelnistZanatii: int – длительность занятий Все атрибуты имеют модификатор доступа - private |
Операции |
«create» ZakreplenieGrupp() – конструктор умолчания «destroy» ZakreplenieGrupp() - деструктор Все операции имеют модификатор доступа - public |
Параметр |
Значение |
Комментарий |
Класс, представляющий собой список тренеров |
Атрибуты |
Все атрибуты имеют модификатор доступа - private |
Операции |
AdditionTrener(Trener*):bool – добавление тренера AccentTrener(Trener*) – удаление тренера FindTrener(NameTrener str): Trener* - найти тренера по ФИО «create» ListTreners() – конструктор умолчания «destroy» ListTreners() - деструктор Все операции имеют модификатор доступа - public |
Параметр |
Значение |
Комментарий |
Класс, представляющий собой список групп |
Атрибуты |
Все атрибуты имеют модификатор доступа - private |
Операции |
AdditionGrupp(Grupp*):bool – добавление группы AccentGrupp(Grupp*) – удаление группы FindGrupp(NumberGrupp int): Grupp* - найти группу по номеру «create» ListGrupps() – конструктор умолчания «destroy» ListGrupps() - деструктор Все операции имеют модификатор доступа - public |
Параметр |
Значение |
Комментарий |
Класс, представляющий собой список закрепления групп |
Атрибуты |
Все атрибуты имеют модификатор доступа - private |
Операции |
AdditionZakreplenieGrupp( AccentZakreplenieGrupp( FindZakreplenieGrupp( «create» ListZakreplenieGrupp() – конструктор умолчания «destroy» ListZakreplenieGrupp() - деструктор Все операции имеют модификатор доступа - public |
Параметр |
Значение |
Комментарий |
Класс, представляющий собой базовый класс для контейнеров |
Атрибуты |
Все атрибуты имеют модификатор доступа - private |
Операции |
«create» List() – конструктор умолчания «destroy» List() – деструктор Все операции имеют модификатор доступа - public |
Класс List с классами ListTreners, ListGrupps, ListZakreplenieGrupps – связь обобщение.
Класс StructureFirm:
Параметр |
Значение |
Комментарий |
Класс, представляющий собой структуру фирмы |
Атрибуты |
firmName:String – название listTrenes:ListTreners – список тренеров listZakreplenieGrupps: listGrupps:ListGrupps – список групп Все атрибуты имеют модификатор доступа - private |
Операции |
«create» StructureFirm() – конструктор умолчания «destroy» StructureFirm() - деструктор Все операции имеют модификатор доступа - public |
Параметр |
Значение |
Комментарий |
Класс, представляющий собой администратора фирмы |
Атрибуты |
adminName:String – название администратора Все атрибуты имеют модификатор доступа - private |
Операции |
«create» Admin() – конструктор умолчания «destroy» Admin() - деструктор Все операции имеют модификатор доступа - public |