В настоящее время во все отрасли деятельности человека в больших объёмах внедряются информационные системы и технологии. Это, тем временем, приводит к необходимости создания огромного количества различных программных средств, обеспечивающих взаимодействие этих систем и технологий с пользователем и вычислительной техникой.
Для работоспособности каждой информационной системы в её состав включают обеспечивающие подсистемы. Среди таких подсистем чаще всего выделяют информационное, программное, математическое и организационное обеспечения. Математическое обеспечение предоставляет возможность для реализации целей и задач информационной системы с помощью совокупности математических алгоритмов, методов и программ. Под программным обеспечением (ПО) в общем случае понимается программа или совокупность программ для выполнения задач и устранения ряда проблем комплекса технических средств. В свою очередь программное обеспечение подразделяют на инструментальное, общесистемное и прикладное. К общесистемному ПО относят сочетания программ, которые были разработаны при создании данной информационной системы. В его состав входят пакеты прикладных программ, которые выполняют созданные модели, отражающие функционирование объекта. Прикладное ПО или приложение предназначено для выполнения конкретных пользовательских задач и рассчитанное на прямое общение с пользователем. Такие приложения делят на универсальные и профессиональные программные средства.
Так как прогресс не стоит на месте, многие методы и способы разработки и создания программных средств, которые применялись на начальных этапах развития вычислительных машин, уходят в лету и становятся неактуальными, поскольку не позволяют получить желаемое качество за минимальный промежуток времени при дефиците финансов, людей и других ресурсов. На это имеется ряд причин и все они в итоге приводят к неудовлетворительным результатам создания продуктов. Именно поэтому в последнее время во всем мире активно идут работы по созданию и обновлению большого количества вариаций разработок программных средств. В настоящее время наиболее широко используются три основные стратегии по разработке программных средств: каскадная, инкрементная и эволюционная.
Каскадная стратегия – это стратегия, в которой выполняется лишь один проход этапов разработки. Каждый новый этап разработки начинается только после завершения предыдущего. Возвращение к уже выполненным этапам не предусмотрено. Каскадная стратегия хорошо себя зарекомендовала при построении информационных систем, для которых в самом начале разработки можно достаточно точно и полно сформулировать все требования, с тем чтобы предоставить разработчикам свободу реализовать их как можно лучше с технической точки зрения. Основными достоинствами каскадной стратегии являются:
1) стабильность требований на начальных этапах разработки;
2) выполнение только одного прохода этапов разработки, что обеспечивает простоту применения стратегии;
3) простота проектирования, учёта и управления проектом;
4) доступность для понимания заказчиками.
Основным недостатком каскадной стратегии является существенное запаздывание с получением результатов.
Инкрементная стратегия представляет собой многократный проход этапов разработки с запланированным повышением качества результата. В данной стратегии полностью формируются все условия к разрабатываемому программному средству или системе в начале процесса разработки. Полный набор условий реализуется поэтапно. Результатом каждого цикла является инкремент. Первый инкремент реализует базовые функции программного средства. В следующих инкрементах функции программного средства расширяются шаг за шагом, пока не будут выполнены все условия. Плюсами инкрементной стратегии являются:
1) получение работоспособного продукта по окончанию каждого инкремента;
2) короткий срок создания инкремента, что приводит к сокращению времени начальной поставки;
3) предотвращение выполнения объемных спецификаций и постоянство требований во время создания инкремента;
4) возможность включать в процесс создания пользователей, что дает оценить функционал продукции на ранних этапах разработки.
К недостаткам можно отнести следующее:
1) плохо прослеживаемый прогресс – менеджеры должны постоянно измерять прогресс процесса. В случае быстрой разработки не стоит создавать документы для каждого маленького изменения версии;
2) структура системы имеет склонность к ухудшению при добавлении новых компонентов – постоянные изменения нарушают базовую структуру системы.
В эволюционной стратегии также выполняется многократный проход этапов разработки, но базируется эта стратегия, в отличие от инкрементной, на выборочном и не полном определении требований. Все требования поэтапно уточняются в последующих циклах разработки. Результатом каждого цикла разработки является очередная предоставляемая версия программного средства или системы. Главными достоинствами эволюционной стратегии, которые выявляются при разработке соответствующего ей продукта, являются:
1) возможность конкретизации и внесения новых требований в процессе разработки;
2) возможность использования промежуточного продукта;
3) широкое участие пользователей в проекте, начиная с раннего этапа
4) реализация достоинств каскадной и инкрементной стратегий.
Недостатками эволюционной стратегии являются:
1) повышенные требования к заказчику;
2) сложность в контроле и управлении временем разработки.
Важным фактором при проектировании любого программного средства или его комплекса является оценка качества, необходимая как при её получении, так и при создании. Для того чтобы определить, удовлетворяют ли данные атрибуты продукта качествам требованиям системы, необходимо произвести оценку программной продукции. Для выполнения этой цели существуют определенные стандарты качества. К примеру, самыми распространенными стандартами являются стандарты серии SQuaRE ИСО/МЭК 250…. Задача серии стандартов SQuaRE – помочь разработчикам и заказчикам программных продуктов в спецификации и оценке требований к качеству. Итог оценки представляет из себя отчет об оценке, результаты развития процесса оценки и прибыли. Оценка качества может быть выполнена как в процессе приобретения или разработки продукта, так и после.
Исходя из всего этого можно сделать вывод, что разные подходы к разработке программных средств имеют свои плюсы и минусы. Но, стоит обратить внимание, что выбор подхода зависит как от информационной системы, в которой ведется разработка, так и от требований к созданию продукта.
Библиографический список
-
ГОСТ Р ИСО/МЭК ТО 12182 – 2002. Информационная технология. Классификация программных средств. – Введ. 2002 – 06 – 11. – М.: Изд-во стандартов, 2002.
-
ISO/IEC 9126–1:2001. Программная инженерия – Качество продукта – Ч. 1: Модель качества. – Введ. 2001 – 06 – 15. – Женева : ISO/IEC, 2001.