Владимир Липаев - Очерки истории отечественной программной инженерии в 1940-е – 80-е годы
- Название:Очерки истории отечественной программной инженерии в 1940-е – 80-е годы
- Автор:
- Жанр:
- Издательство:Литагент «Директмедиа»1db06f2b-6c1b-11e5-921d-0025905a0812
- Год:2015
- Город:Москва, Берлин
- ISBN:978-5-4475-3299-4
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Владимир Липаев - Очерки истории отечественной программной инженерии в 1940-е – 80-е годы краткое содержание
Монография начинается с истории появления в нашей стране электронных вычислительных машин (ЭВМ) и программирования в 1940-е – 60-е годы. Далее изложена история проектирования и производства отечественных ЭВМ, а также средств и систем автоматизации технологических процессов производства программных продуктов в 1960-е – 80-е годы. Подробно представлена история формирования основных компонентов программной инженерии в 1960-е – 70-е годы. Внимание акцентируется на особенностях решения сложных задач по государственным заказам и на создании программных продуктов для мобильных и бортовых ЭВМ реального времени. Особое внимание уделяется истории разработки методов моделирования динамических объектов и стендов для тестирования и испытаний комплексов программ в реальном времени. Изложены методы оценивания качества программных продуктов, рисков, дефектов и ошибок при их разработке, а также история формирования требований к профессиям и квалификации специалистов программной инженерии в 1970-е – 80-е годы. Рассмотрен анализ сложности программных комплексов реального времени и распределение ресурсов ЭВМ для таких комплексов, характеристики и методы оценивания качества их компонентов. Один из разделов посвящен истории формирования в 1980-годы экономики программной инженерии, созданию средств технико-экономического анализа и экономическому обоснованию планов разработки крупных программных продуктов. Представлены реальные примеры их создания в 1960-е – 80-е годы для оборонных систем на основе методов программной инженерии.
Книга предназначена для специалистов по вычислительной технике и программной инженерии, программистов, студентов и аспирантов, интересующихся историей развития, успехами и проблемами отечественной науки и техники в этой области.
Очерки истории отечественной программной инженерии в 1940-е – 80-е годы - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
Первичные ошибки в комплексах программ в порядке уменьшения их влияния на сложность обнаружения и масштабы корректировок можно разделить на следующие группы:
• ошибки вследствие большого масштаба – размера комплекса программ, а также высоких требований к его качеству;
• ошибки планирования и корректности требований модификаций часто могут быть наиболее критичным для общего успеха программного продукта и системы;
• системные ошибки, обусловленные отклонением функционирования реальной системы, и характеристик внешних объектов от предполагавшихся при проектировании;
• алгоритмические ошибки, связанные с неполным формированием необходимых условий решения и некорректной постановкой целей функциональных задач;
• ошибки реализации спецификаций требований – программные дефекты, возможно, ошибки нарушения содержания или структуры компонентов;
• программные ошибки, вследствие неправильной записи текстов программ на языке программирования и ошибок трансляции текстов программ в объектный код;
• ошибки в документации, которые наиболее легко обнаруживаются и в наименьшей степени влияют на функционирование и применение программного продукта.
Сложность проявления, обнаружения и устранения ошибок значительно конкретизируются и становятся измеримой, когда устанавливается связь этого понятия с конкретными ресурсами, необходимыми для решения соответствующей задачи и возможными проявлениями дефектов. При разработке и сопровождении программ основным лимитирующим ресурсом обычно являются допустимые трудозатраты специалистов, а также ограничения на сроки разработки, параметры ЭВМ, технологию проектирования корректировок. Показатели сложности при анализе можно разделить на две большие группы :
• сложность ошибок при создании и корректировках компонентов и комплекса программ – статическая сложность, когда реализуются его требуемые функции, вносятся основные дефекты и ошибки;
• сложность проявления ошибок функционирования программ и получения результатов – динамическая сложность, когда проявляются дефекты и ошибки, отражающиеся на функциональном назначении, рисках и качестве применения версии ПС.
Системные ошибки в крупных комплексах программ возникают, прежде всего, из-за неполной информации о реальных процессах, происходящих в управляемых объектах и внешних источниках информации. На начальных стадиях проектирования не всегда удается точно сформулировать целевую задачу всей системы, а также целевые задачи и характеристики основных функциональных компонентов, и их уточняют в процессе проектирования. В соответствии с этим уточняются и конкретизируются технические задания на отдельные функциональные программы и выявляются отклонения от требований уточненного задания, которые можно квалифицировать как системные ошибки. Ошибки, связанные с неполной формализацией целевой задачи системы, наиболее трудно было квалифицировать и выделять, в большинстве случаев они устранялись в процессе разработки программ.
Характеристики внешних объектов, принятые в процессе разработки алгоритмов за исходные, могут быть результатом аналитических расчетов, моделирования или исследования аналогичных систем. Во всех случаях может отсутствовать полная адекватность предполагаемых и реальных характеристик, что и являлось причиной сложных и трудно обнаруживаемых системных ошибок. Ситуация с системными ошибками дополнительно усложняется тем, что эксперименты по проверке взаимодействия программного продукта с реальной средой во всей области изменения параметров зачастую сложны и дороги, а в отдельных случаях, при создании опасных ситуаций, недопустимы.
Длительность отладки, а, следовательно, и всей разработки непосредственно зависит от допустимого значения показателя отлаженности или от количества прогнозируемых не выявленных ошибок, при котором разработку можно было считать завершенной. Однако в сложных комплексах программ детерминированный подход перестает быть конструктивным, и приходится переходить к статистической оценке уровня не выявленных ошибок и отлаженности комплекса. В этом случае показателем отлаженности может быть вероятность обнаружения ошибок в программе в течение некоторого времени или интенсивность потока искажений результатов в период эксплуатации системы за счет не выявленных ошибок. В серийно выпускаемых программных продуктах реального времени, количество ежегодно обнаруживаемых ошибок сравнительно мало изменяется, что в значительной степени объясняется увеличением количества функционирующих экземпляров объектных ЭВМ и систем.
Взаимосвязь между количеством ошибок в программе, количеством выявляемых ошибок и интенсивностью искажений результатов может являться основой оптимизации суммарных затрат на оперативную защиту и отладку. Установлено, что для этого может использоваться жесткая корреляция между тремя вилами проявления ошибок в сложных комплексах программ [19]:
• суммарным количеством ошибок в комплексе программ или количеством неверных команд в программе по отношению к общему количеству команд;
• количеством ошибок в комплексе программ, выявленных в единицу времени в процессе отладки при постоянных усилиях;
• количеством искажений результатов на выходе комплекса программ вследствие не выявленных ошибок в программах.
Эти три показателя можно связать некоторыми постоянными коэффициентами пропорциональности. Теоретические исследования подтвердили эти связи и позволили создать методы статистического прогнозирования интегрального числа ошибок в зависимости от времени отладки комплекса программ. Созданная методика и проведенные исследования характеристик комплексов программ показали, что их целесообразно применять как ориентиры возможных ошибок и дефектов при разработке и сопровождении крупных программных продуктов.
В 80-е годы при исследованиях за рубежом \\\]примеров 20 крупных поставляемых программных продуктов, созданных в 13 различных организациях, коллективы специалистов добились среднего уровня 0,06 дефекта на тысячу строк нового и измененного программного кода. При использовании структурного метода в пяти проектах достигнуто 0,04 – 0,075 ошибок на тысячу строк. Таким образом, уровень ошибок около 0,05 на тысячу строк кола в разных публикациях считалось близким к предельному для высококачественных программных продуктов.
Другим примером оценок уровня ошибок особенно высокого качества может служить критический программный продукт бортовых систем Шаттла, созданный NASA. По оценке авторов, в нем содержится менее одной ошибки на 10000 строк кода. Однако стоимость программного продукта достигает 1000 $ за строку кода, что в среднем в сто раз больше, чем для административных систем и в десять раз больше, чем – для ряда ординарных критических управляющих систем реально времени [11].
Читать дальшеИнтервал:
Закладка: