Уинстон В. Ройс
Уинстон Уокер Ройс (15 августа 1929 — 7 июня 1995) — американский учёный-компьютерщик , директор Lockheed Центра программных технологий в Остине, штат Техас . Он был пионером в области разработки программного обеспечения . [1] известен своей статьей 1970 года, в которой модель водопада для разработки программного обеспечения. ошибочно была принята [2] нарисовано. [3]
Биография [ править ]
Ройс родился в 1929 году и поступил в Калифорнийский технологический институт , где получил степень бакалавра физики , степень магистра авиационной техники и в 1959 году докторскую степень в области авиационной техники под руководством Джулиана Дэвида Коула. [4] с тезисом о трансзвуковом обтекании неподъёмного, тонкого тела вращения .
Ройс начал свою карьеру в качестве доцента Калифорнийского технологического института. В 1961 году он начал свою карьеру в качестве менеджера проектов в аэрокосмическом подразделении TRW . Его первый проект касался разработки системы планирования полета и выбора орбиты космического корабля . В последующие годы он участвовал в исследованиях и разработке нескольких крупных и сложных программных систем и начал разрабатывать новые методологии для улучшения управления программными проектами. [5] В 1970 году он опубликовал свою влиятельную статью « Управление разработкой больших программных систем », в которой представил несколько моделей управления проектами , включая то, что мы теперь знаем как каскадную , итеративную и гибкую . [3] В 1985 году он получил премию AIAA Information Systems. [6] В 1980-е годы он был директором Центра технологий программного обеспечения Lockheed в Остине, штат Техас. Он вышел на пенсию в 1994 году и умер в следующем году в своем доме в Клифтоне, штат Вирджиния . [7]
Его старший сын — Уокер Ройс, главный экономист по программному обеспечению подразделения IBM Rational, автор книги «Управление программными проектами, унифицированная структура» и основной автор философии управления, присущей IBM Rational Unified Process . [8]
Работа [ править ]
Управление разработкой крупных программных систем [ править ]
Модель «Водопад» для разработки программного обеспечения ошибочно приписывают Ройсу. Барри Бём писал в 1987 году:
- Статья Ройса 1970 года обычно считается статьей, которая определила поэтапную «водопадную» модель процесса разработки программного обеспечения. Но удивительно видеть, что более ранние статьи Бенингтона и Хозьера имели хорошее приближение к водопадной модели, а также то, что статья Ройса уже включает прототипирование в качестве важного шага, совместимого с водопадной моделью. [9]
Фактически Ройс продемонстрировал, что, хотя разработка больших программных систем требует более тщательного подхода, однопроходный последовательный подход сопряжен с риском. Он предложил итерационный подход и высказался за то, чтобы проекты проходили через это как минимум дважды.
Ройс начал свою статью 1970 года «Управление разработкой больших программных систем» с заявления о происхождении своих идей:
- Я собираюсь описать свои личные взгляды на управление крупными разработками программного обеспечения. В течение последних девяти лет у меня были различные задания, в основном связанные с разработкой пакетов программного обеспечения для планирования полетов космических кораблей, управления ими и послеполетного анализа. Выполняя эти задания, я добился разной степени успеха в отношении достижения рабочего состояния, своевременности и затрат. Мой опыт предвзято повлиял на меня, и я собираюсь рассказать о некоторых из этих предубеждений в этой презентации. [3]
Ройс определил, что разработку компьютерных программ независимо от их размера и сложности можно разделить на два этапа: анализ и кодирование . Для небольших проектов по разработке программного обеспечения этих двух шагов было достаточно, но не для разработки более крупных программных систем. Это требует множества дополнительных шагов вперед и назад, что придает разработке итеративный характер. [3]
Чтобы представить себе это итеративное развитие, Ройс предложил ряд подходов, хотя он никогда не использовал термин «водопад». [10] и не защищал его как эффективную методологию . [11] Самое раннее использование термина «водопад», возможно, было в статье Белла и Тайера 1976 года. [12]
Ройс изобразил модель водопада, состоящую из следующих семи шагов: [3]
- Системные требования
- Требования к программному обеспечению
- Анализ
- Дизайн программы
- Кодирование
- Тестирование и
- Операция
Он назвал их «шагами реализации по разработке большой компьютерной программы для доставки заказчику». Ройс предвидел серьезный недостаток этой методологии, который он описал как:
- Фаза тестирования, которая происходит в конце цикла разработки, является первым событием, для которого время, хранение, передача ввода/вывода и т. д. воспринимаются отдельно от анализируемых. Эти явления не поддаются точному анализу. Например, они не являются решениями стандартных дифференциальных уравнений в частных производных математической физики. Однако если эти явления не удовлетворяют различным внешним ограничениям, то неизбежно требуется серьезная перестройка. Простое восьмеричное исправление или повторение какого-либо изолированного кода не решит подобных проблем. Требуемые изменения в проекте, вероятно, будут настолько разрушительными, что требования к программному обеспечению, на которых основан проект и которые обеспечивают обоснование всего, будут нарушены... [3]
По словам Ройса, в модели процесса «итерации проектирования никогда не ограничиваются последовательным шагом», и для этой модели без итераций «рискованно и влечет за собой неудачу». [3] В качестве альтернативы Ройс предложил более постепенное развитие, при котором каждый следующий шаг связан с предыдущим. «Классическая» водопадная модель представлена на рисунке 2. Модели постепенно усовершенствуются вплоть до рисунка 10. Ройс говорит о модели на рисунке 4:
- Я считаю, что иллюстрированный подход фундаментально верен. [3]
Разработка систем программного обеспечения [ править ]
В начале 1980-х годов Уинстон Ройс ввел термин «инженерия программных систем» (SwSE) на одном из семинаров курса «Управление приобретением программного обеспечения» в Колледже управления оборонными системами в Форт-Бельвуаре, штат Вирджиния. [13]
По словам Ричарда Х. Тайера, почетного профессора разработки программного обеспечения Калифорнийского государственного университета в Сакраменто, разработка систем программного обеспечения связана с «применением принципов системной инженерии специально для разработки больших и сложных программных систем, которые представляют собой мощный инструмент для управления процессами и продуктами. " [13] Инженеры программных систем могут взять на себя ответственность за «общее техническое управление системой и проверку конечных системных продуктов». [13]
Архитектура программного обеспечения [ править ]
В статье 1991 года «Архитектура программного обеспечения: интеграция процессов и технологий» Ройс и Ройс описывают связь между архитектурой и процессом разработки программного обеспечения. [14] По данным Филиппа Крухтена и др. (2006) эта статья была первой, «которая позиционировала архитектуру программного обеспечения — как в названии, так и в перспективе — между технологией и процессом». [15]
См. также [ править ]
Публикации [ править ]
Ройс опубликовал несколько книг и статей. [16] Книги
- 1959. Трансзвуковое обтекание неподъёмного тонкого тела вращения . Пасадена: Калифорнийский технологический институт, 1959.
- 1997. Управление проектами в области разработки программного обеспечения . 2-е издание. С Р. Тайером и Эдом Юрдоном .
Статьи, подборка:
- 1970. « Управление разработкой больших программных систем », Труды IEEE WESCON 26 (август): 1–9.
- 1989. «Центр программных технологий Lockheed». В: Современная программная инженерия, основы и текущие перспективы . Питер А. Нг (ред.). Ван Ностранд Рейнхольд Ко. р. 561–578.
- 1990. « [2] », 'Доктор. Круглый стол процесса Уин-Ройса, 10 августа 1990 г.
- 1991. «Актуальные проблемы». В: Аэрокосмическая разработка программного обеспечения , под редакцией Кристины Андерсон и Мерлина Дорфмана, 5–15. Вашингтон, округ Колумбия: Американский институт аэронавтики и астронавтики.
- 1991. «Архитектура программного обеспечения: интеграция процессов и технологий», с Уокером Ройсом в TRW Quest , vol. 14, нет. 1, с. 2–15.
- 1992. « Отчет о состоянии: компьютерное прототипирование ». С Уокером Ройсом. В: Программное обеспечение IEEE, том 9 (6): с. 77–81
Ссылки [ править ]
- ^ Доктор Уинстон В. Ройс (1929–1995) на сайте www.informatik.uni-bremen.de. Проверено 27 октября 2008 г.
- ^ [1] Дядя Боб Мартин упоминает о рекламе водопада в 49:41 этого выступления. Проверено 23 февраля 2020 г.
- ^ Jump up to: Перейти обратно: а б с д и ж г час Уинстон В. Ройс (1970). «Управление разработкой больших программных систем» в: Технические документы Western Electronic Show and Convention (WesCon), 25–28 августа 1970 г., Лос-Анджелес, США.
- ^ Кристин Андерсон, Мерлин Дорфман (1991) Разработка программного обеспечения для аэрокосмической отрасли: сборник концепций
- ^ Эллис Горовиц (1975) Практические стратегии разработки больших программных систем . п. xii
- ^ «Дом: Американский институт аэронавтики и астронавтики» . www.aiaa.org . Архивировано из оригинала 28 апреля 2015 года.
- ^ Алан М. Дэвис, «Отслеживание: пренебрежение простой необходимостью», в: IEEE Software , vol. 12, нет. 5, стр. 6–7, сентябрь 1995 г.
- ^ Познакомьтесь с нашими лидерами мысли в IBM Rational. Проверено 27 октября 2008 г.
- ^ Барри В. Бём (1987). «Управление программными процессами: уроки истории» в ICSE '87. Материалы 9-й международной конференции по программной инженерии, стр. 296-298.
- ^ Модель водопада: контекст возникновения , Маркус Рерих, Институт дизайна и исследований воздействия, Венский технический университет. Доступ онлайн 28 ноября 2007 г.
- ^ Уинстон В. Ройс на сайте Interaction-design.org. Проверено 27 октября 2008 г.
- ^ Белл, Томас Э. и Т.А. Тайер. Требования к программному обеспечению: действительно ли они являются проблемой? Материалы 2-й международной конференции по программной инженерии. Издательство IEEE Computer Society, 1976.
- ^ Jump up to: Перейти обратно: а б с Ричард Холл Тайер (2002). «Разработка программных систем: Учебное пособие». В: Компьютер , апрель 2002 г.
- ^ WE Royce и W. Royce, «Архитектура программного обеспечения: интеграция процессов и технологий», TRW Quest, vol. 14, нет. 1, 1991, стр. 2–15.
- ^ Филипп Крухтен , Хенк Оббинк и Джудит Стаффорд (2006). « Прошлое, настоящее и будущее архитектуры программного обеспечения ». Программное обеспечение IEEE, том 23 (2). п. 23
- ^ Ройс Уинстон и WW Ройс Список публикаций с библиографического сервера DBLP.