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

2009-05-12, Автор - Ленар Хайруллин; [1988]

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


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


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

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

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


Комментарии:
Последние комментарии на сайте:
Поделиться в социальных сетях:


Предварительный обзор Vernee Thor Plus. ...
Предварительный обзор Vernee Thor Plus. Современный рынок мобильных телефонов достаточно сложен и многогранен - большие компании стараются выпуск...
Обзор Team Racing League. Очень нестанда...
Обзор Team Racing League. Очень нестандаЕсли вы любите играть в игры на мобильном телефоне, то у вас есть громадный набор казуальных продуктов, с...
Предварительный обзор Razer Tiamat 7.1 V...
Предварительный обзор Razer Tiamat 7.1 VКомпания Razer всегда делала качественную игровую периферию - клавиатуры, мышки, гарнитуры. С этим, навер...
Обзор Houzz. Идеи для вашего интерьера...
Обзор Houzz. Идеи для вашего интерьераСегодня речь пойдет о достаточно интересном, но весьма странном в своем роде, приложении под названием Ho...
Предварительный обзор ASUS VG278Q. Новый...
Предварительный обзор ASUS VG278Q. НовыйМногие пользователи считают, что игровой монитор обязан быть построен на 4К-матрице, при том матрица эта ...
Обзор The Trail. Новое путешествие...
Обзор The Trail. Новое путешествиеПовествовательные игры на мобильных платформах всегда оказываются достаточно непопулярными - пользователи...
Предварительный обзор Bluboo S8 ...
Предварительный обзор Bluboo S8 Samsung Galaxy S8 стал одним из лучших флагманов, но серьезно потратиться на него готов далеко не каждый....
Предварительный обзор Cubot Magic. Очень...
Предварительный обзор Cubot Magic. ОченьВ подавляющем большинстве ситуаций, новые тренды в плане дизайна или начинки вводят именно большие компан...
Предварительный обзор UHANS Note 4. Отли...
Предварительный обзор UHANS Note 4. ОтлиСтоит отметить, что китайским компаниям очень тяжело на мобильном рынке - конкуренция просто громадная, з...
Предварительный обзор MSI GK-701. Крутая...
Предварительный обзор MSI GK-701. КрутаяИгровые клавиатуры в последнее время стали все более популярными - пользователи стали больше проводить вр...
Предварительный обзор ZTE Blade Spark. С...
Предварительный обзор ZTE Blade Spark. СБольшинство современных доступных смартфонов производятся компаниями, названия которых вы никогда не слыш...
Обзор Vikings. Стреляем на ходу...
Обзор Vikings. Стреляем на ходуИгра Vikings мне понравилась своей графикой, скажу честно. Да, выбирать мобильную игру исходя из графики ...
МегаОбзор
МегаОбзор
MegaObzor в социальных сетях:
Яндекс.Метрика
2006-2017 © MegaObzor