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

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] \begin{figure}[ht]
\centering \centering
\includegraphics[width=\textwidth]{Architecture.png} \includegraphics[width=\textwidth]{Architecture.png}
\caption{} \caption{Архитектура системы}
\end{figure} \end{figure}

View File

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

View File

@ -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}

View File

@ -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}

View File

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

View File

@ -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{Выводы}
Ни одна из рассмотренных ИС не удовлетворила предъявленные требования. Было принято решение о разработке собственной системы. Ни одна из рассмотренных ИС не удовлетворила предъявленные требования. Было принято решение о разработке собственной системы.

View File

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

View File

@ -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}

View File

@ -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}"
}