
- •Содержание
- •Аннотация
- •Введение
- •Постановка задачи
- •Разработка и согласование тз на информационную систему
- •Формирование команды проекта, распределение обязанностей в команде, выбор методологии разработки по
- •Распределение трудовых ресурсов
- •Описание используемой методологии разработки по
- •Технико-экономическое обоснование проекта
- •Выполнение технико-экономических требований
- •Этапы проведения работ по созданию системы
- •Расчет сметной стоимости создания системы
- •Оценка стоимости эксплуатации ис «ebis»
- •Затраты на сопровождение ис «ebis».
- •Затраты на эксплуатацию ис «ebis».
- •Экономическая целесообразность разработки системы
- •Сбор требований к разрабатываемой системе, выявление основных групп пользователей системы
- •Анализ рисков проекта, описание мер уменьшения их влияния на результат выполнения проекта
- •Описание угроз и возможностей, которые могут возникнуть в процессе работы над проектом
- •Оценки рисков, проведённая аналитиком проекта
- •Описание сценариев работы с рисками
- •План проекта
- •Описание архитектуры системы
- •База данных
- •Принятие основных решений по видам обеспечений системы
- •Принятие основных решений по безопасности и отказоустойчивости системы
- •Защита от межсайтового скриптинга (xss)
- •Защита от подделки межсайтового запроса (csrf)
- •Защита от внедрения sql (sql-injection)
- •Разработка структур данных и основных решений
- •Разработка основных компонентов системы
- •Описание приложения менеджера учетных записей (apps.Accounts)
- •Описание приложения для управления сервисом вопросов и ответов (apps.Forum)
- •Описание решений по организации тестирования системы
- •Разработка средств автоматизированного развертывания системы и основных решений по автоматизации рутинных задач
- •Описание выбора окончательного решения
- •Оптимизация проекта
- •Анализ и оптимизация плана проекта
- •Анализ и оптимизация плана работ
- •Анализ и оптимизация стоимости проекта
- •Анализ рисков
- •Проведение испытаний в соответствии с программой и методикой испытаний
- •Перечень проверок, проводимых на 1 этапе испытаний
- •Перечень проверок, проводимых на 2 этапе испытаний
- •Оценка соответствия окончательного варианта системы требованиям технического задания
- •Описание решений по сопровождению системы
- •Заключение
- •Список использованных источников
План проекта
В рамках выполнения проекта обязательно необходимо создать и поддерживать документ плана проекта, который четко оглашает контрольные точки проекта и основные действия, необходимые для его реализации.
Данный документ включает в себя дату каждой контрольной точки или завершения главных действий по достижению целей, а также ответственных за каждое действие. План проекта был составлен на начальном этапе, а исходная версия была одобрена командой.
Несмотря на то, что вначале мы не знали все основные действия, необходимые для реализации нашего проекта, нам все равно предстояло составить набросок действий, которые, по нашему мнению, должны были быть отслежены в формальном виде. Уделили некоторое время и проанализировали большое количество информации. Просмотрели некоторые схожие проекты, которые были завершены ранее. Провели ряд совещаний, отведённых на принятия решений по составлению плана.
После того, как мы составили набросок, мы придали плану статус исходного (базового). После того как ваш план получил статус базового, он не претерпевал слишком много изменений.
Мы записывали фактические даты завершения каждого этапа и действия. В том случае, если дата отличается от запланированной, в проекте обновляются данные о завершении этапа или действия, и мы можем сделать некоторые выводы.
Составление плана проекта включает в себя:
Присвоение имени задачам.
Указание начала выполнения действия.
Указание даты завершения выполнения.
Фиксирование фактической даты завершения выполнения действия.
Указание ответственного за выполнение (трудового ресурса) задачи.
Указание процента завершенности каждого действия.
Составление диаграммы Ганта по выполнению проекта.
Составление плана проекта является одним из первых и ключевых действий, осуществляемых в ходе выполнения проекта. Успех любого коммерческого проекта напрямую связан с глубиной и точностью его планирования, с учетом всех факторов, которые оказывают непосредственное влияние на рыночную ситуацию, складывающуюся в ходе его непосредственной реализации.
План проекта приложен к сопроводительной документации в электронном виде: файл MS Project 2010 «Razrabotka_EBIS».
обоснование выбора основных решений
Функциональное описание системы
В соответсвии с требованиями, изложенными в техническом задании (приложение A), предлагается следующая структура разрабатываемой системы (рисунок 2.1):
Рисунок 2.1 - Структурная схема разрабатываемой системы
Формирование предложений по проектируемой системе
Для реализации системы предлагается использовать набор средств и технологий, описанных в п.п. 2.2.1 - 2.2.3.
Система управления базами данных
В качестве СУБД предлагается использовать SQLite.
SQLite - компактная встраиваемая реляционная СУБД. Слово «встраиваемый» означает, что SQLite не использует парадигму клиент-сервер, то есть движок SQLite не является отдельно работающим процессом, с которым взаимодействует программа, а предоставляет библиотеку, с которой программа компонуется и движок становится составной частью программы. Таким образом, в качестве протокола обмена используются вызовы функций (API) библиотеки SQLite. Такой подход уменьшает накладные расходы, время отклика и упрощает программу. SQLite хранит всю базу данных (включая определения, таблицы, индексы и данные) в единственном стандартном файле на том компьютере, на котором исполняется программа.
Основными доводами в пользу применения в проекте СУБД SQLite являются:
простота использования;
отсутствие необходимости настройки сервера СУБД;
возможность простого распространения со своим продуктом;
полностью свободная лицензия;
кроссплатформенность;
высокая скорость на простых операциях;
поддержка большого подмножества SQL92;
поддержка транзакций, триггеров, представлений (views), вложенных запросов;
безопасность использования (БД хранится в одном файле, права доступа к которому можно контролировать стандартными средствами ОС);
Сервер
В качестве сервера предлагается использовать встроенный в Django фреймворк отладочный сервер (см. п.п. 2.2.3 "Web-фреймворк" раздела 2 "Обоснование выбора основных решений"). Это позволит сосредоточится на разработке самого приложения, не углубляясь в тонкости настройки коммерческих web-серверов.
В случае необходимости, например, при увеличении аудитории сервиса, и, следовательно, нагрузки на сервер, существует возможность заменить отладночный сервер на реальный "боевой" сервер, например, Apache. Интеграция Django в Apache осуществляется посредством модуля для Apache именуемого mod python.
Web-приложение
В качестве фреймворка для разработки web-приложения предлагается использовать Django.
Django - свободный фреймворк для веб-приложений на языке Python, использующий шаблон проектирования MVC. Web-сервис на Django строится из одного или нескольких приложений, которые рекомендуется делать отчуждаемыми и подключаемыми. Это одно из существенных архитектурных отличий этого фреймворка от некоторых других (например, Ruby on Rails). Один из основных принципов фреймворка — DRY (англ. Don't repeat yourself).
Также, в отличие от других фреймворков, обработчики URL в Django конфигурируются явно при помощи регулярных выражений, а не выводятся автоматически из структуры моделей контроллеров.
Для работы с базой данных Django использует собственный ORM, в котором модель данных описывается классами Python, и по ней генерируется схема базы данных.
Основные преимущества в использовании Django:
язык программирования Python (простота и скорость разработки, большой опыт работы коллектива разработчиков с данным ЯП);
открытый исходный код;
большое количество качественной документации;
кроссплатформенность;
встроенный ORM; поддержка архитектурного шаблона MVC;
высокая скорость работы при больших нагрузках (Веб-фреймворк Django используется в таких крупных и известных сайтах, как Instagram, Disqus, Mozilla, The Washington Times, Pinterest и др.)
Для создания пользовательского интерфейса предлагается использовать Twitter-bootsrap.
Twitter-bootstrap - это свободный набор инструментов для создания сайтов и веб-приложений. Он включает в себя HTML и CSS шаблоны оформления для типографики, веб-форм, кнопок, меток, блоков навигации и прочих компонентов веб-интерфейсов, включая JavaScript расширения.