
- •Лекция 7 Технология разработки ПО (продолжение)
- •Существует два основных набора технологических процессов.
- •Классические технологические процессы.
- •Классические технологические процессы.
- •Процесс 2.
- •Процесс 3. Анализ требований
- •Требование
- •Спецификация требований
- •Концептуальное
- •Процесс 4.
- •Проектирование
- •Проектирование архитектуры
- •Процесс 5. Кодирование
- •К основным концепциям конструирования относят:
- •Процесс 6. Тестирование
- •Процесс 6. Тестирование
- •Процесс 7. Ввод в действие
- •Процесс 8.
- •Категории сопровождения
- •Процесс 9. Снятие с эксплуатации
- •Методологии разработки ПО
- •Анализ и
- •Модели и методы анализа требований
- •Модели и методы проектирования архитектуры
- •Модели и методы проектирования компонентов
- •Подходы (методики) к анализу
Проектирование
•Проектирование обычно разделяется на два взаимосвязанных подпроцесса:
•1. Проектирование архитектуры (проектирование структуры, проектирование «в большом», архитектурное или высокоуровневое проектирование).
•2. Проектирование компонентов (проектирование модулей, проектирование «в малом», детализированное или низкоуровневое проектирование).
В некоторых случаях выделяют связующий промежуточный подпроцесс:
•3. Проектирование взаимодействия
(проектирование управления, проектирование «в среднем», механистическое или среднеуровневое проектирование).
Проектирование архитектуры
•Проектирование архитектуры заключается в декомпозиции структуры системы и организации её компонентов.
•Архитектура ПО – представление ПО как системы из совокупности взаимодействующих частей.
•Компонент является относительно самостоятельной частью системы, в которой можно выделять только взаимосвязанные элементы.
•Дизайн представляет собой целостный взгляд на архитектуру ПО и состоит из различных точек зрения.
•Архитектурное представление – это архитектура ПО с определённой точки зрения.
•Архитектурная структура – дальнейшая детализация ПО, необходимая для реализации ПО и удовлетворения требований, предъявляемых к ПО.
•Дизайн ПО – комплекс архитектурных представлений и структур.
Процесс 5. Кодирование
•Процесс 5. Кодирование – процесс ЖЦ, который заключается в написании программного кода разрабатываемого ПО. Однако на практике такое определение оказывается слишком узким для этого классического процесса. Поэтому в настоящее время используется понятие «конструирование», определяемое следующим образом:
Конструирование – процесс ЖЦ, который заключается в создании программного кода разрабатываемого ПО посредством комбинации дальнейшей детализации дизайна, кодирования и необходимого тестирования.
•В результате этот процесс оказывается наиболее связанным со смежными процессами –
проектированием и тестированием.
К основным концепциям конструирования относят:
–Минимизация сложности: создание простого и легко читаемого кода.
–Ожидание изменений: создание легко адаптируемого кода.
–Конструирование с проверкой: создание легко тестируемого кода.
–Стандарты в конструировании: следование стандартам при создании кода.
• Поддержка этих концепций осуществляется:
заданием стиля программирования, единого для всего создаваемого программного кода проекта,
и использованием методов защитного программирования. Большинство вопросов, связанных с выполнением процесса конструирования, относится к инженерии ПО.
•Формальным результатом конструирования являются программный код.
Процесс 6. Тестирование
•Процесс 6. Тестирование – процесс ЖЦ, который заключается в оценке и улучшении качества ПО. В общем случае тестирование состоит в обнаружении проблем нарушения работы ПО.
•Этот процесс представляет собой динамическую верификацию поведения программы на ограниченном наборе тестов, выбранных соответствующим образом из обычно выполняемых действий прикладной области и обеспечивающих проверку соответствия ожидаемому поведению системы.
Процесс 6. Тестирование
•В настоящее время считается, что верификацию любого вида необходимо выполнять во время всего ЖЦ ПО. Большинство вопросов, связанных с выполнением процесса верификации, относится к инженерии ПО.
•Формальным результатом тестирования являются «оттестированный» программный код, т.е. код с исключением недостатков, выявленных по сбоям.
Процесс 7. Ввод в действие
•Процесс 7. Ввод в действие –
процесс ЖЦ, который заключается в передаче разработанного ПО в эксплуатацию.
Он включает следующие действия:
1. Распространение (доставка заказчику) продукта
2. Инсталляция (установка на конкретные системы) продукта.
Процесс 8.
Сопровождение
• Процесс 8. Сопровождение – процесс ЖЦ, который заключается модификации ПО после ввода его в действие для улучшения качества и дальнейшего совершенствования. В общем
случае сопровождение состоит в обеспечении эффективной поддержки эксплуатируемого ПО при сохранении его целостности.
• Основным принципом этого процесса является закон Биледи: используемый ПП подвергается непрерывным изменениям для поддержания его экономической выгоды. На практике именно недооценка сопровождения приводит к снижению эффективности ПО и отдачи от проекта. В настоящее время считается, что этот процесс по
сути является продолжающейся разработкой.
Категории сопровождения
•Корректирующее сопровождение –
модификация для исправления обнаруженных дефектов: устранение сбоев и т.д.
•Адаптивное сопровождение – модификация для учёта требуемых изменений: учёт новых требований, изменение окружения ПО и т.д.
•Совершенствующее сопровождение –
модификация для улучшения возможностей ПО: повышение характеристик ПО и т.д.
•Профилактическое сопровождение –
модификация для предупреждения возможных проблем: определение и исправление скрытых дефектов до их реального появления в виде сбоев и т.д.
Процесс 9. Снятие с эксплуатации
•Процесс 9. Снятие с эксплуатации –
процесс ЖЦ, который заключается в прекращении сопровождения эксплуатируемого ПО.
•Он выполняется, когда невозможно выполнить ни одну из категорий сопровождения.
•Он осуществляется предварительным оповещением пользователей о прекращении сопровождения. Но
использование ПО возможно вплоть до его морального устаревания.