4
1. Основные принципы гибких технологий разработки
программного обеспечения
1.1. Технология программирования
Для того чтобы понять, что такое технология программирования
вообще, и что такое гибкие технологии программирования в частности,
необходимо ознакомится со спецификой проблем, которые возникают при
разработке современного программного обеспечения. Грубо говоря, при
разработке любого программного продукта необходимо полностью и в
установленные сроки решить поставленную задачу, обеспечив при этом
высокий уровень качества. Данные требования можно предъявить как к
выполнению лабораторной работы по программирования, так и к разработке
современного программного комплекса. Однако в последнем случае
разработчик столкнется с решением задач, которые, на первый взгляд, не
относятся к дисциплине программирования (в узком смысле). Такими
задачами являются, например, определение и спецификация требований,
разработка
архитектуры системы, управление качеством продукта и так
далее. Именно для решения подобных задач и необходима технология
программирования.
При этом важно отметить, что технология программирования не
является набором абстрактным умозаключений и формальных методик.
Используемая технология программирования пронизывает все фазы
жизненного цикла программного продукта. Любое действие, совершаемое в
процессе разработки продукта, выполняется
в соответствии с используемой
технологией программирования.
Также важно отметить отличие между методологией и технологией
программирования. Методология программирования является формой
предписаний и норм, в которых фиксируются содержание и
последовательность определённых видов деятельности. Технология
программирования является совокупностью приемов и способов выполнения
определенных видов деятельности. Исходя из вышеприведенных
определений ясно, что технология программирования
присутствует при
разработке любого программного продукта, даже если это и не закреплено
формальной методологией разработки.
Одним из ключевых понятий технологии разработки программного
обеспечения, как и многих других областей деятельности, является понятие
проекта. Проект есть уникальное временное предприятие, направленное на
создание определенного, уникального продукта и услуги. Технология
управление проектом есть совокупность
знаний, навыков, инструментов и
методов для планирования и реализации действий, направленных на
достижение поставленной в рамках проекта цели.
Современные программные системы разрабатываются в
исключительно сложной обстановке. На пути современного проекта по
разработке программного обеспечения встают многочисленные
организационные и технические препятствия. Можно выделить следующие