Created
October 30, 2011 12:28
-
-
Save resure/1325852 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
1. Анализ технических требований и уточнение спецификаций | |
1.1. Анализ задания, выбор технологии, языка и среды программирования | |
Анализ требований показал, что наилучшим вариантом реализации программы будет веб-приложение, так как сайты способны прозрачно обеспечивать удобную совместную работу и не требуют установки специального программного обеспечения на компьютеры пользователей. Кроме того, доступ к веб-приложениям может быть осуществлен с широкого спектра устройств, как настольных (персональные компьютеры), так и портативных (портативные, планшетные и карманные компьютеры), единственным требованием является современный веб-браузер. | |
Основным языком разработки был выбран Ruby, в качестве программного каркаса использовался Ruby on Rails. Cообщество высококлассных разработчиков со всего мира за короткий срок сделали Ruby on Rails продуктом, используемым для создания широкого спектра сайтов: от небольших интернет-магазинов, до используемых миллионами людей ежедневно сайтов и веб-сервисов. На Ruby on Rails работают бизнес-приложения компании 37signals (Basecamp, Highrise, Campfire, Backpack), GitHub (социальная сеть разработчиков программного обеспечения), а также до недавнего времени работал Twitter (система для отправки коротких сообщений группам подписчиков). | |
Вокруг Ruby построена удобная инфраструктура из утилит, позволяющая легко несколько интерпретаторов на одной системе, а также контролировать версии всех модулей (ruby gems) для каждого приложения в отдельности. В самом языке абсолютно все элементы являются объектами, но при этом он позволяет вести разработку не только в объектно-ориентированном стиле. | |
Ruby on Rails предоставляет архитектурный образец Model-View-Controller (модель-представление-контроллер, MVC) — схема использования нескольких шаблонов проектирования, с помощью которых модель данных приложения, пользовательский интерфейс и взаимодействие с пользователем разделены на три отдельных компонента так, что модификация одного из компонентов оказывает минимальное воздействие на остальные. Данная схема проектирования часто используется для построения архитектурного каркаса, когда переходят от теории к реализации в конкретной предметной области. | |
Разработка осуществлялась под операционными системами Mac OS X 10.7 и Linux Ubuntu 10.04, обе являются «родными» для Ruby unix-системами, что позволяет без особых усилий разворачивать готовое приложение на рабочем сервере. Одним из преимуществ Ruby on Rails является отсутствие необходимости использовать тяжелые ресурсоемкие интегрированные среды для разработки (IDE): вместо них применяется связка unix-терминала (bash, zsh) и текстового редактора (Vim, TextMate). | |
В качестве серверного окружения для рабочего приложения рекомендуется использование Linux Ubuntu Server 10.04, связки веб-серверов NGINX и Unicorn и базы данных PostgreSQL, так как эта комбинация зарекомендовала себя как достаточно надежная для бесперебойной и безошибочной работы в течение долгого времени. | |
1.2. Разработка диаграммы вариантов использования | |
Разработку программы целесообразно начать с определения вариантов использования, определяющих взаимодействие пользователей с системой. | |
Все функции разрабатываемой программы можно разбить на три группы: | |
- ввод данных: регистрация пользователей, генерация ключей и сертификатов, создание страниц с текстовой информацией; | |
- обработка данных: смена паролей ключей, подпись сертификатов и страниц; | |
- вывод данных: вывод ключей, сертификатов, страниц и результатов проверки подписей; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment