Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Презентации / Lecture04p

.pdf
Скачиваний:
0
Добавлен:
23.06.2026
Размер:
1 Мб
Скачать
☆

Работа с требованиями к ПО

Основы программной инженерии

Кулямин В.В., ВМК МГУ

Требования к ПО

•Определяют желаемое поведение и характеристики системы

•Входные данные, условия выполнения операций, характеристики ожидаемых результатов

•Необходимая производительность выполнения операций – сколько времени и машинных ресурсов оно должно занимать, сколько времени и трудозатрат оно должно требовать у пользователей

•Ожидаемые возможности обработки непредвиденных событий и поддержки работоспособности в некорректном окружении

•Ожидаемые важные изменения и возможности их внесения в систему

Кулямин В.В. ФКН ВШЭ, ПИ / ВМК МГУ

Основы инженерии программного обеспечения

2

Предметная область

•Часто требования можно понять лишь в определенном контексте Для этого нужно понимать язык, на котором разговаривают друг с другом специалисты в заданной области

•Анализ предметной области (domain analysis, business analysis)

•Выявление основных понятий, их атрибутов и связей

•Выделение типовых задач, ограничений на их возможные входные данные и решения

Кулямин В.В. ФКН ВШЭ, ПИ / ВМК МГУ

Основы инженерии программного обеспечения

3

Схема Захмана (J. Zachman)

 

Мотивация

Люди и

Данные

Функции

Места и

Временные

 

 

подразделения

 

 

взаимосвязи

свойства

 

 

 

 

 

 

 

 

Зачем?

Кто?

Что?

Как?

Где?

Когда?

 

 

 

 

 

 

 

Взгляд на

Общие цели и

Структурные

Основные

Бизнес-процессы

Географическое

Графики

организацию

стратегии

подразделения

понятия

 

расположение

работ

или бизнес

бизнеса

и штатное

 

 

и логистика

 

 

 

расписание

 

 

 

 

 

 

 

 

 

 

 

Взгляд на

Основные

Роли

Модель

Функциональные

Распределение

Временные

систему

задачи и

пользователей

данных

компоненты

ресурсов и

ограничения

 

бизнес-

и структура

предметной

 

архитектура

и структура

 

правила

интерфейса

области

 

сетей

обработки

 

 

 

 

 

 

событий

 

 

 

 

 

 

 

Кулямин В.В. ФКН ВШЭ, ПИ / ВМК МГУ

Основы инженерии программного обеспечения

4

Требования по источникам возникновения

•Явные требования и пожелания пользователей, заказчиков и других лиц (контролирующих и регулирующих организаций)

-Все это – заинтересованные лица разных категорий, имеющие свои интересы, связанные с данной системой

•Требования поддержки бизнес-процессов и технологических процессов (выявляемые при их анализе)

•Явные требования стандартов на системы данного вида, требования нормативов и законодательства

•Сложившиеся неявные нормы и правила работы систем данного вида (выявляемые при анализе аналогичных систем или бесед с экспертами)

•Ограничения и законы предметной области (пример: характеристики движения самолета удовлетворяют определенным

аэродинамическим уравнениям, система управления должна учитывать эти связи)

Кулямин В.В. ФКН ВШЭ, ПИ / ВМК МГУ

Основы инженерии программного обеспечения

5

Эволюция отдельных требований

•Проблемы предметной области и потребности пользователей

•Что-то, что идет не так, как надо или хотелось бы, в самом бизнесе или деятельности заказчика

•[Много аварий автомашин из-за усталости и потери внимания водителем]

•Функции (features)

•Формулировка на одно-три предложения какой-то специфической штуки, выполняемой ПО и помогающей справиться с одной или несколькими проблемами

•[Система управления автомобилем поддерживает автопилотирование]

•Часто называются C-требованиями, требованиями пользователей

В их терминах удобно разговаривать с представителями заказчиков и пользователей

•Требования в строгом смысле

•Четкая формулировка решаемой задачи с описанием входных данных, условий выполнения, выполняемых действий и ожидаемых результатов

•[При таких-то характеристиках дороги, движения самой машины, движения других машин, погоды и пр. включается режим автопилотирования. Он поддерживает такие-то характеристики движения, повороты не круче чем …, подъемы и спуски не круче чем …. При таких-то условиях он отключается и подает сигнал водителю об отключении, при таких-то условиях подает сигнал для привлечения внимания, водитель также может сам отключить его]

•Часто называются D-требованиями, требованиями разработчиков

Кулямин В.В. ФКН ВШЭ, ПИ / ВМК МГУ

Основы инженерии программного обеспечения

6

Процесс выработки требований

Не вполне последовательный, итеративный процесс

•Выделение требований

•Определение источников – документов для анализа и людей для бесед и интервью

•Извлечение отдельных требований – построение каталога

•Согласование – при выявлении неточности, некорректности, неполноты, противоречий Для согласовании привлекаются различные документы и специалисты В результате могут быть выработаны нетривиальные и новые формулировки

•Описание и систематизация Сведение в единую систему, установление всех связей, выбор языка и

нотации для оформления, составление всех необходимых документов, схем

имоделей

•Валидация и верификация Проверка того, что все нужные свойства требований выполняются

Кулямин В.В. ФКН ВШЭ, ПИ / ВМК МГУ

Основы инженерии программного обеспечения

7

Методы выделения/уточнения требований

•Аналитические

•Размышление/интроспекция

•Анализ документов и моделей

•Анализ аналогичных системы

•Демонстрационные

•Раскадровка

•Демонстрация прототипа

•Коммуникативные

•Индивидуальные

•Групповые

•Когнитивные

Кулямин В.В. ФКН ВШЭ, ПИ / ВМК МГУ

Основы инженерии программного обеспечения

8

Методы выделения/уточнения требований

•Аналитические

•Демонстрационные

•Коммуникативные

•Индивидуальные

•Интервью

•Опрос

•Групповые

•Групповое интервью/фокус-группа

•Мозговой штурм

•Семинар

•Метод Дельфи

•Ролевая игра

•Когнитивные

Кулямин В.В. ФКН ВШЭ, ПИ / ВМК МГУ

Основы инженерии программного обеспечения

9

Методы выделения/уточнения требований

•Аналитические

•Демонстрационные

•Коммуникативные

•Индивидуальные

•Групповые

•Когнитивные

•Анализ задач

•Анализ протоколов

•Устойчивые решетки

•Сортировка карточек

•Масштабирование близости

Кулямин В.В. ФКН ВШЭ, ПИ / ВМК МГУ

Основы инженерии программного обеспечения

10

Соседние файлы в папке Презентации