Skip to content

Instantly share code, notes, and snippets.

@resure
Created October 30, 2011 12:28
Show Gist options
  • Save resure/1325852 to your computer and use it in GitHub Desktop.
Save resure/1325852 to your computer and use it in GitHub Desktop.
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