РАЗРАБОТКА  ПРОГРАММНОГО  ОБЕСПЕЧЕНИЯ (ПО) 

 «АЭТА-Сервис»  создает эффективные, масштабируемые ИТ решения,        
направленные на реализацию бизнес-задач клиента.        

        СТРАТЕГИЯ  

   Стратегия предполагает обследование системы. Основная задача обследования — это оценка реального объема проекта, его целей и задач, а также получение определений сущностей и функций на высоком уровне. На этом этапе привлекаются высококвалифицированные бизнес-аналитики, которые имеют постоянный доступ к руководству фирмы; также предполагается тесное взаимодействие с основными пользователями системы. Основная задача такого взаимодействия — получить как можно более полную информацию о системе, однозначно понять требования заказчика и передать данную информацию в формализованном виде разработчикам. Как правило, информация о системе может быть получена на основании ряда семинаров с руководством, разработчиками и пользователями. 
Итогом этапа определения стратегии становится документ, где четко сформулировано следующее: что именно получает заказчик, если он согласится финансировать проект; график выполнения работ; график финансирования этапов работ для крупных проектов. Иными словами, в результате определения стратегии разработчик и заказчик принимают решение о продолжении работ на определенных условиях с определенными обязанностями сторон.

Следует выделить набор фактов, которые должны быть обязательно отражены в заключительном документе после проведения обследования и анализа деятельности предприятия:

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

АНАЛИЗ 

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

ПРОЕКТИРОВАНИЕ

На этапе проектирования формируется модель данных. Проектировщики получают входные данные анализа. Конечным продуктом этапа проектирования являются схема базы данных (если таковая существует в проекте) и набор спецификаций модулей системы (модель функций).

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

РЕАЛИЗАЦИЯ 

При реализации проекта важно координировать группу разработчиков. Все разработчики должны подчиняться жестким правилам контроля исходных тестов. Группа разработчиков, получив технический проект, начинает писать код модулей. Основная их задача состоит в том, чтобы уяснить спецификацию: проектировщик написал, что надо сделать, разработчик определяет, как это сделать.
На этапе разработки осуществляется тесное взаимодействие проектировщиков, разработчиков и групп тестировщиков. В случае интенсивной разработки тестировщик буквально неразлучен с разработчиком, фактически становясь членом группы разработки.
Чаще всего на этапе разработки меняются интерфейсы пользователя. Это обусловлено, наряду с прочим, периодической демонстрацией модулей заказчику. Также могут существенно изменяться запросы к данным.
Кроме того, должны быть организованы хранилища готовых модулей проекта и библиотек, которые используются при сборке модулей. Это хранилище постоянно обновляется. Контролировать процесс обновления должен один человек.    

ТЕСТИРОВАНИЕ 

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

ВНЕДРЕНИЕ  

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

ЭКСПЛУАТАЦИЯ И ТЕХНИЧЕСКАЯ ПОДДЕРЖКА  

Здесь последним документом, от которого зависят разработчики, является документ технической приемки. Итак, проект сдан, разработка завершена, ошибки, с которыми заказчик согласился, описаны в документации, и в идеале стороны довольны друг другом. Документ также определяет необходимый персонал и требуемое оборудование для поддержки работоспособности системы, а также условия нарушения эксплуатации продукта и ответственность сторон. Помимо этого, если документ заключается между сторонами, он содержит условия технической поддержки.
Условия технической поддержки и ситуации, которые подпадают под понятие «техническая поддержка», а также условия оплаты определяются, как правило, в отдельном документе.

ПРЕИМУЩЕСТВА РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ 
«АЭТА-Сервис»  

1. Богатый опыт в области разработки программного обеспечения
На счету «АЭТА-Сервис» десятки успешно реализованных проектов, из которых 90% было выполнено в утвержденные сроки и в рамках запланированного бюджета. За годы работы наше предприятие накопило уникальный опыт разработки программного обеспечения для заказчиков из различных отраслей экономики и может предложить своим клиентам лучшие международные практики в области создания и внедрения информационных систем.
2. Гарантии качества ИТ-решений
Компания выполняет проекты на высоком уровне организации процессов по обеспечению качества разрабатываемых программных продуктов. Выполнение проекта включает в себя подготовку полного комплекта документации по каждому этапу, облегчая тем самым внедрение, создавая условия для замены разработчиков в случае необходимости и гарантируя необходимую прозрачность работ для заказчика.
3. Прозрачность работ на всех этапах разработки программного обеспечения
Работа над проектом ведется согласно четко выстроенной методологии, которая может быть гибко адаптирована под процессы конкретной компании, включая организацию удаленной работы специалистов и обеспечение заказчику доступа к внутренним системам «АЭТА-Сервис».

ИСПОЛЬЗУЙТЕ НАШ ОПЫТ!