Chapter 2: Requirements Determination


Chapter 2 Requirements Determination

🍕From business process to solution envisioning

IT Solution

  • Implementation of a business process
BPMN

Business Process Modeling Notation

UML activity diagrams

Goal: Map these notations to an executable language

BPMN categories of modeling events
  1. Flow objects
    • Events
    • Activities
    • Gateways
  2. Connecting objects

<img src="/images/typora/image-20201229204732957.png"style=“zoom:80%;” />

  1. Pools (Swim lanes)

    A pool represents a business entity (participant) in a process.

    ❗️ the sequence flow may not cross the boundary of a pool

  2. Artifacts

Process hierarchy modeling
  • sub-processes

    A process may contain other processes

  • task

    An atomic activity within a process

  • process hierarchy(等级制) diagram

    • A business process can be performed manually or an automated service
    • A process has at least one input flow and one output flow
    • A process can be atomic or composite

Solution envisioning

  • a business value-driven approach to delivering an IT service

  • makes a close connection between business and IT stakeholders and integrates(整合) business strategy methods and software development capabilities.

  • Three “E-s” (efficiency, effectiveness, and edge)

  • Three phases

    • Business capability exploration
    • Solution capability envisioning
    • Software capability design (outcome : software capability architecture)
  • Three distinct implementation strategies

  1. Custom development
  2. Package-based development
  3. Component-based development

🍕Requirements Engineering

Products

Primary outcome is a requirements specification

Secondary outcome is a usually system and software acceptance test criteria

Why is RE important

  • Helps earlier detection of mistakes
  • Forces clients to articulate and review requirements
  • Enhance communications between participations

What happens if Requirements are wrong

  • System may be delivered late and cost more.
  • Customers and end-users are not satisfied
  • System may be unreliable in use

Functional Requirements

  • Requirements (or capabilities) for functions must be performed by the system
  • Primary focus of most requirements activities

Non-Functional Requirements

  • System properties and constraints
  • More critical than functional requirements
  • NFR Sources
    • Product requirements
    • Process requirements
    • External requirements

Verifiable

❗️ Imprecise requirements cannot be verified

NFR should be a measurable statement

Requirements Engineering Process

  • Requirements Elicitation(启发) and Analysis
  • Requirements Specification
  • Requirements Validation(验证方式)
  • Requirements Management

🍕 Requirements Elicitation

Requirements elicitation principles

System development is motivated by a problem

  • Aim: to understand the problem clearly

Requirements elicitation activities

  • Analyzing the problem
  • Identifying requirements sources
  • Eliciting requirements from these sources

Requirements elicitation techniques

  • Challenges
    • Stakeholders and users may not be able to describe their tasks well
    • Requirements conflict
    • Implicit(隐式) requirements
Interviews
  • Prepare questions in advance
  • Suggest ideas & alternatives
Workshops
  • Structured meeting
    • formal roles
    • clear goals
  • Multiple stakeholders
    • resolve conflicting requirements
    • gather board system usage
Focus Groups
  • Less structure
  • Exploratory(探索性) discussion
  • Broad stakeholder representation
  • Gather broad-based ideas
Observations
  • Observe how users perform their tasks
  • Users often cannot describe everything they do
  • Time consuming
Questionnaires
  • Inexpensive and easily administered to remote sites
  • Collect data from many users
  • May feed into interviews or workshops
  • 😢 Good questionnaires difficult to write
  • 🍰 Good Questionnaire
    • Answer options for all possibilities
    • Answer choices mutually exclusive(互斥)
    • Avoid phrasing that implies a correct answer
    • Closed questions for statistical analysis
    • Open questions to gather ideas
    • Short
Independent Elicitation Techniques
Discover information on your own
System interface analysis
  • Look at other systems’ functionality
  • Data exchange (including formats & validation(验证) rules)
  • Services
User interface analysis
  • Study existing systems
Document analysis
  • Business process descriptions
  • Existing system documentation
  • Industry standards or legislation
  • Gain understanding of domain or system

Product of elicitation phase

  • Requirements documentation including a requirements definition
  • May use pre-defined requirements document template
    • IEEE, ISO,…
  • May use less formal documentation and tools
    • User Stories, Jira…

🍕 Requirements negotiation and validation

Frequently done in parallel with requirements elicitation

📁 Inseparable from the production of requirements document

  • negotiation starts from the draft requirement doc
  • validation reviews and approves the doc

🌵 Requirements dependency matrix

  • Conflict & Overlap

Requirements risks and priorities

  • Risk analysis identifies requirements that are likely to cause development difficulties
  • Prioritization(优先次序) allows easy re-scoping of the project when faced with delays
Risk Categories
  1. Technical
  2. Performance
  3. Security
  4. Database integrity(数据库完整性)
  5. Development process
  6. Political
  7. Legal
  8. Volatility (挥发性)

Requirements Management

Requirements identification and classification
  • Natural language statements
  • Identification and classification scheme
    • Unique identifier
    • Sequential number with document hierarchy (文件等级制)
    • Sequential number with requirement’s category (需求类别)
Requirements hierarchies

🍼 Parent-child relationships

Reflect varying abstraction levels

  1. 1.1…

    1.2…

    1.3…

Change management

Downstream cost of change

  • Strong management policies
    • document change requests
    • assess change impact
    • effect the changes

⚠️ Requirements changes should be stored and tracked by a software configuration management tool

Requirements traceability

suspect trace : After change to any element in a traceability relationship

Requirements business model

Context diagram (System scope)

Business Use case diagram(function requirements)

Business class diagram (data requirements)


文章作者: mohan li
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 mohan li !
评论