- •1. Роль ПО и компьютеров в производстве, социальной жизни и науке.
- •2. Инженерия ПО
- •3. Проблемы разработки ПО и пути их решения
- •4. Характеристики качества ПО
- •5. Факторы, влияющие на качество ПО
- •6. Системный подход к разработке ПО. Временной и "пространственный " аспекты системного подхода
- •7. Этапы жизненного цикла ПО. Каскадная модель жизненного цикла ПО.
- •8. Конструирование ПО
- •9. Стандарты по разработке ПО. Виды и значение стандартов, требования стандартов
- •10. Три группы процессов создания ПО
- •11. Жизненный цикл ПО и процессы верификации.
- •12. Тестирование, верификация, валидация. Различие в понятиях. V образная модель жизненного цикла ПО
- •13. Спиральная модель ЖЦ ПО.
- •14. «Тяжелые и легкие» технологии разработки ПО. Экстремальное (ХР) программирование
- •16. Виды документов, выпускаемых на ПО по этапам разработки системы.
- •17. Итеративный характер проектирования ПО. Стадии проектирования.
- •19. CASE технологии разработки ПО.
- •20. Технология Ration Rose,UML
- •21. Структура системы, иерархия управления и структура ПО
- •22. Цикличность решения задач управления в системах с ЦВМ
- •23. Временная диаграмма работы системы. Представления работы ПО СТС в виде набора «сечений», выполняемых последовательно.
- •24. Представление работы ПО СТС в виде набора параллельных процессов.
- •25. Задачи и процессы. Контекст процесса
- •26. Обобщенная схема возможных вариантов совместного использования информации взаимодействующими процессами
- •Закон Амдела
- •28. Критический ресурс ЦВМ. Основное правило защиты ресурсов ЦВМ
- •29. Синхронизация процессов
- •Взаимное исключение процессов. Использование мьютексов
- •30. Задача синхронизации «Читатели-писатели»
- •Задачи синхронизации. «Обедающие философы»
- •31. Технология синхронизации ПО. Система Intel Thread Checker (ITC) и типы обнаруживаемых ею ошибок.
- •32. Конструирование ПО
- •33. Минимизация сложности ПО. Стандартные приемы в конструировании
- •35. Особенности конструирования программ для встроенных ЦВМ критических систем. Фиксированное распределение памяти
- •36. Проектирование снизу-вверх и проектирование сверху-вниз. Программные заглушки и их использование
- •37. Основные понятия структурного подхода к проектированию ПО.
- •Основные понятия объектно - ориентированного подхода (ООП) к конструированию ПО.
- •38. Мультиагентные технологии
- •39. Классы реального мира предметной области и искусственные объекты. Чрезмерно большие и неправильно названные классы
- •40. Эвристические приемы конструирования методов, предотвращение дублирования кода
- •41. Сокрытие информации. Две категории секретов программ.
- •Избыточное распространение информации в программе
- •Опасность использования глобальных переменных
- •45. Сопряжение между модулями. Критерии оценки сопряжения. Виды сопряжения
- •46. Эталоны для контроля работы ПО
- •47. Низкоуровневые средства обнаружения ошибочного функционирования ПО
- •Исключительные ситуации (Исключения)
- •48. Выбор способа обработки некорректных входных данных
- •49. Способы обработки возможных ошибок
- •50. Утверждения и общие принципы их использования
- •51. Стратегии безопасности. Три уровня реакции ПО на обнаруженную ошибку. Отказоустойчивые системы
- •54. Ошибки ПО, отладка и тестирование ПО.
- •55. Анализ обнаруживаемых в ПО ошибок и важность его проведения
- •Классификация ошибок ПО
- •56. Статическая отладка и динамическая отладка
- •Функциональная отладка
- •57. Принцип «белого» и «черного» ящика при динамической отладке ПО.
- •58. Структурная динамическая отладка
- •59. Автономная отладка (АО) и комплексная отладка (КО) ПО
- •60. Тестовое окружение ПО. Драйверы и заглушки.
- •61. Последовательность действий при отладке ПО.
- •Принципы выделения маршрутов для отладки.
- •62. Приближенный метод оценки числа вариантов для отладки ПО для «широкого графа» программы. Графы деревья, как модели структуры ПО
- •63. Регулярное дерево и устойчивость его структурного параметра
- •64. Контроль отлаженности ПО в процессе отладки.
- •67. Метод наименьших квадратов для аппроксимации экспериментальных данных
ром 2 наблюдений, приводит к неправильному результату. Нужно использовать всю совокупность наблюдений. Однако, это на первый взгляд приведет к получению переопределенной системы уравнений (число уравнений, больше числа неизвестных).
67. Метод наименьших квадратов для аппроксимации экспериментальных данных
Получим решение, удовлетворяющее в некотором смысле всей совокупности экспериментальных данных.
При этом не будем стремиться, чтобы решение удовлетворяло точно всем экспериментальным точкам (к тому же в рамках рассмотренной простой модели всего с двумя свободными параметрами это невозможно по алгебраическим соображениям).
Значение неизвестных параметров N0 и К будем определять, исходя из минимизации суммы квадратов невязок между экспериментальными данными ni и значениями ni , определяемыми по модели (1).
Этот метод называется методом наименьших квадратов.
Он позволяет разрешить в алгебраическом смысле переопределенную систему, когда число уравнений (наблюдений) превышает число переменных.
В результате использования метода наименьших квадратов получается «решение», удовлетворяющее всем наблюденным значениям в смысле минимизации суммы квадратов отклонений решения от наблюденных значений.
При этом структура решения (структура модели 1) должна быть известна и введена в систему соотношений метода.
Запишем сумму квадратов невязок
r |
|
S ( ni N 0 K |
t e Kti )2 |
i 1 |
|
Найдем значение N0 и К, при которых эта сумма имеет минимум. Для этого приравняем нулю производные суммы по искомым параметрам.
S |
r |
|
2 ( ni N0 K t e Kti ) ( K t e Kti ) 0 |
||
N0 |
||
i 1 |
r
( ni N0 K t e Kti ) e Kti 0
i 1
[Введите текст]
Отсюда следует, что
|
r |
|
|
r |
|
( ni N 0 K t e Kti ) e Kti ( ni N0 K t e Kti ) Kti e Kti |
0 |
||||
|
i 1 |
|
|
i 1 |
|
|
S |
|
r |
|
|
|
|
2( ni N |
0 K t e Kti ) ( N 0 t e Kti N 0 K ti t e Kti |
) 0 |
|
|
K |
||||
|
i |
1 |
|
|
|
|
|
|
|
r
( ni N 0 K t e Kti ) e Kti ( K ti 1 ) 0
i 1
Но из () следует, что первое слагаемое равно 0. Окончательно получим уравнение, которое совместно с (2)
r |
|
|
( ni N 0 |
K t e Kti ) ti e Kti |
0 |
r |
|
|
( ni N 0 |
K t e Kti ) e Kti 0 |
|
образует систему 2-х уравнений с двумя неизвестными N0 и К.
Выразим из 1-го уравнения N0, суммируя по частям и вынося постоянные, не зависящие от индекса i, за знак суммы
r |
|
|
|
r |
ni ti e Kti N0 K |
t (e Kti ti ) 0 |
|||
|
r |
|
|
|
|
( ni ti e |
Kti ) |
|
|
N0 |
|
|
|
(3) |
r |
|
|
||
|
K t (e 2 Kti |
ti ) |
|
Подставляя это выражение во второе уравнение, имеем
|
r |
|
r |
ni ti e Kti |
r |
( ni e Kti ) |
|
e 2 Kti 0 |
r |
||
|
ti e 2 Kti |
|
Отсюда
98
|
r |
|
|
|
|
ni |
e Kti ti |
r |
4 |
( e 2 Kti ) |
|
|
ni e Kti |
|
r |
|
|||
|
e |
2 Kti ti |
|
|
Из данного трансцендентного уравнения относительно только одного неизвестного К численным методом можно определить К. Подставляя определенное значение К в (3), можно определить N0.
Модель Джелинского – Моранды дает дробное, а не целое начальное число ошибок Nо. Число оставшихся ошибок по данной модели никогда не будет равно строгому 0. В этом ее недостатки, с которыми приходится мириться. Зато модель проста и понятна.
Обычно принимают соглашение, что нулевому количеству оставшихся ошибок в ПО соответствует значение, например, 0.01 по данной модели Джелинского – Моранды.
Следует подчеркнуть, что в реальных ситуациях отладки ПО она считается завершенной по исчерпанию программы отладки, составленной исходя из выбранных критериев, например, накрытию всех путей на графе ПО.
Определения надежности ПО по модели Джелинского-Моранды является дополнительным методом, экспериментально подтверждающим достигнутую надежность ПО – малую интенсивность проявления ошибок ПО.
[Введите текст]