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

Письменные лекции по дисциплине «Разработка и анализ требований»

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

●Движущая сила. Фактор, которым можно пренебречь.

Например, если мы установим ограничения на функции — это означает, что мы должны реализовать все функции для сдачи проекта заказчику. Чем мы тогда можем пренебречь, если не успеваем к сроку? Если для сроков мы установили степень свободы, то мы можем пренебречь сроками, если на сроки мы тоже

установили ограничения, то можем пренебречь качеством функций. Чем различаются бизнес-требования и требования пользователей?

Бизнес-требования для успешности ПП, требования пользователя — для каких каких задач будет использовать этот ПП пользователем (их рабочие места).

Чем различаются требования пользователей и функциональные требования? Функциональные требования — описание работы программы, формулируют программисты. Требования пользователя — для каких каких задач будет использовать этот ПП пользователем (их рабочие места), формулируют пользователи.

Чем различаются функциональные и нефункциональные требования?

Нефункциональные требования определяют качество.

Лекция 2. Методы выявления требований к ПО

2.1.Сбор требований пользователей

●Определение групп пользователей. Уже формируется в концепции либо формируется на основе списка функций.

●Выбор типичных представителей групп пользователей.

●Опрос типичных представителей пользователей (интервью, анкеты). Интервью дает больше ответов, так как не статична, в отличии от анкеты.

●Наблюдение за пользователями на рабочих местах.

●Проведение совместных семинаров. Трудоемкий, но эффективный.

●Создание перечня задач для каждой группы пользователей.

●Определение системных событий и реакции на них.

●Мозговой штурм. Начальный этап работы над проектом, используется только в начале, а далее считается неэффективным. Над тем, что было предложено, происходит анализ, систематизация, группировка, на основе мозгового штурма будет сформировано предложение по функционалу, по крайней мере по основному функционалу, а может и детальные предложения будущего ПП.

●CRC-карточки.

●Анализ проблем работающего ПО. Уже на основе запущенного ПП.

●Создание прототипа (макетирование). Создание частичного функционала ПО и соответственно демонстрации этого прототипа пользователю, а он на основе этого выскажет мнение о ПО, то ли хотел пользователь.

2.2.Определение классов пользователей

Группировка пользователей:

●по привилегиям доступа и уровню безопасности,

●по задачам, решаемым пользователями,

●по используемым функциям,

●по частоте использования продукта,

●по опыту работы в предметной области или с компьютерной системой,

●по используемой платформе,

●по языку.

2.3. Характеристики классов пользователей

●Название класса пользователей.

●Привилегированный и непривилегированный. Непривилегированный - нежелательный пользователь, например примеру, хакер.

●Численность пользователей. Помогает расставить приоритеты для функций.

●Описание типичного представителя класса пользователей:

— поведение,

— выполняемые операции, решаемые задачи,

— квалификация в предметной области,

— опыт и навыки работы с информационной системой,

—предпочтения. Оказывает влияние на нефункциональные требования,

—раздражающие факторы. Оказывает влияние на нефункциональные требования.

2.4. Представление системных событий и реакции на них

ID

Событие

Исходное состояние

Реакция системы

 

 

 

 

1

Нажать на кнопку Вкл.

Кондиционер включен,

Кондиционер

 

 

пульт в состоянии

выключится

 

 

«включен»

 

 

 

 

 

2

Нажать на кнопку Вкл.

Кондиционер выключен,

Кондиционер

 

 

пульт в состоянии

включится

 

 

«выключен»

 

 

 

 

 

3

Нажать на кнопку Вкл.

Кондиционер выключен,

Кондиционер в

 

 

пульт в состоянии

прежнем

 

 

«включен»

состоянии

 

 

 

 

4

Нажать на кнопку Вкл.

Кондиционер включен,

Кондиционер в

 

 

пульт в состоянии

прежнем

 

 

«выключен»

состоянии

 

 

 

 

 

2.5. CRC-карточки

 

 

CRC: Class — Responsibility — Collaboration (Класс — обязанность — взаимодействие)

Основное внимание в этом методе уделяется внешнему поведению объекта. Классы должны реагировать адекватно.

Итог: выявление ошибочных или отсутствующих требований.

2.5.1. Пример CRC-карточки

2.6. Прототипы (макеты) ПО

Делает для того, чтобы программисты правильно все поняли.

●Задачи:

—уточнение формулировки требования,

—исследование альтернативных решений,

—создание готового программного продукта.

●Варианты прототипов:

—горизонтальные (интерфейсы пользователя),

—вертикальные (структура ПО, временнЫе характеристики, алгоритмы, структура БД).

Прототипы одноразовые и эволюционные.

2.7. Представление требований пользователя на основе варианта использования

●Идентификатор;

