Очерки истории отечественной программной инженерии в 1940-е – 80-е годы - Владимир Липаев
Шрифт:
Интервал:
Закладка:
Сбор и обобщение экономических характеристик отечественных [20] и зарубежных [15] крупных комплексов программ в конце 80-х годов позволил существенно повысить достоверность прогнозирования технико-экономических показателей проектов. Это стимулировало разработку более точных моделей с учетом многих факторов, влияющих на оценки трудоемкости, длительности и числа специалистов, необходимых для разработки программных продуктов. В методике учитывались следующие группы дополнительных факторов и их детализации [20]:
• характеристики проектируемого программного продукта;
• квалификация коллектива разработчиков;
• технологическая среда разработки;
• организация проектирования и производства.
В качестве характеристик комплекса программ применялись:
• доля используемых готовых программных компонентов;
• требования к надежности (наработке на отказ);
• ограничения на доступные вычислительные ресурсы – уровень (процент) загрузки ЭВМ;
• ожидаемая длительность сопровождения и эксплуатации версий программного продукта;
• ожидаемый тираж программного продукта;
• размер базы данных, с которой взаимодействует комплекс программ.
Группа характеристик коллектива разработчиков включала:
• тематическую квалификацию разработчиков (опыт работы в конкретной прикладной области, оцениваемый в годах);
• программистскую квалификацию разработчиков (опыт работы на конкретном языке программирования и с определенным инструментарием, оцениваемый в годах).
Группу характеристик технологической среды разработки составляли:
• быстродействие технологической ЭВМ, приходящееся на одного разработчика;
• размер – масштаб технологических программных средств;
• уровень используемого языка программирования (коэффициент расширения объектного кода программ в зависимости от уровня языка программирования).
К характеристикам организации процесса проектирования и производства относились:
• активность применения современных методов программирования (структурное программирование, структурное проектирование, бригада главного программиста и т. п.);
• стабильность исходных требований, представленных заказчиком в техническом задании.
Данные прогнозов по мере развития проекта могли уточняться и корректироваться с использованием реальных затрат ресурсов при последовательном завершении определенных этапов проекта. При этом возможен анализ технико-экономических показателей при изменении характеристик и разных вариантах состава функций и размера продукта, а также некоторых специфических факторов проекта, влияющих на ТЭП. При реальной разработке, тестировании и корректировке программ общая тенденция состоит в непрерывном увеличении размера комплекса, что при оценке ТЭП требовало отслеживания роста требуемых и используемых ресурсов. Кроме того, технико-экономические показатели, требующиеся ресурсы и планы разработки должны были корректироваться путем исключения из прогнозируемых ТЭП затрат ресурсов, уже использованных на завершенных этапах проекта.
Принципиальным отличием методики ПЛАПС являлась возможность планирования процесса разработки комплекса программ, а также учета и корректировки реальных значений трудоемкости и длительности. В методике была реализована визуализация планов разработки комплекса программ в виде диаграмм Ганта по шести укрупненным этапам и множеству (около 40) частных работ, составлявших каждый из этих этапов. Состав и характеристики работ и этапов можно было корректировать по длительности и взаимодействию с предшествующими и последующими работами. При обобщении рассчитанных технико-экономических показателей на практике, некоторые значения, могли не удовлетворить специалистов, ведущих прогнозирование. Поэтому в методике допускалась возможность пересчета получаемых прогнозных значений на основе дополнительно вводимых значений некоторых факторов или ТЭП.
Глава 6. Примеры создания заказных систем на основе программной инженерии в 1960-е – 80-е годы
6.1. Технологии программной инженерии для крупных комплексов программ системы ПВО в 1960-е – 80-е годы
Примером одного наиболее крупных проектов вычислительных систем и комплексов программ реального времени оборонного назначения может служить начало разработки в 50-х годах системы противовоздушной обороны (ПВО) страны [11, 12]. В 1957-м году в НИИ-5 началось формирование подразделений, подбор и обучение сотрудников для того, чтобы задачи и системы обработки радиолокационной информации, а также наведения и управления истребителями-перехватчиками перевести на алгоритмы и программы для цифровой вычислительной техники территориальных командных пунктов. Эти первичные анализы и проработки послужили прототипами для создания впоследствии сложной глобальной телекоммуникационной сети радиолокационных узлов (РЛУ) (см.п. 4.3). В это же время на машине «Урал – 1» в институте началось моделирование алгоритмов обработки радиолокационной информации. Моделировались алгоритмы сопровождения движущихся воздушных объектов в имитированном псевдореальном времени. На машине с производительностью 100 операций в секунду и общей памятью две тысячи слов, занимавшей огромное помещение, впервые начинали ставиться и решаться сложные комплексные задачи РЛУ с имитацией реального времени. Моделировались исходные координаты, отражающие движение наблюдаемых радиолокаторами объектов, которые могли составлять группы и маневрировать. По этим данным имитировалось обнаружение динамических объектов; формировались траектории их движения, отождествление и объединение траекторий динамических объектов в реальном времени от различных РЛУ. В 1959 году в институте появилась более мощная машина М-20, моделирование было продолжено на ней и расширено. У руководства института появлялась уверенность, что подобные задачи можно решать на цифровых ЭВМ по данным радиолокационных станций, взаимодействующих в сети на большой территории.
В 1959 году в НИИ-5 был разработан проект территориальной, распределенной информационной системы ПВО (генеральный конструктор Анатолий Леонидович Лившиц) [12], которая в современной терминологии имела, следующие особенности (опытный образец в полном составе испытан в 1969 году):
• территориально-распределенная информационная система на ЭВМ с многими пунктами сбора и обработки радиолокационной информации и командными пунктами управления активными средствами ПВО – ракетами и истребителями-перехватчиками;
• радиолокационная информация о воздушных целях от различных источников из зоны их обнаружения, обобщалась на командных пунктах, что обеспечивало непрерывность траекторий целей для возможности действия активных средств ПВО;
• все средства обработки информации и управления должны были работать на ЭВМ в реальном масштабе времени при несинхронных потоках сообщений от источников информации с временем отклика измеряемом долями секунды;
• на каждом пункте обработки радиолокационной информации и управления должны были применяться, объединенные в локальную сеть графические терминалы различных типов (характроны, телевизионные индикаторы) для визуализации воздушной обстановки и обеспечения функционирования оперативного и командного состава;
• вычислительные средства обработки радиолокационной информации и командных пунктов имели очень ограниченные ресурсы по памяти и производительности и низкую надежность и, тем не менее, должны были эффективно и надежно решать заданные функциональные задачи ПВО;
• телекоммуникационные каналы связи работали по унифицированным протоколам, имели относительно низкую пропускную способность (телефонные каналы) и большой процент ошибок в сообщениях.
Командные пункты управления активными средствами ПВО были построены на стационарных, полупроводниковых ЭВМ «Радон» (главный конструктор Сергей Алексеевич Крутовских) и комплексах расширения памяти «Кристалл» (впоследствии на ЭВМ «Гранит»). Сотни тысяч команд в программах командного пункта были разработаны в машинных кодах под руководством Залмана Михайловича Бененсона к 1968-му году, а затем развивались и совершенствовались многие годы. В разработке алгоритмов и программ участвовало свыше двухсот человек.