
- •Содержание
- •Аннотация
- •Введение
- •Постановка задачи
- •Разработка и согласование тз на информационную систему
- •Формирование команды проекта, распределение обязанностей в команде, выбор методологии разработки по
- •Распределение трудовых ресурсов
- •Описание используемой методологии разработки по
- •Технико-экономическое обоснование проекта
- •Выполнение технико-экономических требований
- •Этапы проведения работ по созданию системы
- •Расчет сметной стоимости создания системы
- •Оценка стоимости эксплуатации ис «ebis»
- •Затраты на сопровождение ис «ebis».
- •Затраты на эксплуатацию ис «ebis».
- •Экономическая целесообразность разработки системы
- •Сбор требований к разрабатываемой системе, выявление основных групп пользователей системы
- •Анализ рисков проекта, описание мер уменьшения их влияния на результат выполнения проекта
- •Описание угроз и возможностей, которые могут возникнуть в процессе работы над проектом
- •Оценки рисков, проведённая аналитиком проекта
- •Описание сценариев работы с рисками
- •План проекта
- •Описание архитектуры системы
- •База данных
- •Принятие основных решений по видам обеспечений системы
- •Принятие основных решений по безопасности и отказоустойчивости системы
- •Защита от межсайтового скриптинга (xss)
- •Защита от подделки межсайтового запроса (csrf)
- •Защита от внедрения sql (sql-injection)
- •Разработка структур данных и основных решений
- •Разработка основных компонентов системы
- •Описание приложения менеджера учетных записей (apps.Accounts)
- •Описание приложения для управления сервисом вопросов и ответов (apps.Forum)
- •Описание решений по организации тестирования системы
- •Разработка средств автоматизированного развертывания системы и основных решений по автоматизации рутинных задач
- •Описание выбора окончательного решения
- •Оптимизация проекта
- •Анализ и оптимизация плана проекта
- •Анализ и оптимизация плана работ
- •Анализ и оптимизация стоимости проекта
- •Анализ рисков
- •Проведение испытаний в соответствии с программой и методикой испытаний
- •Перечень проверок, проводимых на 1 этапе испытаний
- •Перечень проверок, проводимых на 2 этапе испытаний
- •Оценка соответствия окончательного варианта системы требованиям технического задания
- •Описание решений по сопровождению системы
- •Заключение
- •Список использованных источников
Описание приложения для управления сервисом вопросов и ответов (apps.Forum)
Приложение Forum является ключевым приложением сервиса, и отвечает за создание вопросов, создание ответов на вопросы, а так же осуществляет управление рейтингами вопросов. В приложении Forum используются модели Question, Answer, User, Post, Tag, Attachment, Vote.
В таблице 3.1 представлено описание свойств модели Post. Модель Post содержит информацию о контекстах вопросов и ответов, созданных пользователями. По данной модели была автоматически сгенерирована таблица forum_post.
№ п/п |
Наименование |
Тип |
Описание |
|
timestamp |
DateTimeField |
Дата создания сообщения |
|
rating |
IntegerField |
Рейтинг сообщения |
|
text |
TextField |
Текст сообщения |
|
user |
ForeignKey |
Автор сообщеия |
В таблице 3.2 представлено описание свойств модели Question. Модель Question содержит информацию о вопросах, которые задали пользователи на сервисе. По данной модели была автоматически сгенерирована таблица forum_question.
№ п/п |
Наименование |
Тип |
Описание |
|
subject |
TextField |
Тема обсуждения |
|
views |
IntegerField |
Количество просмотров |
|
post |
ForeignKey |
Сообщение |
|
user |
ForeignKey |
Автор вопроса |
В таблице 3.3 представлено описание свойств модели Answer. Модель Answer содержит информацию об ответах, которые дали пользователи на разилчные вопросы. По данной модели была автоматически сгенерирована таблица forum_answer.
№ п/п |
Наименование |
Тип |
Описание |
|
question |
ForeignKey |
Вопрос |
|
post |
ForeignKey |
Сообщение |
|
user |
ForeignKey |
Автор ответа |
В таблице 3.4 представлено описание свойств модели Attachment. Модель Attachment содержит информацию о файловых вложениях, которые прикреплены к разлиным сообщениям. По данной модели была автоматически сгенерирована таблица forum_attachment.
№ п/п |
Наименование |
Тип |
Описание |
|
file_path |
FilePathField |
Путь к файлу вложения |
|
post |
ForeignKey |
Сообщение |
|
user |
ForeignKey |
Автор вопроса |
В таблице 3.5 представлено описание свойств модели Tag. Модель Tag содержит информацию о ключевых словах, которыми обозначены различные вопросы. По данной модели была автоматически сгенерирована таблица forum_tag.
№ п/п |
Наименование |
Тип |
Описание |
|
name |
TextField |
Ключевое слово |
|
question |
ForeignKey |
Вопрос |
В таблице 3.6 представлено описание свойств модели Vote. Модель Vote содержит информацию о том, какие пользователи за какие сообщения голосовали. По данной модели была автоматически сгенерирована таблица forum_vote.
№ п/п |
Наименование |
Тип |
Описание |
|
post |
ForeignKey |
Сообщение |
|
user |
ForeignKey |
Пользвотель |
Структуры данных в БД проекта были автоматически сгенерированы средствами фреймворка Django на основе ORM моделей для каждого из разработанных приложений. Генерация моделей осуществляется при помощи команды syncdb модуля manage.py
Подробное описание таблиц БД приведено в приложении Х "Описание структур данных в БД".
Описание представлений приложения accounts приведено в таблице 3.1:
№ п/п |
Наименование |
Входные параметры |
Описание |
|
questions |
tag_name |
Отображение списка вопросов, отфильтрованных по ключевому слову tag_name |
|
question |
question_id, action |
Выполнение действия action над вопросом с идентификатором question_id и отображение результата. Список возможных действий: view, like, dislike. |
|
answer |
answer_id, action |
Выполнение действия action над ответом с идентификатором answer_id и отображение результата. Список возможных действий: view, like, dislike. |
|
ask_question |
- |
Отображение формы для создания нового вопроса |
|
search_by_tag |
- |
Отображение формы для поиска вопросов по ключеовому слову |
Сопоставление представлений с URL-шаблонами приведено в таблице 3.2:
№ п/п |
URL-паттерн |
Сопоставленное представление (view) |
|
questions/(?P<tag_name>[0-9\w]*) |
questions |
|
question/(?P<question_id>[0-9]+)/(?P<action>[a-z\-]*) |
question |
|
answer/(?P<answer_id>[0-9]+)/(?P<action>[a-z\-]*) |
answer |
|
search/ |
search_by_tag |
|
ask/ |
ask_question |