Программа - совокупность данных и команд,
предназначенных для функционирования ЭВМ.
Программный продукт - программа,
созданная для работы пользователей на ЭВМ.
Программный комплекс - набор программ,
предназначенных для решения комплекса задач на ЭВМ.
Ошибки программ - сбои или отказы работы ЭВМ
или получение неправильных результатов.
Требования к программным продуктам:
Надежность - отсутствие сбоев и отказов в работе ЭВМ
при выполнении программы
Правильность - правильность результатов, получаемых
при выполнении программы на ЭВМ
Технология разработок IBM
Порядок разработки программ:"Каскад"
Анализ
Проектирование
Реализация
Испытания
Внедрение
В настоящее время корпорация IBM
во всех своих разработках использует Технологию "CleanRoom",
созданную по заказу МинОбороны США:
Удаление 90% ошибок (в 10 раз).
Статистика: 2-3 ошибки на 1000 операторов.
Технология разработок MicroSoft
Порядок разработки продукта: "Спираль"
версия 0.1 (альфа-версия)
версия 1.0 (бета-версия)
версия 2.0 (первый релиз)
версия 3.0 (третий релиз)
Гарантии качества:
тщательное тестирование на ЭВМ
"обратная связь" с клиентами
Отладка программ на ЭВМ
Отладка программ - процесс поиска и исправления
ошибок в программах на ЭВМ
Особенности отладки:
Количество ошибок - заранее неизвестно.
Продолжительность отладки - заранее неизвестна.
Количество ошибок в "программном продукте" неизвестно.
Статистика IT-проектов в США
25% проектов завершаются успешно
25% превышают время разработок (в 2-3 раза)
25% превышают бюджет разработок (в 2-3 раза)
25% завершаются полным провалом
Под данным В.В.Липаева при тестировании программ на ЭВМ
обычно выявляется не более 50% ошибок, а при самом
тщательном и крайне дорогостоящем тестировании программ
на ЭВМ выявляется не более 90% ошибок.
Официальная статистика:
в российских разработках программного обеспечения
2-3 ошибки на 100 операторов.
Стандарты ЕСПД
ЕСПД - Единые Стандарты Программной Документации.
Стандарты ЕСПД были созданы для внедрения
в СССР операционной системы ОС ЕС ЭВМ
(пиратской копии системы OS IBM/360).
Фундамент программы АСУнизации страны (1969-91гг).
Стандарты ЕСПД морально устарели вместе с ЕС ЭВМ.
Основа ЕСПД - обязательное составление блок-схем
для документирования разрабатываемых программ.
В Европе и США блок-схемы не используются вообще.
После введения в Российской Федерации с 1 июля 2003
.
стандарты ЕСПД можно не использовать
для документирования и разработки программ
Стандарты ЕСКД
ЕСКД - Единые стандарты на конструкторскую документацию
на любую техническую продукцию: машины, механизмы,
приборы, радиотехнику, средства вычислительной техники.
Надежность изделий:
отказоустойчивость
ремонтопригодность
живучесть.
Типология изделий:
эскизный образец
рабочий образец
опытный образец
серийный образец
Программная документация (по ЕСКД):
проектная документация
пользовательская документация
учебные материалы
инструкции по установке
Применения стандартов ЕСКД
Программное обеспечение космического проекта "Буран" (1984-85гг)
Пакеты программ для школьных ЭВМ (1986-88гг)
Офисный пакет программ для IBM PC (1990-91гг)
Комплекс программ "Бюджет-F" для Минфина РФ (1995-2000гг)
Систематические методы разработки
Порядок разработки программ:
Постановка задач
Составление спецификаций
Разработка алгоритмов
Написание программ
Анализ правильности
Испытания на ЭВМ
Доказательное программирование - составление
алгоритмов и программ для ЭВМ с одновременным
доказательством их правильности.
Статистика: 100% устранение всех алгоритмических ошибок.
Только доказательства правильности программ дают гарантии
отстутствия в них (алгоритмических) ошибок.
C 2001 года МинОбороны Великобритании
не принимает программное обеспечение без гарантий
отсутствия в них ошибок.
Применения систематических методов
Пакеты программ для школьных ЭВМ (1986-88гг)
Офисный пакет программ для IBM PC (1990-91гг)
Учебники по информатике для школ (1985-96гг)
для студентов (1997-2003гг)
Электронный Университет для подготовки разработчиков и менеджеров
в области и (2001-2003гг).
Рекомендуемая Литература:
Каймин В.А. . М., ИНФРА-М, 2003.
Нечаев А.М. "Программироование ЭВМ". М., МИЭМ, 2003.
Иан Соммервилл "Инженерия программного обеспечения" Киев, Вильямс, 2002.
Липаев В.В. "Качество программных средств". М., МО РФ, 2002.
Одинцов И. "Профессиональное программирование. Системный подход". СПб.: БХВ-Петербург, 2002.
Авторы курса:
профессор В.А.Каймин, доктор Computer science, академик МАИ доцент Нечаев А.М., кандидат тех. наук, доцент МИЭМ