Отправляю научному руководителю.

This commit is contained in:
Alexander Yakovlev 2011-05-29 20:32:49 +07:00
parent a8c869aabf
commit 4e1410de0f
9 changed files with 99 additions and 48 deletions

View file

@ -7,5 +7,5 @@
\begin{figure}[ht]
\centering
\includegraphics[width=\textwidth]{Architecture.png}
\caption{}
\caption{Архитектура системы}
\end{figure}

View file

@ -1,6 +1,6 @@
\chapter{Реализация}
Оболочкой для программы является фреймворк Kohana 3.1.
Оболочкой для программы является фреймворк Kohana 3.1.
Отличительной особенностью Kohana 3.1 является его исключительная модульность. Он реализует модель HMVC.

View file

@ -2,10 +2,10 @@
\input{Titlepage}
\input{Theme}
\input{Topicality}
\input{Objectives}
\input{Terminology}
\input{Review}
\input{Topicality}
\input{Model}
\input{Architecture}
\input{Implementation}

View file

@ -19,7 +19,22 @@
\item[\ref{actor-register}b] Регистрация на мероприятие закрыта.
\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{Актор:} Пользователь.
\subsubsection{Основной поток}
@ -35,16 +50,29 @@
\item[\ref{user-event-info}a] Информация не проходит валидацию. Повтор пункта.
\item[\ref{user-event-info}b] Актор загружает программу в формате DOC.
\item[\ref{user-event-info}c] Актор добавляет ограничение на количество посетителей.
\item[\ref{user-event-info}d] Мероприятие уже утверждено. Изменения отвергаются.
\end{description}
% \begin{figure}[ht]
% \centering
% \includegraphics[angle=90,height=0.7\textheight]{diagram0.jpeg}
% \caption{}
% \end{figure}
%
% \begin{figure}[ht]
% \centering
% \includegraphics[angle=90,width=\textwidth]{diagram1.jpeg}
% \caption{}
% \end{figure}
\section{Диаграммы}
Система спалнирована с учётом методологии HMVC. Благодаря этому любая из триад может быть изменена или удалена без ущерба для остальных.
Каждый модуль обрабатывает свой тип запроса. Тип запроса определяет загрузчик.
\begin{figure}[ht]
\centering
\includegraphics[angle=90,height=0.7\textheight]{diagram0.jpeg}
\caption{Диаграмма IDEF0}
\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}

View file

@ -4,7 +4,9 @@
Для достижения цели необходимо:
\begin{enumerate}
\item Изучить предметную область
\item Собрать пользовательские требования к ИС
\item Выдвинуть специальные требования к ИС
\item Провести обзор и анализ существующих ИС, решающих смежные задачи
\item Построить функциональные и ER модели
\item Разработать ИС

View file

@ -1,35 +1,43 @@
\chapter{Обзор сходных информационных систем}
Изучение предметной области дало следующие требования к внедряемой информационной системе:
Изучение предметной области дало следующие требования к внедряемой информационной системе:
Информационная система должна быть написана на языке PHP и использовать базу данных MySQL в качестве хранилища данных.
\begin{enumerate}
\item Информационная система должна быть написана на языке PHP и использовать базу данных MySQL в качестве хранилища данных.
\item ИС должна быть бесплатной.
\item ИС должна поддерживать управление событиями.
\item В ИС должна быть предусмотрена эскалация привилегий, распространяемая на события.
\end{enumerate}
ИС должна быть бесплатной.
Дополнительно были выдвинуты следующие специальные требования:
ИС должна поддерживать управление событиями.
В ИС должна быть предусмотрена эскалация привилегий, распространяемая на события.
ИС должна поддерживать Unicode, чтобы не возникло проблем с кириллицей и совместимостью кодировок.
ИС должна использовать WYSIWYG редактор.
\begin{enumerate}
\item ИС должна поддерживать Unicode, чтобы не возникло проблем с кириллицей и совместимостью кодировок.
\item ИС должна использовать WYSIWYG редактор.
\item ИС должна иметь русскоязычный интерфейс.
\item ИС должна иметь средства для представления календаря мероприятий в электронном и печатном видах.
\item Среднее время загрузки страницы не должно превышать 5 секунд.
\end{enumerate}
По данным критериям было отобрано три программных продукта:
\begin{enumerate}
\item Tiki Wiki CMS Groupware
\item Midgard CMS
\item Sitellite CMS
\end{enumerate}
Tiki Wiki CMS Groupware
Midgard CMS
Sitellite CMS
(таблица)
Наличие русскоязычного интерфейса (Tiki - неполный перевод, Midgard - выдаётся по запросу, Sitellite - нет)
Возможность представления календаря мероприятий в электронном виде
Возможность представления календаря мероприятий в печатном виде
Относительная скорость генерации страниц — базовая конфигурация по сравнению со статической страницей
\begin{tabular}[ht]{cccc}
\textbf{Критерий} & \textbf{Tiki Wiki Groupware} & \textbf{Midgard} & \textbf{Sitellite} \\
Наличие русскоязычного интерфейса & неполон & да & нет\\
Возможность представления & да & да & нет \\
календаря мероприятий & & & \\
в электронном виде & & & \\
Возможность представления & ограниченная\footnote{Электронный вид календаря можно настроить так, чтобы при печати он вмещался в лист A4.} & нет & нет\\
календаря мероприятий & & & \\
в печатном виде & & & \\
Время генерации страниц, сек\footnote{Базовая конфигурация, среднее значение из 5 попыток} & $6,4$ & $8,2$ & $4,8$\\
\end{tabular}
\subsection{Выводы}
Ни одна из рассмотренных ИС не удовлетворила предъявленные требования. Было принято решение о разработке собственной системы.

View file

@ -30,3 +30,10 @@ 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 и другие. Вместе эти технологии находятся на одной ступени развития: они медленно внедряются в браузеры и постепенно получают новые свойства. Их очень просто и удобно использовать программисту, но в реальных веб-приложениях часто приходится вставлять различные обработчики для старых браузеров.

View file

@ -1,17 +1,19 @@
\usepackage[T2A]{fontenc}
\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{mathtext}
\usepackage{amsmath} %текст в формулах
\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
\usepackage[labelsep=period]{caption}
\usepackage{indentfirst}

View file

@ -16,3 +16,7 @@ url = "\underline{http://www.adaptivepath.com/ideas/e000385}"
title= "[Электронный ресурс]",
url = "\underline{http://www.w3.org/DOM/}"
}
@MISC{w3c-html5,
title= "[Электронный ресурс]",
url = "\underline{http://dev.w3.org/html5/spec/Overview.html}"
}