- •Технология программирования. Качество программных систем.
- •Аспекты качества оценки программных систем.
- •Стадии разработки программного обеспечения.
- •Внедрение:
- •Разработка спецификаций.
- •Разработка спецификаций методом структурного анализа.
- •Разработка спецификаций оперативно-графическим методом (hipo).
- •Документирование программного обеспечения.
- •Проектирование систем.
- •Определение основных компонентов системы.
- •Определение потоков данных.
- •Определение процессов.
- •Методы разработки данных.
- •Графические диаграммы (граф-диаграммы)
- •Диаграммы Варнье-Орра.
- •Функциональные схемы.
- •Проектирование программ.
- •Группы методов проектирования программ:
- •Метод нисходящего проектирования.
- •Пошаговое уточнение.
- •Модульная структура программ.
- •Монолитно-модульная структура.
- •Последовательно-модульная структура.
- •Модульно-иерархическая структура.
- •Модульно-хаотическая структура.
- •Технологический цикл конструирования программной системы (пс): три процесса.
- •Модель анализа:
- •Этап проектирования
- •Этап кодирования
- •Этап проектирования
- •Проверенная и объединённая пс
- •Особенности этапа проектирования.
- •Предварительное
- •Детальное
- •Интерфейсное
- •Структурирование систем.
- •Управление
- •Моделирование управления.
- •Модель централизованного управления.
- •Главная
- •Обработчик событий и
- •Прерывания
- •Обработчик
- •Процесс
- •Декомпозиция подсистем на модули. Модульность.
- •Характеристики модуля.
- •Последовательная связность.
- •Коммуникативная связность.
- •Модуль отчёт о средней зарплате
- •Процедурная связность.
- •Модуль вычисления средних значений
- •Модуль вычисления средних значений
- •Временная связность.
- •Модуль инициализировать систему
- •Логическая связность.
- •По совпадению.
- •Сцепление модулей.
- •Сложность программной системы.
- •Программная документация.
- •Средства проектирования прикладных программ.
- •Графическое построение схем алгоритмов и программ.
- •Разработка схем алгоритмов и программ с использованием конкретного языка программирования.
- •Использование специальных языков проектирования программ, псевдокодов.
- •Реализация программ.
- •Программирование на языках высокого уровня:
- •Программирование с защитой от ошибок.
- •Структурное программирование.
- •Программирование в стандартизированном стиле.
- •Основные принципы стандартизации стиля программирования:
- •Правила размещения фрагментов исходного текста.
- •Правила составления комментариев.
- •Основное правило составления пояснительных комментариев.
- •Правило выбора имён.
- •Правило обеспечения наглядности логической структуры.
- •Нисходящее программирование.
- •Методы проверки программ:
- •Тестирование программного обеспечения.
- •Тестирование элементов.
- •Тестирование интеграций.
- •Нисходящее тестирование интеграций.
- •Возможные шаги процесса нисходящей интеграции:
- •Восходящие тестирования интеграций.
- •Сравнение нисходящего и восходящего тестирования.
- •Тестирование правильности.
- •Системное тестирование.
- •Основные типы системных тестов.
- •Тестирование восстановления.
- •Тестирование безопасности.
- •Стрессовое тестирование.
- •Тестирование производительности.
- •Аксиомы тестирования.
- •Отладка.
- •Общая схема сопровождения по.
Реализация программ.
Основные методы программирования:
Программирование на языках высокого уровня (ЯВУ).
Программирование с защитой от ошибок.
структурное программирование.
Программирование в стандартизированном стиле.
Нисходящее программирование.
Программирование на языках высокого уровня:
По сравнению с языками низкого уровня.
Чем выше уровень языка программирования, тем меньше ошибок в программе, легче понимать программу.
Выше степень автоматического обнаружения ошибок компилятором с этих языков.
Большая наглядность программы, что позволяет упростить документирование.
Программа на ЯВУ обладает высокой переносимостью.
Эти программы менее эффективны.
ВЫВОД:
Основные резервы эффективности программ лежат в области разумного выбора методов и алгоритмов.
Программирование с защитой от ошибок.
Подключение в программу дополнительных операторов контроля данных уменьшает вероятность появления ошибочных ситуаций при работе программы:
Виды проверок:
допустимость значений числовых аргументов;
проверка допустимости типов данных в выражении;
проверка допустимости значений индексов массивов;
допустимости значений управляющих переменных;
проверка операций ввода-вывода с передачей данных.
ВЫВОД:
Необходим разумный подход, чтобы эффект от проверок не стал меньше нуля, т.к. проверка увеличивает объём программы и вносит дополнительные ошибки.
Структурное программирование.
Программы должны обладать свойствами:
Модульная структура (модуль имеет по одной точке входа и выхода, размер модуля ограничен – не более 100 операторов).
Модуль представляет собой композицию основных управляющих структур (последовательность ветвления циклов).
Модули могут содержать операторы безусловного перехода только в исключительных случаях (go to), при этом передача управления происходит в точку программы, расположенную по тексту ниже самого оператора go to. Оператор go to допускается в том случае, когда в языке программирования отсутствуют операторы, реализующие структуры «если-то-иначе», цикл «пока» и цикл «до».
Языки программирования считаются структурными, если они содержат возможности реализации принципа модульного программирования и включает операторы, реализующие основные управляющие структуры.
Примеры структурных языков программирования:
С++;
Pascal;
Basic.
Примеры не структурных языков:
Assembler;
Fortran.
При использовании неструктурных языков основные управляющие структуры имитируются с помощью комментариев или специальных макрокоманд и процедур.
Программирование в стандартизированном стиле.
Стиль программирования – это набор специальных приёмов, используемых программами с целью получения единообразных наглядных приспособленных для изучения программ.
Основные принципы стандартизации стиля программирования:
Правила размещения фрагментов исходного текста.
В общем случае текст программы с модульной структурой должен состоять из следующих фрагментов:
заголовочных комментариев;
объявления данных;
внутренних процедур;
основного текста.
Первым размещается исходный текст головного модуля, он содержит расширенные комментарии, описывающие организацию программы в целом, операторы обработки прерываний, которые могут произойти и операторы открытия-закрытия файлов программы. Исходные тексты модулей следует размещать по принципу сверху-вниз, слева-направо.
A-B-B1-B2-C-C1-D-D1-D2-D3