●Имя (глагол+объект);

●Источник (автор);

●Дата создания;

●Основное действующее лицо;

●Дополнительно действующее лицо;

●Триггер (действие, инициирующее вариант использования);

●Предварительные условия (начальное состояние);

●Выходные условия;

●Нормальное и альтернативное направление варианта использования;

●Исключения;

●Приоритет;

●Частота использования;

●Бизнес-правила;

●Специальные требования (Другая информация);

●Предположения.

2.8. Процессы обработки данных варианта использования

Этим занимается системный аналитик.

Составить список функциональных требований должен быть параллельно продублирован со списком тестов. Сколько функц. требований столько (как минимум) и тестов.

Составить предварительный список моделей анализа. Анализируются данные и алгоритмы (как минимум), будут представлены в виде диаграмм.

Составить словарь данных. Термины предметной области должны быть понятны программистам.

В результате будет сформулирован список функциональных требований.

2.9. Нефункциональные требования

нефункциональные = эксплуатационные (качественные). С точки зрения ПП. Каждое требование также имеется детализация.

●функциональная пригодность (functional suitability),

●уровень производительности (performance efficiency),

●аппаратная и программная совместимость (compatibility),

●удобство использования, практичность (usability),

●надежность (reliability),

●защищенность (security),

●сопровождаемость (maintainability),

●переносимость (portability).

ГОСТ Р ИСО/МЭК 25010-2015 Требования и оценка качества систем

ипрограммного обеспечения (SQuaRE). Модели качества систем и программных продуктов.

2.10. Уточнение нефункциональных требований

Детализация требования “удобство использования (практичность)”:

●определимость пригодности, то есть ПП должен удовлетворять представлениям пользователям о том, что он может с ним делать,

●изучаемость, то есть легкость изучения ПП (легкость вхождения),

●управляемость, то есть что-то можно изменить в ПП,

●защита от ошибки пользователя,

●эстетика пользовательского интерфейса - дело субъективное,

●доступность, то есть им можно реально воспользоваться даже на старой технике.

2.11.Стандарты практичности (usability)

Common User Access (CUA) — IBM.

Команды меню, требующие уточнения параметров выполняемого действия, заканчиваются многоточием («...»).

В программах есть встроенная справочная система, вызываемая из меню «Справка», расположенного в конце строки меню; контекстно-зависимая справка может вызываться клавишей F1.

Первое меню должно называться «Файл» и должно содержать операции по работе с файлами (создать, открыть, сохранить, сохранить как) и команду выхода.

Следующее меню «Правка» содержит команды отмены, повтора, вырезания, копирования, вставки и удаления.

Команда «вырезать» выполняется нажатием Shift+Del,

«копировать» — Ctrl+Ins, а «вставить» — Shift+Ins.

2.12.Бизнес-правила

Типы бизнес-правил:

●факты,

●ограничения,

●активаторы операций,

●выводы,

●вычисления.

Источники бизнес-правил:

●законы государства,

●корпоративная политика,

●стандарты и нормативные документы,

●формулы,

●модели данных.

2.12.1.Примеры бизнес-правил

●Факт:

— Каждый товар должен иметь штрих-код.

●Ограничение:

— Доставка всех заказов должна выполняться между 10:00 и 14:00

по местному времени.

●Активатор операции:

—После добавления покупателем товара в корзину предложить ему

приобрести сопутствующие товары.

●Вывод:

—Если товар данного вида на складе отсутствует, присвоить данному товару статус «нет в наличии».

●Вычисления:

— Цена единицы товара снижается на 10 % при заказе более 6 единиц данного товара.

Лекция 3. Анализ и моделирование требований к ПО

3.1.Атрибуты качества требований

●Полнота описания (отдельного требования, задачи в целом). Все нюансы должны быть выявлены при сборе информации у потребностях пользователя.

●Необходимость (обоснованность). Показывает, что требование может выйти за границы нашего ПП, нашей концепции.

●Осуществимость. Нужно реально оценивать реализацию требования.

●Корректность (в плане написания слов, например, нельзя «Защита от дурака»).

●Однозначность толкования. Не должно быть двусмысленности.

●Непротиворечивость.

●Проверяемость (требования должны быть проверяемы).

●Приоритет. На основе приоритета будут выпускаться версии, выставляется приоритеты экспертами. Чем выше приоритет, тем первее реализация в версии.

●Статус.

3.2.Статус требования

Порядок такой, 5 вариант используется не обязательно:

1.Предложено

2.Одобрено или отклонено (если отклонено, то удаляется, дальше не продолжается цепочка)

3.Реализовано

4.Проверено

5.Удалено (опционально)

3.3. Полный набор требований ПО

Минимальные группы требований для ПО:

●Вводы системы

●Выводы системы