Кризис ПО в 60-х годах и его последствия
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

В конце 60-х годов прошлого века в ряде стран было отмечено явление под названием «software crisis» (кризис ПО).

Это выражалось в том, что большие проекты стали выполняться с отставанием от графика или с превышением сметы расходов, разработанный продукт не обладал требуемыми функциональными возможностями, производительность его была низка, качество получаемого программного обеспечения не устраивало потребителей.

Это явление казалось особенно странным на фоне стремительного развития аппаратного обеспечения, когда производительность компьютеров увеличивалась вдвое каждые два года. Казалось, что и в разработке программного обеспечения должен произойти прорыв, позволяющий легко и быстро создавать сложные программные системы. Однако такого прорыва до сих пор не произошло, и по мнению специалистов, он вряд ли произойдет – не появятся изобретения, способные повлиять на продуктивность создания, надежность и простоту программного обеспечения так, как электроника, транзисторы интегральные схемы повлияли на аппаратное обеспечение компьютеров. Не следует ожидать, что когда-либо в будущем каждые два года будет происходить двукратный рост производительности труда программистов [9].

Объективная потребность управлять процессом разработки сложных систем ПО, прогнозировать и гарантировать стоимость разработки, сроки и качество результатов привела в конце 60-х годов прошлого века к необходимости перехода от кустарных к индустриальным способам создания ПО и появлению совокупности инженерных методов и средств создания ПО, объединенных общим названием программная инженерия – software engineering и CASE – Computer-Aided Software Engineering – набор инструментов и методов программной инженерии для проектирования программного обеспечения, который помогает обеспечить высокое качество программ, отсутствие ошибок и простоту в обслуживании программных продуктов. Понятие CASE используется в настоящее время в весьма широком смысле. Первоначальное значение этого понятия, ограниченное только задачами автоматизации разработки ПО, в настоящее время приобрело новый смысл, охватывающий большинство процессов жизненного цикла ПО. Эти методы и технологии особенно быстрыми темпами развивались в 60-70-х годах в интересах аэрокосмической и оборонной отраслей промышленности. Суть упомянутых методов состоит в применении систематизированного, основанного на системном анализе подхода к принятию решений, обеспечивающих эффективный переход от концепции системы к пригодным для успешной реализации проектным решениям и в конечном счете к пригодной для использования системной продукции.  

Новое направление развивалось усилиями многих специалистов – ученых и программистов-практиков.

 Отметим специалистов, которые внесли важный вклад в становление программной инженерии. 

В нашей стране одним из ведущих разработчиков больших программных систем и теоретиков программной инженерии явился доктор технических наук, профессор Владимир Васильевич Липаев (1928 – 2015), руководивший в 1960-е – 1980-е годы созданием многих программных систем оборонного назначения. В частности, он был главным конструктором систем, созданных в период с 1979 по 1989 годы в рамках проекта ПРОМЕТЕЙ (ПРОектирование Математики Единая Технология) для исследования, создания и внедрения автоматизированной технологии разработки программного обеспечения комплексов, работающих в реальном времени на специализированных ЭВМ в оборонной промышленности. Ставилась задача создать технологии и среду разработки, которая обладала бы высоким качеством, была надежна и безопасна при производстве программ реального времени для систем оборонного назначения. Такая инструментальная среда (система) должна была быть мобильной и применяться на широком классе специализированных и универсальных отечественных ЭВМ (БЭСМ, М-20 и др.). Основная цель состояла в том, чтобы на специализированных ЭВМ создать программное обеспечение, основанное на общих принципах разработки, которые используются на универсальных ЭВМ. Для этих целей в рамках проекта ПРОМЕТЕЙ-технологии были созданы отдельные системы ЯУЗА, ТЕМП, РУЗА, ДВИНА, ПРОТВА, ОХТА, ПОМПА, ПРА, НАРА.

В последующие годы В.В. Липаев возглавлял научно-технический Совет «Информатизация России», который разработал концепцию информатизации нашей страны. Им написано множество монографий и учебников по программной инженерии [10]. Эти книги наряду с другими источниками использованы в нашем курсе.

Ершов Андрей Петрович

Большой вклад в развитие основ программной инженерии внес Андрей Петрович Ершов (1931 – 1988) – один из пионеров теоретического и системного программирования, создатель Сибирской школы информатики, академик АН СССР. Его работы оказали огромное влияние на формирование и развитие вычислительной техники не только в СССР, но и во всём мире. Под его руководством и при его участии были созданы такие языки программирования, как Альфа, Альфа-6 и трансляторы с них. В 1970-е годы он разработал типовую, общую для многих языков схему трансляции, пригодную для создания фрагментов оптимизированных трансляторов. С 1966 по 1972 год руководил созданием программно-аппаратной системы разделения времени АИСТ («автоматическая информационная станция») в СО АН СССР. Труды А.П. Ершова по информатике, в том числе по теоретическому и системному программированию, получили международное признание: он был членом Ассоциации вычислительной техники, почётным членом Британского общества по вычислительной технике.

А. П. Ершов многое сделал для развития школьной информатики в нашей стране и во всем мире. В 1981 году на 3-й Всемирной конференции Международной федерации по обработке информации и ЮНЕСКО по применению ЭВМ в обучении (Лозанна, Швейцария) он сделал доклад под названием «Программирование – вторая грамотность». Название доклада быстро стало лозунгом. С тех пор началось преподавание информатики как учебного предмета во многих школах Советского Союза, а впоследствии – России.

В 80-х и 90-х годах произошли большие изменения в методологии и технологии разработки программных систем, связанные с широким использованием объектно-ориентированного подхода к проектированию сложных программных систем.

Одним из главных инструментов этой технологии стал унифицированный язык моделирования UML ( Unified Modeling Language ). В разработке этого подхода приняли участие многие специалисты, среди которых выделяются «three amigos – трое друзей» – Греди Буч (Grady Booch), Ивар Якобсон (Ivar Jacobson), Джим Рамбо (James Rumbaugh). Этими авторами написан ряд книг по программной инженерии, ставших классическими учебниками [15].

 

   Греди Буч              Ивар Якобсон                 Джим Рамбо

 

Переход к массовому созданию сложных систем большого масштаба в последние годы был существенно ускорен благодаря быстрому развитию и усложнению информационных технологий, что нашло отражение в начале промышленного создания так называемых программно-интенсивных систем, основанных на компьютерах, которые стали основой систем обобщенного предприятия и, наконец, беспрецедентных по сложности суперсистем, получивших название систем систем Systems of System.

Беспрецедентный рост совокупных затрат на создание таких объектов, достигающий в мировых масштабах многих миллиардов долларов, необходимость постоянного продления жизненного цикла (ЖЦ) ранее построенных систем привлекли усиленное внимание к такому разделу системной инженерии, как управление жизненным циклом систем. В рамках этого раздела системная инженерия дает методы и средства выбора, адаптации и практического использования фундаментальной совокупности процессов, охватывающих все аспекты ЖЦ сложных рукотворных систем практически любого назначения. На основе этих процессов возможны четкая организация и планирование работ на предприятии, эффективное управление проектами и ресурсами, принятие обоснованных инженерных и управленческих решений в условиях рисков, успешное управление качеством и конфигурацией, реализация всего спектра технических решений от концепции системы до вывода ее из эксплуатации. Достижения системной инженерии в области управления ЖЦ систем стали эффективным ответом на инженерные вызовы XXI века.

 

Дата: 2019-11-01, просмотров: 221.