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

Посмотреть архив целиком

ВВЕДЕНИЕ


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

    1. Surname фамилия

    2. Name - имя

    3. Patronymic – отчество

    4. Login - логин

    5. Passwordmd5 хеш пароля

    6. Date_born – дата рождения

  2. Role – возможные роли пользователей

    1. Name – название

    2. About – описание роли

  3. User_role – связывает пользователя с ролью, что позволяет одному пользователю назначать несколько ролей.

  4. Form_learning – форма обучения

    1. Type – тип формы обучения (заочная, денная)

  5. Exam – содержит все возможные вступительные экзамены

    1. Name – название экзамена

  6. Source_exam – содержит возможные источники экзамена (институтский, внешнее тестирование)

    1. Name - название источника

  7. Assessment – оценка абитуриента по определённому экзамену

    1. Assessment-значение оценки (1, 2, 3 и т. д.)

  8. Applicant – содержит всех абитуриентов поступавших в институт

    1. Diplom_number – номер диплома

    2. Passporn_number – номер паспорта

    3. Code – идентификационный код

    4. Refusaltrue, если студент забрал документы

    5. Year – год поступления

  9. Privilege – возможные привилегии студентов

    1. Name – название привилегии


Случайные файлы

Файл
183931.rtf
PDA-0102.DOC
33933.rtf
107190.doc
28349.rtf




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