Professional Documents
Culture Documents
CMU-SE 214 Requirements Engineering - 2022S - Lecture Slides-3
CMU-SE 214 Requirements Engineering - 2022S - Lecture Slides-3
1.1 © by CMU
© by CMU Dao Nguyen Dao Nguyen
Contents
1. Description Software requirements operate on three
levels: Business, Users and Software.
2. Understand the impact of RE on the software
engineering team
3. The role of the required engineer. Before gathering
requirements, Software Engineers must define the
product vision, common terms and mitigate risks.
1.2 © by CMU
© by CMU Dao Nguyen Dao Nguyen
Where Do Requirements Come From?
1.3 © by CMU
© by CMU Dao Nguyen Dao Nguyen
Business Requirements
ƒ tatements of the business rationale for authorizing the
S
project. They include a vision for the software product to be
built that is driven by business goals, objectives, and
strategy.
ƒBusiness requirements describe the high level purposes and
needs that the software product will satisfy, the view of its
accomplishments for the users, its features, functions, and
capabilities from the Business point of view.
ƒBusiness requirements are documented in the Project
Charter, Vision or Scope of the project. Sometimes it can be
found in the Statement of Work, Memo of Understanding
(MoU) or Request for Proposal (RFP).
1.4 © by CMU
© by CMU Dao Nguyen Dao Nguyen
User Requirements
1.5 © by CMU
© by CMU Dao Nguyen Dao Nguyen
System Requirements
1.7 © by CMU
© by CMU Dao Nguyen Dao Nguyen
Relationships Of Requirements
1.8 © by CMU
© by CMU Dao Nguyen Dao Nguyen
System View
1.9 © by CMU
© by CMU Dao Nguyen Dao Nguyen
System & Software
1.10 © by CMU
© by CMU Dao Nguyen Dao Nguyen
Key Concepts
1.11 © by CMU
© by CMU Dao Nguyen Dao Nguyen
Requirements Must Be …
1.12 © by CMU
© by CMU Dao Nguyen Dao Nguyen
Quality Of Requirements
1.13 © by CMU
© by CMU Dao Nguyen Dao Nguyen
Requirements Must Be …
1.14 © by CMU
© by CMU Dao Nguyen Dao Nguyen
Internal Issue
1.15 © by CMU
© by CMU Dao Nguyen Dao Nguyen
Organization Structures
1.17 © by CMU
© by CMU Dao Nguyen Dao Nguyen
Issues with Requirements - 1
ƒ any Sales & Marketing people with limited software
M
knowledge are responsible for developing software
requirements.
ƒLack of software skills to specify what functions and
performance a software product can be expected to meet, often
leads to serious integration problems.
ƒUnfamiliarity with software also leads to disproportionate
allocation of requirements, resulting in starting of software
projects with unrealistic and unfeasible requirements.
ƒMany software developers are reluctant to get involved in
requirements engineering due to a lack of business knowledge
and skills.
1.18 © by CMU
© by CMU Dao Nguyen Dao Nguyen
Issues with Requirements - 2
ƒ any software companies have rigid structures with clear
M
lines of authority and control in order to ensure no one is
working on things other than what is currently assigned.
Managers will focus on planning, scheduling, budgeting, and
ƒ
directing people.
Programmers will focus on coding, testing and documenting.
ƒ
1.19 © by CMU
© by CMU Dao Nguyen Dao Nguyen
Issues with Requirements - 3
ƒ nfortunately, many managers are not trained in the
U
managing aspect of software projects. Some are good
programmers that get promoted into management. Some come
from business and finance schools with no knowledge of
software.
Without additional training, they will struggle with the burden
of estimating, monitoring and meeting customers’ demands
and these pressures will drive many projects to failure.
1.20 © by CMU
© by CMU Dao Nguyen Dao Nguyen
Issues with Requirements - 4
ƒ any stakeholders do not understand why it is important to
M
spend more time defining requirements.
ƒDevelopers do not like to spend time with stakeholders in
defining requirements because they like to write code and
assume that they know what stakeholders need.
ƒBoth sides do not like to work on requirements.
1.21 © by CMU
© by CMU Dao Nguyen Dao Nguyen
Requirements Engineering
1.22 © by CMU
© by CMU Dao Nguyen Dao Nguyen
Is It Possible?
1.23 © by CMU
© by CMU Dao Nguyen Dao Nguyen
Requirements Engineer
1.24 © by CMU
© by CMU Dao Nguyen Dao Nguyen
Requirements Engineer
1.25 © by CMU
© by CMU Dao Nguyen Dao Nguyen
Requirements Engineer’s Skills
• ƒListening skills
• Interviewing & questioning skills
• ƒAnalytical skills
• ƒFacilitating skills
• Observation skills
• Writing skills
1.26 © by CMU
© by CMU Dao Nguyen Dao Nguyen
Requirements Engineer’s Skills
• Oranizational skills
• ƒModeling skills
• ƒInterpersonal skills
• ƒCommunication skills
1.27 © by CMU
© by CMU Dao Nguyen Dao Nguyen
Requirements Engineer’s Tasks -1
1.28 © by CMU
© by CMU Dao Nguyen Dao Nguyen
Requirements Engineer’s Tasks - 2
1.29 © by CMU
© by CMU Dao Nguyen Dao Nguyen
1.30 © by CMU
© by CMU Dao Nguyen Dao Nguyen
Requirements Engineering
1.32 © by CMU
© by CMU Dao Nguyen Dao Nguyen
From Vision To Project Scope
1.33 © by CMU
© by CMU Dao Nguyen Dao Nguyen
Vision & Scope
•
1.34 © by CMU
© by CMU Dao Nguyen Dao Nguyen
A Product Vision Statement
1.35 © by CMU
© by CMU Dao Nguyen Dao Nguyen
A Product Vision Statement
1.36 © by CMU
© by CMU Dao Nguyen Dao Nguyen
Follow This Template …
•ƒ
1.37 © by CMU
© by CMU Dao Nguyen Dao Nguyen
How To Write Vision Statement - 1
•Define the following terms:
1. Target customers: Describe the people who will use or buy the
software.
2. Statement of need: Describe what the target customer does or
what the software will help them with.
3. Product name: Provide the name of the product that you will
create.
4. Product category: Describe the type of product that you are
building. Product categories might include internal
application, COTS software, embedded software, business and
finance software, game software, complex software, etc.
1.38 © by CMU
© by CMU Dao Nguyen Dao Nguyen
How To Write Vision Statement - 2
•5. Benefit Statement: Describe what the product will do for the
target customers or the justification for buying the product.
6. Competitive analysis: Describe the key competing product
available or the system or process that the product will
replace.
7. Product differentiation: Explain the differences between the
product you are building and the competition.
Review all writings to ensure that they define the what, why,
and who from the business point of view.
1.39 © by CMU
© by CMU Dao Nguyen Dao Nguyen
Follow This Template …
1.40 © by CMU
© by CMU Dao Nguyen Dao Nguyen
Example - 1
•ƒ For a software company who provides outsourcing services to
global customers, the ABC system is the most advanced
outsourcing system that has successfully provided services to
hundreds of global clients. Unlike others who do not provide
total solutions, our services have helped many clients achieve
significant cost savings by integrating all applications into a
cohesive total business solution that brings quality and
efficiency for the entire operation.
1.41 © by CMU
© by CMU Dao Nguyen Dao Nguyen
Example - 2
•ƒ For software users who need to request information from
databases, the ABC Data Management is an information
system that provided a single point of access to all data and
information stored anywhere in company’s multiple databases.
Unlike other systems, our system not only locates, selects and
provides information, but also generates required reports
when needed, for use for further investigation and
documentation.
1.42 © by CMU
© by CMU Dao Nguyen Dao Nguyen
Example - 3
•
1.43 © by CMU
© by CMU Dao Nguyen Dao Nguyen
Example - 3
•
1.44 © by CMU
© by CMU Dao Nguyen Dao Nguyen
Vision and Scope Document -1
•
1. Business Requirements
1.1. Background
1.2. Business Opportunities
1.3. Business objectives
1.4. Customer or Market requirements
1.5. Value provided to customers
1.6. Business risks
1.45 © by CMU
© by CMU Dao Nguyen Dao Nguyen
Vision and Scope Document -1
•
1. Business Requirements
1.1. Background
1.2. Business Opportunities
1.3. Business objectives
1.4. Customer or Market requirements
1.5. Value provided to customers
1.6. Business risks
1.46 © by CMU
© by CMU Dao Nguyen Dao Nguyen
Vision and Scope Document -2
•2. Vision of solution
1.47 © by CMU
© by CMU Dao Nguyen Dao Nguyen
Vision and Scope Document - 3
•3. Scope and Limitations
1.48 © by CMU
© by CMU Dao Nguyen Dao Nguyen
Vision and Scope Document - 4
•
4. Business Context
4.1. Customer profiles
4.2. Project Priorities
5. Product success factors
1.49 © by CMU
© by CMU Dao Nguyen Dao Nguyen
Project Priorities
ƒ here are five key factors that every project must operate:
T
Scope (Feature), Quality, Schedule, Cost and Resources
(Staff).
ƒConstraint: A limiting factor within which the project
manager must operate.
ƒDriver: A significant success objective with limited flexibility
for adjustment.
ƒDegree of Freedom: A factor that the project manager has
some latitude to adjust and balance the other factors.
ƒProject manager’s goal is to adjust those factors within
degrees of freedom to achieve the project’s success drivers in
the limits imposed by the constraints.
1.50 © by CMU
© by CMU Dao Nguyen Dao Nguyen
•
1.51 © by CMU
© by CMU Dao Nguyen Dao Nguyen
Define Common Terms
1.53 © by CMU
© by CMU Dao Nguyen Dao Nguyen
Requirements Risks
E
ƒ very requirement has risk which is a condition that could
endanger the project or the product development.
Requirements risk mitigation is a process to assess
requirements-related risks and identifies actions to avoid or
minimize those risks.
Requirements risk mitigation also helps strengthen project
team and stakeholder communication and helps the team
prepare for or prevent obstacles to successful requirements
development.
Because requirements are critical to the project, identifying
and solving these risks can have high impact on the project
success.
1.54 © by CMU
© by CMU Dao Nguyen Dao Nguyen
Summary
1.55 © by CMU
© by CMU Dao Nguyen Dao Nguyen
Class Exercise
1.56 © by CMU
© by CMU Dao Nguyen Dao Nguyen
References
Readings:
CMU-SE 214- Vision and scope-2020S- EXTRA Reading-1.pdf
Please watch the video at the link below:
https://www.youtube.com/watch?v=DtQU3EsssGI
1.57 © by CMU
© by CMU Dao Nguyen Dao Nguyen
Questions & Answers
1.58 © by CMU
© by CMU Dao Nguyen Dao Nguyen