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

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

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


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


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

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

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


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


Wargaming перезапустили «World of Warpla...
Wargaming перезапустили «World of WarplaСерия проектов, посвященных Второй мировой войне от белорусской компании Wargaming еще изначально задумыв...
Предварительный обзор Huawei Honor Water...
Предварительный обзор Huawei Honor WaterНесмотря на то, что защита от влаги и пыли для большинства современных смартфонов это уже норма, а не как...
Обзор The Room. Давайте подумаем...
Обзор The Room. Давайте подумаемСкажу честно и открыто - игра The Room мне дико понравилась и дело даже не в том, что это крутая головоло...
Предварительный обзор ASUS VivoBook X207...
Предварительный обзор ASUS VivoBook X207В последнее время действительно интересных ноутбуков никто не показывает - компании привыкли демонстриров...
Обзор The Evil Within 2. Тревожно до дро...
Обзор The Evil Within 2. Тревожно до дроРазработчики игры The Evil Within 2 удачно подобрали время для релиза - на PC она вышла в пятницу 13 числ...
Предварительный обзор Vernee M5. Лучший ...
Предварительный обзор Vernee M5. Лучший В последнее время мы стали замечать, что грань между качеством устройств титанов рынка и менее больших пр...
Обзор ELEX. Шедевр не только для фанатов...
Обзор ELEX. Шедевр не только для фанатовНесмотря на то, что с проектами студии Piranha Bytes я знаком достаточно давно, назвать себя прямо ярым ф...
Предварительный обзор Google Pixelbook. ...
Предварительный обзор Google Pixelbook. Официальный анонс ноутбука Google Pixelbook произвел небольшой фурор в интернете, ведь пользователи дейст...
Предварительный обзор Xtrfy K3. Новая иг...
Предварительный обзор Xtrfy K3. Новая игШведская киберспортивная организация Ninjas in Pyjamas, которая была организована в 1999 году и сейчас яв...
Обзор Eternal. Очень крутая карточная иг...
Обзор Eternal. Очень крутая карточная игМы следим за развитием игры Eternal еще с того времени, когда информация о проекте только появилась, а по...
Предварительный обзор BlackBerry Motion....
Предварительный обзор BlackBerry Motion.Стоит отметить, что еще за две недели до официального анонса смартфона BlackBerry Motion, продукт уже был...
Предварительный обзор Samsung HMD Odysse...
Предварительный обзор Samsung HMD OdysseШлем виртуальной реальности это всегда интересно - производители со всего мира стараются создать сио идеа...
МегаОбзор
МегаОбзор
MegaObzor в социальных сетях:
Яндекс.Метрика
2006-2017 © MegaObzor