Основные этапы и стандарты разработки программного обеспечения: руководство для бизнеса
Основной задачей разработки программного обеспечения является создание систем, которые полностью отвечают бизнес-требованиям и максимизируют преимущества от их использования. При этом такие системы должны проектироваться с учетом последующего сопровождения, строгих требований к производительности и высокого уровня качества. Осознавая критическую важность информационных технологий, организация ставит целью формирование надежной основы для создания и внедрения программных продуктов, соответствующих указанным задачам. Данная глава описывает ключевые требования к процессу разработки, осуществляемой как силами внутренних специалистов, так и с привлечением сторонних исполнителей. В ней также определены обязательные стадии создания и внедрения программных решений, требования к их документированию и процедурам контроля качества.
Основными участниками процесса разработки являются несколько ключевых сторон. Заказчик — это подразделение организации или вся организация в целом, у которых возникла потребность в создании нового или модификации существующего программного обеспечения. Разработчик — это проектная команда, сформированная на базе ИТ-службы или внешней организации, которая непосредственно осуществляет работы по созданию, изменению и внедрению ПО. Контролеры — это сотрудники организации (не входящие в команду разработчиков), которые осуществляют наблюдение за созданием продукта; ими могут быть руководители подразделений или назначенные ими специалисты. Аналитики — это эксперты в области банковских технологий, участвующие в постановке задач и консультировании всех участников проекта на протяжении его жизненного цикла.
Одним из первостепенных требований является скрупулезное документирование всех этапов процесса разработки, начиная с формирования первоначальных требований и заканчивая вводом в эксплуатацию и последующим сопровождением. Возникающие в процессе документы, такие как спецификации, планы разработки и руководства пользователя, считаются неотъемлемой частью самого программного продукта. Целью документирования является облегчение процессов сопровождения, доработки и контроля качества программного обеспечения. Надлежащая проектная документация обеспечивает возможность эффективной дальнейшей работы с продуктом даже в случае полной смены команды разработчиков.
Качество документации должно соответствовать ряду строгих критериев. Критерий правильности подразумевает полное соответствие (трассируемость) требований и спецификаций системе, а также последовательность в их описании. Критерий полноты требует использования версий документов для контроля изменений, доступности всех их версий и максимально полного описания функциональности системы в требованиях. Критерий удобства и простоты использования включает применение оглавлений, алфавитных указателей, глоссариев и кросс-ссылок, а также логическую последовательность терминологии и уместный внешний вид. При этом необходимо избегать излишней бюрократизации, гибко меняя набор и объем документов в зависимости от целей конкретного проекта.
К исходным кодам программ, которые по своей сути являются технической документацией, применяются многие из вышеуказанных требований. Исходные коды систем, разработанных для банка, должны передаваться ему вместе с системой и сопроводительной документацией. Данное условие является обязательным для включения в договоры на разработку и служебные инструкции программистов. Код должен содержать достаточное количество комментариев, поясняющих его структуру и функциональность отдельных модулей, подпрограмм или классов. Программный код должен быть написан с учетом необходимости его дальнейшего сопровождения и потенциального расширения функциональности системы.
Программный код должен быть отформатирован в едином стиле, в соответствии с утвержденными стандартами кодирования. Эти стандарты обычно включают принципы форматирования, такие как структурированное расположение текста и отступы для удобства чтения, а также правила комментирования. Соглашения о стиле программирования описывают стандарты именования переменных, констант, классов и других сущностей, что способствует созданию предсказуемого и легкого для восприятия кода. Отдельным разделом стандартов являются приемы написания эффективного кода, связанные с использованием оптимальных структур данных, алгоритмов и производительных запросов к базам данных.
Представители заказчика обязаны активно участвовать и контролировать процесс разработки на всех его этапах. Для этого назначаются ответственные представители — контролеры, которыми могут быть сотрудники банка, детально знающие соответствующие бизнес-процессы, специалисты ИТ-службы или внешние консультанты. Для достижения максимальной отдачи от внедрения разрабатываемых систем критически важно тесное взаимодействие между заказчиком и разработчиками. Ответственность за успех разработки, помимо назначенных сотрудников, несут соответствующие руководители подразделений или организации в целом.
Масштаб применения и степень следования стандартам разработки зависят от размера и характера проекта, а также от используемых инструментов. Для небольших и некритичных для бизнеса приложений строгое соблюдение всех стандартов может не быть обязательным. Однако для крупных и стратегически важных проектов, сопряженных с высокими затратами и рисками, необходим максимальный контроль и неукоснительное следование стандартам программирования. Затраты на разработку должны всегда соизмеряться с важностью решаемых задач и ожидаемой выгодой от внедрения системы.
Процесс разработки программного обеспечения содержит несколько ключевых стадий: инициация проекта, его оценка, анализ и проектирование, конструирование и внедрение системы. Этап инициации проекта включает подготовку заказчиком требований к новой системе, описание ее функций, бизнес-обоснование и получение формального одобрения от руководства для начала работ. Первоначальные требования направляются в ИТ-подразделение для оценки факторов, критичных для успеха проекта, его согласования с общей бизнес-стратегией и примерного расчета затрат.
На этапе анализа и проектирования осуществляется детальная разработка проектной документации, описывающей работу будущей системы, ее структуру и необходимые технические средства. Итогом этого этапа являются спецификации системы, которые готовятся разработчиком при поддержке заказчика. Эти документы должны содержать описание автоматизируемых бизнес-процессов, спецификацию программно-аппаратного обеспечения и детальное описание функциональности системы. Все спецификационные документы подписываются разработчиком и предоставляются для ознакомления заказчику.
Альтернативой написанию подробных спецификаций может служить методика создания прототипов. Этот итерационный подход предполагает согласование интерфейсов системы с будущими пользователями через обсуждение и утверждение экранных форм. Главными преимуществами прототипирования являются сокращение сроков и затрат на разработку. Однако при принятии решения о его использовании необходимо оценить риски, такие как неконтролируемое расширение рамок проекта, упущение вопросов информационной безопасности и потенциальные трудности с долгосрочным сопровождением системы.
На этапе конструирования формальные требования преобразуются в рабочую систему. Разработка включает создание структуры программы, кодирование, построение базы данных и многоуровневое тестирование. Программное обеспечение создается с использованием структурного подхода и в строгом соответствии с установленными стандартами кодирования. Разработчик использует систему контроля версий исходных кодов, а все изменения в коде документируются. Тестирование проводится по комплексному плану, покрывающему как функциональные требования (тестирование черного ящика), так и внутреннюю структуру кода (тестирование белого ящика).
На этапе внедрения разработанная система устанавливается на рабочие серверы и станции, заказчику передается вся документация и проводится обучение пользователей. Заказчик должен убедиться в полноте и корректности документации, а также в том, что установка нового ПО не навредит работающим системам. Приемка системы включает составление заказчиком плана тестирования и его выполнение для проверки заявленной функциональности. По итогам успешного внедрения подписывается документ о его завершении, а также решаются вопросы последующего сопровождения и соглашений об уровне обслуживания (SLA).
Сведения об авторах и источниках:
Авторы: Тютюнник А.В., Шевелев А.С.
Источник: Информационные технологии в банке
Публикации предназначены для ИТ-руководителей и топ-менеджеров коммерческих банков, а также для менеджеров компаний-разработчиков и консультантов. Материалы помогут профессионалам в организации и оптимизации управления информационными системами на всех этапах их жизненного цикла.
Дата добавления: 2025-09-30; просмотров: 90;











