- •И сертификация программных средств иинформационныхтехнологийисистем
- •1. Краткая характеристика программных средств как объекта разработки и стандартизации
- •1.1. Технические особенности разработки программных средств. Принципы модульности и адаптируемости
- •1.2. Экономические особенности разработки программных средств
- •1.3. Вопросы оценки трудоёмкости разработки программных средств в свете требований стандартизации
- •2. Основные понятия и положения технологии разработки программных средств
- •2.1. Проблемы и задачи проектирования программных средств
- •2.2. Этапы жизненного цикла программных средств
- •2.3. Виды поддержки и стадии этапа проектирования
- •2.4. Основные понятия и определения статического анализа программных средств
- •3. Эффективность технологий проектирования программных средств
- •3.1. Критерии оценки технологий проектирования программных средств
- •3.2. Суть управления качеством программных средств
- •3.3. Составляющие затрат в жизненном цикле программных средств
- •3.4. Основные факторы, влияющие на трудоёмкость разработки программных средств
- •3.5. Длительность разработки программных средств
- •3.6. Распределение затрат по этапам разработки
- •4. Общие сведения о сертификации информационных систем и их программных средств
- •4.1. Основные понятия и определения
- •4.2. Основные положения закона «о техническом регулировании» (тр)
- •Глава 2
- •Глава 3
- •Глава 7
- •Глава 9
- •4.3. Особенности сертификации программного обеспечения
- •5. Методы оценки технико-экономических показателей программных средств
- •5.1. Порядок и методология проведения статического анализа программных средств
- •5.2. Методика оценки трудоёмкости разработки программных средств
- •5.3. Методика оценки трудоёмкости сопровождения программных средств
- •Значения поправочного коэффициента, учитывающего язык программирования, технологии и средства разработки пс*
- •«Разработка вариантов реализации изменений» (Нвр.Вар) от объемов документации и программ
- •«Анализ и определение перечней программ и документов, требующих изменения» (Нвр.Пер) от объемов документации и программ
- •«Реализация процесса разработки для внесения изменений» (Нвр.Раз) от объема доработок
- •«Проверка внесенного изменения в целях подтверждения работоспособности измененного пс» (Нвр.Пи) от объема программ
- •«Проверка соответствия переносимого пс стандарту исо/мэк 12207-99» и «Разработка плана переноса» Нвр.П от объемов документации и программ
- •«Обучение специалистов пользователя работе в новой среде» (Нвр.Об) от объемов документации и программ
- •«Архивация прежних программ и документации» (Нвр.Ар) от объемов документации и программ
- •«Разработка и оформление плана снятия с эксплуатации » (Нвр.Псэ) от объемов документации и программ
- •«Обучение пользователей в течение периода параллельной эксплуатации прежнего и нового программных средств» (Нвр.Обн) от объемов документации и программ
- •5.4. Методика прогнозирования стоимостных показателей информационных систем
- •5.5. Методика оценки уровня качества программных средств информационных систем
- •6. Лабораторный практикум. Решение задач оценки и прогнозирования технико-экономических показателей
- •6.1. Оценка трудоёмкости разработки программных средств
- •6.2. Оценка трудоёмкости сопровождения программных средств
- •6.3. Сопоставительно-аналоговый метод прогнозирования стоимостных показателей информационных систем
- •6.4. Оценка уровня качества программного обеспечения и информационных систем
- •6.5. Поиск оптимальных решений надёжности средствами Excel
- •1. Краткая характеристика программных средств как объекта разработки и стандартизации………..……………………………………..3
- •2. Основные понятия и положения технологии разработки программных средств…………………………………………………….….9
- •3. Эффективность технологий проектирования
- •4. Общие сведения о сертификации информационных систем
- •5. Методы оценки технико-экономических показателей программных средств на различных этапах
- •6. Лабораторный практикум. Решение задач оценки
- •Сергей Львович Котов Борис Васильевич Палюх Сергей Лукич Федченко
2.4. Основные понятия и определения статического анализа программных средств
Статический анализ (СА) – это процесс анализа исходного текста программы без её выполнения на ЭВМ [12]. СА программ проводится:
– для проверки модульной структуры программного средства, а также логической структуры отдельных модулей и сравнения этих структур с приведенными в программной документации;
– подготовки исходных данных для проведения динамического анализа ПС и разработки плана тестирования ПС;
– оценки конструктивных характеристик программы, степени простоты модификации и сопровождения программы;
– определения наличия несовершенства в программе, неиспользуемых участков программы, лишних переменных;
– оценкитекстовойсложностипрограммы, затратнаееразработкуиосвоение; – экспертизы идентичности программ при установлении авторства и
разрешении правовых споров;
– определения количественных характеристик при оценке уровня качества программы.
Статический анализ начинается со стадии проектирования программы (укрупненный анализ) и продолжается на всех последующих фазах жизненного цикла программного средства.
Статический анализ программного средства предусматривает получение следующих характеристик (графических и метрических):
модульная структура ПС;
логическая структура отдельного программного модуля; характеристика текста программы.
Модульная структура анализируемого ПС представляется в виде графа вызовов; списка путей вызовов; матрицы вызовов и достижимости; точек вызовов; метрик иерархии вызовов.
12
Логическая структура отдельного программного модуля представляется в виде графа управления; путей тестирования; метрик структуры управления.
Характеристики текста программ включают в себя: статистические данные о комментированности программы и текстовые метрики Холстеда. Граф вызовов – это ориентированный граф, в котором вершины – модули ПС, а рёбра ориентированы от вызывающего модуля к вызываемому. Граф управления −это ориентированный граф, вершинами которого являются логические блоки, а направленные ребра ориентированы в
направлении передачи управления между блоками.
Логический блок программы – это участок программы, состоящий из одного или нескольких операторов и не имеющий разветвлений. Матрица вызовов и достижимости – это матрица, характеризующая отношение вызова и достижимости между произвольными парами программных компонент (модулей).
Путь вызовов – это последовательность соприкасающихся ребер из графа вызовов, где начальная вершина есть корень графа, а конечная − лист дерева.
Путь тестирования – это маршрут в графе управления программного модуля, начальная вершина которого является входной вершиной графа, а конечная вершина − выходной вершиной графа.
Точка вызовов – это местоположение вызова программной компоненты (модуля), задаваемое номером строки и столбца расположения оператора вызова.
Кроме этого СА предусматривает определение ряда количественных характеристик, таких как иерархическая и структурная сложность, тестируемость и др.
Иерархическая сложность: I = N / L, где N – количество вершин в графе вызовов модулей; L – количество уровней.
Иерархическая сложность характеризует среднюю ширину уровня в графе вызовов, т.е. количество проектных решений, принимаемых на отдельном шаге разработки программы.
Структурная сложность: S = D / N, где D – количество ребер в графе вызовов модулей; N – количество вершин.
Тестируемость – это свойство ПС, заключающееся в их приспособленности к эффективному применению контрольных тестов, зависящей от степени разветвления вычислительного процесса и доступности модулей.
Доступность узла (модуля) характеризует структурную вероятность вызова этого модуля, зависящую от разветвленности дерева вызовов. Если показатель тестируемости имеет малое значение, то затрудняется тестирование модулей нижних уровней иерархии, особенно
при применении автоматизированных методов тестирования.
13
