Материал: Автоматизация процесса систематизации документации архива организации ООО "МВМ"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
42
значения технических характеристик разрабатываемой АИС:
производительности, объема занимаемой памяти и т.д.
Переход от одного этапа проекта к другому осуществляется с помощью
формального обзора проекта. При этом клиент получает общее представление о
процессе разработки, а также происходит проверка качества программного
продукта. Окончание каждого этапа разработки АИС удобно принимать за
стадию в процессе выполнения проекта.
С ростом объема коммерческих проектов разработки программных
продуктов было установлено, что детальная проработка проекта
разрабатываемой системы не всегда удается на этапе анализа, потому что многие
аспекты функционирования АИС в динамических сферах деятельности
меняются во время создания информационной системы. В связи с этим
потребовалось внесение изменений в процесс разработки АИС таким образом,
чтобы гарантировалось внесение необходимых исправлений после завершения
какого-либо этапа разработки. Это послужило созданию итерационной модели
жизненного цикла программного продукта.
Каскадная модель жизненного цикла разработки АИС являлась идеальной,
поскольку только очень простые проекты проходили все этапы создания ПО без
участия в каких-либо итерациях возвратов на предыдущие этапы разработки
программных средств. Например, на этапе программирования могло быть
обнаружено, что реализация некоторой функции является очень громоздкой,
неэффективной и вступает в противоречие с требуемой от системы
производительностью. В таких случаях может потребоваться
перепроектирование или переделка спецификаций требований к АИС. При
разработке больших АИС необходимость в итерациях может возникать
регулярно на любой стадии жизненного цикла как из-за допущенных на
предыдущих шагах ошибок и неточностей, так и из-за изменений внешних
требований к условиям эксплуатации системы.
Итерационную модель также называют моделью с промежуточным
контролем или моделью с циклическим повторением фаз. Структура
итерационной модели представлена на рисунке 9.
43
Рисунок 9. Итерационная модель жизненного цикла
При использовании итерационной модели жизненного цикла разработки
программного обеспечения существует возможность устранения недостатков
проектирования и программирования на более поздних стадиях при частичном
возврате на предыдущие стадии. При этом чем позже будет выявлена ошибка,
тем дороже ее исправление. Если стоимость усилий, необходимых для
обнаружения и устранения ошибок на стадии написания кода, принять за
единицу, то стоимость выявления и устранения ошибки на стадии выработки
требований будет в 5-10 раз меньше, а стоимость выявления и устранения
ошибки на стадии сопровождения – в 20 раз больше.
В такой ситуации важным становится этап формулирования требований в
разрабатываемой АИС, составление спецификаций технического задания и
создание архитектуры системы. Системные аналитики несут личную
ответственность за все последующие изменения в проектных решениях. Важно
учитывать, что объем проектной документации может исчисляться тысячами
страниц, а число согласований документов может быть огромным. В связи с
этим многие проекты так никогда и не покидают этап планирования, впав в
«паралич анализа». Одним из возможных путей исключения подобных ситуаций
является макетирование (прототипирование) программных средств.
Спиральная модель жизненного цикла программного продукта является
классическим примером применения эволюционной стратегии разработки
программных средств. Модель была разработана Б. Боэмом в 1988. Основу
модели составляют лучшие свойства каскадной модели жизненного цикла с
учетом процесса макетирования, к которым был добавлен новый элемент
44
анализ риска, который отсутствовал в этих моделях. Спиральная модель состоит
из четырех этапов, которые представлены четырьмя квадрантами спирали.
Структура спиральной модели представлена на рисунке 10.
Рисунок 10. Схема спиральной модели жизненного цикла
Интегрирующий аспект применения спиральной модели становится
очевидным, учитывая радиальное измерение спирали. При каждой итерации
спирали разрабатываются все более полные версии АИС. На первом витке
спирали происходит определение начальных целей, вариантов и ограничений, а
также распознаются и анализируются риски. Если анализ риска показывает
неопределенность требований, на помощь разработчику и заказчику приходит
макетирование, используемое в квадранте конструирования.
На дальнейших этапах осуществляется определение проблемных и
уточненных требований, при этом может использоваться метод моделирования.
Заказчик дает оценку инженерной (конструкторской) работы и осуществляет
45
внесение предложений по модификации текущего релиза АИС (квадрант оценки
заказчиком). На следующей фазе осуществляется планирование и анализ рисков,
который базируется на предложениях заказчика. В каждом цикле по спирали
результаты анализа риска формируются в виде «продолжать, не продолжать».
Если риск слишком велик, проект может быть остановлен.
Если проект не приостанавливается, продолжается движение по спирали и
с каждым шагом разработчики приближаются к более общей модели
разрабатываемой системы. В каждом цикле по спирали требуется
конструирование, которое может быть реализовано классическим жизненным
циклом или макетированием. Заметим, что количество действий по разработке
(происходящих в правом нижнем квадранте) возрастает по мере продвижения от
центра спирали.
Из рассматриваемых моделей жизненного цикла программных систем
наиболее подходящей моделью для проектируемой системы является спиральная
модель жизненного цикла, поскольку она обладает рядом достоинств по
сравнению с другими моделями:
1. Заказчик может оценить системные требования в процессе их сбора
командой разработчиков, поэтому взаимодействие заказчика с АИС начинается
на ранних этапах разработки.
2. Оценивая реакцию заказчиков при демонстрации разрабатываемого
продукта, разработчики получают сведения об одном или нескольких аспектах
поведения системы, благодаря чему сводится к минимуму количество
неточностей в требованиях.
3. Снижение возможности возникновения ошибок или искажений
информации при разработке системных требований, что приводит к созданию
более качественного конечного продукта.
4. Возможность внесения в процесс разработки новых или
неожиданных требований пользователей, что является необходимым, поскольку
реальное положение дел может отличаться концептуальной модели предметной
области.
5. Модель представляет собой формальную спецификацию,
воплощенную в рабочую модель жизненного цикла предметной области.
46
6. Модель позволяет выполнить гибкое проектирование и разработку,
включая несколько итераций на всех фазах жизненного цикла.
7. Использование модели способствует созданию постоянных
видимых признаков прогресса в выполнении проекта, что способствует
укреплению отношений с заказчиком.
8. Возможность возникновения разногласий при общении заказчиков с
разработчиками минимизирована.
9. Качество программного продукта определяется при активном
участии пользователя в процессе разработки на ранних фазах проекта.
10. Возможность наблюдения той или иной функции в действии
пробуждает очевидную необходимость в разработке функциональных
дополнительных возможностей.
11. Низкий объем доработок уменьшает затраты на разработку АИС.
12. Благодаря раннему сроку выявления проблем, происходит
сокращение общих затрат проекта.
13. Легкость управления рисками.
14. Содержание проектной документации концентрируется на
конечном продукте, а не на процессе разработки.
15. Увеличение лояльности конечных пользователей к программному
продукту в связи с тем, что они принимают участие в процессе разработки на
протяжении всего жизненного цикла.
После того как был сделан выбор стандарта разработки программного
продукта и модели жизненного цикла, необходимо осуществить выбор стратегии
внедрения. Выделяют 4 стратегии внедрения программного обеспечения [4]:
«Параллельная стратегия» - когда одновременно работают старая
(ручная) и новая система, и их выходные документы сравниваются. Если они
согласуются длительное время, осуществляется переход на новую систему.
«Скачок». Эта стратегия представляет собой резкий переход от
использования старой информационной системы к новой без каких-либо
дополнительных проверок и с полным отказом от старой системы.
«Пилотный проект». Это наиболее часто используемая стратегия.
«Пилотный проект» - это тактика «скачка», но применяемая к ограниченному
Источник: https://baza.diplomsite.ru/previewfile/2137