
- •Управление требованиями
- •Анализ и выявление требований
- •Способы получения требований
- •Типы пользователей
- •Функциональные требования
- •Моделирование прецедентов
- •Шаблон полного описания варианта использования по а. Коберну
- •Нефункциональные требования
- •Круг дополнительных вопросов, затрагиваемых в нефункциональных требованиях
- •Критерии качества требований
- •Рекомендуемая литература
Управление требованиями
Анализ и выявление требований
Определение
Анализ требований — это процесс сбора требований к программному обеспечению (ПО), их систематизации, документирования, анализа, выявления противоречий, неполноты, разрешения конфликтов в процессе разработки программного обеспечения. В англоязычной среде также говорят о дисциплине «инженерия требований» (англ. Requirements Engineering). В процессе сбора требований важно принимать во внимание возможные противоречия требований различных заинтересованных лиц, таких как заказчики, разработчики или пользователи.
Полнота и качество анализа требований играют ключевую роль в успехе всего проекта. Требования к ПО должны быть документируемые, выполнимые, тестируемые, с уровнем детализации достаточным для проектирования системы. Требования могут быть функциональными и нефункциональными.
Анализ требований включает три типа деятельности:
Сбор требований: общение с клиентами и пользователями, чтобы определить, каковы их требования.
Анализ требований: определение, являются ли собранные требования неясными, неполными, неоднозначными, или противоречащими, и затем решение этих проблем.
Документирование требований: Требования могут быть задокументированы в различных формах, таких как простое описание, сценарии использования, пользовательские истории, или спецификации процессов.
Включает следующие фазы:[1]
Разработки требований
Формирование видения
Выявление
Анализ
Спецификация
Проверка
Управления требованиями
Define business requirements
Business requirements specify business goals or values that should be achieved with considered software.
Examples:
Capture market share in X
Achieve profit on X
Save costs on X.
Process at least X transactions per day.
Business requirements should be SMART (specific, measurable, attainable (not impossible), relevant, time-based (not open-ended) )
Define stakeholders
Business users involved into product.
Identify project constraints
There are five major constraints:
Features
Staff
Quality
Costs
Schedule
Diagram:
Table of freedom
Constraint |
Driver |
Degree of freedom |
|
|
|
Define project success criteria
Business Stakeholder, Measurable, priority
Define Project Vision and project Scope
Project vision should be divided in terms of the following words:
For
Who
The
Is
Unlike
Our Product
Context Diagram
TBD
Способы получения требований
Интервью
Анкетирование
Наблюдение
Самостоятельное описание требований
Совместные семинары
Прототипирование
Proposal development
Proposal content:
Company overview and benefits.
Project description.
High level technical proposition.
List of features.
Estimate.
Schedule (Feature levels).
Product release criteria.
Collaboration vision (Determine collaboration & communication types).
Commitments.
Final price.
Feature levels
Table example
Feature No |
Release 1. |
Release 2. |
Release 3. |
Feature 1 |
13.01.13 |
11.02.13 |
13.04.13 |
Product Release Criteria
Release criteria should be SMART
Features |
Release criteria for the area |
Quality Assurance |
... |
Certification |
... |
Bugs |
... |
Documentation |
... |
Performance Certification |
... |
ID |
Description |
Measurement method |
Target value |
Implications if not satisfied. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Commitments
Commitments should be represented as table:
Commitment |
Person who made commitment |
Commitment date |
Commitment 1 |
Vasiliy Pertrov |
11.02.13 |
|
|
|
Software Requirements Specification (SRS)
STS is the document being developed at the beginning of the project. It consists of the following sections:
Functional Requirements
Nonfunctional requirements
Acceptance Criteria