Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

Автоматизация учета абитуриентов ВУЗа

Работа добавлена на сайт samzan.net:

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 25.11.2024

ВВЕДЕНИЕ

В настоящие время всё больше программ используют для хранения данных базы данных. Так как поиск в них производить значительно легче чем, в обычном файле. Так же СУБД имеет встроенную систему безопасности, что уменьшает риск кражи данных и их порчу. Самым распространенным типом БД являются реляционные базы, где все данные хранятся в таблицах. Благодаря языку запросов SQL, возможно осуществлять довольно просто доступ к данным. Все современные языки программирования позволяю посылать запросы и принимать результаты от СУБД. MS SQL сервер и C# является неплохим вариантом для написания программ работающих с большими объёмами данных. Также для студентов предусмотрены бесплатные версии этих продуктов.


1 ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ

1.1 Объектно-ориентированное программирование

Объе́ктно-ориенти́рованное программи́рование (ООП) —парадигма программирования, в которой основными концепциями являются понятия объектов и классов (либо, в менее известном варианте языков с прототипированиемпрототипов).

Классэто тип, описывающий устройство объектовэкземпляров. Класс можно сравнить с чертежом, согласно которому создаются объекты. Обычно классы разрабатывают таким образом, чтобы их объекты соответствовали объектам предметной области.

Прототипэто образцовый объект, по образу и подобию которого создаются другие объекты.

Языки объектного программирования принято делить на объектные, в которых существуют классы и объекты, и объектно-ориентированные, в которых программист может не только пользоваться предопределёнными классами, но и задавать собственные пользовательские классы (либо создавать объекты, устройство которых отличается от устройства прототиповв языках прототипного программирования).

Объектное и объектно-ориентированное программирование возникло в результате развития идеологии процедурного программирования, где данные и подпрограммы (процедуры, функции) их обработки формально не связаны. Кроме того, в современном объектно-ориентированном программировании часто большое значение имеют понятия события (так называемое событийно-ориентированное программирование) и компонента (компонентное программирование).

