Владимир Липаев - Очерки истории отечественной программной инженерии в 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-е годы - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
Управления рисками предполагает ясное понимание внутренних и внешних причин и реальных источников угроз, влияющих на качество продукта, которые могут привести к его провалу проекта или большому ущербу. В результате анализа следует создавать план отслеживания изменения рисков в жизненном цикле комплекса программ ., который должен регулярно рассматриваться и корректироваться. Главной целью управления рисками является обнаружение, идентификация и контроль за редко встречающимися ситуациями и факторами, которые приводят к негативным – рисковым результатам продукта. Это должно отражаться на применении регламентированных процессов, в которых факторы и угрозы рисков систематически идентифицируются, оцениваются и корректируются.
Понятие ошибки в программе — в общем случае под ошибкой подразумевается неправильность, погрешность или неумышленное искажение объекта или процесса, что может быть причиной ущерба – риска при функционировании и применении программы. При этом предполагается, что известно правильное, эталонное состояние объекта или процесса, по отношению к которому может быть определено наличие отклонения – ошибки или дефекта. Исходными эталонами для любого программного продукта являются спецификации требований заказчика или потенциального пользователя, предъявляемых к программам. Любое отклонение результатов функционирования программы от предъявляемых к ней требований и сформированных по ним эталонов-тестов, следует квалифицировать как ошибку – дефект в программе, наносящий некоторый ущерб. Различие между ожидаемыми и полученными результатами функционирования программ могут быть следствием ошибок не только в созданных программах, но и ошибок в первичных требованиях спецификаций, явившихся базой при создании эталонов-тестов. Тем самым проявляется объективная реальность, заключающаяся в невозможности абсолютной корректности и полноты исходных требований и эталонов для сложных программных продуктов.
На практике в процессе ЖЦ исходные требования поэтапно уточняются, модифицируются, расширяются и детализируются по согласованию между заказчиком и разработчиком. Базой таких уточнений являются неформализованные представления и знания специалистов-заказчиков и разработчиков, а также результаты промежуточных этапов проектирования. Однако установить не корректность таких эталонов еще труднее, чем обнаружить дефекты в программах, так как принципиально отсутствуют формализованные данные, которые можно использовать как исходные. В процессе декомпозиции и верификации исходной требований, возможно появление ошибок в спецификациях на группы программ и на отдельные модули. Это способствует расширению спектра возможных дефектов и вызывает необходимость создания гаммы методов и средств тестирования для выявления некорректностей в спецификациях на компоненты разных уровней.
При тестировании обычно сначала обнаруживаются вторичные ошибки и риски, т. е. последствия и результаты проявления некоторых внутренних дефектов или некорректностей программ. Эти внутренние дефекты следует квалифицировать как первичные ошибки или причины обнаруженных аномалий результатов. Последующая локализация и корректировка таких первичных ошибок должна приводить к устранению ошибок, первоначально обнаруживаемых в результатах функционирования программ. Потери эффективности и риски программ за счет неполной корректности в первом приближении можно считать прямо пропорциональными (с коэффициентом) вторичным ошибкам в выходных результатах. Типичным является случай, когда одинаковые по величине и виду вторичные ошибки в различных результирующих данных существенно различаются по своему воздействию на общую эффективность и риски применения комплекса программ.
Наибольшее число первичных ошибок вносится на этапах системного анализа и разработки модификаций программ. При этом на долю системного анализа приходятся наиболее сложные для обнаружения и устранения дефекты. На последующих этапах разработки комплексов программ ошибки вносятся и устраняются в программах в процессе их корректировки по результатам тестирования. Общие тенденции состоят в быстром росте затрат на выполнение каждого изменения на последовательных этапах процессов модификации программ. Интенсивность проявления и обнаружения вторичных ошибок наиболее велика на этапе активного тестирования и автономной отладки программных компонентов. Затем она снижается приблизительно экспоненциально. Различия интенсивностей устранения первичных ошибок, на основе их вторичных проявлений, и внесения первичных ошибок при корректировках программ, определяют скорость достижения заданного качества комплексов программ.
Одной из основных причин ошибок комплексов программ являются организационные дефекты при модификации и расширении их функций, которые отличаются от остальных типов и условно могут быть выделены как самостоятельные. Ошибки и дефекты данного типа появляются из-за недостаточного понимания коллективом специалистов технологии, а также вследствие отсутствия четкой его организации и поэтапного контроля качества продуктов и изменений. При отсутствии планомерной и методичной разработки и тестирования, остается не выявленным значительное количество ошибок, и, прежде всего, дефекты взаимодействия отдельных функциональных компонентов между собой и с внешней средой. Для сокращения этого типа массовых ошибок, активную роль должны играть лидеры – менеджеры и системотехники, способные вести контроль и конфигурационное управление требованиями, изменениями и развитием версий компонентов и программного продукта.
Первичные ошибки в программах можно анализировать с разной степенью детализации и в зависимости от различных факторов. Практический опыт показал, что наиболее существенными факторами, влияющими на характеристики обнаруживаемых ошибок, являются :
• методология, технология и уровень автоматизации системного и структурного проектирования, а также непосредственного программирования компонентов;
• длительность с начала процесса тестирования и текущий этап разработки или сопровождения, и модификации комплекса программ;
• класс программного продукта, масштаб (размер) и типы компонентов, в которых обнаруживаются ошибки;
• методы, виды и уровень автоматизации верификации и тестирования, их адекватность характеристикам компонентов и потенциально возможным в программах ошибкам.
Читать дальшеИнтервал:
Закладка: