Уинстон Уокер Ройс (15 августа 1929 г. – 7 июня 1995 г.) был американским ученым-компьютерщиком , директором Центра технологий программного обеспечения Lockheed в Остине, штат Техас . Он был пионером в области разработки программного обеспечения , [1] известный своей работой 1970 года, из которой была ошибочно [2] взята модель «Водопад» для разработки программного обеспечения . [3]
Родившись в 1929 году, Ройс поступил в Калифорнийский технологический институт , где получил степень бакалавра по физике , степень магистра по авиационной технике , а в 1959 году — докторскую степень по авиационной технике под руководством Джулиана Дэвида Коула [4], защитив диссертацию на тему «Трансзвуковой поток над неподъемным тонким телом вращения» .
Ройс начал свою карьеру в качестве доцента в Калифорнийском технологическом институте. В 1961 году он начал работать менеджером проектов в аэрокосмическом подразделении TRW . Его первый проект касался проектирования системы планирования миссии и выбора орбиты для космических аппаратов . В последующие годы он участвовал в исследованиях и разработках нескольких крупных и сложных программных систем и начал разрабатывать новые методологии для улучшения управления программными проектами. [5] В 1970 году он опубликовал свою влиятельную статью « Управление разработкой крупных программных систем », в которой представил несколько моделей управления проектами , включая то, что мы теперь знаем как каскадную , итеративную и гибкую . [3] В 1985 году он получил премию AIAA Information Systems Award. [6] В 1980-х годах он был директором Центра технологий программного обеспечения Lockheed в Остине, штат Техас. Он вышел на пенсию в 1994 году и умер в следующем году у себя дома в Клифтоне, штат Вирджиния . [7]
Его старший сын — Уокер Ройс, главный экономист по программному обеспечению подразделения IBM Rational, автор книги «Управление программными проектами, унифицированная структура» и главный разработчик философии управления, заложенной в IBM Rational Unified Process . [8]
Модель Waterfall для разработки программного обеспечения ошибочно приписывается Ройсу. Барри Бём писал в 1987 году:
Фактически, Ройс продемонстрировал, что хотя разработка крупных программных систем требует более тщательного подхода, в однопроходном последовательном подходе есть неотъемлемый риск. Он предложил итеративный подход и выступил за то, чтобы проекты проходили через него по крайней мере дважды.
Ройс начал свою статью 1970 года «Управление разработкой крупных программных систем» с утверждения о происхождении своих идей:
Ройс определил, что разработка компьютерных программ независимо от размера или сложности может быть разделена на два этапа разработки: Анализ и Кодирование . Для небольших проектов по разработке программного обеспечения этих двух шагов было достаточно, но не для разработки более крупных программных систем. Они требуют много дополнительных шагов вперед и назад, что придает разработке итеративный характер. [3]
Чтобы представить это итеративное развитие, Ройс предложил ряд подходов, хотя он никогда не использовал термин « водопад » [10] и не отстаивал его как эффективную методологию . [11] Самое раннее использование термина «водопад» возможно было в статье Белла и Тайера 1976 года. [12]
Ройс изобразил модель водопада со следующими семью ступенями: [3]
Он назвал их «шагами внедрения для разработки большой компьютерной программы для поставки заказчику». Ройс предвидел существенный недостаток в этой методологии, который он описал как:
По словам Ройса, в модели процесса «итерации проектирования никогда не ограничиваются последовательным шагом», и для этой модели без итераций «рискованно и ведет к неудаче». [3] В качестве альтернативы Ройс предложил более пошаговую разработку, где каждый следующий шаг ссылается на предыдущий. «Классическая» каскадная модель представлена на рисунке 2. Модели постепенно совершенствуются вплоть до рисунка 10. Ройс говорит о модели рисунка 4:
В начале 1980-х годов Уинстон Ройс ввел термин «системная инженерия программного обеспечения» (SwSE) на одном из семинаров курса «Управление приобретением программного обеспечения» в Колледже управления оборонными системами в Форт-Белвуаре, штат Вирджиния. [13]
По словам Ричарда Х. Тайера, почетного профессора по программной инженерии Калифорнийского государственного университета в Сакраменто, программная системная инженерия занимается «применением принципов системной инженерии, в частности, к разработке больших, сложных программных систем, что обеспечивает мощный инструмент для управления процессами и продуктами». [13] Инженеры по программным системам могут взять на себя ответственность за «общее техническое управление системой и проверку конечных системных продуктов». [13]
В статье 1991 года «Архитектура программного обеспечения: интеграция процесса и технологии» Ройс описал связь между архитектурой и процессом разработки программного обеспечения. [14] По словам Филиппа Крухтена и др. (2006), эта статья была первой, «которая разместила архитектуру программного обеспечения — как в названии, так и в перспективе — между технологией и процессом». [15]
Ройс опубликовал несколько книг и статей. [16] Книги
Статьи, подборка: