Initial commit.

This commit is contained in:
Linux User 2011-05-26 10:14:42 +08:00
commit 9d2526d698
13 changed files with 1901 additions and 0 deletions

28
Architecture.tex Normal file
View File

@ -0,0 +1,28 @@
\chapter{Структура и архитектура информационной системы}
Модуль вызова системы включает в себя пользовательский интерфейс. Он отвечает за ввод и представление данных.
Главный класс Source (модуль source.rb) отвечает за основную логику.
Класс Translator (translator.rb) содержит функцию перевода слов. Логика программы не зависит от языка исходного текста, так как ударения указываются вручную, но словари готовы только для английского языка.
Класс Morphology сожержит функцию, которая вызывает библиотеку phpmorphy, чтобы получить все словоформы заданного слова. Библиотека phpmorphy распространяется по лицензии LGPL и использует словари Ispell, а также пытается угадать склонение слов.
Система рассчитана на работу с латинским алфавитом и использует кодировку UTF-8.
Система получает на входе текстовый документ и выдаёт переведённый текстовый документ.
\subsection{Формат словарей}
Словари имеют расширение .txt
Переводы слов идут сразу после слов. Перед переводами ставится ровно два пробела.
Количество переводов не ограничено, но выбирается только один. Это поведение может измениться в будущем.
\begin{verbatim}
ово
перевод1
перевод2
...
\end{verbatim}

7
Implementation.tex Normal file
View File

@ -0,0 +1,7 @@
\chapter{Реализация}
​Оболочкой для программы является фреймворк Kohana 3.1.
Отличительной особенностью Kohana 3.1 является его исключительная модульность. Он реализует модель HMVC.
На части страниц также используется фреймворк jQuery. Это мощная Javascript библиотека, позволяющая проводить запросы AJAX, реализовывать визуальные эффекты и работать с DOM без оглядки на совместимость браузеров и разницу в вызовах событий.

6
Makefile Normal file
View File

@ -0,0 +1,6 @@
all:
xelatex -interaction=nonstopmode Master.tex
bibtex Master.aux
xelatex -interaction=nonstopmode Master.tex
xelatex -interaction=nonstopmode Master.tex
rm -f *.aux *.log *.toc *.bbl *.blg *.out *.idx *.ind *.ilg *~

24
Master.tex Normal file
View File

@ -0,0 +1,24 @@
\documentclass[a4paper,14pt]{extreport}
\input{Titlepage}
\input{Theme}
\input{Objectives}
\input{Terminology}
\input{Review}
\input{Topicality}
\input{Model}
\input{Architecture}
\input{Implementation}
\chapter{Заключение и перспективы развития}
Ввиду ограничения по времени полномасштабного тестирования ИС не проводилось. Следовательно, априори предполагается существование серьёзных ошибок, которые будет необходимо исправить.
Сейчас интерфейс реализован на HTML 5. Это значит, что такие браузеры, как Internet Explorer 8, Firefox 3, Opera 10 не смогут его отобразить нужным образом. Необходимо улучшение интерфейса, повышение совместимости с Internet Explorer 6.
Также будет полезно совмещение отчётов и управления семинарами в одной Rich Internet Application.
\bibliographystyle{utf8gost780u}
%\nocite{*} %раскомментировать чтобы получить ВСЮ библиографию
\bibliography{bibliography}
\end{document}

13
Model.tex Normal file
View File

@ -0,0 +1,13 @@
\chapter{Модель продукта}
% \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}

12
Objectives.tex Normal file
View File

@ -0,0 +1,12 @@
\chapter{Постановка задачи}
Разработать ИС, предоставляющую инструментарий для управления семинарами, проводимыми в КРИПКиПРО.
Для достижения цели необходимо:
\begin{enumerate}
\item Собрать пользовательские требования к ИС
\item Провести обзор и анализ существующих ИС, решающих смежные задачи
\item Построить функциональные и ER модели
\item Разработать ИС
\item Протестировать ИС
\end{enumerate}

35
Review.tex Normal file
View File

@ -0,0 +1,35 @@
\chapter{Обзор сходных информационных систем}
​Изучение предметной области дало следующие требования к внедряемой информационной системе:
Информационная система должна быть написана на языке PHP и использовать базу данных MySQL в качестве хранилища данных.
ИС должна быть бесплатной.
ИС должна поддерживать управление событиями.
В ИС должна быть предусмотрена эскалация привилегий, распространяемая на события.
ИС должна поддерживать Unicode, чтобы не возникло проблем с кириллицей и совместимостью кодировок.
ИС должна использовать WYSIWYG редактор.
По данным критериям было отобрано три программных продукта:
Tiki Wiki CMS Groupware
Midgard CMS
Sitellite CMS
(таблица)
Наличие русскоязычного интерфейса (Tiki - неполный перевод, Midgard - выдаётся по запросу, Sitellite - нет)
Возможность представления календаря мероприятий в электронном виде
Возможность представления календаря мероприятий в печатном виде
Относительная скорость генерации страниц — базовая конфигурация по сравнению со статической страницей
\subsection{Выводы}
Ни одна из рассмотренных ИС не удовлетворила предъявленные требования. Было принято решение о разработке собственной системы.

