stringtranslate.com

Уинстон В. Ройс

Ройс в августе 1990 года

Уинстон Уокер Ройс (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 года обычно считается статьей, которая определила поэтапную модель «водопада» процесса разработки ПО. Но удивительно видеть, что и более ранние статьи Бенингтона и Хосиера имели хорошие приближения к модели водопада, и что статья Ройса уже включает прототипирование как существенный шаг, совместимый с моделью водопада. [9]

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

Модель Ройса цифра 1
Модель Royce Figure 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] Книги

Статьи, подборка:

Ссылки

  1. Доктор Уинстон В. Ройс (1929–1995) на www.informatik.uni-bremen.de. Получено 27 октября 2008 г.
  2. ^ [1] Дядя Боб Мартин упоминает о рекламе водопада в 49:41 этого выступления. Получено 23 февраля 2020 г.
  3. ^ abcdefgh Уинстон В. Ройс (1970). «Управление разработкой больших программных систем» в: Технические документы Western Electronic Show and Convention (WesCon) 25–28 августа 1970 г., Лос-Анджелес, США.
  4. ^ Кристин Андерсон, Мерлин Дорфман (1991) Разработка программного обеспечения для аэрокосмической отрасли: сборник концепций
  5. ^ Эллис Горовиц (1975) Практические стратегии разработки больших программных систем . стр. xii
  6. ^ "Главная : Американский институт аэронавтики и астронавтики". www.aiaa.org . Архивировано из оригинала 28 апреля 2015 г.
  7. ^ Алан М. Дэвис, «Трассировка: простая необходимость, которой пренебрегли», в: IEEE Software , т. 12, № 5, стр. 6–7, сентябрь 1995 г.
  8. ^ Познакомьтесь с нашими лидерами мысли в IBM Rational. Получено 27 октября 2008 г.
  9. ^ Барри В. Бём (1987). «Управление процессами разработки ПО: уроки, извлеченные из истории» в ICSE '87 Труды 9-й международной конференции по программной инженерии, стр. 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. ^ abc Ричард Холл Тайер (2002). "Программная системная инженерия: Учебное пособие". В: Компьютер , апрель 2002.
  14. ^ WE Royce и W. Royce, «Архитектура программного обеспечения: интеграция процесса и технологии», TRW Quest, т. 14, № 1, 1991, стр. 2–15.
  15. ^ Филипп Крухтен , Хенк Оббинк и Джудит Стаффорд (2006). «Прошлое, настоящее и будущее архитектуры программного обеспечения». IEEE Software Vol 23 (2). стр. 23
  16. ^ Ройс Уинстон и WW Ройс Список публикаций с библиографического сервера DBLP.