12th slide set of CECS 542
How to scale requirements engineering for different project settings
How to decompose and refine requirements for subsystems
Complete course available at http://foss2serve.org/index.php/Requirements_Engineering,_CSU_Long_Beach,_Penzenstadler
3. Main Factors for Tailoring RE
• Project seOng: Project size, budget size, Jme constraints, number of people,
overall soQware development process
• Knowledge
– Level of understanding of the problem domain
– Level of understanding of the applicaJon domain
– Skills of the developers
– New team versus well acquainted and pracJced
• Stakeholders
– Availability of stakeholders
– RelaJonship to stakeholders
– Types of stakeholders (especially moJvaJon)
• Type of system
– Business informaJon system, embedded system, cyber-physical system, web service
– New product versus well established product
– Viability and technical feasibility
– Maturity of underlying technology
• System characterisJcs, e.g.:
Relevance of safety, security, robustness, dependability, etc.
• Business & legal concerns:
Legality, ethical concerns, patents, licenses, standards
Birgit Penzenstadler
4. MinimalisJc RE
• Agile seOng
• User Stories
• h<p://www.agilemodeling.com/arAfacts/userStory.htm
• Test Spec
(from acceptance
criteria in user stories)
• Backlog (where things
are saved when done)
Birgit Penzenstadler
5. Medium-size RE
Requirements / System / Solution DomainContext / Environment / Problem Domain
Stakeholder Model
Objectives,
& Goals
System Vision
Deployment Requirements
System Constraints
Domain Model
Usage Model
Quality Requirements
Process Requirements
elicit
objectives
find stakeholders
analyse context
elicit
constraints
derive
system
vision
refine and deduce
requirements
specify
interaction
Constraints
& Rules
!
!
!
!
!
Birgit Penzenstadler
• Effort: Person months (rough guess)
• Contract or consultant situaJon
• Subset of items of AMDiRE
6. Large-scale RE
• Effort: Person years
• All items of AMDiRE
• Large projects, safety-
criJcal or other
characterisJcs that
require in detail
specificaJon, embedded
systems, subcontractors
Birgit Penzenstadler
Context Layer
System Layer
Requirements Layer
Stakeholder Model Objectives
& Goals
Constraints
& Rules
!
!
!
!
!
Data Model
E
A
A
A
E
System Vision
Functional
Hierarchy
Architecture Overview
System
Function Model
Fun 1
Fun 2
Component Model
C C
Data Model
E
A
A
A
E
Behaviour Model
Business Case
Deployment Requirements
System Constraints
Domain Model
Service ModelUsage Model
Quality Requirements
Risk List
Project Scope
Process Requirements
Glossary
Glossary
Glossary
7. How to define it for a project
(= how to make use of everything you learned in this course for
later project management and set-up)
1. Analyze the characterisJcs of your
project
(slide 2 “Main Factors”)
2. Look at the AMDiRE model
(slide set 4)
3. Prune things you don’t need
4. Adapt items you need accordingly
(e.g. extra piece of info needed)
5. Make/use templates (for individual
arJfacts and maybe overall spec)
6. Define the tools (RE & design)
7. Define roles & milestones with and
for your team
8. Define the change process (see
Requirements Mngmt.)
Birgit Penzenstadler
Context Layer
System Layer
Requirements Layer
Stakeholder Model Objectives
& Goals
Constraints
& Rules
!
!
!
!
!
Data Model
E
A
A
A
E
System Vision
Functional
Hierarchy
Architecture Overview
System
Function Model
Fun 1
Fun 2
Component Model
C C
Data Model
E
A
A
A
E
Behaviour Model
Business Case
Deployment Requirements
System Constraints
Domain Model
Service ModelUsage Model
Quality Requirements
Risk List
Project Scope
Process Requirements
Glossary
Glossary
Glossary
Process Task
Next Process
A
This has an
associated...Note or
suggestion
9. Concepts:
DecomposiJon
& refinement
• DecomposiJon:
How to distribute it
onto subsystems?
• Refinement:
How to enrich with
more informaJon?
Context Layer
System Layer
Requirements Layer
Stakeholder Model Objectives
& Goals
Constraints
& Rules
!
!
!
!
!
Data Model
E
A
A
A
E
System Vision
Functional
Hierarchy
Architecture Overview
System
Function Model
Fun 1
Fun 2
Component Model
C C
Data Model
E
A
A
A
E
Behaviour Model
Business Case
Deployment Requirements
System Constraints
Domain Model
Service ModelUsage Model
Quality Requirements
Risk List
Project Scope
Process Requirements
Glossary
Glossary
Glossary
10. System Models: Refinement and
DecomposiJon
10
System: A system is delimited from ist context by the system border.
A system has an interface. A system is composed of elements
(components, subsystems) that are interrelated.
A subsystem can again be perceived as a system.
System
Context
System border
(Interface to context)
CSULB spring 2015 Dr. Birgit Penzenstadler