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

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

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


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


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

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

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


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


Предварительный обзор Huawei Honor V10. ...
Предварительный обзор Huawei Honor V10. Мы давно поняли, что Apple перестала быть инновационной компанией, хотя это мнение и притянуто за уши раз...
Обзор Micropolis. Странный симулятор...
Обзор Micropolis. Странный симуляторСовременные мобильные игры потеряли свою уникальность и из-за этого игроку не интересно играть. Сами пони...
Предварительный обзор Oppo R11s Plus. Ши...
Предварительный обзор Oppo R11s Plus. ШиРанее компания Oppo и ее продукция была нам менее интересной, так как официально на территории России куп...
Обзор Rules of Survival. Замена PUBG...
Обзор Rules of Survival. Замена PUBGУспех игры PUBG не дает спокойно спать разработчикам и те постоянно пытаются если не превзойти этот «шеде...
Предварительный обзор Kinesis Freestyle ...
Предварительный обзор Kinesis Freestyle Рынок игровой периферии в последнее время поражает с каждым днем все больше и больше - производители ради...
Обзор Battle of Arrow. Отличный мультипл...
Обзор Battle of Arrow. Отличный мультиплПроблемой большинства современных мобильных игр является банальная скука - пользователь не получает удово...
Обзор Illuminati. Покоряем мир...
Обзор Illuminati. Покоряем мирНаверное, в современном мире нет образованного человека, который бы не слышал про сообщество Иллюминатов....
Безрамочный Asus ZenFone Max Plus официа...
Безрамочный Asus ZenFone Max Plus официа28 ноября в Москве прошла презентация нового смартфона Asus ZenFone Max Plus. Он стал первым безрамочны...
Обзор Deppa Mage Steel и Mage One. Автом...
Обзор Deppa Mage Steel и Mage One. АвтомСовременные автомобили буквально напичканы множеством интересных решений, предназначенные для комфорта во...
Обзор Room Planner 3D for IKEA. Создаем ...
Обзор Room Planner 3D for IKEA. Создаем Современные смартфоны получили достаточно производительности, дабы запускать сложнейшие алгоритмы, но бол...
Обзор Titan Quest: Ragnarök. Вы готовы к...
Обзор Titan Quest: Ragnarök. Вы готовы кВыпускать DLC к игре, которая вышла более чем десять лет назад, воистину героическое решение - оригинальн...
Предварительный обзор Xiaomi Redmi Note ...
Предварительный обзор Xiaomi Redmi Note Компании из Китая давно доказали всем на планете, что они могут и умеют делать смартфоны так, как не дела...
МегаОбзор
МегаОбзор
MegaObzor в социальных сетях:
Яндекс.Метрика
2006-2017 © MegaObzor