30
Terminology.tex Normal file
View File

@ -0,0 +1,30 @@
\chapter{Терминология}
\section{AJAX}
Asynchronous JavaScript and XML, \textit{англ.} Асинхронный JavaScript и XML -- группа не связанных между собой техник, используемых на стороне клиента для создания интерактивных интернет-программ, \cite{ajax}. Термин был введён в 2005м году в статье Джессе Джеймса Гарретта, \cite{ajax-origin}.
Идея AJAX в том, чтобы расширить роль браузера от ультратонкого клиента, который содержит минимум логики и почти не выполняет вычислений, исключительно представляя информацию пользователю, до толстого клиента, который может самостоятельно работать с данными, полученными от сервера.
В традиционной модели «тонкий клиент-сервер» клиент должен выполнить запрос (GET или POST) каждый раз для изменения данных. В течение выполнения запроса работа с веб-страницей невозможна, так как после выполнения запроса загружается новая страница.
Модель AJAX предлагает асинхронное выполнение запросов, не прерывающее работу с данными во время их изменения. Каждый запрос HTTP заменяется запросом к Javascript; всё, что не требует соединения с сервером — проверка данных, редактирование данных, возможно навигация — проводится на стороне клиента.
Слово «AJAX» было введено как короткий аналог фразы «Асинхронный JavaScript, CSS, DOM и XMLHttpRequest».
Важнейшей технологией из группы AJAX является вызов Javascript XML\-HttpRequest. Он был реализован в различных браузерах в 2000-2005м годах; в версиях Internet Explorer 5, 5.5 и 6 его роль выполнял модуль ActiveX библиотеки MSXML. В настоящее время ведётся работа над черновиком XMLHttpRequest уровня 2.
По соображениям безопасности запросы к другим доменам с данного запрещены; это ограничение обходится разными путями, самым простым из которых является HTTP заголовок \verb/Access-Control-Allow-Origin/.
\section{DOM}
Document Object Model, \textit{англ.} объектная модель документа.
В языке Javascript это -- объект, содержащий всю информацию о странице (документе). Через манипуляции с DOM сценарии могут управлять страницей и блоками на ней.
\section{HMVC}
Hierarchical Model-View-Controller, \textit{англ.} иерархические Модель-Вид-Контроллер.
Каждая тройка модель-вид-контроллер называется триадой. Каждая триада независима и отвечает за один объект, описываемый Моделью.
Модель и только Модель имеет знания о природе объекта, например, где хранятся данные и как их необходимо проверять. Контроллер отвечает за логику работы с объектом. Он вычисляет значения переменных, инициирует изменение данных, передаёт данные в Вид. Вид отвечает за представление и только за представление данных; в Виде не производится никаких вычислений.
Каждая триада совершенно независима и может выполняться при отсутствии любой другой. Все запросы к триадам идут через их контроллеры. Любая часть системы может выполнить запрос к любой триаде. Так, вид триады главной страницы может вызвать запросы к триаде рекламного блока, к триаде текстового блока и триаде навигационного блока. При этом модификация, например, навигационного блока сможет проходить независимо от других — а изменения отразятся во всех видах, вызывающих эту триаду.

3
Theme.tex Normal file
View File

@ -0,0 +1,3 @@
\chapter{Тема дипломной работы}
Разработка информационной системы (ИС), предоставляющей инструментарий для управления семинарами, проводимыми в КРИПКиПРО.

146
Titlepage.tex Normal file
View File