Объектно-ориентированное программирование в настоящее время является абсолютным лидером в области прикладного программирования (языки Java, C#, C++, JavaScript, ActionScript и др.). В то же время в области системного программирования до сих пор лидирует парадигма процедурного программирования, и основным языком программирования является язык C. Хотя при взаимодействии системного и прикладного уровней операционных систем заметное влияние стали оказывать языки объектно-ориентированного программирования. Например, мультиплатформенным стандартом стала система Qt, написанная на языке C++.

Первым языком программирования, в котором были предложены принципы объектной ориентированности, была Симула. В момент своего появления (в 1967 году), этот язык программирования предложил поистине революционные идеи: объекты, классы, виртуальные методы и др., однако это всё не было воспринято современниками как нечто грандиозное. Тем не менее, большинство концепций были развиты Аланом Кэйем и Дэном Ингаллсом в языке Smalltalk. Именно он стал первым широко распространённым объектно-ориентированным языком программирования.

1.2 SQL

SQL является, прежде всего, информационно-логическим языком, предназначенным для описания хранимых данных, для извлечения хранимых данных и для модификации данных. SQL не является языком программирования. (Вместе с тем стандарт языка спецификацией SQL/PSM предусматривает возможность его процедурных расширений.)

Изначально, SQL был основным способом работы пользователя с базой данных и представлял собой небольшую совокупность команд (операторов) допускающих создание таблиц, добавление в таблицы новых записей, извлечение записей из таблиц (в соответствии с заданным условием), удаление записей и изменение структур таблиц. В связи с усложнением язык SQL стал более языком прикладного программирования, а пользователи получили возможность использовать визуальные построители запросов.

Язык SQL представляет собой совокупность операторов.

Операторы SQL делятся на:

операторы определения данных (Data Definition Language, DDL)

операторы манипуляции данными (Data Manipulation Language, DML)

операторы определения доступа к данным (Data Control Language, DCL)

операторы управления транзакциями (Transaction Control Language, TCL)


2
 АНАЛИЗ ПРОЕКТА

2.1 Определение заинтересованных лиц и их требований

Программа предназначена для облегчения труда и уменьшения ошибок приёмной комиссии ВУЗа. Она позволяет хранить данные о всех поступающих. Исходя из поданных документов определяет какие льготами обладает абитуриент, так же по завершению приёма можно автоматически рассчитать кто попал в институт и на какую форму обучения.

Таблица 1. Пользователи системы и их возможности

Пользователь

Требования

Редактор

Должен иметь возможность создавать в базе новые институты и факультеты, а так же менять данные о существующих, добавлять и изменять возможные дополнительные документы, сопоставлять льготы с документами.

Работник комиссии

Должен получать доступ лишь к специальностям на которые его назначил редактор. Может добавлять, редактировать и удалять абитуриентов на свои специальности.

Администратор

Должен иметь способность добавлять новых пользователей в систему, а также редактировать и удалять существующих.

Директор

Должен иметь возможность просмотреть распределение мест на всех факультетах.

2.2 Используемые технологии

Проект пишется с использованием трёх современных технологий, что существенно упрощает, но с другой стороны и усложняет разработку проекта. Первой технологией является .NET технология, базовым языком которой является язык программирования C#, использующий самый современный подход к программированию, именуемый объектно-ориентировочным программированием. Данный язык был выбран в связи с тем, что он имеет большую функциональность и при этом относительно не сложен в использовании, особенно если имеется опыт программирования в таких языках как С\С++.

Второй же технологией является WPF. Данная технология упрощает создание интерфейса и позволяет динамически менять внешний вид программы. Третьей технологией является реляционная база данных. Мною в качестве сервера баз данных был выбран MS SQL Server. Он был выбран за быстроту работу, а так же за наличие бесплатной версии сервера, которую предоставляет Microsoft на своём сайте. Для работы с базой данных использовались классы ADO.NET. Подключение происходило с помощью специализированных классов работы с MS SQL Server, а не с помощью драйвера. Для написания программы была использована среда разработки Microsoft Visual Studio 2010.

2.3 Прецеденты

У каждого пользователя есть своя задача в приложении. Для выполнения их он должен быть наделён соответствующими правами. Но прав должно быть не больше, чем необходимо, иначе появляется возможность нанесения ущерба данным или их краже. На рисунке 1 изображена диаграмма взаимодействий пользователей с системой. Там можно выделить четыре основных пользователя, у каждого из которых есть свои права.

2.4 База данных

Использование базы данных в таких проектах является осознанной необходимостью. Но прежде чем создать базу данных нужно её спроектировать. Результатом же проектирования является реляционная модель базы, которая приведена в приложении А. Ниже же приведена её структура.

Рис 1. Диаграмма прецедентов

  1.  Usersхранит пользователей системы
  2.  Surname фамилия
  3.  Name - имя
  4.  Patronymic отчество
  5.  Login - логин
  6.  Passwordmd5 хеш пароля
  7.  Date_bornдата рождения
  8.  Role возможные роли пользователей
  9.  Nameназвание
  10.  Aboutописание роли
  11.  User_role – связывает пользователя с ролью, что позволяет одному пользователю назначать несколько ролей.
  12.  Form_learningформа обучения
  13.  Typeтип формы обучения (заочная, денная)
  14.  Examсодержит все возможные вступительные экзамены
  15.  Nameназвание экзамена
  16.  Source_examсодержит возможные источники экзамена (институтский, внешнее тестирование)
  17.  Name - название источника
  18.  Assessmentоценка абитуриента по определённому экзамену
  19.  Assessment-значение оценки (1, 2, 3 и т. д.)
  20.  Applicantсодержит всех абитуриентов поступавших в институт
  21.  Diplom_numberномер диплома
  22.  Passporn_numberномер паспорта
  23.  Codeидентификационный код
  24.  Refusaltrue, если студент забрал документы
  25.  Yearгод поступления
  26.  Privilege возможные привилегии студентов
  27.  Name – название привилегии
  28.  Priorityприоритет привилегии, чем число выше, тем привилегия значимее
  29.  Documentвозможные документы для подачи комиссии
  30.  Nameназвание документа
  31.   Privilege_documentсодержит нужный набор документов для получения каждой привилегии
  32.   Placeсодержит места для каждого года и специальности
  33.  Yearгод
  34.  Budget_placesколичество бюджетных мест
  35.  Contract_placesколичество контрактных мест
  36.  Contractсодержит цены контрактов
  37.  Costцена за год
  38.  Course курс


3. СТРУКТУРА СИСТЕМЫ

3.1 Хранение логинов и паролей

В таблице с пользователями пароль хранится в зашифрованном виде. Шифрованным значение является хэш от пароля. Он получается при помощи алгоритма хеширования MD5. Так как эта функция не обратима, то восстановить пароль пользователю невозможно, при необходимости можно его лишь заменить.

В качестве идентификатора пользователя используются не цифровые идентификаторы пользователя, а статистически уникальный 128-битный идентификатор - GUID.

3.2 Безопасность

Все подключаемые пользователи к базе данных имеют лишь права выполнять процедуры, что делает бесполезным попытку взлома субд из под открытого для всех логина. Так же все процедуры принимают идентификатор пользователя и случае если пользователь не имеет прав или не найден, запрос не будет выполнен. Подбор же идентификатора займёт много времени.

3.3 Системные требования

Для работы приложения на компьютере должна быть установлена ОС Windows XP и выше. Для хранения данных используется MS SQL Server 2005 или выше. Для работы программы база данных должна быть расположена на сервере доступном для приложения. Так же обязательно наличие .NET Framework 4.0 на компьютере.


4. РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ

4.1 Вход в систему

Для входа в систему необходимо ввести свой логин и пароль. Система сама определит к какой группе пользователей вы относитесь. В зависимости от ваших прав, вам будут доступны определённые функции.

Рис. 1 Окно входа

4.2 Изменение параметров соединения с базой

Перед тем как попытаться войти в систему, можно изменить параметры соединения с СУБД. Эта функция очень важна при первом использовании программы.

Рис. 2 Окно настроек подключения


4.3 Навигация

В главном окне программы находится меню, а так же несколько панели с помощью которых можно осуществлять общие действия для всех ролей. В правом углу находятся кнопки для перехода в разделы предназначенные для каждой из ролей.

Рис. 3 Главное окно

4.4 Администратор

Панель администратора представляет из себя список пользователей системы. Все данные пользователей можно менять, а также создавать и удалять пользователей. Доступна возможность назначения ролей пользователям, причем не только одной, а сразу нескольких.

Рис. 4 Окно администратора

4.5 Редактор

В окне редактора институты и их специальности представлены в виде дерева. При выборе специальности мы видим распределения мест. Все данные в окне могут быть изменены а так же добавлены новые записи.

Рис. 5 Окно редактора


4.6 Работник комиссии

В верхней части окна находится список специальностей работника, в нижней список абитуриентов. Слева расположены личные данные выделенного абитуриента.

Рис. 6 Окно работника комиссии

4.7 Директор

Слева находится список институтов и специальностей в иерархическом виде. Справа распределение мест на выбранной специальности.

Рис . 7 Окно директора

Вывод: современные многопользовательские приложения для работы с относительно большими объёмами данных невозможно представить без использования баз данных. Использования вместо баз данных обычных текстовых файлов замедлило б работу программ в разы, вдобавок пришлось бы самостоятельно организовывать взаимодействие через сеть. Так же возможность сохранения процедур на сервере избавляет нас в дальнейшем, при обнаружении ошибок в них, перекомпилировать приложениядостаточно будет обновить процедуры. Использование в разработке последних технологий от Microsoft позволяет сделать процесс программирования значительно проще и соответственно быстрее. Использование WPF позволило без особых трудов обеспечить синхронизацию данных и их представления.




1. массу. В общем ценность белков ни у кого не вызывает сомнений однако практика показывает что на удивленье м
2. Термодинамика растворов неметаллов в металлических расплавах
3. Прокуратура туралы ~аза~стан Республикасыны~ За~ы он екі тараудан ж~не елу то~ыз баптан т~рады А Аудан
4. О социальных гарантиях сотрудникам некоторых федеральных органов исполнительной власти и внесении изменен
5. метод воздействия на поведение покупателя в точке продажи без помощи торгового персонала
6. курсовий проект з дисципліни Автомобільні двигуни Студентові групи
7. А Омск 1999 История болезни Диагноз- Алиментарная анемия nemi limentris Владелец п
8. темах закономерностях и механизмах их возникновения существования и развития
9. Лекция 13 Представление графической информации Битовые образы
10. Школа хуаянь
11. Лабораторная работа.1
12. вступу до шлюбу. Державна реєстрація шлюбу та її правове значення
13. ППДПЗ18
14. энцефалопатия У многих особенно у тех кто страдает гипертонией сахарным диабетом у тех кому уже за 50 лет
15. МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ ПО ПРОВЕДЕНИЮ КОЛЛОКВИУМА ПО КУРСУ ГРАЖДАНСКОЕ ПРАВО РАЗДЕЛ ОБЩАЯ ЧАСТЬ
16. Источник- irc
17. а количество фирм представляющих товары на рынке
18. ТЕМА УПРАВЛІННЯ ОХОРОНОЮ ПРАЦІВ ЗАКЛАДАХ ОСВІТИ ОБЛАСТІ Друкується за рішенням вченої ради Кіровоградсь
19. Моя парикмахерская - организация своего дела
20. Дмитров99 1 день комплекс 1 - Наименование