ПЗ автоматизації обліку успішності з фізичного виховання
Курсовая работа, 24 Мая 2013, автор: пользователь скрыл имя
Описание работы
Целью такой программы является просмотр сдачи студентом определенных нормативов, указанных в учебном плане заведения. Таким образом сократиться время поиска студента среди всех членов группы, и просмотр нормативов будет удобным, так как будет отвечать только заданному студенту.
Содержание
Введение 2
1 Постановка задачи 4
1.1 Требования пользователя 4
1.1.1 Мандатные требования 4
1.1.2 Ограничительные требования 4
2 Анализ требований 6
2.1 Анализ и обзор предметной области 6
2.2 Глоссарий 6
2.3 Описание вариантов использования ПО 7
2.4 Требования к ПО 13
2.4.1 Функциональные требования 13
2.4.2 Нефункциональные требования 13
3 Архитектурное и детальное проектирование ПО 14
3.1 Архитектурное проектирование клиентской части ПО 14
3.2 Архитектурное проектирование серверной части ПО 15
3.2.1 Логическая модель даннях 15
3.2.1.1 Выделение сущностей и атрибутов предметной области 15
3.2.2 Выделение связей между сущностями 17
3.2.3 Построение логической схемы БД 17
3.3 Детальное проектирование ПО 18
3.3.1 Детальное проектирование клиентской части ПО 18
3.3.2 Детальное проектирование серверной части ПО 20
3.3.2.1 Описание таблиц БД на основе логической модели БД 20
4 Проверка работоспособности ПО 21
Выводы 24
Список литературы 25
Приложение А. Листинг исходных кодов SQL-сценариев для создания таблиц БД 26
Приложение В . Листинг исходного кода клиентской части приложения 28
Работа содержит 1 файл
lozovaya_kursach_java.docx
— 608.55 Кб (Скачать)Для реализации пользовательских требований в полном объеме, были созданы следующие программные классы пакета model:
В пакете domain разработаны следующие пользовательские классы:
- Department – хранит информацию о кафедре
- Faculty – хранит информацию о факультете
- Group – хранит информацию о группе
- Lecturer – хранит информацию о преподавателях
- Normative – хранит информацию об успеваемости
- Result – хранит информацию о результатах
- Semestr – хранит информацию о название семестра
- Student – хранит информацию о студентах
Пакет controls:
- ConnectioDB – класс для соединения с БД
- Utils – класс, содержащий дополнительные методы:
- getStudentsList() – метод для получения списка всех студентов
- getStudentsListForGroup – метод для получения списка студентов по группе
- getListGroups() – метод для получения списка группы
- getResultListForStudent(String id_student) – метод для получения результатов определенного студента
- deleteStudent(int id_student) – метод для удаления опреленного студента
- deleteResult(int id_result) – метод для удаления результатов успеваемости
- getListNormative() – метод получения списка нормативов
- getListLecturer() – метод для получения списка преподавателей
- getListSemestr() – метод для получения списка названий семестров
На рис. 3.7 представлено дерево интерфейса ПО автоматизации учета успеваемости по физическому воспитанию.
Рисунок 3.7 - Дерево интерфейса ПО автоматизации учета успеваемости по физическому воспитанию
3.3.2 Детальное проектирование серверной части ПО
3.3.2.1 Описание таблиц БД на основе логической модели БД
В таблицах 3.1 – 3.8 приведено описание таблиц БД, включающее названия таблиц, полей таблиц, типы полей и их описание.
Таблица 3.1 – Faculty (Факультет)
Название поля |
Тип |
Ограничение |
Примечания |
id_faculty |
INT |
PK |
Номер факультете |
name_faculty |
VARCHAR |
UNIQUE KEY |
Название факультета |
Таблица 3.2 - Department (Кафедра)
Название поля |
Тип |
Ограничение |
Примечания |
id_department |
INT |
PK |
Номер кафедры |
code_department |
VARCHAR |
UNIQUE KEY |
Код кафедры |
name_department |
VARCHAR |
Название кафедры | |
id_faculty |
INT |
Номер факультета |
Таблица 3.3 - Group (Группы)
Название поля |
Тип |
Ограничение |
Примечания |
id_group |
INT |
PK |
Номер группы |
id_department |
INT |
Номер кафедры | |
name_group |
VARCHAR |
Название группы |
Таблица 3.4 - Normative (Нормативы)
Название поля |
Тип |
Ограничение |
Примечания |
id_normative |
INT |
PK |
Номер норматива |
name_normative |
VARCHAR |
Название норматива |
Таблица 3.5 - Semestr (Семестр)
Название поля |
Тип |
Ограничение |
Примечания |
id_semestr |
INT |
PK |
Номер семестра |
name_semestr |
VARCHAR |
Название семестра |
Таблица 3.6 - Student (Студенты)
Название поля |
Тип |
Ограничение |
Примечания |
id_student |
INT |
PK |
Номер студента |
surname_student |
VARCHAR |
UNIQUE KEY |
Фамилия |
firstname_student |
VARCHAR |
Имя | |
middlename_student |
VARCHAR |
Отчество | |
id_group |
INT |
Номер группы | |
phone_student |
VARCHAR |
Номер телефона |
Таблица 3.7 - Lecturer (Преподаватели)
Название поля |
Тип |
Ограничение |
Примечания |
id_lecturer |
INT |
PK |
Номер преподавателя |
id_department |
INT |
Номер кафедры | |
surname_lecturer |
VARCHAR |
UNIQUE KEY |
Фамилия |
firstname_lecturer |
VARCHAR |
Имя | |
middlename_lecturer |
VARCHAR |
Отчество |
Таблица 3.8 - Result (Результаты)
Название поля |
Тип |
Ограничение |
Примечания |
id_result |
INT |
PK |
Номер оценки |
id_semestr |
INT |
Номер семестра | |
id_lecturer |
INT |
Номер преподавателя | |
id_normative |
INT |
Номер норматива | |
id_student |
INT |
Номер студента | |
evaluation |
INT |
Оценка | |
delivery_date |
DATE |
Дата сдачи |
Код создания таблиц приведен в приложении А.
4 Проверка работоспособности ПО
На рисунке 4.1- изображена экранная форма «Авторизация пользователя».
После того как запустилось приложение открывается экранная форма авторизации пользователя в системе, где требуется заполнить поля «Логин» и «Пароль» пользователя, после чего выполняется вход в систему. Если какое-либо из полей не заполнено или данные введены неправильно, система выдает сообщение об ошибке.
Рисунок 4.1 – Авторизация пользователя
На рисунке 4.2 представлена главная форма программы «Физическое воспитание учебного заведения»
После того как пользователь выполнил вход в систему, перед ним открывается главная форма программы, которая позволяет выбрать группу, с которой пользователь будет работать, после чего становятся активными дальнейшие действия для работы со студентами.
Рисунок 4.2 – Главная форма программы.
На рисунке 4.3 представлена форма добавления студента в группу.
После того как пользователь выбрал группу с которой он будет работать, появляется возможность действия «Добавить студента», «Редактировать студента», а также «Удалить студента». Пользователь заполняет следующие поля при действие «Добавить студента»:ФИО студента, номер группы, телефонный номер.
Рисунок 4.3 - Добавление студента в группу.
На рисунке 4.4 представлена форма редактирования студента.
Если пользователь хочет редактировать информацию о студентах, он нажимает кнопку «Редактировать студента». После чего необходимо заполнить следующие поля: ФИО студента, номер группы, телефонный номер.
Рисунок 4.4 - Редактирование студента.
На рисунке 4.5 представлена форма добавления успеваемости.
После
того как пользователь выбрал
определенного студента, он может
добавить данные о его
Рисунок 4.5 - Добавление успеваемости.
Выводы
В ходе выполнения курсового
проекта по учебной дисциплине «Проектирование
распределенных систем ЭВМ» было разработано
программное обеспечение «
Были поставлены требования пользователя:
- мандатные требования;
- ограничительные требования.
Был разработан глоссарий проекта, описаны варианты использования.
После чего были разработаны требования к ПО:
- функциональные требования;
- нефункциональные требования.
Было проведено архитектурное и детальное проектирование клиентской и серверной частей ПО.
На основе выделенных сущностей и их атрибутов была построена логическая модель данных.
Была проведена проверка работы ПО. В результате проведения функциональных тестов ошибок выявлено не было.
Список литературы
- ru.wikipedia.org/wiki/Проектир
ование_баз_данных. - ru.wikipedia.org/wiki/Физическ
ая_модель. - Наконечний С.І. , Савіна С.Є. Програмування: Навч. посібник – К., КНЕУ, 2005 – 401с.
- Симонович С.В., Евсеев Г.А., Алексеев А.Г. Специальная информатика: Учебное пособие- М., АСТ-ПРЕСС, 2008 - 480с.
- П.Ноутон, Г.Шилдт «Java 2», Изд.дом «Вильямс», 2008.
- Стивен Стелтинг, Олав Маассен «Применение шаблонов Java», Москва, 2002.
- Мартин Фаулер, Кендалл Скотт «Основы UML», Москва, 2005.
- ru.wikipedia.org/wiki/Естестве
нный_язык - support.microsoft.com/kb/
283878/ru
Приложение А. Листинг исходных кодов SQL-сценариев для создания таблиц БД
CREATE TABLE `faculty` (
`id_faculty` int(3) NOT NULL AUTO_INCREMENT,
`name_faculty` varchar(30) NOT NULL,
PRIMARY KEY (`id_faculty`),
UNIQUE KEY `name_faculty` (`name_faculty`)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8 PACK_KEYS=0;
CREATE TABLE `department` (
`id_department` int(3) NOT NULL AUTO_INCREMENT,
`code_department` varchar(3) NOT NULL,
`name_department` varchar(50) NOT NULL,
`id_faculty` int(3) NOT NULL,
PRIMARY KEY (`id_department`),
UNIQUE KEY `code_department` (`code_department`),
KEY `id_faculty` (`id_faculty`),
CONSTRAINT `department_fk` FOREIGN KEY (`id_faculty`) REFERENCES `faculty` (`id_faculty`)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8 PACK_KEYS=0;
CREATE TABLE `group` (
`id_group` int(11) NOT NULL AUTO_INCREMENT,
`id_department` int(11) NOT NULL,
`name_group` varchar(4) NOT NULL,
PRIMARY KEY (`id_group`),
KEY `id_department` (`id_department`),
CONSTRAINT `group_fk` FOREIGN KEY (`id_department`) REFERENCES `department` (`id_department`)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8 PACK_KEYS=0;
CREATE TABLE `normative` (
`id_normative` int(11) NOT NULL AUTO_INCREMENT,
`name_normative` varchar(20) NOT NULL,
PRIMARY KEY (`id_normative`)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8 PACK_KEYS=0;
CREATE TABLE `semestr` (
`id_semestr` int(11) NOT NULL AUTO_INCREMENT,
`name_semestr` varchar(20) NOT NULL,
PRIMARY KEY (`id_semestr`)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8 PACK_KEYS=0;
CREATE TABLE `student` (
`id_student` int(6) NOT NULL AUTO_INCREMENT,
`surname_student` varchar(20) NOT NULL,
`firstname_student` varchar(20) NOT NULL,
`middlename_student` varchar(20) NOT NULL,
`id_group` int(3) NOT NULL,
`phone_student` varchar(10) NOT NULL,
PRIMARY KEY (`id_student`),
UNIQUE KEY `surname_student` (`surname_student`),
UNIQUE KEY `surname_student_2` (`surname_student`),
KEY `id_group` (`id_group`),
CONSTRAINT `student_fk` FOREIGN KEY (`id_group`) REFERENCES `group` (`id_group`)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8 PACK_KEYS=0;
CREATE TABLE `lecturer` (
`id_lecturer` int(3) NOT NULL AUTO_INCREMENT,
`id_department` int(3) NOT NULL,
`surname_lecturer` varchar(20) NOT NULL,
`firstname_lecturer` varchar(20) NOT NULL,
`middlename_lecturer` varchar(20) NOT NULL,
PRIMARY KEY (`id_lecturer`),
UNIQUE KEY `surname_lecturer` (`surname_lecturer`),
KEY `id_department` (`id_department`),
CONSTRAINT `lecturer_fk1` FOREIGN KEY (`id_department`) REFERENCES `department` (`id_department`)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8 PACK_KEYS=0;
CREATE TABLE `result` (
`id_result` int(3) NOT NULL AUTO_INCREMENT,
`id_semestr` int(3) NOT NULL,
`id_lecturer` int(3) NOT NULL,
`id_normative` int(3) NOT NULL,
`id_student` int(3) NOT NULL,
`evaluation` int(2) NOT NULL,
`delivery_date` date NOT NULL,
PRIMARY KEY (`id_result`),
KEY `id_semestr` (`id_semestr`),
KEY `id_lecturer` (`id_lecturer`),
KEY `id_normative` (`id_normative`),
KEY `id_student` (`id_student`),
CONSTRAINT `result_fk2` FOREIGN KEY (`id_semestr`) REFERENCES `semestr` (`id_semestr`),
CONSTRAINT `result_fk3` FOREIGN KEY (`id_lecturer`) REFERENCES `lecturer` (`id_lecturer`),
CONSTRAINT `result_fk4` FOREIGN KEY (`id_normative`) REFERENCES `normative` (`id_normative`),
CONSTRAINT `result_fk5` FOREIGN KEY (`id_student`) REFERENCES `student` (`id_student`)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8 PACK_KEYS=0;
Приложение В . Листинг исходного кода клиентской части приложения
JFrameMain.java
package view;
import controls.Utils;
import model.Result;
import model.Student;
import javax.swing.*;