Конструирование (кодирование).
Кодирование – запись алгоритма на языке программирования. Современные системы программирования позволяют ускорить процесс разработки программы, автоматически создавая часть ее текста, однако творческая работа по-прежнему лежит на программисте. [26]
На этом этапе происходит непосредственная работа с кодом, опираясь на выбранный в процессе подготовки язык программирования. Работа кодировщика заключается в переводе алгоритма в программу. Для создания полной, точной и понятной программы необходимы соответствующие методы записи программ.[27]
Далее представлены некоторые конкретные задачи, связанные с конструированием:
1) проверка выполнения условий, необходимых для успешного конструирования;
2) определение способов последующего тестирования кода;
3) проектирование и написание классов и методов;
4) создание и присвоение имен переменным и именованным константам;
5) выбор управляющих структур и организация блоков команд;
6) блочное тестирование, интеграционное тестирование и отладка собственного кода;
7) взаимный обзор кода и низкоуровневых программных структур членами группы;
8) «шлифовка» кода путем его тщательного форматирования и комментирования;
9) интеграция программных компонентов, созданных по отдельности;
10) оптимизация кода, направленная на повышение его быстродействия, и снижение степени использования ресурсов.[28]
Цель фазы конструирования – создание финального продукта (полнофункциональной информационной системы). Основываясь на выбранной архитектуре и технологиях, команда разработчиков (программистов, дизайнеров, тестеров и менеджеров проекта) пошагово (итерационно) конструирует продукт, что обеспечивает гибкость и простоту для внесения изменений и модификаций в процессе разработки.[29]
Интегрирование.
Системная интеграция - это разработка комплексных решений по автоматизации технологических и бизнес-процессов предприятия. Её конечная цель - максимально эффективное управление технологическим процессом, производством, организацией в целом.[30]
Тестирование и отладка.
Тестирование программного обеспечения – процесс исследования программного обеспечения с целью получения информации о качестве продукта.[31] Различается два вида тестирования: автономное и комплексное. При автономном тестированию подвергаются отдельные программные модули, из которых состоит программный комплекс. Комплексное тестирование заключается в проверке всего программного комплекса. Для тестирования подбираются такие исходные данные, для которых результат выполнения программы заранее известен.[32]
На этом этапе программа подвергается различным тестам (как во время написания, так и после него). Тесты необходимы, чтобы убедиться, что программа выполняет именно то, что должна выполнять. Тестирование, в частности, позволяет обнаружить (и исправить) ошибки, допущенные в процессе проектирования и написания программы. Чтобы написать корректную программу, крайне важно с тщательностью подходить к проектированию всех ее элементов и написанию исходного кода.[33]
Отладка – процесс поиска и устранения ошибок.
Для того чтобы убедиться, что полностью отлаженная программа дает правильный результат разрабатывается система тестов – специально подобранных контрольных примеров с такими наборами параметров, для которых решение задачи известно. Тестирование должно охватывать все возможные ветвления в программе, т. е. проверять все ее инструкции, и включать такие исходные данные, для которых решение невозможно. Проверка особых, исключительных ситуаций, необходима для анализа корректности. [34]
Цели тестирования:
1. Продемонстрировать разработчикам и заказчикам, что программа соответствует требованиям.
2. Выявить ситуации, в которых поведение программы является неправильным, нежелательным или не соответствующим спецификации. [35]
Внедрение.
Внедрение программного обеспечения - процесс настройки программного обеспечения под определенные условия использования, а также обучения пользователей работе с программным продуктом.
При внедрении программного обеспечения требуется действие в трех следующих плоскостях работ.
Выделение критических, с точки зрения общего результата, процедур в деятельности организации. Когда набор таких процедур определен, необходимо в первую очередь использовать ИТ-решение для автоматизации операций внутри именно этих процедур. Таким образом, разработанное ИТ-решение автоматически становится жизненно важным и востребованным для организации, а также будет обеспечена публичность процесса внедрения.
Расширение нормативной базы организации путем включения в нее регламентов, описывающих порядок выполнения процедур автоматизируемых процессов. В противном случае есть опасность возникновения рассогласования между автоматизированными процедурами и остальными процессами организации.
Выполнение работ по общей стандартизации существующей деятельности организации, когда выделяются лучшие практики выполнения процедур и включаются в ИТ-решение по принципу наибольшей полезности для большинства участников. Процент таких процедур относительно общего объема автоматизации может быть невелик, но это придает процессу построения решения вес в организации за счет увеличения его «полезности».[36]
Процедура внедрения программного обеспечения в эксплуатацию является завершающей стадией разработки и нередко происходит совместно с отладкой системы. Как правило, ввод в эксплуатацию ПО осуществляется в три этапа:
1) первоначальная загрузка данных;
2) постепенное накопление информации;
3) вывод созданного ПО на проектную мощность.
Ключевой целью поэтапного внедрения разработанной программы становится постепенное выявление не обнаруженных ранее ошибок и недочетов кода. В рамках этого этапа разработки программного обеспечения и заказчик, и исполнитель могут столкнуться с рядом достаточно узкого спектра ошибок, связанных с частичной рассогласованностью данных при их загрузке в БД, а также срывов выполнения программных процедур в связи с применением многопользовательского доступа. Именно на этой стадии выкристаллизовывается окончательная картина взаимодействия пользователя с программой, а также определяется степень лояльности последнего к разработанному интерфейсу. Если выход системы на проектную мощность после ряда проведенных доработок и улучшений произошел без особых осложнений, значит, предварительная работа над проектом и реализация предыдущих стадий разработки осуществлялась правильно.[37]