Очерки истории отечественной программной инженерии в 1940-е – 80-е годы - Владимир Липаев
Шрифт:
Интервал:
Закладка:
В эти годы генерирование динамических тестов от внешних объектов на специализированных мобильных ЭВМ было невозможно вследствие ограниченности их вычислительных ресурсов. В 1965-м году для имитации тестов от движущихся объектов внешней среды в реальном времени были разработаны программы формирования магнитофильмов на универсальной ЭВМ М-20. На этой машине предварительно формировались и записывались на специализированных магнитофонах наборы динамических тестов о разнообразных ситуациях воздушной обстановки и движения объектов с регистрацией значений реального времени сообщений и их координат с точностью до секунды. Имитации внешней среды и динамических тестов в реальном времени, впоследствии стало широко применяться при разработке комплексов программ оборонных систем для испытаний и гарантирования их качества.
Возрастание сложности и ответственности оборонных зада ч, которые решаются крупными системами, а также увеличение возможного ущерба от недостаточного качества комплексов программ, значительно повысило актуальность освоения методов стандартизированного описания требований, а также оценивания характеристик качества на различных этапах жизненного цикла сложных комплексов программ. Широкое многообразие классов и видов программ, обусловленное различными функциями оборонных систем, предопределяло формальные трудности, связанные с методами и процедурами доказательства соответствия программного продукта условиям контрактов, требованиям заказчиков и потребителей. По мере расширения сферы применения и увеличения сложности выделились области, в которых ошибки или недостаточное качество программ или данных могли нанести ущерб, значительно превышающий положительный эффект от их использования.
Для создания безопасных систем и программных продуктов, прежде всего, необходимо было формализовать их назначение, функции и основные характеристики. На этой основе должны разрабатываться требования к безопасности и другим характеристикам качества, к обработанной информации для потребителей, адекватной назначению и функциям систем. Требования к функциям систем и программным продуктам, а также к безопасности их функционирования должны были соответствовать доступным ресурсам для их реализации с учетом допустимого ущерба – рисков при неполном выполнении требований. Основными источниками отказовых ситуаций были некорректные исходные требования, сбои и отказы в аппаратуре, дефекты или ошибки в программах и данных функциональных задач, проявляющиеся при их исполнении в соответствии с назначением. Стратегической задачей в жизненном цикле оборонных систем стало обеспечение требуемого качества программных продуктов при реальных ограничениях на использование вычислительных и иных ресурсов, выделяемых для их разработки и применения.
1.4. Организация подготовки первых программистов в 1950-е – 60-е годы
В Московском, Ленинградском и Киевском университетах в 1950-е годы началась подготовка специалистов по вычислительной математике, в технических высших учебных заведениях появились курсы по вычислительной технике, и стали открываться кафедры вычислительных машин [1, 4, 11]. Министерство высшего образования и Высшая аттестационная комиссия ввели формальный список таких специальностей. Эти списки в системе образования и научной аттестации играли в СССР важную роль, т. к. служили средством идентификации и формального признания квалификации специалистов. В частности, каждая образовательная специальность получала право иметь самостоятельный учебный план от первого до выпускного года обучения. Учебный план в своей основной части являлся обязательным для каждого вуза и утверждался министерством. Имелось, однако, некоторое количество курсов и семинаров по выбору, которые использовались для более конкретной специализации студентов в рамках данной специальности.
В 1952-м году в нескольких университетах была открыта в дополнение к существовавшей специальности «математика» новая специальность «вычислительная математика», предназначенная для подготовки специалистов, использующих вычислительную технику. Первый учебный курс программирования в СССР был прочитан А.А.Ляпуновым в 1952-м – 53-м учебном году. Структура курса складывалась на глазах у студентов. В перерыве между первым и вторым семестрами у лектора начали складываться основные подходы к «операторному методу». Вся вторая половина курса – это была по существу совместная работа профессора и студентов по созданию и уточнению символики операторов, используемых при составлении схем программ. Курс читался и воспринимался с большим энтузиазмом, и неслучайно почти половина слушателей, математиков-вычислителей, стали после выпуска профессиональными программистами. В 1955-м году в Московском университете при кафедре вычислительной математики работал семинар по смежным вопросам кибернетики и физиологии, который с 1956-го года принял название «семинар по кибернетике».
В 1955-м году чтение курса программирования в МГУ продолжил М.Р. Шура-Бура [1, 4]. Первой книгой об ЭВМ, рассчитанной на массового читателя, была книга А.И. Китова «Электронные цифровые машины», вышедшая в середине 1956-го года. Хорошим качеством книги была убедительная и увлекающая свежего читателя демонстрация новизны, вносимой ЭВМ в практику человеческой деятельности. Ее развитием стал учебник А.И. Китова и Н.А. Криницкого «Электронные цифровые машины и программирование» [5]. Это была первая книга, официально рекомендованная министерством высшего образования в качестве учебного пособия, весьма солидного объема (572 стр.), и изданная большим тиражом (25 тыс. экземпляров). Первым учебником, специально посвященным программированию, была книга киевских авторов Б.В. Гнеденко, А.С. Королюка и Е.Л. Ющенко «Элементы программирования». Они использовали для изложения условную ЭВМ и дидактику курса А.А. Ляпунова. Отдельная глава была посвящена символике адресного программирования. Первой попыткой создать солидный университетский курс программирования, базировавшийся на Алголе-60, была книга Е.А. Жоголева и Н.П.Трифонова «Курс программирования», основанная на опыте чтения лекций по программированию в МГУ.
Потребности в специалистах по программированию и в усилении подготовки по технологии системного программирования, как для общего математического обеспечения, так и для прикладных программ, привели к организации в 1969-м году новой специальности «прикладная математика» (для университетов и политехнических институтов), а также специальности «автоматизированные системы управления» (АСУ) (для отраслевых институтов). В 1975-м году подготовка по этим специальностям осуществлялась на 54 (прикладная математика) и 43 (АСУ) факультетах с общей численностью выпуска порядка 5000 человек в год.
Глава 2. История отечественной вычислительной техники в 1950-е – 70-е годы
2.1. История семейства стационарных универсальных вычислительных машин «Урал» в 1960-е – 70-е годы
В середине 60-х годов и в последующие годы, заводами страны производился серийно ряд оригинальных типов универсальных ЭВМ— БЭСМ-4; Урал-11 – 14; М-220; М-222; Минск-22; Минск-32; Раздан-2; Наири; Мир-1– 3 и другие – (см. рис. 1). Наиболее полно перечень свыше тридцати типов и десяти семейств ЭВМ, разработанных в СССР, представлен в Виртуальном компьютерном музее [10]. Некоторые ЭВМ имели экспериментальный характер или выпускались столь малыми сериями, что практически не отражались на вычислительном потенциале страны и не позволяли широко распространять и применять разрабатываемые на них программы. Поэтому далее в монографии этапы история программной инженерии отражены на ряде примеров технологических программных средств и операционных систем, оказавших наибольшее влияние на вычислительный потенциал страны, так как было нецелесообразно излагать историю программной инженерии для всей совокупности созданных вычислительных машин.
Для выделенных и рассматриваемых машин были созданы различные по функциям и качеству операционные системы и технологические компоненты программной инженерии. Квалификация их разработчиков значительно различалась, среди их продуктов можно найти оригинальные технические решения, однако большинство обеспечивало основные типовые функции автоматизации программирования, для более или менее комфортного применения соответствующих ЭВМ индивидуальными пользователями. В конце 60-х годов стало ясно, что необходимо сокращать разнотипность машин и сосредоточить их производство и разработку технологического программного обеспечения на нескольких типах наиболее перспективных универсальных ЭВМ для массового применения в научных учреждениях и промышленных предприятиях страны. Для таких ЭВМ следовало активизировать и сконцентрировать усилия специалистов по их оснащению эффективными средствами программной инженерии с целью расширения сфер применения и повышения производительности разработчиков прикладных программных продуктов.