Программа построена согласно архитектуре mvc (Model-View-Controller) или модель-представление-контроллер. Mvc представляет собой архитектуру программного обеспечения,




Скачать 171.27 Kb.
Название Программа построена согласно архитектуре mvc (Model-View-Controller) или модель-представление-контроллер. Mvc представляет собой архитектуру программного обеспечения,
Дата публикации 20.05.2014
Размер 171.27 Kb.
Тип Программа
literature-edu.ru > Информатика > Программа

12 Специальный раздел


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

2.1 Разработка структурной схемы программы


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

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

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

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

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

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

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

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

Программа построена согласно архитектуре MVC (Model-View-Controller) или модель-представление-контроллер. MVC представляет собой архитектуру программного обеспечения, в которой модель данных приложения, пользовательский интерфейс и управляющая логика разделены на три отдельных компонента, так, что модификация одного из компонентов оказывает минимальное воздействие на другие компоненты.

Рисунок 2.1. - Структура системы MVC
Model (Модель) - модуль, отвечающий за непосредственный расчёт чего-либо на основе полученных от пользователя данных. Результат, полученный этим модулем, должен быть передан в контроллер, и не должен содержать ничего, относящегося к непосредственному выводу (то есть должен быть представлен во внутреннем формате системы). Основная цель - сделать так, чтобы модель была полностью независима от остальных частей и практически ничего не знала об их существовании, что позволило бы менять и контроллер и представление модели, не трогая саму модель и даже позволить функционирование нескольких экземпляров представлений и контроллеров с одной моделью одновременно.

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

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

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

Система содержит следующие функции:

  • управление данными – добавление, удаление и изменение сведений о учебно-методической литературе;

  • автоматическую проверки типа и корректности вводимых данных;

  • сохранения данных в базу данных;

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

  • серверную часть, написанную на языке программирования PHP и выполняющуюся на сервере;

  • клиентскую часть, написанную (генерируемую скриптом PHP) на языке разметки HTML и языке программирования JavaScript с использованием библиотеки jQuery и выполняющаяся в браузере пользователя.



2.2 Разработка структуры базы данных программы


База данных состоит из 8 взаимосвязанных таблиц.

Основная таблица «BOOKS». В ней представлена информация о литературе, используемой на кафедре.

На рисунке 2.2 представлена структурная схема базы данных, а в таблицах 2.1-2.8 приведено содержание данных таблиц.



Рисунок 2.2 - Структура базы данных
Организованные в базе данных связи между таблицами позволяют выполнять каскадное удаление и обновление данных. Использование развязочных таблиц позволило сократить избыточность данных до минимума? Посредством упрощения обращений вида: многие ко многим

Таблица books содержит данные о книгах, внесенных в БД.

Таблица 2.1 – Таблица данных «books»

Поле

Тип

Длина

Описание

id

Числовой

11

Индекс

id_pub_type

Числовой

11

Индекс публикации

name

Символьный

100

Название

publisher

Символьный

100

Издательство

pages

Числовой

-

Количество страниц

xdk

Символьный




Индекс УДК

bbk

Символьный

-

Индекс ББК

isbn

Символьный

500

Индекс ISBN

descriptio

Символьный

15

Описание книги

image_url

Символьный

15

Ссылка на обложку

ebook_url

Символьный

250

Ссылка на электронный вариант

library

Числовой

10

Номер библиотеки


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

Библиотечно-библиографическая классификация (ББК) - Рабочие таблицы, предназначены для организации библиотечных фондов, систематических каталогов и картотек. Приказ об образовании редколлегии для издания таблиц был издан Министерством культуры РСФСР в 1959 году. Впоследствии появились также специальные издания таблиц для массовых библиотек, областных библиотек, детских и школьных библиотек.

Таблица books_disciplines содержит варианты ответов на вопросы анкетирования.


Таблица 2.2 – Таблица данных «books_disciplines»

Поле

Тип

Длина

Описание

id

Числовой

11

Индекс

id_book

Числовой

11

Идентификатор книги

id_discipline

Числовой

11

Идентификатор учебной дисциплины


Таблица books_authors содержит информацию об авторах книг.

Таблица 2.3 – Таблица данных «books_authors»

Поле

Тип

Длина

Описание

id

Числовой

11

Индекс

id_book

Числовой

11

Идентификатор книги

id_author

Числовой

11

Идентификатор автора


Таблица books_disciplines делает привязку вопросов анкетирования к конкретной анкете.

Таблица 2.4 – Таблица данных «books_disciplines»

Поле

Тип

Длина

Описание

id

Числовой

11

Индекс

id_book

Числовой

11

Идентификатор книги

id_discipline

Числовой

11

Идентификатор дисциплины


Таблица books_section содержит данные о всех разделах литературы.

Таблица 2.5 – Таблица данных «»

Поле

Тип

Длина

Описание

id

Числовой

11

Индекс

id_book

Числовой

11

Идентификатор книги

id_section

Числовой

11

Идентификатор раздела


Таблица it_text_answers содержит данные об ответах студентов, вводимых вручную.

Таблица 2.6 – Таблица данных «disciplines», содержит данные об изучаемых предметах

