Разработка программного обеспечения (Software Engineering) Часть 2. Создание ПО
Разработка спецификации ПО – определение сервисов, которыми будет обладать создаваемое ПО, а также ограничений, налагаемых на функциональные возможности и разработку ПО. Результат процесса определения требований – документация, формализующая требования, предъявляемые к системе. Два уровня детализации: Требования, предъявляемые конечными пользователями; Требования, предъявляемые конечными пользователями; Системная спецификация для разработчиков. Системная спецификация для разработчиков. Спецификация ПО
Предварительныеисследования Формирование и анализ требований анализ требований Специфицирование требований требований Утверждениетребований Отчет об исследованиях Модели системы Пользовательские и системные требования Спецификация требований
Реализация ПО – процесс перевода системной спецификации в работоспособную систему. Включает в себя процессы проектирования и программирования. Процесс проектирования включает в себя определение структуры ПО, данных, интерфейсов взаимодействия системных компонентов, используемые алгоритмы. Проектирование предполагает последовательную формализацию и детализацию создаваемого ПО. Результат каждого этапа проектирования – спецификация, необходимая для выполнения следующего этапа. Реализация ПО
Спецификация требований Архитектурное проектирование Обобщенные спецификации Проектирование интерфейсов Компонентное проектирование Проектирование Структур данных Проектирование алгоритмов Архитектура системы Спецификации подсистем Спецификации интерфейсов Спецификации компонентов Спецификации Структур данных Спецификации алгоритмов
Методы проектирования – множество формализованных нотаций и нормативных документов для проектирования ПО. Структурные методы поддерживают модели системы: Модель потоков данных; Модель потоков данных; Модель «сущность-связь»; Модель «сущность-связь»; Структурная модель; Структурная модель; Объектно-ориентированные иерархическая модель системы, модель отношений между объектами, модель взаимодействия объектов; Объектно-ориентированные иерархическая модель системы, модель отношений между объектами, модель взаимодействия объектов; Диаграммы переходов или сценарии жизни сущностей. Диаграммы переходов или сценарии жизни сущностей. Реализация ПО
Программирование и отладка: Тестирование – процесс установления программных ошибок. Отладка – установление местоположения ошибок и их устранение. Реализация ПО Определение способа Устранения ошибки Устранение ошибкиЛокализация ошибки Повторное тестирование программы
Аттестация и верификация – процесс установления соответствия ПО ее спецификации, а также ожиданиям и требованиям пользователей и заказчика. Аттестация ПО Тестирование компонентов Тестирование модулей Тестирование подсистем Тестирование системы Приемочные испытания
Аттестация ПО СпецификациятребованийСистемнаяспецификацияПроектированиесистемыДетальноепроектирование Кодирование и тестированиемодулей Тестирование Сборки подсистем Тестирование Системной сборки Приемочныеиспытания Программныйпродукт ПланированиеПриемочныхиспытанийПланированиеТестирования Сборки подсистем Этапы тестирования ПланированиеТестирования Системной сборки
Сопровождение системы – это внесение изменений в систему, которая находится в эксплуатации. Эволюция ПО ОпределениеСистемныхтребованийОценкаСуществующихсистемПредложения Об изменении системыМодификациясистемы Существующиесистемы Новаясистема Эволюция систем
1. Почему в процессе определения требований необходимо различать разработку пользовательских требований и разработку системных требований? 2. Каковы пять основных компонентов любых методов проектирования? 3. Разработайте модель процесса тестирования исполняемой программы. Вопросы для обсуждения