Водопадная модель процесса разработки
К середине 80-х годов наибольшее распространение получил "водопадный" (waterflow) или "каскадный" процесс создания программного обеспечения. Схема "водопадного" процесса приведена на рис. 1.1. Его основной характеристикой является разбиение всей разработки на этапы, причем переход с одного этапа на следующий происходит только после того, как будет полностью завершена работа на текущем. Каждый этап завершается выпуском полного комплекта документации, достаточной для того, чтобы разработка могла быть продолжена другой командой разработчиков.
Рис 1.1. "Водопадный" процесс
Применение "водопадного" процесса эффективно для систем, для которых в самом начале разработки можно достаточно точно и полно сформулировать все требования, с тем чтобы предоставить разработчикам свободу реализовать их как можно лучше с технической точки зрения. В эту категорию попадают сложные расчетные системы, системы реального времени и другие подобные задачи. Однако, в процессе использования этого подхода обнаружился ряд его недостатков, вызванных прежде всего тем, что реальный процесс создания программных систем никогда полностью не укладывался в такую жесткую схему. В процессе создания ПО постоянно возникала потребность в возврате к предыдущим этапам и уточнении или пересмотре ранее принятых решений. В результате реальный процесс создания систем принимал следующий вид (рис. 1.2):
Данный процесс обладает рядом существенных недостатков, основным из которых является, пожалуй, то, что требования к создаваемой системе "заморожены" в виде технического задания на все время ее создания. Таким образом, пользователи могут внести свои замечания только после того, как работа над системой будет полностью завершена. В случае неточного изложения требований или их изменения в течение длительного периода создания системы, пользователи получают систему, не удовлетворяющую их потребностям.
Рис 1.2. Реальный процесс "водопадной" схемы
- 4. Конспекты лекций лекция №1. Операционные системы
- 1.1. Назначение и основные функции операционных систем
- 1.2. Понятие файловой системы
- 1.3. Операционные системы для компьютеров типа ibm pc
- Лекция №2. Оболочки операционных систем
- Лекция № 3. Основные понятия и определения компьютерных сетей
- Компоненты лвс.
- Исторический обзор
- Сетевые коммуникации Сигналы и протоколы
- Функции сетевых протоколов
- Взаимодействие протоколов
- Лекция № 4. Классификации сетей Локальные и глобальные вычислительные сети
- Широкополосная и узкополосная передача
- Полудуплексная и полнодуплексная передача
- Сегменты и магистрали
- Клиент-серверные и одноранговые сети
- Однородные (гомогенные) и неоднородные (гетерогенные).
- Характеристики лвс
- Лекция № 5.Сервисы интернет (основные службы) Виды сервисов Интернет
- Сервисы отложенного чтения
- Сервисы прямые
- Сервисы интерактивные
- Электронная почта
- Сетевые новости Usenet
- Списки рассылки
- Система поиска файлов Archie
- Гипертекстовая система Gopher
- Система гипермедиа www
- Гипертекстовая система Hyper-g
- Поисковая система wais
- Сервисы irc, mud, moo
- Инфраструктурные сервисы
- Другие инфраструктурные сервисы
- Лекция № 6. Основные этапы, методы, средства и стандарты разработки программного обеспечения
- Водопадная модель процесса разработки
- Спиральная модель процесса разработки
- Общие характеристики этапов разработки программного обеспечения(по)
- Лекция 7. Понятие о системе программирования
- 7.1. Основные функции и компоненты
- 7.2. Трансляция программ и сопутствующие процессы
- Контрольные вопросы
- Лекция 8. Прикладное программное обеспечение общего назначения
- 8.1. Классификация
- 8.2. Инструментальные программные средства общего назначения
- 8.3. Инструментальные программные средства специального назначения
- 8.4. Программные средства профессионального уровня
- 8.5. Организация «меню» в программных системах
- Методические указания к практическим, лабораторным и контрольным работам. Практические занятия
- Практическое занятие №3 (2 часа) Работа с графическим интерфейсом gnome в системе linux.
- Практическое занятие №4 (4 часа) Работа в командной строке Linux (терминал) Основные понятия и команды