Процесс функционирования представляет стадию жизненного цикла, когда программный продукт ежедневно используется, а работа предыдущей системы (ручной или автоматизированной) постепенно сокращается. Постепенное сокращение — обычно поэтапный процесс. В ситуациях, где это возможно и выполнимо, организация обычно использует новую и старую системы параллельно в течение некоторого времени. Это обеспечивает отход назад, если повое изделие не удовлетворяет бизнес-требованиям.
Процесс функционирования совпадает с началом сопровождения изделия. В программной инженерии сопровождение имеет несколько отличное значение по сравнению с обычным использованием этого слова. Во-первых, сопровождение – это не только незапланированная фиксация возникающих проблем. Сопровождение планируется и оплачивается на ранних стадиях жизненного цикла. Во-вторых, сопровождение включает развитие изделия. В некоторых итеративных моделях жизненного цикла могут даже оказаться трудноразличимыми разработка и сопровождение.
Сопровождение обычно разделяется на:
• корректирующее (действия по обслуживанию) – выявление дефектов и ошибок, обнаруженных при работе;
• адаптивное – изменение ПО в ответ на изменения в вычислениях или в бизнес-среде;
• совершенствующее – развитие изделия путем добавления новых особенностей или улучшения его качества.
Стоимость сопровождения значительна за время жизни ПО. Она значительна потому, что изделие остается в действии в течение долгого времени. Большие системы предприятий настолько фундаментальны, что они сохраняются действующими с помощью использования любых доступных технологий «поддержки жизни». Такие системы называются унаследованными системами. Конечно, их следовало бы удалить, но для них нет никакой замены. Действительно, когда решение об удалении системы, в конечном счете, принято, это делается не потому, что унаследованная система больше не полезна для организации, а потому, что нет технических возможностей дальше сохранять ее в работе. Не должно быть сюрпризом, что сопровождение является главной причиной, почему это технически невозможно – через какое-то время сопровождение настолько уничтожает структурную ясность ПО, что оно дальше не может поддерживаться.
5.3 Модели жизненного цикла ПО
Жизненный цикл ПО определяет «что», но не «как» выполнять в процессе программной инженерии. Программная инженерия в значительной степени – социальное явление, определяемое внутренней организационной культурой предприятия. Предприятие может выбрать базовую модель жизненного цикла, но специфические особенности жизненного цикла и то, как работа будет сделана, уникальны для каждой организации и могут даже значительно отличаться от проекта к проекту. Это согласуется с наблюдениями, сделанными в ранее: программный продукт не изготавливается, он реализуется. Процесс создания и эксплуатации ПО – не эксперимент, который может быть повторен много раз с той же самой степенью успеха.
Далее приведен краткий список причин, почему специфические особенности жизненного цикла должны быть приспособлены к организационной культуре и почему они отличаются от проекта к проекту.
· Опыт программной инженерии, навыки и знания коллектива разработчиков (если их недостаточно, должно быть включено в процесс разработки и время в соответствии с «кривой обучения»).
· Деловой опыт и знания (это намного более неприятно, чем предыдущий момент, потому что деловой опыт и знания легко не приобретаются).
· Вид предметной области (необходимы различные процессы, чтобы совершенствовать бухгалтерский учет или систему контроля электростанции).
· Изменения деловой атмосферы (изменения внешнеполитических, экономических, социальных, технологических и конкурентных факторов).
· Внутренние деловые изменения (изменения в управлении, условиях работы, финансовое здоровье предприятия и т. д.).
· Размер проекта (большой проект требует различных процессов, начиная с небольших; очень маленький проект может даже вообще не нуждаться в каких-либо процессах, поскольку разработчики могут сотрудничать и обмениваться информацией неофициально).
С учетом сказанного подходы к жизненному циклу ПО могут быть грубо разделены на две главные категории:
· «каскад (водопад) с обратной связью»;
· итеративный пошаговый.
Дата: 2019-11-01, просмотров: 281.