Отправляю научному руководителю.
This commit is contained in:
parent
a8c869aabf
commit
4e1410de0f
|
@ -7,5 +7,5 @@
|
||||||
\begin{figure}[ht]
|
\begin{figure}[ht]
|
||||||
\centering
|
\centering
|
||||||
\includegraphics[width=\textwidth]{Architecture.png}
|
\includegraphics[width=\textwidth]{Architecture.png}
|
||||||
\caption{}
|
\caption{Архитектура системы}
|
||||||
\end{figure}
|
\end{figure}
|
|
@ -1,6 +1,6 @@
|
||||||
\chapter{Реализация}
|
\chapter{Реализация}
|
||||||
|
|
||||||
Оболочкой для программы является фреймворк Kohana 3.1.
|
Оболочкой для программы является фреймворк Kohana 3.1.
|
||||||
|
|
||||||
Отличительной особенностью Kohana 3.1 является его исключительная модульность. Он реализует модель HMVC.
|
Отличительной особенностью Kohana 3.1 является его исключительная модульность. Он реализует модель HMVC.
|
||||||
|
|
||||||
|
|
|
@ -2,10 +2,10 @@
|
||||||
\input{Titlepage}
|
\input{Titlepage}
|
||||||
|
|
||||||
\input{Theme}
|
\input{Theme}
|
||||||
|
\input{Topicality}
|
||||||
\input{Objectives}
|
\input{Objectives}
|
||||||
\input{Terminology}
|
\input{Terminology}
|
||||||
\input{Review}
|
\input{Review}
|
||||||
\input{Topicality}
|
|
||||||
\input{Model}
|
\input{Model}
|
||||||
\input{Architecture}
|
\input{Architecture}
|
||||||
\input{Implementation}
|
\input{Implementation}
|
||||||
|
|
52
Model.tex
52
Model.tex
|
@ -19,7 +19,22 @@
|
||||||
\item[\ref{actor-register}b] Регистрация на мероприятие закрыта.
|
\item[\ref{actor-register}b] Регистрация на мероприятие закрыта.
|
||||||
\end{description}
|
\end{description}
|
||||||
|
|
||||||
\subsection{Сценарий 2. Добавление мероприятия}
|
\subsection{Сценарий 2. Добавление ограничений}
|
||||||
|
\textbf{Актор:} Супер-пользователь.
|
||||||
|
|
||||||
|
\subsubsection{Основной поток}
|
||||||
|
|
||||||
|
\begin{enumerate}
|
||||||
|
\item \label{rule-creation}Актор создаёт ограничение для одного дня.
|
||||||
|
\end{enumerate}
|
||||||
|
|
||||||
|
\subsubsection{Расширения}
|
||||||
|
\begin{description}
|
||||||
|
\item[\ref{rule-creation}a] Актор создаёт ограничение для периода дней.
|
||||||
|
\item[\ref{rule-creation}b] Актор создаёт ограничение для интервала дней.
|
||||||
|
\end{description}
|
||||||
|
|
||||||
|
\subsection{Сценарий 3. Добавление мероприятия}
|
||||||
\textbf{Актор:} Пользователь.
|
\textbf{Актор:} Пользователь.
|
||||||
|
|
||||||
\subsubsection{Основной поток}
|
\subsubsection{Основной поток}
|
||||||
|
@ -35,16 +50,29 @@
|
||||||
\item[\ref{user-event-info}a] Информация не проходит валидацию. Повтор пункта.
|
\item[\ref{user-event-info}a] Информация не проходит валидацию. Повтор пункта.
|
||||||
\item[\ref{user-event-info}b] Актор загружает программу в формате DOC.
|
\item[\ref{user-event-info}b] Актор загружает программу в формате DOC.
|
||||||
\item[\ref{user-event-info}c] Актор добавляет ограничение на количество посетителей.
|
\item[\ref{user-event-info}c] Актор добавляет ограничение на количество посетителей.
|
||||||
|
\item[\ref{user-event-info}d] Мероприятие уже утверждено. Изменения отвергаются.
|
||||||
\end{description}
|
\end{description}
|
||||||
|
|
||||||
% \begin{figure}[ht]
|
\section{Диаграммы}
|
||||||
% \centering
|
|
||||||
% \includegraphics[angle=90,height=0.7\textheight]{diagram0.jpeg}
|
Система спалнирована с учётом методологии HMVC. Благодаря этому любая из триад может быть изменена или удалена без ущерба для остальных.
|
||||||
% \caption{}
|
|
||||||
% \end{figure}
|
Каждый модуль обрабатывает свой тип запроса. Тип запроса определяет загрузчик.
|
||||||
%
|
|
||||||
% \begin{figure}[ht]
|
\begin{figure}[ht]
|
||||||
% \centering
|
\centering
|
||||||
% \includegraphics[angle=90,width=\textwidth]{diagram1.jpeg}
|
\includegraphics[angle=90,height=0.7\textheight]{diagram0.jpeg}
|
||||||
% \caption{}
|
\caption{Диаграмма IDEF0}
|
||||||
% \end{figure}
|
\end{figure}
|
||||||
|
|
||||||
|
\begin{figure}[ht]
|
||||||
|
\centering
|
||||||
|
\includegraphics[angle=90,width=\textwidth]{diagram1.jpeg}
|
||||||
|
\caption{Диаграмма IDEF3}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
\begin{figure}[ht]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=\textwidth]{ER.png}
|
||||||
|
\caption{ER-модель}
|
||||||
|
\end{figure}
|
||||||
|
|
|
@ -4,7 +4,9 @@
|
||||||
Для достижения цели необходимо:
|
Для достижения цели необходимо:
|
||||||
|
|
||||||
\begin{enumerate}
|
\begin{enumerate}
|
||||||
|
\item Изучить предметную область
|
||||||
\item Собрать пользовательские требования к ИС
|
\item Собрать пользовательские требования к ИС
|
||||||
|
\item Выдвинуть специальные требования к ИС
|
||||||
\item Провести обзор и анализ существующих ИС, решающих смежные задачи
|
\item Провести обзор и анализ существующих ИС, решающих смежные задачи
|
||||||
\item Построить функциональные и ER модели
|
\item Построить функциональные и ER модели
|
||||||
\item Разработать ИС
|
\item Разработать ИС
|
||||||
|
|
54
Review.tex
54
Review.tex
|
@ -1,35 +1,43 @@
|
||||||
\chapter{Обзор сходных информационных систем}
|
\chapter{Обзор сходных информационных систем}
|
||||||
|
|
||||||
Изучение предметной области дало следующие требования к внедряемой информационной системе:
|
Изучение предметной области дало следующие требования к внедряемой информационной системе:
|
||||||
|
|
||||||
Информационная система должна быть написана на языке PHP и использовать базу данных MySQL в качестве хранилища данных.
|
\begin{enumerate}
|
||||||
|
\item Информационная система должна быть написана на языке PHP и использовать базу данных MySQL в качестве хранилища данных.
|
||||||
|
\item ИС должна быть бесплатной.
|
||||||
|
\item ИС должна поддерживать управление событиями.
|
||||||
|
\item В ИС должна быть предусмотрена эскалация привилегий, распространяемая на события.
|
||||||
|
\end{enumerate}
|
||||||
|
|
||||||
ИС должна быть бесплатной.
|
Дополнительно были выдвинуты следующие специальные требования:
|
||||||
|
|
||||||
ИС должна поддерживать управление событиями.
|
\begin{enumerate}
|
||||||
|
\item ИС должна поддерживать Unicode, чтобы не возникло проблем с кириллицей и совместимостью кодировок.
|
||||||
В ИС должна быть предусмотрена эскалация привилегий, распространяемая на события.
|
\item ИС должна использовать WYSIWYG редактор.
|
||||||
|
\item ИС должна иметь русскоязычный интерфейс.
|
||||||
ИС должна поддерживать Unicode, чтобы не возникло проблем с кириллицей и совместимостью кодировок.
|
\item ИС должна иметь средства для представления календаря мероприятий в электронном и печатном видах.
|
||||||
|
\item Среднее время загрузки страницы не должно превышать 5 секунд.
|
||||||
ИС должна использовать WYSIWYG редактор.
|
\end{enumerate}
|
||||||
|
|
||||||
По данным критериям было отобрано три программных продукта:
|
По данным критериям было отобрано три программных продукта:
|
||||||
|
|
||||||
|
\begin{enumerate}
|
||||||
|
\item Tiki Wiki CMS Groupware
|
||||||
|
\item Midgard CMS
|
||||||
|
\item Sitellite CMS
|
||||||
|
\end{enumerate}
|
||||||
|
|
||||||
Tiki Wiki CMS Groupware
|
\begin{tabular}[ht]{cccc}
|
||||||
Midgard CMS
|
\textbf{Критерий} & \textbf{Tiki Wiki Groupware} & \textbf{Midgard} & \textbf{Sitellite} \\
|
||||||
Sitellite CMS
|
Наличие русскоязычного интерфейса & неполон & да & нет\\
|
||||||
(таблица)
|
Возможность представления & да & да & нет \\
|
||||||
|
календаря мероприятий & & & \\
|
||||||
Наличие русскоязычного интерфейса (Tiki - неполный перевод, Midgard - выдаётся по запросу, Sitellite - нет)
|
в электронном виде & & & \\
|
||||||
|
Возможность представления & ограниченная\footnote{Электронный вид календаря можно настроить так, чтобы при печати он вмещался в лист A4.} & нет & нет\\
|
||||||
|
календаря мероприятий & & & \\
|
||||||
Возможность представления календаря мероприятий в электронном виде
|
в печатном виде & & & \\
|
||||||
|
Время генерации страниц, сек\footnote{Базовая конфигурация, среднее значение из 5 попыток} & $6,4$ & $8,2$ & $4,8$\\
|
||||||
Возможность представления календаря мероприятий в печатном виде
|
\end{tabular}
|
||||||
|
|
||||||
Относительная скорость генерации страниц — базовая конфигурация по сравнению со статической страницей
|
|
||||||
|
|
||||||
\subsection{Выводы}
|
\subsection{Выводы}
|
||||||
Ни одна из рассмотренных ИС не удовлетворила предъявленные требования. Было принято решение о разработке собственной системы.
|
Ни одна из рассмотренных ИС не удовлетворила предъявленные требования. Было принято решение о разработке собственной системы.
|
||||||
|
|
|
@ -29,4 +29,11 @@ Hierarchical Model-View-Controller, \textit{англ.} иерархически
|
||||||
|
|
||||||
Модель и только Модель имеет знания о природе объекта, например, где хранятся данные и как их необходимо проверять. Контроллер отвечает за логику работы с объектом. Он вычисляет значения переменных, инициирует изменение данных, передаёт данные в Вид. Вид отвечает за представление и только за представление данных; в Виде не производится никаких вычислений.
|
Модель и только Модель имеет знания о природе объекта, например, где хранятся данные и как их необходимо проверять. Контроллер отвечает за логику работы с объектом. Он вычисляет значения переменных, инициирует изменение данных, передаёт данные в Вид. Вид отвечает за представление и только за представление данных; в Виде не производится никаких вычислений.
|
||||||
|
|
||||||
Каждая триада совершенно независима и может выполняться при отсутствии любой другой. Все запросы к триадам идут через их контроллеры. Любая часть системы может выполнить запрос к любой триаде. Так, вид триады главной страницы может вызвать запросы к триаде рекламного блока, к триаде текстового блока и триаде навигационного блока. При этом модификация, например, навигационного блока сможет проходить независимо от других — а изменения отразятся во всех видах, вызывающих эту триаду.
|
Каждая триада совершенно независима и может выполняться при отсутствии любой другой. Все запросы к триадам идут через их контроллеры. Любая часть системы может выполнить запрос к любой триаде. Так, вид триады главной страницы может вызвать запросы к триаде рекламного блока, к триаде текстового блока и триаде навигационного блока. При этом модификация, например, навигационного блока сможет проходить независимо от других — а изменения отразятся во всех видах, вызывающих эту триаду.
|
||||||
|
|
||||||
|
\section{HTML 5}
|
||||||
|
Пятая версия стандарта HyperText Markup Language, языка гипертекстовой разметки, \cite{w3c-html5}. В настоящее время находится в разработке (последняя ревизия от 25 мая 2011г.), но отдельные положения нового стандарта уже реализованы в новых версиях некоторых популярных браузеров. Новый стандарт намного удобнее для программистов, чем использование HTML 4 и связок Javascript+Java или Javascript+Flash. Например, вместо внедрения на страницу Flash-контейнера с проигрывателем видео, можно указать тег \verb/<video>/, а в формах можно указывать новые типы полей, такие как поле ввода даты (валидация реализуется в браузере).
|
||||||
|
|
||||||
|
К сожалению, но нововведения поддерживаются далеко не в полном объёме и только в новых версиях браузеров. Список поддерживаемых тегов также различается между программами. На данный момент упомянутые типы полей форм не поддерживаются нигде, а тег \verb/<video>/ имеет ограниченную функциональность и зависит от видеокодеков.
|
||||||
|
|
||||||
|
Для простоты, когда говорят о HTML 5, часто также имеют в виду новые версии других стандартов и новые Web-технологии: CSS 3, SVG, Javascript Canvas и другие. Вместе эти технологии находятся на одной ступени развития: они медленно внедряются в браузеры и постепенно получают новые свойства. Их очень просто и удобно использовать программисту, но в реальных веб-приложениях часто приходится вставлять различные обработчики для старых браузеров.
|
|
@ -1,17 +1,19 @@
|
||||||
\usepackage[T2A]{fontenc}
|
|
||||||
\usepackage{fontspec}
|
\usepackage{fontspec}
|
||||||
|
\defaultfontfeatures{Mapping=tex-text, Scale=MatchLowercase}
|
||||||
|
\newfontfamily\cyrillicfont{Liberation Serif}
|
||||||
|
\setmainfont{Liberation Serif}
|
||||||
|
\setromanfont{Liberation Serif}
|
||||||
|
%\setmonofont{FreeMono}
|
||||||
|
\setmonofont{Liberation Serif} %пока не починят polyglossia
|
||||||
|
|
||||||
|
\usepackage{polyglossia}
|
||||||
|
\setdefaultlanguage{russian}
|
||||||
|
|
||||||
\usepackage{xunicode}
|
\usepackage{xunicode}
|
||||||
\usepackage{mathtext}
|
\usepackage{mathtext}
|
||||||
\usepackage{amsmath} %текст в формулах
|
\usepackage{amsmath} %текст в формулах
|
||||||
\usepackage{xltxtra}
|
\usepackage{xltxtra}
|
||||||
\usepackage{polyglossia}%вместо babel
|
|
||||||
\setdefaultlanguage{russian}
|
|
||||||
\defaultfontfeatures{Mapping=tex-text, Scale=MatchLowercase}
|
|
||||||
\setmainfont{FreeSerif}
|
|
||||||
\newfontfamily{\cyrillicfont}{FreeSerif}
|
|
||||||
\setromanfont{FreeSerif}
|
|
||||||
\setsansfont{FreeSans}
|
|
||||||
\setmonofont{FreeMono}
|
|
||||||
\frenchspacing
|
\frenchspacing
|
||||||
\usepackage[labelsep=period]{caption}
|
\usepackage[labelsep=period]{caption}
|
||||||
\usepackage{indentfirst}
|
\usepackage{indentfirst}
|
||||||
|
|
|
@ -16,3 +16,7 @@ url = "\underline{http://www.adaptivepath.com/ideas/e000385}"
|
||||||
title= "[Электронный ресурс]",
|
title= "[Электронный ресурс]",
|
||||||
url = "\underline{http://www.w3.org/DOM/}"
|
url = "\underline{http://www.w3.org/DOM/}"
|
||||||
}
|
}
|
||||||
|
@MISC{w3c-html5,
|
||||||
|
title= "[Электронный ресурс]",
|
||||||
|
url = "\underline{http://dev.w3.org/html5/spec/Overview.html}"
|
||||||
|
}
|
Loading…
Reference in New Issue