Разработка программного продукта

Основной нашей специализацией является разработка сложного заказного программного обеспечения. Выбор основной платформы для тиражируемого программного продукта определяется:

  • ее доступностью в момент, когда у пользователя возникает потребность в решении определенной задачи;
  • ее удобством для решения данной задачи;

Для сложных и требующих существенного времени задач таких, как проектирование, 3D-моделирование, создание медиа-контента, разработка, более удачным решением будет desktop-приложение для традиционного ПК. Как правило, такие задачи требуют большого экранного пространства, сложного пользовательского интерфейса, активного использования клавиатуры и мыши, а также очень требовательны к производительности и аппаратным ресурсам, и поэтому не могут быть выполнены в браузере или на мобильном устройстве.

Для задач с активной коммуникацией и совместной работой пользователей, работающих с  динамическими данными, имеющих сложную внешнюю вычислительную составляющую (backend), эффективным решением будет реализация сервиса с предоставлением доступа через web-интерфейс (frontend)  или  мобильное приложение для Android, IOS, Windows Phone.

При разработке  программного продукта  начинать следует с проектирования — т.е. с полного планирования того, что непосредственно придётся разрабтывать, в какие сроки, с какими исходными данными и ожидаемым результатом.

Зачем нужно проектирование программного продукта?

Определив требования к программному обеспечению, разработчик получает согласованный четкий план действий, график оплат и сроков, сокращает время разработки и повышает её качество. Проектируя ПО заранее, разработчик получает возможность:
  • оценить стоимость и время разработки программного продукта;
  • исключить потери времени и денег на ненужные действия, вынужденные доработки, длительное согласование;
  • избежать разногласий и неудовлетворённости клиента и исполнителя.
В зависимости от особенностей проекта порядок разработки программного обеспечения может отличаться, но в общем виде он такой:
  • что клиент может предоставить (ТЗ, макеты, дизайн), насколько достаточны исходники и какие этапы закрывают — таким образом определяется состав работ;
  • бюджет и сроки: на основе имеющихся материалов утверждается примерная стоимость, срок всего проекта, а также срок и точная стоимость ближайшего этапа.
Этапы и результаты проектирования:
  • описание: совместная работа заказчика (говорит о пользе продукта, требованиях к работоспособности и внешнему виду) и разработчика (предлагает технические и алгоритмические решения);
  • архитектура: утверждается язык программирования, база данных, серверы и фреймворки;
  • техническое задание: составляется архитектором на основании описания и ответов заказчика на вопросы, согласовывается с менеджером проекта, затем передается клиенту, производятся правки.
  • макеты (добавляются к техзаданию): интерфейсов, принципиальные схемы устройства, диаграммы структуры базы данных, схемы взаимодействия компонентов;
  • контроль: архитектор устраняет замечания менеджера проектов.
  • утверждение: заказчик проверяет и меняет ТЗ самостоятельно или сообщает список правок проект-менеджеру, замечания устраняются, ТЗ утверждается.
Как результат проектирования — получаем техническое задание с понятной и однозначной для заказчика и исполнителя (руководителя проекта, программистов, тестировщиков, дизайнеров и других участников процесса разработки) иллюстрацией ответов на вопросы.

Техническое задание должно содержать:
  • общие данные о проекте (название продукта, кем и для чего будет использоваться);
  • общие требования к ПО (к структуре, функциям, в частности приложить схему архитектуры и описать связь подсистем, виды интерфейсов всех составляющих для каждой из ролей пользователей — готовый дизайн или его концепцию);
  • подробный план работ (перечень этапов, сроки по ним);
  • порядок тестирования и приемки (виды и состав испытаний продукта в целом и отдельных частей);
  • перечень действий для запуска продукта;
Требования к документированию процесса и результата разработки:
В составе ТЗ необходимо уделить внимание описанию деталей:
  • пользователи программного продукта: роли, права и функции,
  • описание алгоритмов обработки данных;
  • перечень открытых и закрытых протоколов;
  • требования к безопасности данных на всем жизненном цикле;
  • список компонентов (платных, свободных), которые будут использоваться в разработке,
примеров:
  • при наличии аналогов, интегрируемых систем указываются ссылки на них,
  • в описании работы системы приводится описание типичных сценариев взаимодействия с ней пользователей,
  • примеры входящих данных и формат данных взаимодействия подсистем (таблицы, базы, страницы и др.),
  • примеры исходящих данных (виды отчетов и экспортируемых файлов),
  • указание уровней нагрузки системы (день, месяц, максимальный),
  • требования к производительности, сохранности;
  • обоснование выбора оборудования запуска программного обеспечения;
  • указание хостинга серверной части.
 
 
5.

ИНТЕГРИРОВАННАЯ
СИСТЕМА
БЕЗОПАСНОСТИ

6.

БЕСПЛАТНОЕ РЕШЕНИЕ
ДЛЯ ПРОИЗВОДИТЕЛЕЙ
ОБОРУДОВАНИЯ

ЗАКАЗАТЬ ОБРАТНЫЙ ЗВОНОК
Контакты

г. Москва,
ул. Академика Королева, 8а
mail@softacom.ru

Подписывайтесь на наши новости и статьи в социальных сетях:

facebook twitter googleplus