ПЗ автоматизації обліку успішності з фізичного виховання
Форма № Н-6.01
Національний аерокосмічний
“Харківський авіаційний інститут”
Факультет економіки та менеджменту
Кафедра інженерії програмного забезпечення
КУРСОВИЙ ПРОЕКТ
з ____Проектування _розподільних _систем_________________
(назва дисципліни)
на тему:__ПЗ автоматизації обліку успішності з
фізичного виховання___________
Студента (ки) _4_курсу 641п групи
напряму
підготовки__050103____________
спеціальності_програмна інженерія_
___Лозова А.С.__________________
(прізвище та ініціали)
Керівник_Молодих Л.С._____________
(посада, вчене звання, науковий ступінь, прізвище та ініціали)
Національна шкала ____________________
Кількість балів: ______Оцінка: ECTS
Члени комісії ___Молодих Л.С. Резуненко О.О.
Туркін І.Б.__________
м. Харків - 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 Постановка задачи
Разаработать ПО для автоматизации учебного процесса по физическому воспитанию учебного заведения и реализовать на языке программирования Java объектно-ориентированное распределенное программное приложение, предназначенное для организации процесса сдачи нормативов студентов, на основе модели двухуровневой архитектуры взаимодействия распределенных сетевых приложений.
Требования пользователя
Мандатные требования
- ПО справочно- информационной системы физического воспитания студентов должно производить регистрацию и авторизацию пользователя;
- ПО должно производить добавление информации о студентах в группу;
- ПО должно предусматривать редактирование информации о студентах;
- ПО должно производить удаление информации о студентах;
- ПО должно предоставлять возможность добавление информации о сдаче нормативов;
- ПО должно предоставлять возможность удаления информации о нормативах;
- ПО справочно- информационной системы физического воспитания студентов должно обеспечить вывод на экран информации о сдаче норматива запрашиваемого студента;
- ПО справочно-информационной системы физического воспитания студентов должно иметь двух уровневую архитектуру;
- ПО должно предоставлять интуитивно понятный пользовательский интерфейс;
- ПО справочно-информационной системы физического воспитания студентов должно хранить информацию о студентах и нормативах в базе данных;
1.1.2 Ограничительные требования
1.1.2.1. ПО должно функционировать на ПК с ОС семейства Windows;
1.1.2.2. Информация должна храниться в базе данных MYSQL Server 2005.
1.1.2.3. В качестве инструментальных средств разработки должен использоваться пакет разработчика фирмы Sun Microsystems Inc. J2SE SDK версии 1.2 и выше (платформа Java 2).
1.1.2.4. ПО должно функционировать на компьютере с характеристиками:
- Процессор: 2*(2.33GHz Intel® Xeon® E5345 Core 2 QuadCore 1333MHz FSB, 2 x 4096Kb L2 cache);
- Оперативная память (ОЗУ): 16Gb (до 64Gb) FB-DIMM DDR PC2-5300 ECC Full Buffered (16 DIMM slots);
- Постоянная память (ПЗУ): 3*( HDD 400Gb SerialATA 7200rpm);
- Мышь: Мышь Microsoft или совместимая;
- Клавиатура;
2 Анализ требований
2.1 Анализ и обзор предметной области
Необходимо создать ПО для просмотра сдачи студентом определенных нормативов, указанных в учебном плане заведения, которое также сократит время преподавателя, затраченного на поиск данных о студентах.
Студент осуществляет сдачу нормативов по физическому воспитанию, бег, брусья, пресс и т.д. Преподаватель, в свою очередь, после сдачи студентом норматива заносит данные в базу данных, выбрав предварительно название и номер группы студента, после чего заполняет информацию о сдаче: название/номер семестра, ФИО преподавателя, принимавшего норматив, вид норматива, оценка и дата сдачи норматива. Затем сохраняет информацию в базе данных. Данная операция позволит преподавателю в дальнейшем сократить время на поиск и сохранить информацию о сдаче нормативов студентами.
При изменении каких-либо данных преподаватель может произвести удаление/редактирование информации как о студенте, так и о сдаче норматива.
2.2 Глоссарий
В табл. 2.2 представлен глоссарий к проекту информационно-справочной системы физического воспитания студентов.
Таблица 2.2 - Глоссарий информационно-
Преподаватель |
должность, занимающая промежуточное положение между ассистентом и старшим преподавателем. На преподавателей возлагается проведение семинарских и лабораторных занятий и помощь лектору в приёме зачётов или экзаменов у студентов. Как правило на данную должность назначаются педагоги без учёной степени с опытом работы. |
Студе́нт |
(от лат. studens — усердно работающий, занимающийся) учащийся высшего, в некоторых странах и среднего учебного заведения. |
Норматив |
правило или количественное значение каких либо показателей. |
Оценка |
выраженное в числе мнение преподавателя (другого проверяющего лица) об уровне знаний ученика (качестве его работы). |
Семестр |
обозначение полугодия в высших и средних специальных учебных заведениях. В семестр обычно также включаются каникулы. |
2.3 Описание вариантов использования ПО
На основании требований была разработана диаграмма вариантов использования (представлена на рисунке. 2.3.1) для пользователя «Преподаватель»
Рисунок 2.3.1 – Диаграмма вариантов использования информационно-справочной системы физического воспитания студентов
В табл. 2.3.1- 2.3.7 приведено описание вариантов использования информационно-справочной системы физического воспитания студентов
Таблица 2.3.1 – Описание варианта использования «Авторизация пользователя»
| Идентификатор |
US-1 | |
Название |
Авторизация пользователя | |
Участники |
Преподаватель | |
Описание |
Авторизация (при входе пользователя в систему) | |
Предусловие |
Преподаватель нажимает кнопку «Логин» | |
Постусловие |
Пользователь может работать с базой данных | |
Основной поток событий |
| |
Альтернативные потоки |
Поток A |
|
Поток В |
| |
Приоритет |
Высокий | |
Таблица 2.3.2– Описание варианта использования «Выбор группы»
| Идентификатор |
US-2 | |
Название |
Выбор группы | |
Участники |
Преподаватель | |
Описание |
Когда преподаватель производит поиск заданного студента | |
Предусловие |
Преподаватель нажимает выпадающий список со всеми группами | |
Постусловие |
Пользователь может работать с выбранной группой | |
| |
| |
Альтернативные потоки |
Поток A |
|
Поток В |
||
Приоритет |
Низкий | |
Таблица 2. 3.3 – Описание варианта использования «Добавить студента»
| Идентификатор |
US-3 | |
Название |
Добавить студента | |
Участники |
Преподаватель | |
Описание |
Когда требуется добавить студента в группу | |
| Предусловие |
Преподаватель нажимает на кнопку «Добавить студента» | |
Постусловие |
База данных студентов изменена | |
| |
| |
Альтернативные потоки |
Поток A |
|
Поток В |
||
Приоритет |
Низкий | |
В табл.
2.3.4 соответствие объектов содержанию
варианту использования «Редактировать
студента».
Таблица 2.3.4 – Описание варианта использования «Редактировать студента»
| Идентификатор |
US-4 | |
Название |
Редактировать студента | |
Участники |
Преподаватель | |
Описание |
Когда преподаватель хочет внести изменения о студенте | |
Предусловие |
Проподаватель нажимает кнопку «Редактировать студента» | |
Постусловие |
База данных студентов сохранена | |
Основной поток событий |
| |
Альтернативные потоки |
Поток A |
|
Поток В |
||
Приоритет |
Низкий | |
В табл. 2.3.5 соответствие объектов содержанию варианту использования «Добавить успеваемость».
Таблица 2.3.5 – Описание варианта использования «Добавить успеваемость»
| Идентификатор |
US-5 | |
Название |
Добавить успеваемость | |
Участники |
Преподаватель | |
Описание |
Когда преподаватель хочет внести данные об успеваемости студента | |
Предусловие |
Пользователь нажимает кнопку «Добавить успеваемость» | |
Постусловие |
Данные об успеваемости студента сохраняются в базу данных | |
| Основной поток событий |
| |
Альтернативные потоки |
Поток A |
|
Поток В |
||
Приоритет |
Низкий | |
Таблица 2.3.6 – Описание варианта использования «Удалить успеваемость»
| Идентификатор |
US-6 | |
Название |
Удалить успеваемость | |
Участники |
Преподаватель | |
Описание |
Когда преподаватель хочет удалить данные об успеваемости студента | |
Предусловие |
Пользователь нажимает кнопку «Удалить успеваемость» | |
Постусловие |
Данные об успеваемости студента успешно удалены | |
| Основной поток событий |
| |
Альтернативные потоки |
Поток A |
|
Поток В |
||
Приоритет |
Низкий | |
В табл. 2.3.7 соответствие объектов содержанию варианту использования «Просмотр успеваемости».
Таблица 2.3.7 – Описание варианта использования «Просмотр успеваемости»
| Идентификатор |
US-7 | |
Название |
Просмотр успеваемости | |
Участники |
Преподаватель | |
Описание |
Преподаватель может посмотреть данные об успеваемости студента | |
Предусловие |
Пользователь выбирает студента, о
котором хочет просмотреть | |
Постусловие |
Пользователь может просмотреть данные об успеваемости | |
| Основной поток событий |
| |
Альтернативные потоки |
Поток A |
|
Поток В |
||
Приоритет |
Низкий | |
2.4 Требования к ПО
2.4.1 Функциональные требования
2.4.1.1 ПО автоматизации учета успеваемости по физическому воспитанию должно выполнять функцию «Добавить студента»:
- ФИО студента;
- номер группы;
- номер телефона;
2.4.1.2 ПО должно выполнять функцию «Редактировать студента».
2.4.1.3 ПО должно выполнять функцию «Удалить студента».
2.4.1.4 ПО должно выполнять функцию «Добавить успеваемость».
2.4.1.5 ПО должно хранить данные об успеваемости студента:
- Номер семестра;
- Преподаватель, принимающий норматив;
- Вид норматива;
- Оценка;
- Дата сдачи;
2.4.1.6 ПО должно предусматривать функцию «Удалить успеваемость».
2.4.1.7 ПО должно показывать данные об успеваемости студента.
2.4.2 Нефункциональные требования
2.4.2.1 Объем оперативной памяти должен быть минимум 512Мб;
2.4.2.2 ПО «Физическое воспитание учебного заведения» должно иметь двухуровневую архитектуру;
2.4.2.3 ПО должно корректно обрабатывать ошибки (исключения) и показывать форму, сообщающую о непредвиденной ситуации в случае возникновения необработанной ошибки;
2.4.2.4 ПО «Физическое воспитание учебного заведения» должно хранить информацию о студентах и успеваемости в базе данных MYSQL Server;
2.4.2.5 В качестве инструментальных средств разработки должен использоваться пакет разработчика фирмы Sun Microsystems Inc. J2SE SDK версии 1.2 и выше (платформа Java 2).
2.4.2.6 Время отклика ПО должно составлять не более 1сек.
2.4.2.7 ПО должна работать с ОС Windows.
2.4.2.8 ПО должно корректно взаимодействовать с любыми антивирусами, установленными на компьютере.
2.4.2.9 ПО должно предоставлять интуитивно понятный пользовательский интерфейс;
3 Архитектурное и детальное проектирование ПО
Архитектурное проектирование клиентской части ПО
Разрабатываемое распределенное
программное приложение должно быть
реализовано с применением
- Уровень клиента - поддержка интерфейса пользователя, первичная обработка вводимой информации, частичная реализация бизнес-логики приложения и логика взаимодействия с сервером базыданных.
- Уровень хранения данных - обеспечение хранения и извлечения данных, поддержка их целостности, а также частичная реализация бизнес логики приложения в виде хранимых на сервере базы данных процедур.
Следовательно, разрабатываемое ПО состоит из двух основных частей.
Первая – это клиентская часть для доступа и манипуляции данными со стороны рабочего места пользователя. Клиентская часть будет общаться с СУБД MySQL посредством выдачи запросов.
Вторая – это серверная часть, включающая в себя собственно модель БД, отражающая предметную область, и реализованная таблицах и других объектах БД для хранения информации. БД находится под управлением СУБД MySQL.
Приложение реализовано на основе объектно-ориентированного подхода к программированию. На основе диаграммы вариантов использования (рис.2.3.1) были выделены концептуальные классы, представленые на рисунке 3.1.1.
Рисунок 3.1- Концептуальные классы ПО
3.2 Архитектурное проектирование серверной части ПО
3.2.1 Логическая модель даннях
3.2.1.1 Выделение сущностей и атрибутов предметной области
Выделение сущностей БД
Для предметной «Физическое воспитание учебного заведения» были выделены сущности, представленные на рисунке 3.1
Рисунок 3.2 – Сущности базы данных.
Описание сущностей:
Department(кафедра) – содержит код кафедры, название кафедры и номер факультета.
Faculty(факультет) – содержит название факультета.
Group(группа) – сущность, содержащая номер кафедры и название группы.
Lecturer(преподаватель) – сущность, содержащая номер кафедры, ФИО преподавателя.
Normative(нормативы)– содержит название норматива.
Result(оценка) – содержит номер семестра, номер преподавателя, номер норматива, номер студента, оценку и дату сдачи.
Semester(семестр)– содержит название(номер) семестра.
Student(студент) – сущность, содержащая ФИО студента, номер группы, номер телефона.
Определение атрибутов сущностей
Рассмотрев предметную область и проанализировав ее, выделяем следующие сущности:
- Faculty
- id_faculty (PRIMARY KEY)
- name_faculty
- Department
- id_department (PRIMARY KEY)
- code_department
- name_department
- id_faculty
- Group
- id_group (PRIMARY KEY)
- id_department
- name_group
- Normative
- id_normative (PRIMARY KEY)
- name_normative
- Semestr
- id_semestr (PRIMARY KEY)
- name_semestr
- Student
- id_student (PRIMARY KEY)
- surname_student
- firstname_student
- middlename_student
- id_group
- phone_student
- Lecturer
- id_lecturer (PRIMARY KEY)
- id_department
- surname_lecturer
- firstname_lecturer
- middlename_lecturer
- Result
- id_result (PRIMARY KEY)
- id_semestr
- id_lecturer
- id_normative
- id_student
- evaluation
- delivery_date
3.2.2 Выделение связей между сущностями
Связь 1:1
В БД нет связи 1:1 между сущностями, т.е. нет таких сущностей, для которых одна запись одной таблицы ассоциировалась бы только с одной записью второй таблицы.
Связь 1:m
Связь 1:m существует между следующими сущностями:
Рисунок 3.3 – ER-диаграмма связи Преподаватель - Успеваемость
Рисунок 3.4 – ER-диаграмма связи Студент – Нормативы
Рисунок 3.3 – ER-диаграмма связи Норматив – Оценки
Связь m:n
В БД нет связи m:n (многие ко многим).
3.2.3 Построение логической схемы БД
На основании требований и выделенных атрибутов в предыдущем разделе, получаем логическую диаграмму БД
Рисунок 3.4 – Логическая ER-диаграмма БД
3.3 Детальное проектирование ПО
3.3.1 Детальное проектирование клиентской части ПО
Разрабатываемое распределенное
программное приложение должно быть
реализовано с применением
Функциональная схема ПО приведена на рисунке 3.4.
Рисунок. 3.5 – Архитектура приложения ПО автоматизации учета успеваемости по физическому воспитанию
Рисунок 3.6 – Cтруктура классов проекта
В пакете viev разработаны следующие классы форм приложения:
JFrameMain.java – главная форма приложения. Позволяет просматривать данные о студентах, редактировать информацию о студентах и нормативах, доступ к следующим формам приложения.
JFrameLogin.java – форма для авторизации пользователей.
JDialogStudent. java – форма добавления студента, позволяет обновлять таблицы Студенты в БД, добавлять студентов в БД, редактировать и удалять информацию о студентах.
JDialogResult. java – форма добавления новой успеваемости, позволяет заносить данные о нормативах в БД.