- •Содержание
- •Аннотация
- •Введение
- •Постановка задачи
- •Разработка и согласование тз на информационную систему
- •Формирование команды проекта, распределение обязанностей в команде, выбор методологии разработки по
- •Распределение трудовых ресурсов
- •Описание используемой методологии разработки по
- •Технико-экономическое обоснование проекта
- •Выполнение технико-экономических требований
- •Этапы проведения работ по созданию системы
- •Расчет сметной стоимости создания системы
- •Оценка стоимости эксплуатации ис «ebis»
- •Затраты на сопровождение ис «ebis».
- •Затраты на эксплуатацию ис «ebis».
- •Экономическая целесообразность разработки системы
- •Сбор требований к разрабатываемой системе, выявление основных групп пользователей системы
- •Анализ рисков проекта, описание мер уменьшения их влияния на результат выполнения проекта
- •Описание угроз и возможностей, которые могут возникнуть в процессе работы над проектом
- •Оценки рисков, проведённая аналитиком проекта
- •Описание сценариев работы с рисками
- •План проекта
- •Описание архитектуры системы
- •База данных
- •Принятие основных решений по видам обеспечений системы
- •Принятие основных решений по безопасности и отказоустойчивости системы
- •Защита от межсайтового скриптинга (xss)
- •Защита от подделки межсайтового запроса (csrf)
- •Защита от внедрения sql (sql-injection)
- •Разработка структур данных и основных решений
- •Разработка основных компонентов системы
- •Описание приложения менеджера учетных записей (apps.Accounts)
- •Описание приложения для управления сервисом вопросов и ответов (apps.Forum)
- •Описание решений по организации тестирования системы
- •Разработка средств автоматизированного развертывания системы и основных решений по автоматизации рутинных задач
- •Описание выбора окончательного решения
- •Оптимизация проекта
- •Анализ и оптимизация плана проекта
- •Анализ и оптимизация плана работ
- •Анализ и оптимизация стоимости проекта
- •Анализ рисков
- •Проведение испытаний в соответствии с программой и методикой испытаний
- •Перечень проверок, проводимых на 1 этапе испытаний
- •Перечень проверок, проводимых на 2 этапе испытаний
- •Оценка соответствия окончательного варианта системы требованиям технического задания
- •Описание решений по сопровождению системы
- •Заключение
- •Список использованных источников
Описание архитектуры системы
В п.п. 2.3.1 - 2.3.3 будет приведено описание основных компонентов системы. В данном разделе не рассматривается вопрос об аппаратном обеспечении системы, так как в соответствии с ТЗ (приложение А, раздел 3, п.п. 3.2), выбор аппаратного обеспечания системы остается на усмотрение заказчика.
База данных
База данных представляет собой реляционную БД, спроектированную исходя из функционального описания системы, представленного в разделе 2. Краткое описание основных таблиц спроектированной БД предствлено в таблице 2.1:
№ п/п |
Таблица |
Поля |
Описание |
|
|
Вопросы |
Тема обсуждения, Сообщение, Количество просмотров, Автор вопроса |
Содержит информацию о вопросах, которые задали пользователи на сервисе |
|
|
Ответы |
Вопрос, Сообщение, Автор ответа |
Содержит информацию об ответах, которые дали пользователи на разилчные вопросы |
|
|
Вложение |
Файл, Сообщение |
Содержит информацию о файловых вложениях, которые прикреплены к разлиным сообщениям. |
|
|
Ключевые слова |
Ключевое слово, Вопрос |
Содержит информацию о ключевых словах, которыми обозначены различные вопросы. |
|
|
Сообщение |
Дата создания, Рейтинг, Текст сообщения, Автор сообщения |
Содержит информацию о контекстах вопросов и ответов, созданных пользователями. |
Сервер
С архитектурой отладочного сервера Django можно ознакомится в официальной документации Django [ссылка на документ]. Здесь отметим, что отладночный сервер не требует каких-либо специального настроек.
Web-приложение
Основу системы EBIS составляет web-приложение, разработанное с использованием web-фреймоврка Django.
Архитектура web-приложения ПО построена на основе модифицированного шаблона MVC (Model-View-Controller) - MTV (Model-Template-View). Выбор шаблона MTV для построения архитектуры системы был выбран исходя из того, что данный шаблон является основой фреймворка Django. Контроллер классической модели MVC примерно соответствует уровню, который в Django называется Представление (англ. View), а презентационная логика Представления реализуется в Django уровнем Шаблонов (англ. Template).
Бизнес-логика системы EBIS заключена в двух Django-приложениях: Accounts и Forum.
Обобщенная структурная схема web-приложения представлена на рисунке 2.3:
Рисунок 2.2 - Обобщенная структурная схема разработанного web-приложения
Приложение Accounts отвечает за регистрацию и аутентификацию пользователей. В приложении Accounts используется единственная, встроенная в Django, модель User.
Приложение Forum является ключевым приложением сервиса, и отвечает за создание вопросов, создание ответов на вопросы, а так же осуществляет управление рейтингами вопросов. В приложении Forum используются модели Question, Answer, User, Post, Tag, Attachment, Vote.
Кроме того, в разработанной системе используется ряд встроенных в фреймворк Django приложений, а именно: admin, auth, contenttypes, sessions, messages, staticfiles. Данные встроенные приложения содержатся в модуле django.contrib.
