Уинстон В. Ройс - Winston W. Royce

Из выступления Ройса 10 августа 1990 г.

Уинстон Уокер Ройс (15 августа 1929 - 7 июня 1995) был американцем специалист в области информатики, директор в Локхид Центр программных технологий в Остин, Техас. Он был пионером в области разработка программного обеспечения,[1] известен своей статьей 1970 г., в которой Модель водопада за разработка программного обеспечения был ошибочно[2] нарисовано.[3]

биография

Ройс родился в 1929 году. Калифорнийский технологический институт, где он получил степень бакалавра в физика, его MS в авиационная техника а в 1959 г. защитил докторскую диссертацию по авиационная техника под Джулиан Дэвид Коул[4] с диссертацией Трансзвуковой обтекание тонкого тела вращения без подъема.

Ройс начал свою карьеру в качестве доцента Калифорнийского технологического института. В 1961 году он начал как руководитель проекта в аэрокосмический отдел TRW. Его первый проект касался разработки системы планирования миссии и выбора орбиты для космический корабль. В последующие годы он принимал участие в исследовании и разработке нескольких больших и сложных программных систем и начал разработку новых методологий для улучшения управления проектами программного обеспечения.[5] В 1970 году он опубликовал свою влиятельную статью "Управление разработкой больших программных систем", в которой он представил несколько управление проектом модели, включая то, что мы теперь знаем как водопад, итеративный, и гибкий.[3] В 1985 году он получил AIAA Премия "Информационные системы".[6] В 80-е годы он был директором Локхид Центр программных технологий в Остине, штат Техас. Он вышел на пенсию в 1994 году и умер в следующем году в своем доме в Клифтон, Вирджиния.[7]

Его старший сын - Уокер Ройс, главный экономист по программному обеспечению IBM является подразделением Rational, автором книги «Управление проектами программного обеспечения, унифицированная структура» и одним из основных участников философии управления, присущей IBM рациональный унифицированный процесс.[8]

Работа

Управление разработкой больших программных систем

В Модель водопада за разработка программного обеспечения ошибочно приписывается Ройсу. Барри Бем писал в 1987 году:

Статья Ройса 1970 года обычно считается статьей, в которой определена поэтапная «водопадная» модель программного процесса. Но удивительно видеть, что и более ранние статьи Бенингтона и Хосьера хорошо приближались к модели водопада, и что статья Ройса уже включает прототипирование как важный шаг, совместимый с моделью водопада.[9]

Фактически Ройс продемонстрировал, что, хотя разработка больших программных систем требует более тщательного подхода, однопроходный последовательный подход сопряжен с риском. Он предложил итеративный подход и высказался за то, чтобы проекты проходили через это как минимум дважды.

Ройс фигура 1 модель
Royce рисунок 4 модель

Ройс начал свою статью 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. "Центр программных технологий Локхид". В: Современная программная инженерия, основы и текущие перспективы. Питер А. Нг (ред.). Van Nostrand Reinhold Co., стр. 561–578.
  • 1990. "[2] ", Круглый стол по процессу доктора Вин Ройса, 10 августа 1990 г.
  • 1991. «Современные проблемы». В: Аэрокосмическая разработка программного обеспеченияпод редакцией Кристин Андерсон и Мерлин Дорфман, 5–15. Вашингтон, округ Колумбия: Американский институт аэронавтики и астронавтики.
  • 1991. "Архитектура программного обеспечения: интеграция процессов и технологий", с Уокером Ройсом в TRW Quest, т. 14, вып. 1, стр. 2–15.
  • 1992. "Отчет о состоянии: автоматизированное прототипирование ". С Уокером Ройсом. В: Программное обеспечение IEEE Том 9 (6): с. 77–81

Рекомендации

  1. ^ Д-р Уинстон В. Ройс (1929–1995) на www.informatik.uni-bremen.de. Проверено 27 октября 2008 г.
  2. ^ [1] Дядя Боб Мартин упоминает о промоушене водопада в 49:41 этого выступления. Проверено 23 февраля 2020 г.
  3. ^ а б c d е ж грамм час Уинстон В. Ройс (1970). «Управление разработкой больших программных систем» в: Технические статьи Western Electronic Show and Convention (WesCon) 25–28 августа 1970 г., Лос-Анджелес, США.
  4. ^ Кристин Андерсон, Мерлин Дорфман (1991) Разработка программного обеспечения для авиакосмической отрасли: набор концепций
  5. ^ Эллис Горовиц (1975) Практические стратегии разработки больших программных систем. п. xii
  6. ^ https://www.aiaa.org/HonorsAndAwardsRecipientsList.aspx?awardId=ade61ed3-745b-4d4f-9aea-73d7dbbb4687
  7. ^ Алан М. Дэвис, «Отслеживание: игнорирование простой необходимости», в: Программное обеспечение IEEE, т. 12, вып. 5. С. 6–7, сентябрь 1995 г.
  8. ^ Познакомьтесь с нашими лидерами мнений в IBM Rational. Проверено 27 октября 2008 года.
  9. ^ Барри В. Бём (1987). «Управление процессами программного обеспечения: уроки, извлеченные из истории» в материалах 9-й международной конференции по разработке программного обеспечения ICSE '87, стр. 296-298
  10. ^ Wasserfallmodell: Entstehungskontext, Маркус Рерих, Institut für Gestaltungs- und Wirkungsforschung, TU-Wien. Доступ онлайн 28 ноября 2007 г.
  11. ^ Уинстон В. Ройс на сайте Interaction-design.org. Проверено 27 октября 2008 г.
  12. ^ Белл, Томас Э. и Т. А. Тайер. Программные требования: действительно ли это проблема? Материалы 2-й международной конференции по программной инженерии. IEEE Computer Society Press, 1976.
  13. ^ а б c Ричард Холл Тайер (2002). "Разработка программных систем: Учебное пособие". В: Компьютер, Апрель 2002 г.
  14. ^ МЫ. Ройс и В. Ройс, «Архитектура программного обеспечения: интеграция процессов и технологий», TRW Quest, vol. 14, вып. 1. 1991. С. 2–15.
  15. ^ Филипп Крюхтен, Хенк Оббинк и Джудит Стаффорд (2006). "Прошлое, настоящее и будущее архитектуры программного обеспечения." Программное обеспечение IEEE Том 23 (2). п. 23
  16. ^ Ройс Уинстон и У. В. Ройс Список публикаций с сервера библиографии DBLP.