- •1. Основные понятия системного анализа: система, среда, проблема, цель, функция, подсистема, элемент. Типичные структуры систем. Понятие модели. Виды моделей. Способы проверки модели.
- •3. Процесс разработки по. Каскадный и итерационный процессы. Основные этапы iso-12207. Основные принципы rup.
- •4. Понятие требования. Последовательность определения требований (потребности, функции, программные требования). Виды программных требований (привести примеры).
- •1) Интервью
- •3) Совещание
- •4) Мозговой штурм
- •5) Раскадровка
- •6) Прототипирование
- •7) Обыгрывание ролей
- •8) Построение модели прецедентов
4. Понятие требования. Последовательность определения требований (потребности, функции, программные требования). Виды программных требований (привести примеры).
Требование – некоторая возможность, которую должна обеспечивать система.
Чем требования подробнее и нагляднее, тем легче их реализовывать, но тем сложнее проводить анализ.
Стоимость внесения изменений в требования с ходом проекта возрастает в геометрической прогрессии:
Управление требованиями — это систематический подход к выявлению, организации и документированию требований к системе, а также процесс внесения изменений в требования к системе.
Для выявления требований необходимо проанализировать проблему, выявить заинтересованные стороны, их потребности, составить перечень функций, которые позволят удовлетворить эти потребности. После этого возможно создания полного перечня программных требований к каждой из необходимых функций и к системе в целом.
Заинтересованные лица — это все, на кого реализация новой системы может оказать материальное воздействие.
Потребность заинтересованного лица — отражение некой личной, рабочей или бизнес-проблемы (возможности), решение которой оправдывает замысел, покупку или использование новой системы.
Функции — услуга, предоставляемая системой для выполнения одной или нескольких потребностей заказчика. Позволяют описывать возможности системы без лишних подробностей.
Атрибуты функций:
статус (предлагаемая / утвержденная / включенная
приоритет / полезность (критическая / важная / полезная)
трудоемкость (низкая / средняя / высокая)
риск (высокий / средний / низкий) - вероятность увеличения расходов, отставания от графиков и т. п.
стабильность (высокая / средняя / низкая) - вероятность, что функция или ее понимание командой будет меняться
целевая версия (в которой впервые появится реализация функции)
назначение (исполнители)
источник / обоснование (страница документа, протокола встречи с клиентом и т. д.)
Виды требований
Функциональные требования описывают, как ведет себя система, какие существенные для пользователей действия она производит.
Пример: Когда пользователь делает x, система будет делать y.
Формулировка требования должна быть конкретной и понятной исполнителю. Но в большинстве случаев для этого достаточно 1-2 предложений.
Требования к практичности описывают, насколько легко пользователям будет пользоваться системой.
Пример:
Время подготовки пользователя для освоения минимального набора функций.
Время выполнения типичных задач пользователя.
Использование знакомых пользователю приемов и методов работы.
Наличие интерактивных подсказок, предупреждений, пользовательской документации, материалов для обучения и т. п.
Требования к надежности устанавливают допустимый уровень ошибок, сбоев, потерь данных и пр., все еще позволяющий эффективно использовать систему.
Пример:
Доступность 365 дней в году, 99% доступность в промежуток времени Х:00 – Y:00.
Среднее время между отказами
Среднее время на восстановление работоспособности
Точность вычислений, входных и выходных данных
Максимальный коэффициент ошибок (bug/KLOS)
Количество ошибок по типам (критические, серьезные, незначительные)
Требования к производительности ограничивает используемые ресурсы и время выполнения операций.
Пример:
Среднее/максимальное время отклика системы на запрос пользователя
Пропускная способность (количество операций в минуту)
Количество пользователей/операций, которые может обслужить система
Допустимые снижения производительности при недостатке ресурсов
Требования к простоте обслуживания системы могут определять способы взаимодействия с разработчиком, простоту диагностики, время внесения изменений (исправлений) в систему.
Пример: «Время ответа» группы поддержки для простых/средних/сложных изменений.
Ограничения проектирования касаются вариантов архитектуры системы, средств и процессов ее построения. Должны выполняться для удовлетворения технических, деловых, контрактных обязательств.
Пример:
Операционные среды (ОС, железо, среда разработки, …)
Совместимость с существующими системами
Соответствие корпоративным стандартам
Использование существующих наработок
5. Способы сбора требований к программному обеспечению. Перечислить основные способы, назначение и отличия, принципы использования. Интервью. Анкетирование. Совещание. Мозговой штурм. Раскадровка. Прототипирование (перечислить виды прототипов). Обыгрывание ролей.
Способы выявления требований: