Автор: Пользователь скрыл имя, 11 Марта 2012 в 21:00, курсовая работа
Целью данного курсового проекта является разработка приложения для работы с много файловой базой данных – ведение базы данных об абитуриентах, подавших документы для поступления в ВУЗ. Программа должна определять средний балл аттестата по итогам ввода данных; регистрировать данные об абитуриентах, поступающих в ВУЗ; сортировать данные по факультету и специальности, а также итоговой оценке абитуриента; производить отбор данных по: факультету, специальности итоговой оценке, среднему баллу аттестата; строить гистограмму распределения итоговых оценок абитуриентов. Данное приложение призвано ускорить процесс расчета и заполнения базы данных.
Введение
1. Разработка архитектуры приложения «Абитуриент»
1.1 Назначение разработки и основание для ее выполнения
1.2 Постановка задачи
1.3 Требования к программе
1.3.1 Требования к графическому интерфейсу пользователя
1.3.2 Требования к архитектуре приложения
1.3.3 Требования к функциональности приложения
1.3.4 Требования к программной документации
1.4 Требование к тестированию
1.5 Архитектура приложения (первоначальная)
1.6 Этапы разработки
1.7 Выводы
2 . Программная документация для проекта «Абитуриент»
2.1 Тестирование программы
2.2. Руководство программиста
2.2.1 Структура программы
2.2.2. Настройка и проверка программы
2.3. Руководство пользователя
2.3.1 Общие сведения о программе
2.3.2.Условие выполнения программы
2.3.3 Выполнение программы
2.4.Сообщения оператору
2.5 Выводы
Выводы
Перечень ссылок
Приложение А
Алгоритм расчета:
1. Вводятся 2 весовых коэффициента для математики и укр. языка - kMat, kUkr. (kMat+kUkr=1)
2. Поле "итог" вычисляется как взвешенная величина от оценок тестирования по математике и укр. язык. Итог = Оценка(математика) * kMat + Оценка (укр. язык) * kUkr;
3. Средний балл аттестата определяется по итогам ввода данных по каждому абитуриенту в отдельной форме с полями: ( Фамилия И.О., какую школу окончил, год окончания, оценки в аттестате по предметам)
Общие требования к приложению
Язык реализации – С#
1. Название элементов интерфейса на русском языке.
2. Главное окно приложения имеет следующие элементы:
панель меню с поддержкой "горячих клавиш": создать новую базу (Ctrl+N), сохранить (Ctrl+S), сериализировать и сохранить как (Ctrl+Alt+S), открыть и дисериализировать (Ctrl+Alt+O), выход (Alt+F4).
панель инструментов с поддержкой всплывающих "подсказок" для кнопок и на панели состояния: создать новую базу, открыть и дисериализировать, сохранить, добавить базу, удалить базу, обновить базу, выборка: по факультету, по специальности, по итоговой оценке, по среднему балу.
строка состояния, в которой должна отображаться информация о коэффициентах для математики и украинского языка.
3. Данные базы отображаться в виде таблицы.
4. Имеется наличие модального диалогового окна "О программе" с информацией о разработчике программы (в том числе фото).
5. Общий интерфейс программы интуитивно понятен.
1. В приложении используется List< ABITURIENТ > DataList – контейнерный клас, содержаший список полей в таблице для сохранения класса ABITURIENT.
2. В приложении используется обработчик исключений на ошибки происходящие при обработке событий ввода/вывода.
3. В проекте файловый ввод-вывод данных с помощью методов Deserialize и Serialize.
4. Данные, считанные из файловой базы данных или предназначенные для записи в нее представляют собой объекты разработанного класса ABITURIENT.
1. Чтение всех записей из файла базы (имя файла базы и каталог файловой системы выбираются пользователем) и их отображение.
2. Добавление записей в файлы баз.
3. Обновление любой записи в файле базы.
4. Удаление любой из записей файла базы.
5. Сортировка записей по: факультету и специальности, итоговой оценке абитуриента.
6. Отбор записей по: факультету, специальности, итоговой оценке, среднему балу аттестата.
7. Построение гистограммы распределения итоговых оценок абитуриентов.
1. Исходный код каждого класса находиться в отдельном файле.
2. В приложении присутствуют комментарии (для классов - назначение класса; для методов - назначение метода, описание параметров и возвращаемого значения) с обязательным использованием соответствующих документационных XML-тегов C#.
3. Выполнение соглашений по записи текста программ на языке C#.
4. Программная документация должна быть оформлена в соответствии с действующими государственными стандартами.
Тестирование программы будет происходить на каждом из этапов разработки. Целью тестирование является поиск и исправления ошибок в программе, которые могут возникнуть при неработоспособных модулях программы.
Тестируем программу по следующим этапам:
1. Контроль ввода данных.
2. Контроль функции удаления записи.
3. Контроль функции фильтрации данных по разным критериям.
Архитектура приложения предположительно будет содержать 2 класса: ABITURIENT и ABITURIENTU. Класс ABITURIENT описание столбцов таблицы. В классе ABITURIENTU будет формироваться список записей. В данном классе инициализируется список. В нём будут содержаться методы добавления записи в таблицу, обновление записи, удаление записи, сохранение в файл, загрузка с файла. В классе Main будет содержать метод - точка входа в программу.
Рис.1.1 Архитектура приложения (первоначальная)
Таблица 1.2. Этапы разработки
№ n/n | Название этапа курсового проекта | Продолжительность этапа |
1. | Уяснение постановки задачи Разработка приложения «Абитуриент» Написан черновой вариант первого раздела пояснительной записки. | 2 недели |
2. | Уточнение архитектуры приложения. Написан окончательный вариант первого раздела пояснительной записки | 1 неделя |
3. | Написана часть проекта и произведена отладка ошибок. Написан, введение, 1 раздел и черновик 2-го раздела пояснительной записки. | 4 недели |
4. | Написан окончательный вариант программы, производится окончательная отладка и тестирования проекта. Написан черновика пояснительной записки (введение, второй раздел, заключение, список использованной литературы) | 2 недели |
5. | Написан окончательный вариант пояснительной записки (введение, первый и второй раздел, заключение, список использованной литературы, приложения) | 2 недели |
В данном разделе были описаны начальные этапы разработки приложения, уточнены требования к приложению и определены сроки представления готового приложения. Также была представлена первоначальная архитектура приложения, в которой было представлено несколько классов, которые были разработаны на начальных этапах.
В результате работы над данным разделом пояснительной записки к курсовому проекту были приведены причины и актуальность разработки данной темы. Разработка программного продукта позволит уменьшить затраты времени на создание БД и их сохранение. Данное приложение освободит работников предприятия от механической работы и позволит больше времени уделять более важной работе на данный период времени. Приложение будет способно после заполнения входной информации сохранить ёё в отдельный файл, одновременно добавляя данные о этом тестировании в базу из которой в будущем полностью автоматически можно будет сгенерировать гистограмму.
База будет содержать все необходимые поля для генерации входящей информации. Выбор записи из базы будет вестись по номеру отчета, так как номера не могут повторяться и идут по порядку.
После проведенного исследования самым удобным вариантом оказалось использование языка программирования С# и платформы .NET Framework 3.5. Следовательно программа будет разработана на современной платформе и длительное время не будет устаревать.
В ходе использования программы будет уменьшены затраты времени на работу с БД что приведет к улучшению производительности персонала.
Поставленные требования к программе будут реализованы в полной мере, при помощи архитектуры программы описанной в пункте 1.4.
Рассмотрены этапы тестирования программы, согласно которым приложение должно проходить все тесты без исключительных ситуаций.
2 . Программная документация для проекта «Абитуриент»
Тестирование программы проводится согласно разработанных ранее этапов.
Для начала проверим ввод данных: для этого мы нажмем «Добавим запись» и введем необходимые данные (рис 2.1.).
Рис. 2.1.Добавление записи
Теперь проверим функцию удаления записи: для этого мы выберем пункт меню «Удалить запись» и выберем номер записи (рис 2.2.).
Рис. 2.2. Удаление записи по номеру
Как видим, на рис 2.3.строка удалена.
Рис. 2.3. Результат удаления записи
Также проверим функцию фильтрации данных: например отфильтруем наши данные по названию факультета, для этого в пункте меню выборка данных нажмем кнопку отбор по факультету и введем нужный факультет. (рис 2.4.)
Рис. 2.4. Отбор по факультету
Как видим, на рис 2.5. фильтрация данных прошла успешно.
Рис. 2.5. Результат отбора по факультету
Теперь проведем фильтрацию по итоговой оценке: для этого в пункте меню в пункте меню выборка данных нажмем кнопку отбор по итоговой оценке и выберем необходимый тип фильтрации: «=», «>=», «<=» относительно введенного числа (рис 2.6.).
Рис. 2.6. Отбор по итоговой оценке
Как видим, на рис 2.7. фильтрация данных прошла успешно.
Рис. 2.7. Результат отбора по итоговой оценке
Программа была создана на базе платформы разработки программного обеспечения .NET 3.5, а поэтому ее структуру удобнее всего рассматривать в виде ее проекта, открытого в среде Microsoft Visual Studio 2008(рис. 2.8.).
Рис. 2.8.Структура проекта программы
Таблица 2.1. Описание классов программы
Класс проекта | Пояснение |
Properties | Свойства проекта программы, которые содержат, в том числе и компонент всех ее ресурсов. |
References | Ссылки на все библиотеки, подключаемые к сборке программы. |
ClassDiagram | Окно информации о программе и ее разработчиках |
ABITURIENT | Класс, который содержит информацию об одном абитуриенте |
ABITURIENTU | Класс, который содержит список абитуриентов и операции над ним |
AboutDlg | Окно для выведения информации о разработчике |
MainWindow | Главная форма программы с меню |
AddEditDialog | Окно для введения параметров для добавления записи в список |
AddEditSchollDialog | Дополнительное окно для введения параметров для добавления записи в список |
GraphicForm | Окно для вывода итоговой информации |
Program | Главный модуль программы |
KoefDialog | Окно для введения коэффициентов оценивания |
RemIndexDialog | Окно для введения номера записи |
SelectItogAttDialog | Окно для ввода значений для выборки по итогу либо аттестации |
SelectSpecialFakItog | Окно для ввода значений для выборки по специальности либо факультету |
Окончательная диаграмма классов проекта имеет вид, показанный на рис.2.9.
Рис. 2.9.Диаграмма классов
20
Рис. 2.9.Диаграмма классов (продолжение)
20
Главные классы программы состоят из следующих компонентов (полей, методов, свойств, событий):
1. ABITURIENТ – класс, для хранения информации об одном абитуриенте
2. ABITURIENTU - класс для выведения информации о разработчике
List< ABITURIENТ > DataList – контейнерный клас содержаший список полей в таблице
AddItem – метод добавления данных в контейнер DataList
DeleteItem – метод удаления данных с контейнера DataList
EditItem - метод редактирования данных в контейнре DataList
SaveDataBase – метод сохранения контейнера DataList в бинарный файл
OpenDataBase – метод открытия контейнера DataList с бинарного файла
3. AboutDlg - класс для выведения информации о разработчике
4. MainWindow - главный класс программы с меню
Содержит множество методов для работы с данными.
5. AddEditDialog – класс для введения параметров для добавления записи в список
AddEditDialog – конструктор заполнения данных по школе
btSchoolData_Click – обработка события нажатия на кнопку
_tbMarkMath_Validated – метод проверки значения в поле коефициента по математике
_tbMarkMova_Validated - метод проверки значения в поле коефициента по украинскому языку
_tbFio_Validated - метод проверки значения в поле фамилии
_cbFuck_Validated - метод проверки значения в поле факультета
_cbSpec_Validated - метод проверки значения в поле специальности
6. AddEditSchollDialog -дополнительный класс для введения параметров для добавления записи в список
_FioBox_Validated - метод проверки значения в поле фамилии
_NumSchoolBox_Validated - метод проверки значения в поле названия школы
_YearBox_Validated - метод проверки значения в поле года окончания школы
Информация о работе Разработка приложения для работы с много файловой базой данных