Скачиваний:
34
Добавлен:
17.06.2021
Размер:
2.81 Mб
Скачать

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

Для построения и описания информационной модели (Рисунок 4.3) была использована база данных MySQL.

Рисунок 4.3 – Структура хранимых данных

На данной диаграмме расположено 6 сущностей: ways, alternatives, users, answers, criteria, questions.

4.4 Описание диаграммы классов

Диаграмма классов – структурная диаграмма языка моделирования UML, демонстрирующая общую структуру иерархии классов системы, их коопераций, атрибутов, методов, интерфейсов и взаимосвязей между ними. Целью создания диаграммы классов является графическое представление статической структуры элементов системы.

Виды связей:

ассоциация;

агрегация;

23

наследования.

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

Агрегация – это ассоциация типа «целое-часть». Агрегация в UML представляется в виде прямой с ромбом на конце.

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

Наследование – это отношение типа «общее-частное». Позволяет определить такое отношение между классами, когда один класс обладает поведением и структурой ряда других классов.

Была разработана диаграмма классов (Рисунок 4.4).

Рисунок 4.4 – Диаграмма классов

Данная диаграмма содержит в себе 6 классов: DataHolder, Criterion, Aliernative, Answer, Question, TheWay.

Первый из них – это класс Question, он нужен для хранения данных о вопросах в тесте. Класс Answer нужен для хранения данных об ответах на вопросы. Эти два класса связаны между собой наследованием, агрегацией и ассоциацией.

24

Следующие классы – Aliernative и TheWay нужны для хранения информации о проектах и их описаниях соответственно. Данные классы связаны между собой наследованием, агрегацией и ассоциацией.

Класс Criterion служит для хранения информации о критериях оценки ответов на вопросы.

Последним из классов является класс DataHolder, содержащий в себе информацию, такую как список проектов, список критериев. Класс связан с классами Criterion Aliernative и Question агрегацией.

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

25

5ОБОСНОВАНИЕ ВЫБОРА ПРОГРАММНЫХ СРЕДСТВ РАЗРАБОТКИ

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

Поэтому для разработки автоматизированной системы учета передвижения продукции были выбраны:

1. СУБД MySql — предоставляет мощные средства для доступа, настройки, администрирования, разработки всех компонентов базы данных и управления ими. MySql — это реляционная система управления базами данных. То есть данные в ее базах хранятся в виде логически связанных между собой таблиц, доступ к которым осуществляется с помощью языка запросов SQL. MySql — свободно распространяемая система. Кроме того, это достаточно быстрая, надежная и, главное, простая в использовании СУБД.

2. Среда Microsoft Visual Studio 2019 и язык программирования C#.

Microsoft Visual Studio — линейка продуктов компании Майкрософт, включающих интегрированную среду разработки программного обеспечения и ряд других инструментальных средств. Данные продукты позволяют разрабатывать как консольные приложения, так и приложения с графическим интерфейсом.

Visual Studio включает в себя редактор исходного кода с поддержкой технологии IntelliSense и возможностью простейшего рефакторинга кода.

Главным преимуществом Visual Studio 2019 является производительность. Обеспечивает возможность создания разнообразных приложений на основе одного набора навыков.

C# — объектно-ориентированный язык программирования.

C# относится к семье языков с C-подобным синтаксисом, из них его синтаксис наиболее близок к C++ и Java. Язык имеет статическую типизацию, поддерживает полиморфизм, перегрузку операторов (в том числе операторов явного и неявного приведения типа), делегаты, атрибуты, события, свойства, обобщённые типы и методы, итераторы, анонимные функции с поддержкой замыканий, LINQ, исключения, комментарии в формате XML.

26

Основные достоинства С#:

C# создавался параллельно с каркасом Framework .Net и в полной мере учитывает все его возможности — как FCL, так и CLR;

C# является полностью объектно-ориентированным языком, где даже типы, встроенные в язык, представлены классами;

C# является мощным объектным языком с возможностями наследования и универсализации;

C# является наследником языков C/C++, сохраняя лучшие черты этих популярных языков программирования. Общий с этими языками синтаксис, знакомые операторы языка облегчают переход программистов от С++ к C#.

В этой главе мы рассмотрели выбранные программные средства разработки, такие как СУБД MySQL, Visual Studio и объектноориентированный язык C#.

27

6 ОПИСАНИЕ АРХИТЕКТУРЫ «КЛИЕНТ-СЕРВЕР»

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

Клиент – компьютер, осуществляющий запрос к серверу на выполнение каких-либо действий или предоставление какой-либо информации.

Сервер – это как правило намного более мощный компьютер, который предназначен для решения определённого круга задач по процессу выполнения программных кодов. Сервер способен обработать запрос от клиента и вернуть корректный ответ.

На рисунке 6.1 наглядно показана архитектура взаимодействия клиента, сервера и базы данных.

Рисунок 6.1 – Клиент-серверная архитектура

Параметры, которые могут реализоваться на стороне сервера:

хранение, защита и доступ к данным;

работа с поступающими клиентскими запросами;

процесс отправки ответа клиенту.

Параметры, которые могут реализоваться на стороне клиента:

площадка по предоставлению пользовательского графического интерфейса;

формулировка запроса к серверу и его последующая отправка;

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

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

28

В разработанном приложении для поиска наилучшей альтернативы на основе принципа Кондорсе взаимодействие между клиентом и сервером осуществляется при помощи HTTP-протокола прикладного уровня, установленного поверх стека протоколов TCP/IP более низких уровней сетевой модели.

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

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

Выделяют два вида клиент-серверных архитектур:

двухуровневая;

трёхуровненвая.

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

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

Трёхуровневая система представлена:

клиентом, функции которого совпадают с функциями клиента в двухуровневой архитектуре;

сервера приложений, к которому подключено клиентское приложение;

сервера баз данных, или менеджера ресурсов, с которым работает

сервер приложений.

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

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

29

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

30

7ОПИСАНИЕ АЛГОРИТМОВ, РЕАЛИЗУЮЩИХ БИЗНЕС-ЛОГИКУ СИСТЕМЫ ПОДБОРА ФАКУЛЬТЕТА ДЛЯ СТУДЕНТА

7.1 Схема алгоритма решения задачи методом ранжирования

Основой для составления схемы (Рисунок 7.1) является процесс подбора факультета для студента методом ранжирования проектов, описанным ранее.

Рисунок 7.1 – Схема алгоритма решения задачи методом ранжирования

Алгоритм начинается с того, что функция принимает данные и выводит на экран окно с тестом, вопросы в котором заключаются в том, чтобы подобрать для студента более подходящие факультеты университета.

Далее студент совершает выбор более подходящего ответа на вопрос

теста.

Следующим шагом в алгоритме является подсчет результатов ответов. На этом этапе анализируются все ответы на вопрос.

На основе полученных результатов, программа ранжирует все факультеты, строит диаграмму и формирует отчет.

31

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

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

7.2 Схема алгоритма создания отчёта

После того, как студент прошел тест по подбору факультета, он может увидеть свои результаты в виде отчета. На рисунке 7.2 представлена схема алгоритма создания отчета.

Рисунок 7.2 – Схема алгоритма создания отчета

Сначала от студента получаются данные об ответах, которые он выбрал. Затем на основе полученных данных происходит ранжирование факультетов. Если данные процессы выполнены успешно, то начинает строится диаграмма, формироваться отчет. После этого отчет отправляется студенту. Если первые два процесса были выполнены с какими-либо ошибками, то на экран выводится сообщение об ошибке.

32