Logo

Разработка ПО на заказ

В нашем подходе, к процессу разработки программного обеспечения (ПО) используются несколько основных моделей, в зависимости от сложности проекта и требований бизнеса (Agile, DevOps).

Методология разработки программного обеспечения соответствует методу SDLC (Software Development Life Cycle).

Все шаги, используемые в этом методе, четко определяют этапы жизненного цикла разработки программного обеспечения и довольно просты.

Каждый шаг в жизненном цикле разработки завершается конечным продуктом, необходимым для следующей стадии цикла.  Мы придерживаемся  шести основных этапов процесса разработки программного обеспечения:

default image alt
ОБЩИЙ АНАЛИЗ И ПОДГОТОВКА ТРЕБОВАНИЙ

Требования к разрабатываемым программным продуктам (ПП) определяются на этом этапе. Для большинства проектов этот шаг является очень важным. На данном этапе создается совместная группа проекта и назначаются Менеджеры проекта, как со стороны разработчика, так и со стороны клиента. Причем уже на данной стадии проекта, помимо бизнес аналитиков, работают все категории персонала команды участвующей в проекте.

На данном этапе заключается договор на предпроектное исследование, которое завершается созданием технической документации, состоящей из Проектного задания (Technical Design Document (TDD), Плана проекта (Project Plan) и Тест-плана (Test Plan), а так же предлагаются сроки и стоимость выполнения работ.

В ходе работ, проводится детальный анализ функциональных требований, существующего ИТ ландшафта, безопасности, вопросов миграции данных, интеграции будущего решения с внешними подсистемами, подбор соответствующих технологических инструментов для разработки, проводится анализ сроков, стоимости, лицензионной составляющей проекта, возможности последующей модернизации, варианты и стоимость сопровождения.

После завершения анализа требований и утверждения технической документации, команда проекта может перейти к следующему этапу разработки - дизайна продукта.

default image alt
ПРОЕКТИРОВАНИЕ/ДИЗАЙН ПРОДУКТА

На этом этапе происходит согласование дизайна программного продукта исходя из Проектного задания и возможностей выбранных технологических инструментов,  происходит согласование вариантов внешнего вида пользовательского интерфейса (UI/UX).

На данном этапе, команда проекта, может подготовить прототип будущего продукта, для одобрения общей концепции клиентом. Это позволяет заказчику предварительно ознакомиться с прототипом будущей системы и дать свой отзыв на ранней стадии разработки.

Макет дизайна продукта, также служит основой для следующего шага в цикле разработки. Следующий этап, включает в себя непосредственный процесс разработки/кодирования.

На данном этапе может происходить корректировка окончательной версии спецификации требований и проектной документации, и заключается договор на поставку ПО.

default image alt
РАЗРАБОТКА/КОДИРОВАНИЕ

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

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

На данном этапе выполняется миграция данных из/в внешних подсистем, а также настройка всех справочных данных, в том числе ролевой безопасности пользователей системы.

После данной фазы, команда может перейти к следующему этапу разработки - тестированию.

default image alt
ТЕСТИРОВАНИЕ

После этапа разработки ПО, команда приступает к полноценному тестированию тестированию данного решения. Вся команда находится в постоянном процессе устранения замечаний.

На данном этапе, из числа будущих непосредственных пользователей данного программного обеспечения, создается команда, для получения информации об окончательной готовности ПО, проводится проверка валидации, тестирование конечного программного продукта на основе требований и дизайна UI / UX с точки зрения конечного пользователя.

На данном этапе, сами разработчики программного обеспечения выполняют тестирование ПО совместно с командой тестирования и проектной группой заказчика.

Далее происходит интеграционное тестирование. Здесь проверяется взаимодействие между отдельными модулями и/или внешними системами.

Обязательным элементов тестирования на данном этапе, является нагрузочное тестирование, как правило на оборудовании заказчика, либо в соответствующих центрах наших партнеров, которые предлагают аппаратные, либо «облачные»  решения.

Если приложение больше не содержит критичных замечаний, происходит процесс внедрения.

default image alt
ВНЕДРЕНИЕ/РАЗВЕРТЫВАНИЕ ПРОДУКТА

Как только программный продукт проходит этап тестирования, может начаться процесс его внедрения, т.е. перенос ПО на продуктовые сервера заказчика. Этот этап включает в себя,  окончательное тестирование, в том числе нагрузочное и определение даты перехода в промышленную эксплуатацию.

Если на данном этапе требуются какие-либо доработки/исправления из-за обратной связи с клиентом, или возникают какие-либо ошибки, не замеченные на этапе тестирования, выполняется их устранение и корректируются сроки перехода в промышленную эксплуатацию.

Развертывание ПО, обычно включает в себя настройку продуктового сервера, на котором будет работать программное обеспечение. Такой сервер может быть одним из собственных серверов компании клиента, либо может находиться в «облаке» с использованием, например, Oracle Cloud, Amazon Web Services или Microsoft Azure.

После развертывания следующим этапом является техническое обслуживание и эксплуатация.

default image alt
СОПРОВОЖДЕНИЕ

После того, как все вышеперечисленные шаги были успешно пройдены, и программный продукт прошел этап внедрения, требуется дальнейшее обслуживание продукта. Это включает в себя решение текущих проблем, последующую модернизацию ПО, обновления связанные с изменением версий используемого стороннего программного обеспечения, обновления в связи с различными требованиями регуляторов рынка.

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

Все программные продукты поставляемые нашей компанией, передаются как конструкторы, для возможности дальнейшего развития ПО, в том числе и специалистами наших клиентов и с открытым кодом.

Наши компетенции

Интегрированные среды и утилиты разработки ПО
  • Embarcadero Rad Studio 
  • Oracle JDeveloper
  • PlsqlDeveloper
  • DBForge Studio for Oracle
  • Sybase Power Designer
Языки программирования
  • Object Pascal
  • C++
  • PL/Sql
  • Java
  • JavaScript
Компонентные модели, фреймворки
  • JSF - JavaServer Faces
  • Java Servlet
  • Oracle ADF
Протоколы и форматы обмена данными
  • XML
  • SOAP
  • REST
  • JSON
  • COM
  • OLE
  • WinSock - Windows Sockets API
  • WebSocket
Библиотеки компонент
  • Developer Express
  • Direct Oacle Access
  • ODAC
  • FastReport VCL
  • FastCube VCL
Платформы, СУБД, системные технологии
  • Oracle Database
  • Oracle Gateway
  • Oracle Weblogic
  • GlassFish
  • Oracle SOA
  • Oracle VM Server
  • Oracle VM Virtualbox
  • VMware ESX
  • FireBird DB