- •Технология программирования. Качество программных систем.
- •Аспекты качества оценки программных систем.
- •Стадии разработки программного обеспечения.
- •Внедрение:
- •Разработка спецификаций.
- •Разработка спецификаций методом структурного анализа.
- •Разработка спецификаций оперативно-графическим методом (hipo).
- •Документирование программного обеспечения.
- •Проектирование систем.
- •Определение основных компонентов системы.
- •Определение потоков данных.
- •Определение процессов.
- •Методы разработки данных.
- •Графические диаграммы (граф-диаграммы)
- •Диаграммы Варнье-Орра.
- •Функциональные схемы.
- •Проектирование программ.
- •Группы методов проектирования программ:
- •Метод нисходящего проектирования.
- •Пошаговое уточнение.
- •Модульная структура программ.
- •Монолитно-модульная структура.
- •Последовательно-модульная структура.
- •Модульно-иерархическая структура.
- •Модульно-хаотическая структура.
- •Технологический цикл конструирования программной системы (пс): три процесса.
- •Модель анализа:
- •Этап проектирования
- •Этап кодирования
- •Этап проектирования
- •Проверенная и объединённая пс
- •Особенности этапа проектирования.
- •Предварительное
- •Детальное
- •Интерфейсное
- •Структурирование систем.
- •Управление
- •Моделирование управления.
- •Модель централизованного управления.
- •Главная
- •Обработчик событий и
- •Прерывания
- •Обработчик
- •Процесс
- •Декомпозиция подсистем на модули. Модульность.
- •Характеристики модуля.
- •Последовательная связность.
- •Коммуникативная связность.
- •Модуль отчёт о средней зарплате
- •Процедурная связность.
- •Модуль вычисления средних значений
- •Модуль вычисления средних значений
- •Временная связность.
- •Модуль инициализировать систему
- •Логическая связность.
- •По совпадению.
- •Сцепление модулей.
- •Сложность программной системы.
- •Программная документация.
- •Средства проектирования прикладных программ.
- •Графическое построение схем алгоритмов и программ.
- •Разработка схем алгоритмов и программ с использованием конкретного языка программирования.
- •Использование специальных языков проектирования программ, псевдокодов.
- •Реализация программ.
- •Программирование на языках высокого уровня:
- •Программирование с защитой от ошибок.
- •Структурное программирование.
- •Программирование в стандартизированном стиле.
- •Основные принципы стандартизации стиля программирования:
- •Правила размещения фрагментов исходного текста.
- •Правила составления комментариев.
- •Основное правило составления пояснительных комментариев.
- •Правило выбора имён.
- •Правило обеспечения наглядности логической структуры.
- •Нисходящее программирование.
- •Методы проверки программ:
- •Тестирование программного обеспечения.
- •Тестирование элементов.
- •Тестирование интеграций.
- •Нисходящее тестирование интеграций.
- •Возможные шаги процесса нисходящей интеграции:
- •Восходящие тестирования интеграций.
- •Сравнение нисходящего и восходящего тестирования.
- •Тестирование правильности.
- •Системное тестирование.
- •Основные типы системных тестов.
- •Тестирование восстановления.
- •Тестирование безопасности.
- •Стрессовое тестирование.
- •Тестирование производительности.
- •Аксиомы тестирования.
- •Отладка.
- •Общая схема сопровождения по.
Технология программирования. Качество программных систем.
Основные требования к программам, входящим в программную систему:
Правильность (функционирует в соответствии с техническим заданием).
Точность (результаты имеют допустимые отклонения от аналогичных результатов расчётов по идеальным математическим моделям).
Совместимость (программа работает должным образом не только автономно, но и как составная часть всей программной системы).
Надёжность (программа при всех условиях обеспечивает полную повторяемость результата).
Универсальность (правильно работает при любых допустимых вариантах исходных данных, предусматриваются средства защиты от неправильных данных).
Защищённость (сохраняет работоспособность при возникновении сбоев, защита от несанкционированного доступа).
Полезность (решаемая задача представляет практическую ценность).
Эффективность (объём требуемых ресурсов не превышает допустимых пределов).
Проверяемость (качество программы могут быть продемонстрированы на практике).
Адаптируемость (допускает быструю модификацию для приспособления к новым условиям).
Аспекты качества оценки программных систем.
Качество программы определяется с разных точек зрения:
Среда пользователей: качества программы должны проявляться для тех, кто с ними работает, то есть программный продукт должен быть ориентирован на нужды пользователя. Поэтому при проектировании программных систем надо вовлекать пользователей в процесс создания программы. Соответственно выделяют:
служащие, подготавливающие документацию на компьютере;
инженеры, выполняющие научно-технические расчёты;
работники вспомогательного персонала, отвечающие за ввод информации, контролирующие правильность и точность данных.
Вычислительная среда, с которой взаимодействует программа. Проще создать хорошую программу, располагая эффективными вспомогательными средствами. Таким образом, рекомендуется максимально использовать сервисные средства автоматизации проектирования.
Среда заказчиков. Официальному заключению договора предшествует проработка вопросов, где необходимо прояснить:
реальную потребность в такой системе;
оценить возможности программной системы, её разработки и примерный объём затрат;
оценить ожидаемый эффект от её внедрения.
После завершения предварительных исследований составляется список требований, предъявляемых к системе:
Совокупность условий, при которых эксплуатируется система (аппаратные и программные ресурсы; внешние условия функционирования – состав людей и работ, имеющих к ней отношение).
Описание выполняемых системой функций.
Ограничения, которые надо учитывать при проектировании (сроки завершения отдельных этапов, имеющиеся ресурсы, мероприятия по сохранности информации).
ВЫВОД: Необходимо всесторонне анализировать эффекты, связанные с внедрением в систему.
Стадии разработки программного обеспечения.
ГОСТ 19102-77
Согласно этому ГОСТу существуют следующие стадии:
Техническое задание (т.з.).
Эскизный проект (э.п.).
Технический проект (т.п.).
Рабочий проект (р.п.).
Внедрение.
Рассмотрим каждый из них:
Техническое задание. Выполнение следующих работ:
постановка задачи;
сбор исходных материалов;
выбор и обоснование критериев эффективности и качества разрабатываемой программы;
обоснование необходимости проведения научно-исследовательских работ;
обоснование целесообразности применения ранее разрабатываемых программ, принципиальные возможности решения поставленной задачи;
предварительный выбор методов решения задач;
определение требований к техническим средствам;
определение требований и целей разработки программ, стадий, этапов, сроков разработки программы и документаций на неё;
проведение технико-экономического обоснования разработки программ;
согласование и утверждение т.з.
Эскизный проект. Виды работ:
внешнее проектирование программного изделия;
уточнение методов решения задач;
предварительное проектирование внутренних структур данных;
разработка общего алгоритма решения задач, укрупненной структурной схемы программного изделия, пояснительная записка.
Внешнее проектирование программного изделия есть процесс описания ожидаемого поведения системы с точки зрения пользователя.
При разработке э.п. определяются:
способы взаимодействия пользователя с программой,
функции пользователей,
тип взаимодействия,
структура и содержание информационных кадров и шаблонов диалога,
структура входных и выходных данных.
Технический проект. Виды работ:
проектирование архитектуры программного изделия (изделие делят на составные части, определяют функции каждой компоненты, способы взаимодействия между ними, разрабатывают схемы управления потоками данных, схемы распределения оперативной и внешней памяти);
проектирование структур данных (определяются способы представления, хранения и преобразования входных, выходных и внутренних данных);
проектирование модульной структуры изделия: разбиение компонентов на подпрограммы, определение их функций и способов взаимодействия;
проектирование модулей: описание всех модулей программного изделия, т.е. назначение имён модулей, описание их функций, входных и выходных данных, их форматов, диапазонов допустимых значений, функциональной взаимосвязи между входом и выходом, описание событий внешних по отношению к модулю, форма обращения к модулю, список модулей вызываемых данных и модулей, которые вызывает данный модуль, описание алгоритма модуля;
разработка пояснительной записки.
Рабочий проект. Виды работ:
кодирование, тестирование и отладка программ;
разработка программных документов согласно требованиям ЕСПД;
проведение приёма сдаточных испытаний;
корректировка программ и документации по результатам испытаний.