Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Определение процесса (Process Definition)

Определение процесса может быть процедурой, рекомендацией или стандартом.

Определение процессов жизненного цикла программного обеспечения осуществляется с целью:

· повышения качества получаемого продукта;

· улучшения коммуникаций и улучшения понимания различных аспектов программной инженерии отдельными специалистами;

· поддержки совершенствования процессов;

· поддержки управления процессами;

· обеспечения автоматизации процессов.

Используемые типы описаний процессов, часто, зависят от целей определения процессов.

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

Модели жизненного цикла программного обеспечения (Software Life Cycle Models)

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

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

Существуют различные сравнения и критерии выбора моделей. Базовые модели жизненного цикла рассматриваются в лекции 2, вводная часть.

Процессы жизненного цикла программного обеспечения (Software Life Cycle Processes)

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

Однако, определения процессов не описывают порядка их выполнения во времени (за это как раз и отвечают модели).

   Это означает, что, в принципе, процессы жизненного цикла программного обеспечения могут быть «выстроены» (во времени) соответственно любой модели жизненного цикла.   

  Основным источником знаний по процессам является стандарт IEEE/ ISO/ГОСТ 12207 «Information Technology – Software Lifecycle Processes».

Совокупность модели, процессов и практик определяет методологию поддержки жизненного цикла.

Стандарт IEEE 1074 «Standard for Developing Software Life Cycle Processes» предоставляет список процессов и действий по разработке и сопровождению программного обеспечения, а также список действий по поддержке всего жизненного цикла.

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

Еще два стандарта, связанны с процессами сопровождения программного обеспечения – IEEE 1219 «Standard for Software Maintenance» и ISO 14764 «Standard for Software Engineering -Software Maintenance» (см. лекцию 4).

Другие важные стандарты, предоставляющие определение процессов, включают:

 IEEE 1540: Standard for Software Risk Management – управление рисками программного обеспечения.

 IEEE 1517: Standard for Software Reuse Processes – процессы повторного использования ПО.

 ISO/IEC 15939: Standard for Software Measurement Process – процесс измерений в области программного обеспечения.

 

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

Такие процессы называют agile-методами – быстрыми, живыми, подвижными. К ним относится, например, экстремальное программирование – eXtreme Programming (XP, см. Лекцию 1).

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

Другие процессы уделяют специальное внимание принятию решений на основе оценки рисков (см. работы Барри Боэма).

 

Нотации определения процесса (Notations for Process Definitions)

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

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

Инженеры должны иметь представление о следующих подходах.

Диаграммы потоков данных (data flow diagrams), как наборы процессов и их декомпозиций для работ и задач, определенные на естественном языке (см. стандарт ISO 15504 «Information Technology - Software Process Assessment» - «SPICE», стандарт IEEE/ ISO/ГОСТ 12207).

Диаграммы переходов и состояний, SADT, IDEF0 и многие другие. Рассматриваются во второй части этой лекции.

Кроме того, существует успешный опыт по использованию нотации BPMN – Business Process Management Notation для описания процессов программной инженерии. Спецификация BPMN определяет графическое представление бизнес-процессов в форме диаграмм бизнес-процессов – Business Process Diagram

(BPD http://www.bpmi.org). Примеры в Лекции 3.

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

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...