Поле

Тип

Длина

Описание

id

Числовой

11

Индекс

name

Символьный

500

Наименование дисциплины

code

Символьный

500

Код дичциплины


Таблица publication_type содержит данные об издательствах.

Таблица 2.6 – Таблица данных «publication type»

Поле

Тип

Длина

Описание

id

Числовой

1

Индекс

name

Символьный

500

Название издательства

short

Символьный

500

Краткое описание



2.3 Разработка модели информационных потоков базы данных


Информационное взаимодействие в рамках проектируемой программы управления БД учебных материалов представляет собой связь нескольких составляющих:

Взаимодействие между администратором системы и информационной составляющей проектируемой системы посредством интерфейса администрирования с помощью веб-браузера;

Информационное взаимодействие между компонентами веб-сервера (Apache), PHP и базой данных MySQL;

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

Информационное взаимодействие можно представить в виде схемы (рисунок 2.3).

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

Веб-сервер – программа, предназначенная для обработки HTTP запросов. Веб-сервер принимает запрос от браузера, анализирует его и высылает требуемый файл. Если запрашиваемый файл является скриптом, то этот скрипт запускается на выполнение. При этом ему передаются все данные, полученные от браузера, а все выводимые данные направляются в браузер.

PHP – интерпретатор, выполняющий скрипты. PHP позволяет скриптам посредством структурированного языка запросов SQL взаимодействовать с СУБД MySQL. Собственно программа управления БД учебных материалов.

MySQL – система управляющая базами данных посредством обработки запросов на языке SQL.

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


Рисунок 2.3 – Схема информационных потоков

Сервер – обрабатывает и хранит полученную информацию.

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

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

2.4 Разработка алгоритмического обеспечения


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

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

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


Рисунок 2.4 - Алгоритм авторизации пользователя
Как видно из данного алгоритма, после ввода данных, по которым мы желаем авторизоваться в системе нас возникает 2 варианта, есть ли уже учетная запись в системе, или такой записи нет. Если записи нет – пользователю предлагается ее создать. Если пользователь отказывается регистрироваться в системе - пользователю выдается сообщение, что работа с программой не может быть продолжена и происходит выход из системы. В противном случае идет переход в подпрограмму регистрации пользователей и повторный ввод данных.

Общий же алгоритм работы программы представлен на рисунке 2.5:
Программное обеспечение состоит из набора PHP-скриптов.

Рисунок 2.5 – Общая схема работы системы
Пользователь отсылает запрос серверу на показ определенной страницы. Сервер посредством правил транслирует адресную строку, переданную на сервер пользователем в PHP-скрипт, и посылает в него набор переменных, выделенных из строки запроса.

PHP исполняет скрипт. Скрипт взаимодействует с БД (помещает/извлекает информацию, запускает хранимые процедуры и т. д.) и в результате работы выдает HTML документ. Полученный HTML-документ передается в качестве ответа клиенту, приславшему запрос.

2.5 Разработка интерфейса программы


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

Одним из подходов по снижению психологических нагрузок пользователя является создание интерактивного интерфейса пользователя.

Для создания психологических комфортных условий пользователя на основе психологии человек-машина разработаны основные стандартизованные подходы.

Человеко-машинное взаимодействие (HCI - Human-Computer Interaction) – это наука, которая изучает, как люди используют компьютерные системы, чтобы решить поставленные задачи. HCI обеспечивает нас знаниями о компьютере и человеке для того, чтобы взаимодействие между ними было более эффективным и более удобным [2.2].

Интерфейс пользователя выполнен на языке разметки HTML с использованием JavaScript и библиотеки jQuery, что позволило построить интерактивный пользовательский интерфейс программы.

Имеется ряд стилей взаимодействий, которые делятся на два основных вида. Первый – это использование интерфейса языка команд - ввод команд текстовыми средствами, а второй – это непосредственное манипулирование. Таким образом, имеется ряд способов, которыми пользователь мог бы связываться с компьютером:

  • языки команд - пользователь управляет системой, вводя соответствующие команды в тестовом режиме;

  • вопрос и ответ - диалог, где компьютер задает вопросы, а пользователь отвечает ему (или наоборот);

  • формы - пользователь заполняет формы или поля диалога, вводя данные в необходимые поля;

  • меню - пользователь обеспечен рядом опций и управляет системой, выбирая необходимые пункты;

  • прямое манипулирование - пользователь управляет объектами на экране посредством устройства манипулирования, типа мыши. Другой термин, используемый для прямого интерфейса манипулирования - графический интерфейс пользователя.

В своей программе я использовал комбинированную систему управления – формы, меню и диалоговые варианты, вида «вопрос-ответ».

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

Основные принципы создания интерфейса:

а) Естественность (интуитивность).

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

б) Непротиворечивость.

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

в) Неизбыточность.

Это означает, что пользователь должен вводить только минимальную информацию для работы или управления системой. Например, пользователь не должен вводить незначимые цифры (00010 вместо 10). Аналогично, нельзя требовать от пользователя ввести информацию, которая была предварительно введена или которая может быть автоматически получена из системы. Желательно использовать значения по умолчанию, где только возможно, чтобы минимизировать процесс ввода информации.

