Разработка программного обеспечения

Любая разработка программного обеспечения должна начинаться с детального анализа технического задания (далее ТЗ) и формирования функциональной концепции будущего программного продукта. Одним из основных факторов, влияющим на процесс последующего проектирования ПО, является целевая платформа разрабатываемого программного обеспечения. Здесь под целевой платформой понимается совокупность аппаратно-программного комплекса, призванного в дальнейшем обеспечить функционирование разрабатываемого аппаратно-программного комплекса.


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


Разработка программ начинается с проектирование архитектуры будущей системы. На этом этапе проектировщик должен разработать «чертеж» создаваемого программного продукта, и, кроме этого, определить перечень инструментов, которые могут быть применимы в процессе разработки программного обеспечения. К сожалению, не существует общей методологии проектирования, которая обеспечила бы оптимальный результат. Другими словами качество проекта во многом зависит от опыта и квалификации проектировщика. Однако необходимо отметить, что даже самый опытный программист-проектировщик не застрахован от проектных ошибок, которые рано или поздно всплывут. Тем не менее «критичность» этих ошибок у квалифицированного проектировщика на порядок меньше, чем у тех, которые только начинают делать свои первые шаги. Как показывает практика, одним из возможных подходов проектирования является декомпозиция системы на более мелкие сущности с определением принципов их компоновки и, при необходимости, механизмов взаимодействия. Обычно результаты проектирования оформляются в виде набора схем в UML нотации с некоторым описанием.

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

Иванов И.
Ведущий специалист «InfoSoftCom»
http://www.infosoftcom.ru

МегаОбзор
ЭЛ № ФС 77 - 68301. Выходные данные СМИ МегаОбзор
2006-2024
© MegaObzor