@ -0,0 +1,146 @@
\usepackage[T2A]{fontenc}
\usepackage{fontspec}
\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}
\usepackage{rotating}
\usepackage{graphicx}
%\usepackage{listings}
%\lstloadlanguages{Ruby}
%\lstset{extendedchars=false,%надо ставить false всегда при работе с UTF-8
% commentstyle=\it,
% stringstyle=\bf,
% belowcaptionskip=5pt,
% numbers=left, %нумерация строк
% numberstyle=\tiny,
% stepnumber=3,
% numbersep=5pt,
% breaklines=true, %автоперенос длинных линий
% breakatwhitespace=true}%перенос ТОЛЬКО по пробелам и табуляциям
%\renewcommand{\lstlistingname}{Листинг}
\usepackage{multirow}
\usepackage{fncychap}
\ChNameVar{\large}
\ChTitleVar{\Large \rm \bfseries}
%\ChTitleUpperCase %- почему-то не работает
\ChNameUpperCase
\makeatletter
\let\ps@plain\ps@myheadings%необходимо для содержания; иначе оно всё равно будет использовать стиль plain
\renewcommand{\DOTI}[1]{\CTV\FmTi{#1}\par\nobreak\medskip}
\makeatother
\setcounter{secnumdepth}{-1} % не хочу нумеровать главы
\setcounter{tocdepth}{2} % глубина оглавления
\usepackage{geometry} % Меняем поля страницы
\geometry{left=3cm}% левое поле
\geometry{right=2cm}% правое поле
\geometry{top=2cm}% верхнее поле
\geometry{bottom=2cm}% нижнее поле
\marginparwidth=0cm
%\geometry{right=4cm}
% Меняем везде перечисления на цифра.цифра
\renewcommand{\theenumi}{\arabic{enumi}.}
\renewcommand{\labelenumi}{\arabic{enumi}.}
\renewcommand{\theenumii}{\arabic{enumii}.}
\renewcommand{\labelenumii}{\arabic{enumi}.\arabic{enumii}.}
\renewcommand{\theenumiii}{\arabic{enumiii}.}
\renewcommand{\labelenumiii}{\arabic{enumi}.\arabic{enumii}.\arabic{enumiii}.}
\renewcommand{\baselinestretch}{1.5}%если поставить меньше, то дроби на строках будут сливаться друг с другом
\righthyphenmin=2 % Минимальное число символов при переносе - 2.
\pagestyle{myheadings}
\begin{document}
\renewcommand{\contentsname}{Содержание}%Строго говоря, Оглавление - это когда текст разбит на главы. Когда текст разбит на секции - это Содержание.
%\begin{titlepage}
{
\thispagestyle{empty}
\newpage
\centering
\textbf{
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ\\
ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ\\
КЕМЕРОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ\\*
Математический факультет\\
Кафедра ЮНЕСКО по Новым информационным технологиям}
\vfill
{\large ДИПЛОМНАЯ РАБОТА}
\vfill
<<Автоматизированная система регистрации на семинары в КРИПКиПРО>>
студента пятого курса, М-065 группы
Яковлева Александра Яковлевича
Специальность 010503 - <<Математическое обеспечение и администрирование информационных систем>>
\vfill
\begin{flushleft}
Научный руководитель: \\
К.п.н., доцент \\
Л. Е. Шмакова\\
\makebox[5cm]{\hrulefill}
\end{flushleft}
\vfill
\begin{table}[ht]
\begin{minipage}[t]{0.5\linewidth}\centering
Работа допущена к защите:\\
<< \makebox[1cm]{\hrulefill} >> \makebox[3cm]{\hrulefill} \number\year г.\\
Зав. кафедрой ЮНЕСКО по НИТ,\\
д.-р физ.-мат.наук, профессор\\
К. Е. Афанасьев\\
\makebox[5cm]{\hrulefill}
\vspace{\fill}
\end{minipage}
\hspace{0.5cm}
\begin{minipage}[t]{0.5\linewidth}\centering
Работа защищена:\\
<< \makebox[1cm]{\hrulefill} >> \makebox[3cm]{\hrulefill} \number\year г.\\
c оценкой \makebox[3.6cm]{\hrulefill} \\
Председатель ГАК\\
\makebox[5cm]{\hrulefill}\\
Члены ГАК:\\
\makebox[5cm]{\hrulefill}\\
\makebox[5cm]{\hrulefill}\\
\makebox[5cm]{\hrulefill}
\end{minipage}
\end{table}
\vspace{\fill}
Кемерово \number\year
\clearpage
}
%\end{titlepage}
\setlength{\parskip}{0ex plus 0.5ex minus 0.2ex}
\tableofcontents
\clearpage

1
Topicality.tex Normal file
View File

@ -0,0 +1 @@
\chapter{Актуальность работы}

168
bibliography.bib Normal file
View File

@ -0,0 +1,168 @@
@BOOK{ajax,
author = "Маклафлин, Б.",
address = "СПб.",
title = "Изучаем Ajax",
publisher = "Питер",
year = 2007,
numpages = 448,
isbn = "978-5-91180-322-3",
language = "russian"
}
@BOOK{rosental,
author = "Розенталь, Д. Э. and Джанджакова, Е. В. and Кабанова, Н. П.",
title = "Справочник по правописанию, произношению, литературному редактированию",
address = "М.",
publisher = "ЧеРо",
year = 1999,
language = "russian"
}
@MISC{ajax-origin,
title = "[Электронный ресурс]",
url = "\underline{http://www.adaptivepath.com/ideas/e000385}"
}
@BOOK{holshevnikov,
author = "Холшевников, В. Е.",
title = "Мысль, вооруженная рифмами",
address = "Л.",
publisher = "ЛГУ",
year = 1987,
language = "russian"
}
@BOOK{gasparov,
author = "Гаспаров, М. Л.",
title = "Современный русский стих: Метрика и ритмика",
address = "М.",
publisher = "ЛГУ",
year = 1974,
language = "russian"
}
@MISC{google-translate-help,
title = "[Электронный ресурс] Переводчик Google -- Часто задаваемые вопросы",
url = "\underline{http://www.google.ru/intl/ru/help/faq\_translation.html}"
}
@MISC{longfellow-wikipedia,
title = "[Электронный ресурс]",
url = "\underline{http://en.wikipedia.org/wiki/Henry\_Wadsworth\_Longfellow}"
}
@MISC{babelfish-wikipedia,
title = "[Электронный ресурс]",
url = "\underline{http://en.wikipedia.org/wiki/Yahoo!\_Babel\_Fish}"
}
@MISC{knight,
author = "Knight K.",
title = "A Statistical MT Tutorial Workbook",
url = "\underline{http://www.clsp.jhu.edu/ws99/projects/mt/mt-workbook.htm}",
year = 1999
}
@BOOK{onufriev,
author = "Онуфриев, В. В.",
title = "Словарь разновидностей рифмы",
address = "М.",
year = 2002,
language = "russian"
}
@Article{computerra,
author = "Ножов, И.",
title = "Синтаксический анализ",
journal = "Компьютерра",
year = 2002,
number = 21,
language = "russian"
}
@INBOOK{langlais,
author = "Langlais P. and Simard M. and Véronis J.",
title = "Methods and Practical Issues in Evaluating Alignment Techniques",
booktitle = "Proceedings of COLING-ACL 98",
address = "Montreal, Canada",
year = 1998,
language = "english"
}
@INBOOK{gale,
author = "Gale W. and Church K.",
title = "A Program for Aligning Sentences in Bilingual Corpora",
booktitle = "Proceedings of the 29th Annual Meeting of the ACL",
address = "Berkeley, California",
year = 1991,
language = "english"
}
@INBOOK{melamed,
author = "Melamed I. D.",
title = "Automatic Construction of Clean Broad-Coverage Translation Lexicons",
booktitle = "Proceedings of 2nd Conference of the Association for Machine Translation in the America",
address = "Montreal, Canada",
year = 1996,
language = "english"
}
@INBOOK{han,
author = "Han B.",
title = "Building a Bilingual Dictionary with Scarce Resources: A Genetic Algorithm Approach",
booktitle = "Student Research Workshop, the Second Meeting of the North American Chapter of the Association for Computational Linguistics",
address = "Pittsburgh, USA",
year = 2001,
language = "english"
}
@INBOOK{slabin,
author = "Чистяков, А. and Скрябнёв, А.",
title = "Компьютерный перевод как инструмент межкультурной коммуникации",
booktitle = "Сб. научных статей",
editor = "к.п.н. У. К. Слабин",
address = "Витебск",
year = 2005,
pages = "202-206",
language = "russian"
}
@INBOOK{basylev1,
author = "Базылев, В. Н.",
title = "Поиск смысла в практике переводчика",
booktitle = "Смысл и выражение: контроверзы современного гуманитарного знания",
address = "Самара",
publisher = "21 век",
year = 2001,
pages = "233-235",
language = "russian"
}
@INBOOK{basylev2,
author = "Базылев, В. Н.",
title = "Аналитический перевод (из опыта новейших русских переводов австрийской лирической поэзии)",
booktitle = "Композиционная семантика",
address = "Тамбов",
publisher = "Тамбовский ГУ",
year = 2002,
pages = "163-165",
language = "russian"
}
@PHDTHESIS{chudinova,
author = "Чудинова, Е. А.",
title = " Широко развитая многозначность в лексике современного русского языка: лингвостатистическое исследование по данным лексикографии",
type = "Автореф. дис\ldots\ канд. филол. наук",
address = "Пермь",
year = 1998,
language = "russian"
}
@PHDTHESIS{rahimberdiev,
author = "Рахимбердиев, Б. Н.",
title = "Эволюция семантики экономической терминологии русского языка в XX веке",
type = "Дисс. на соиск. уч. степ. канд. филол. наук.",
address = "М.",
year = 2003,
numpages = 188,
language = "russian"
}
@BOOK{beckman,
author = "Beckman, M. E.",
title = "Stress and Non-Stress Accent",
address = "Dordrecht",
publisher = "Foris",
year = 1986,
isbn = "90-6765-243-1",
language = "english"
}
@BOOK{literature-rosman,
editor = "проф. Горкина А.П.",
title = "Литература и язык. Современная иллюстрированная энциклопедия",
address = "М.",
publisher = "Росмэн",
year = 2006,
language = "russian"
}

1428
utf8gost780u.bst Normal file

File diff suppressed because it is too large Load Diff