г) Непосредственный доступ к системе помощи.

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

д) Гибкость.

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

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

Пользовательский интерфейс, доступный пользователям, работающим с программой, выполнен в некоторой степени минималистично, но полностью соответствует интерфейсу информационной системы кафедры ИТ-4, и не выбивается из ее общего стиля. Интерфейс с видом на список дисциплин показан на рисунке 2.6.

Рисунок 2.6 – Интерфейс просмотра дисциплин
Стоит обратить внимание, на тот факт, что все дисциплины представлены в табличной форме, что облегчает зрительное восприятие информации и ее анализ. Здесь же рядом можно внести изменения в состав дисциплин, редактировать название дисциплины и т.п.
На рисунке 2.7 показан вид меню справочной информации по различным дисциплинам, авторам, типам изданий и разделам.

Рисунок 2.7 – Меню выбора справочников
В программном интерфейсе активно используется выделение элементов интерфейса яркостью и цветом. Для привлечения внимания к каким-либо элементам интерфейса можно воспользоваться выделением этих элементов большей яркостью на фоне других – более темных. Однако, не стоит переусердствовать с этим методом, поскольку большое количество ярких элементов может вызвать дискомфорт у пользователя. Таким образом, можно достичь обратного эффекта – перегрузки интерфейса. Цвет может улучшить интерфейс пользователя, но для многих систем использование цвета практически не влияет на эффективность работы пользователя. Основное назначение цвета - в создании интерфейсов, более интересных для пользователей.

Добавить документ в свой блог или на сайт

Похожие:

Программа построена согласно архитектуре mvc (Model-View-Controller) или модель-представление-контроллер. Mvc представляет собой архитектуру программного обеспечения, icon План 1 июня 2011 г. 1: 35 Структура приложения(mvc) База данных Использованные технологии
«Модель-представление-контроллер» — шаблон проектирования, в котором модель данных приложения,пользовательский интерфейс и управляющая...
Программа построена согласно архитектуре mvc (Model-View-Controller) или модель-представление-контроллер. Mvc представляет собой архитектуру программного обеспечения, icon 1 Место выполняемых в ходе практики работ в процессе разработки программного обеспечения
Готовки бакалавров 230100. 62 «Информатика и вычислительная техника»??? является получение практических навыков разработки и документирования...
Программа построена согласно архитектуре mvc (Model-View-Controller) или модель-представление-контроллер. Mvc представляет собой архитектуру программного обеспечения, icon Доклад по защите выпускной квалификационной работы Обращение
Уважаемые члены Государственной аттестационной комиссии! Вашему вниманию предлагается выпускная квалификационная работа на тему «Создание...
Программа построена согласно архитектуре mvc (Model-View-Controller) или модель-представление-контроллер. Mvc представляет собой архитектуру программного обеспечения, icon Доклад по защите выпускной квалификационной работы
Здравствуйте, уважаемые члены Государственной аттестационной комиссии! Я студент Коновалов Александр Михайлович. Вашему вниманию...
Программа построена согласно архитектуре mvc (Model-View-Controller) или модель-представление-контроллер. Mvc представляет собой архитектуру программного обеспечения, icon 1. Организация процесса конструирования Определение технологии конструирования...
Технология конструирования программного обеспечения (ткпо) — система инженерных принципов для создания экономичного по, которое надежно...
Программа построена согласно архитектуре mvc (Model-View-Controller) или модель-представление-контроллер. Mvc представляет собой архитектуру программного обеспечения, icon Доклад по защите выпускной квалификационной работы Обращение
Здравствуйте, уважаемые члены Государственной аттестационной комиссии! Я студент Коновалов Александр Михайлович. Вашему вниманию...
Программа построена согласно архитектуре mvc (Model-View-Controller) или модель-представление-контроллер. Mvc представляет собой архитектуру программного обеспечения, icon Рабочая программа по литературе представляет собой целостный документ,...

Программа построена согласно архитектуре mvc (Model-View-Controller) или модель-представление-контроллер. Mvc представляет собой архитектуру программного обеспечения, icon Отчет по производственной практике 230201 Информационные системы и технологии
Уровень интерфейса пользователя представляет собой набор компонентов в браузере. Уровень базы данных прдставляет собой бд mysql....
Программа построена согласно архитектуре mvc (Model-View-Controller) или модель-представление-контроллер. Mvc представляет собой архитектуру программного обеспечения, icon Типовая программа дополнительного образования детей и молодежи (художественный профиль)
Типовая программа детей и молодежи художественного профиля представляет собой технический нормативный правовой документ, определяющий...
Программа построена согласно архитектуре mvc (Model-View-Controller) или модель-представление-контроллер. Mvc представляет собой архитектуру программного обеспечения, icon Типовая программа дополнительного образования детей и молодежи (художественный профиль)
Типовая программа детей и молодежи художественного профиля представляет собой технический нормативный правовой документ, определяющий...
Литература


При копировании материала укажите ссылку © 2015
контакты
literature-edu.ru
Поиск на сайте

Главная страница  Литература  Доклады  Рефераты  Курсовая работа  Лекции