49 • программы должны быть разработаны в жесткие запланированные сроки с предсказуемой точностью, корректностью и надежностью; • программы при сроках их разработки 3-4 года сопровождаются и функционируют 10-15 лет. Соответствие ПО ТЦУ данным предпосылкам и обеспечивает возможность развития концепции мультиверсионного программирования для данного класса программных средств. Именно эта методология и направлена на создание ПО, устойчивого к не выявленным ошибкам, остающимся в версиях ПО на всем ЖЦПО. Особое место занимают первичные ошибки, являющиеся искажением в исходном тексте программы. Так как первичные ошибки в программах вносится в их исходные тексты, особое место для оценки надежности ПО отводится методу, основанному на анализе и контроле статистических характеристик исходных текстов программ. Объектом исследования служат исходные тексты программ ПО систем управления КА в процессе или по окончании их разработки и отладки в том случае, если информация о количестве выявляемых и исправляемых ошибок при разработке программных проектов фиксируется и учитывается. Как отмечает ряд авторов, такая информация пока, к сожалению, в большинстве программных проектов не фиксируется ни у нас в стране, ни за рубежом. Однако при разработке ответственных программных систем, таких как программное обеспечение процессов управления КА, эта информация накапливается и анализируется. Количество выявленных ошибок было получено из информации от технологических систем контроля хода разработки, из журналов учета хода разработки и в небольшом числе случаев с помощью экспертных оценок разработчиков ПО. Длина программ рассчитывалась вручную для небольших программ или с помощью специальной программы. Число ожидаемых ошибок является одним из параметров надежности комплексов программ, исходя из величины которого может быть получена оценка вероятности отсутствия ошибок в ПО. Одна из основных трудностей на пути получения качественного программного обеспечения заключается в том, что теоретически и практически невозможно достоверно установить характеристики программ до момента их реализации Вторая трудность связана с отсутствием четких, формальных методов задания требований к программам со стороны заказчика, позволяющих однозначно реализовать их в процессе разработки программ, что приводит к непостоянству программ из-за частых корректировок и модернизаций. Это способствует увеличению количества разнотипных программных комплексов, выполняющих по сути сходные функции. Еще одна трудность заключается в стремительном росте количества связей и усложнении структуры при возрастании объемов программного |
сурсов производительности вычислительных средств НКУ. Это обусловлено наличием связей ЭВМ с источниками информации и объектами управления, функционирующими в реальном масштабе времени. Прекращение или значительная задержка исполнения некоторой программы в процессе управления КА обычно эквивалентны нарушению работы систем, т.е. некачественному выполнению ТЦУ, т.к. при этом в ПО нарушается временная связь переменных с состоянием КА. Временная сложность может быть выражена временем реакции на поступление некоторых заявок, сообщений, например, сигнала ’’Вызов НКУ” и т.д. Для обобщающих оценок временная сложность может быть выражена в количестве операций, выполняемых для реализации какой-либо задачи, регламентированной ТЦУ. Этот подход позволяет исследовать сложность ПО вне зависимости от характеристик производительности реальных машин и в то же время в каждом конкретном случае оценивать длительности реализации задач ТЦУ во временных единицах. Особое значение для эксплуатируемых длительное время в условиях экстремальных нагрузок систем управления КА приобретают характеристики надежности ПО. С характеристиками надежности ПО тесно связано понятие ошибок в программах. Результаты анализа различных ошибок в программах показали, что сложные комплексы программ не могут существовать в абсолютно отлаженном состоянии. Какой-то процент невыявленных ошибок продолжает оставаться в ПО в процессе всего его жизненного цикла. В связи с этим отметим характерные особенности ПО процессов управления КА: программы рассматриваются как законченные, оформленные документацией, подлежащие тиражированию и распространения изделия; программы рассматриваются как отчуждаемые от разработчика изделия; программы должны быть разработаны в жесткие запланированные сроки с предсказуемой точностью, корректностью и надежностью; программы при сроках их разработки 3-4 года сопровождаются и функционируют 10-15 лет. Соответствие ПО ТЦУ данным предпосылкам и обеспечивает возможность развития концепции мультиверсионного программирования для данного класса программных средств. Именно эта методология и направлена на создание ПО, устойчивого к невыявленным ошибкам, остающимся в версиях ПО на всем ЖЦПО. 42 В [6] перечислены разные виды ошибок, снижающих надежность ПО на различных стадиях его жизненного цикла. Особое место занимают первичные ошибки, являющиеся искажением в исходном тексте программы. Так как первичные ошибки в программах вносится в их исходные тексты, особое место для оценки надежности ПО отводится методу, основанному на анализе и контроле статистических характеристик исходных текстов программ. Объектом исследования служат исходные тексты программ ПО систем управления КА в процессе или по окончании их разработки и отладки в том случае, если информация о количестве выявляемых и исправляемых ошибок при разработке программных проектов фиксируется и учитывается. Как отмечает ряд авторов [22,44,45], такая информация пока, к сожалению, в большинстве программных проектов не фиксируется ни у нас в стране, ни за рубежом. Однако при разработке ответственных программных систем, таких как программное обеспечение процессов управления КА, эта информация накапливается и анализируется [206]. Количество выявленных ошибок было получено из информации от технологических систем контроля хода разработки, из журналов учета хода разработки и в небольшом числе случаев с помощью экспертных оценок разработчиков ПО. Длина программ рассчитывалась вручную для небольших программ или с помощью специальной программы [205]. Число ожидаемых ошибок является одним из параметров надежности комплексов программ, исходя из величины которого может быть получена оценка вероятности отсутствия ошибок в ПО. Одна из основных трудностей на пути получения качественного программного обеспечения заключается в том, что теоретически и практически невозможно достоверно установить характеристики программ до момента их реализации. Вторая трудность связана с отсутствием четких, формальных методов задания требований к программам со стороны заказчика, позволяющих однозначно реализовать их в процессе разработки программ, что приводит к непостоянству программ из-за частых корректировок и модернизаций. Это способствует увеличению количества разнотипных программных комплексов, выполняющих по сути сходные функции. Еще одна трудность заключается в стремительном росте количества связей и усложнении структуры при возрастании объемов программного 43 |