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

Рис 1. Диаграмма прецедентов Users хранит пользователей системы Surname фамилия Name - имя Patronymic отчество Login - логин Password md5 хеш пароля Date_born

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

Курсовой проект

Компьютеры, программирование

Другие курсовые по предмету

Компьютеры, программирование

Сдать работу со 100% гаранией

ВВЕДЕНИЕ

 

В настоящие время всё больше программ используют для хранения данных базы данных. Так как поиск в них производить значительно легче чем, в обычном файле. Так же СУБД имеет встроенную систему безопасности, что уменьшает риск кражи данных и их порчу. Самым распространенным типом БД являются реляционные базы, где все данные хранятся в таблицах. Благодаря языку запросов 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. Password md5 хеш пароля
  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. Refusal true, если студент забрал документы
  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. Так как эта функция не обратим

Похожие работы

1 2 >