Описание технологического процесса.

В настоящее время под разработкой программной системы понимается комплекс взаимосвязанных мероприятий (действий), направленных на достижение цели создания системы с заданными характеристиками качествами и при ограниченных ресурсах. Комплекс взаимосвязанных мероприятий - некоторый технологический процесс, преобразующий ресурсы, выделенные на реализацию проекта, в конечный результат - работающую систему.

Под технологией будем понимать некоторую последовательность этапов создания (разработки) сложной системы, каждый из которых характеризуется совокупностью применяемых на данном этапе методов, средств, способов, реализующие поставленные перед этапом цели.

Основой технологии является жизненный цикл разработки системы (ЖЦ), представляющий собой совокупность взаимосвязанных процессов создания и последовательного изменения состояния системы, от момента возникновения необходимости в ней до сдачи в эксплуатации.

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

Все модели жизненного цикла разработки системы подобны по своей сущности, поскольку их целью является предложить общую модель для всех организаций, занятых разработкой программного обеспечения, независимо от сферы применения. При реализации некоторого конкретного проекта может потребоваться более точная модель, учитывающая особенности организации, выполняющей данный проект, функциональные возможности проекта, сложность создаваемой системы, методы и методики, применяемые на определенных этапах разработки, аппаратное обеспечение и другие факторы. При этом, для каждого отдельного компонента создаваемой системы может быть определен свой собственный жизненный цикл разработки.

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

Следующий уровень иерархии детализирует каждый этап жизненного цикла разработки, который состоит из множества стадий. В зависимости от типа разрабатываемой системы, уровня сложности, требований к качеству, надежности и эффективности создаваемой системы, применяемой методологии, этапы жизненного цикла будут включать те или иные стадии. Например, если поставлена задача создать сложный критический программный продукт, то этап стратегического планирования будет включать такие стадии как определение работ, которые необходимо выполнить на этапах разработки и интегрированном этапе, жизненного цикла разработки, методов и инструментальных средств, используемых на каждом этапе жизненного цикла, рассмотрение стандартов разработки, составление плана создания системы. Этап разработки включает стадии предпроектного анализа, проектирования, стадию реализации (непосредственно разработки), отладки, сопровождения. Интегрированный этап состоит из следующей совокупности стадий: верификации, оценки качества, сертификации.

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

Любая методология, любой метод имеет свою собственную модель технологию, т.е. некоторую последовательность этапов выполнения работ в пределах данной методологии. Так, например, на стадии предпроектного анализа этапа разработки в фазе анализа требований может использоваться метод структурного системного анализа Гейна-Сарсона для формализации требований заказчика, в котором процесс построения модели предметной области в виде диаграмм потоков данных можно разбить на следующие этапы:

1. Изучение требований пользователей и их классификация по отдельным функциональным группам (процессам).

2. Идентификация внешних сущностей, с которыми может быть связана разрабатываемая система.

3. Определение потоков данных между системой и внешними сущностями.

4. Разработка предварительной контекстной диаграммы.

5. Уточнение требований и формирование контекстной диаграммы.

6. Формирование ДПД первого уровня.

7. Декомпозиция каждого процесса на ДПД текущего уровня путем формирования ДПД следующего уровня или описание логики процесса при нецелесообразности дальнейшей декомпозиции.

8. Формирование словаря данных и добавление определений новых потоков в случае их возникновения.

Таким образом, технологический процесс представляет собой:

на первом уровне иерархии - совокупность этапов жизненного цикла разрабатываемой системы;

на втором уровне - совокупность стадий, составляющих этапы жизненного цикла;

на третьем - некоторую последовательность фаз, полностью описывающих стадию, декларируемую на верхнем уровне;

на четвертом уровне иерархии - перечень методологий, методов, способов, средств, отчетных документов, допустимых к использованию и формируемых на данной фазе;

на последующих уровнях (до определенной степени детализации) - этапы (элементарные работы), которые необходимо выполнить в рамках выбранной методологии (метода, способа и т.д.).

 

Ниже приведен перечень работ по фазам, стадиям и этапам жизненного цикла программного средства.