Download as pdf or txt
Download as pdf or txt
You are on page 1of 46

lecture duration: 180’

Instructor: Dao, Nguyen Thi Anh


International School - DTU
Email: nguyenthianhdao@duytan.edu.vn

1.1 © by CMU Dao Nguyen


Dao Nguyen
Contents

1. The process of analyzing the stakeholders’ needs


2. The process of transforming business needs into
system descriptions with performance parameters.
3. Requirements Analysis Process.
4. Modeling and diagrams communicate certain
information more efficiency than text can.

1.2 © by CMU Dao Nguyen


Dao Nguyen
Requirements Development Process

1.3 © by CMU Dao Nguyen


Dao Nguyen
Definitions

Requirements Analysis
 ƒThe techniques of deciding which features are
appropriate for the product based on stakeholders’
needs.
 ƒTo effectively analyze requirements, Software
Engineers need to understand, define and verify the
requirements from the stakeholders’ view so they
can prioritize their needs before allocating
requirements to software.
 ƒRequirements elicited from stakeholders must be
complete and clear to validate later.
1.4 © by CMU Dao Nguyen
Dao Nguyen
Requirements Analysis

 Tƒ he process of analyzing the stakeholders’ needs to


prepare the definitions of system and software
requirements.
 ƒThe process of transforming business needs into
system descriptions with performance parameters
and partitioning them into subsystems where
allocation to hardware and software can take place.
 ƒSince stakeholders and developers may have different
views and expressions, to facilitate better
understanding, Software Engineers should use
abstract descriptions that are easy to understand and
interpret.
1.5 © by CMU Dao Nguyen
Dao Nguyen
Different Views

1.6 © by CMU Dao Nguyen


Dao Nguyen
Communication Is Essential

 ƒ equirements Engineering is not only a process of gathering


R
and discovering requirements, but also a process of facilitating
effective communication of these requirements among
different stakeholders.
 ƒThe way in which requirements are analyzed and documented
plays an important role in ensuring that they can be read,
analyzed, rewritten, and validated.
 ƒRequirements Engineering is an iterative process.

1.7 © by CMU Dao Nguyen


Dao Nguyen
Requirements Analysis

 ƒ equirements analysis results in requirements models.


R
 ƒRequirements models are user requirements represented by
diagrams, structured text (lists, tables, matrices) or a
combination.
 ƒRequirements analysis also focuses on trade-offs among
requirements to make decisions about their relative
importance to support prioritization.
 ƒSoftware Engineers are responsible to analyze all
requirements and collaborate with stakeholders to prioritize
their needs.
 ƒRequirements analysis is an iterative process.

1.8 © by CMU Dao Nguyen


Dao Nguyen
Why Requirements Models?

Requirements models will:


 ƒFacilitate communication between technical and business
people.
 ƒAllow project teams to look at different aspects of user
requirements from different perspectives.
 ƒUncover missing, erroneous, vague and conflicting
requirements.
 ƒDiscover interdependencies among requirements.
 ƒAllow stakeholders to view all requirements for better
understanding.

1.9 © by CMU Dao Nguyen


Dao Nguyen
Requirements Analysis Process
 Rƒ eview all requirements to ensure they align with business
goals and objectives.
 ƒDefine the project scope.
 ƒCreate detailed user requirements using multiple models
that will help stakeholders better articulate their needs.
 ƒPrioritize the requirements.
 ƒContinue to analyze as more details emerge or are revised.
 ƒAssign quality attributes as requirements are discovered
and refined.

1.10 © by CMU Dao Nguyen


Dao Nguyen
Requirements Analysis Process

1.11 © by CMU Dao Nguyen


Dao Nguyen
The 4Ws + 1H Technique -1

ƒ This technique represents answers to the questions Who?


What? When? Why? And How?
 ƒWho Questions:
• Who are the project’s stakeholders?
• Who will directly interact with the system?
• Who will see what, when they interact with the system?
 ƒModel Result:
• Actor Table.

1.12 © by CMU Dao Nguyen


Dao Nguyen
The 4Ws + 1H Technique -2

 ƒWhat Questions:
• What do important business terms mean?
• What functions in the organization interact to share information?
• What information go into or out of the system?
• What are the data elements that must be stored and how they are
related.
 ƒModel results:
•Glossary
•Context diagram
•Relationship model (Business model)
•Data model & Data dictionary
1.13 © by CMU Dao Nguyen
Dao Nguyen
The 4Ws + 1H Technique -3

 ƒ When Questions:
• When does the system need to respond or act?
• When are tasks performed?
• When does information change?
 ƒ Model results:
•Event-response table
•State diagram

1.14 © by CMU Dao Nguyen


Dao Nguyen
The 4Ws + 1H Technique -4

 ƒWhy Questions:
• Why are we motivated to enforce standards,
policies, regulations?
• Why are decisions made that influence behavior
and assert business structure?
 ƒModel results:
•Business policies
•Business rules
1.15 © by CMU Dao Nguyen
Dao Nguyen
The 4Ws + 1H Technique -5

 ƒ How Questions:
• How do processes operate in the business to
achieve goals?
• How are tasks performed and in what sequence?
 ƒ Models results:
• Process map • Use case
• Data flow diagram

1.16 © by CMU Dao Nguyen


Dao Nguyen
Requirements Roadmap

1.17 © by CMU Dao Nguyen


Dao Nguyen
Business Rules

 ƒ very organization operates according to an extensive set of


E
business rules such as policies, laws, regulations, standards,
procedures, techniques, processes etc.
 ƒA business rule is a statement that defines or constrains some
aspects of the business, it is intended to assert structure and to
control or influence the behavior of the business.
 ƒBusiness rules describe the operations, definitions and
constraints that apply to an organization in achieving its goals
by setting up a set of policies, procedures, and standard
practices to be applied consistently across organizations.

1.18 © by CMU Dao Nguyen


Dao Nguyen
Example

Example:
Policies: Why do we have to do it that way?
Regulations: What does the government require?
Procedures: What can and cannot be done?
Processes: What to do next?
Standards: What do we have to follow?
1.19 © by CMU Dao Nguyen
Dao Nguyen
Actor Table

 ƒ n Actor table identifies all users in terms of their roles and


A
responsibilities.
 ƒBy identifying all actors in the same place, it may detect
missing users and determine who or what needs to interact
with the system, what roles they play and their responsibilities.
 ƒEach actor in the table is likely to initiate at least one use case
and help uncover issues involving where (at which physical
location) to roll out the system and in which order.
 ƒA user may have multiple roles and an actor can represent
multiple people.
 • For example: A Manager can be the reviewer, producer and
approver. Producers can be played by several people.
1.20 © by CMU Dao Nguyen
Dao Nguyen
Example of Actor Table

1.21 © by CMU Dao Nguyen


Dao Nguyen
Benefits of Actor Table

ƒHelps detect missing system users.


ƒHelps identify functional requirements as user goals
(use case).
ƒHelps clarify job responsibilities.
ƒ Identifies roles and responsibilities of people who
interact with the system.
ƒDescribes each role, responsibilities.
ƒ Identifies who or what needs to interact with the
system.

1.22 © by CMU Dao Nguyen


Dao Nguyen
Context Diagram

 ƒ Context Diagram represents all external entities that may


A
interact with a system. It is the highest level view of a system,
showing the system as a whole with its input and output
from/to external factors.
 ƒThe Context Diagram is NOT a Data Flow Diagram because it
has only one function representing the entire system or its
scope.
 ƒThe Context Diagram provides a visual model of the proposed
system and the outside entities that interface with the system.
It is easily understood by the stakeholders and is used to reach
agreement on the scope of the project.

1.23 © by CMU Dao Nguyen


Dao Nguyen
Context Diagram

1.24 © by CMU Dao Nguyen


Dao Nguyen
Benefits of Context Diagram
• ƒ elps stakeholders quickly and simply define the project scope
H
and to focus on what the system needs as input and output.
 ƒAssists Software Engineers to identify actors, use cases and
other data models.
 ƒEstablishes scope and possible scope creep problems as new
external entities are added.
 ƒProvides a starting point for understanding the data used by
the system.
 ƒVerifies direct and indirect users identified in the stakeholder
list.

1.25 © by CMU Dao Nguyen


Dao Nguyen
Data Model - 1
• ƒ data model or Entity Relationship Diagram (ERD) describes
A
how data is represented and accessed. It formally defines data
elements and their relationships.
 ƒBusiness rules define how things are done and how data
models are structured. Changes in business can lead to large
changes in computer systems and interfaces.
 ƒIf relationships among data are not identified, they can lead to
replication of data, data structure, functionality, and
duplication in development and maintenance.
 ƒIf data models for different systems are different. It will
require complex interfaces between systems which are costly.

1.26 © by CMU Dao Nguyen


Dao Nguyen
Data Model - 2
• Iƒf data structure is not standardized, data cannot be shared
electronically with customers and suppliers.
ƒ Data models can:
• Illustrate the structure of the data after business rules have
been enforced.
• Eliminate redundant data and complex data structure.
• Specify rules to maintain data integrity.
• Help answer questions on which data users need to access and
save.

1.27 © by CMU Dao Nguyen


Dao Nguyen
Process & Data Modeling

1.28 © by CMU Dao Nguyen


Dao Nguyen
Data Model Benefits
• ƒ upports the database design.
S
 ƒFacilitates designing the physical data structures.
 ƒHelps the analysis requirements for any software that provides
reporting, querying, or decision support functionality.

1.29 © by CMU Dao Nguyen


Dao Nguyen
Data Model Benefits
• ƒ elps answer some business questions to build scenarios such
H
as:
• “What job do I need to do today?”
• “Who should I contact for this work?”
• Data needed: Job number, phone number, address, location etc.

1.30 © by CMU Dao Nguyen


Dao Nguyen
Data Flow Diagram
• ƒA Data-Flow diagram (DFD) is a graphical representation of
the "flow" of data through an information system.
 ƒA (DFD) relates inputs, processes, outputs and shows the
process that responds to an external or temporal event.
 ƒSoftware Engineers must start with a context data flow
diagram, which first shows the interaction between the system
and external agents, then works into greater detail of the
system such as:
•How the system is divided into sub-systems, each of which
deals with one or more of the data flows to or from an external
agent, and which together provides all of the functionality of the
system as a whole.
1.31 © by CMU Dao Nguyen
Dao Nguyen
Data Flow Diagram

This diagram represents a banking process, which maintains


customer accounts. In this Data Flow Diagram, customers can
withdraw or deposit cash, request information about their
account or update their account detail.

1.32 © by CMU Dao Nguyen


Dao Nguyen
State Diagram
• ƒ tate diagrams are used to describe the behavior of a system.
S
State diagrams can describe the possible states of an object as
events occur.
 ƒA model of system behavior composed of a finite number of
states, transitions between those states and actions.
 ƒEach diagram usually represents objects of a single class and
tracks the different states of its objects through the system.

1.33 © by CMU Dao Nguyen


Dao Nguyen
Example of State Diagram

1.34 © by CMU Dao Nguyen


Dao Nguyen
Benefits of State Diagram
• ƒ rovides a visual representation of the life cycle of a data
P
entity when events trigger changes in data resulting in a new
state for that entity.
 ƒSupport the understanding of how events impact data.
 ƒIdentifies missing requirements such as events, business rules,
data attributes, use case preconditions, post conditions and
steps.
 ƒIdentifies life cycle states of critical entities.
 ƒDemonstrates the sequence of states and events that trigger
state changes.

1.35 © by CMU Dao Nguyen


Dao Nguyen
Summary
• ƒ ince no single view of requirements provides a complete
S
understanding, Software Engineers need a combination of
textual and visual requirements representations to create a full
picture of the proposed system.
 ƒModeling and diagrams communicate certain information
more efficiency than text can. A picture is worth a thousand
words.
 ƒHowever, do not assume stakeholders know how to read
models, so Software Engineers must explain the purpose and
notations of each model and ask stakeholders to verify them.

1.36 © by CMU Dao Nguyen


Dao Nguyen
Class discussion - 1

Can you summarize this within 20 minutes?


• Draw context diagram for the ONLINE ORDERING AND
INVENTORY SYSTEM:

ƒExternal entities are the customers who will need the various
services from the system, and the Administration office who will
request the reports.

1.37 © by CMU Dao Nguyen


Dao Nguyen
Class discussion - 2

• Draw context diagram for the ONLINE ORDERING AND


INVENTORY SYSTEM:
From customer to the system: the system will provide
information using online system and customer access it without
changing anything and customer choosing the product and send
order to the system, the system accept or refuse, when the
system accept it send to him an invoice, the customer pay
according to the invoice after the system give to him delivery
date of the product ordered.
 From administrator to the system: administrator requests
reports to the system and the system provide the report
requested.
1.38 © by CMU Dao Nguyen
Dao Nguyen
Class Exercise

•QUESTIONS:

1. Who are Stakeholders?


A. Stakeholders is a person or group that has a interest in the
software and not affect the software requirements
B. Stakeholders is a person or group that has a interest in the
software and influence the software requirements
C. Stakeholders is a person or group that has a regardless in the
software and influence the software requirements
D. All of the above.

1.39 © by CMU Dao Nguyen


Dao Nguyen
Class Exercise
•QUESTIONS:

2. What are requirements analysis?


A. Describe high level purposes and needs that the software product
will satisfy
B. A method of obtaining a precise formal specification from the
informal and often not ambiguous requirements with customers
C. The techniques of deciding which features are appropriate for the
product based on stakeholders’ needs
D. All of the above.

1.40 © by CMU Dao Nguyen


Dao Nguyen
Class Exercise
•QUESTIONS:

3. What is 4Ws + 1H technique?


A. What? Who? Where? Why? How?
B. When? Who? Where? Why? How?
C. What? Who? When? Why? How?
D. What? Who? Where? When? How?

1.41 © by CMU Dao Nguyen


Dao Nguyen
Class Exercise
•QUESTIONS:

4. The diagram that shows the scope of the system, indicating what
elements are inside and which are outside the system, is called a:
A. Level – 2 diagram
B. Referencing diagram
C. Context diagram
D. Refresentative diagram

1.42 © by CMU Dao Nguyen


Dao Nguyen
Class Exercise
•QUESTIONS:

5. What documentation is written for business requirements?


A. User Requirements Document.
B. Use – case.
C. Software Requirements Document.
D. Project charter

1.43 © by CMU Dao Nguyen


Dao Nguyen
Class Exercise

ANSWERSƒ:
1. B
2. C
3. C
4. C
5. D

1.44 © by CMU Dao Nguyen


Dao Nguyen
References

• Hull, E., Jackson, K., & Dick, J. (2014). Requirements


Engineering. Newtownabbey, UK: Springer. pp. 57-92
• Reference Materials:
• Axel van Lamsweerde. (2009). Requirements Engineering.
Wiley.
• Nguyen, Tam T. T. (2014). Requirements Engineering.
Danang, Vietnam: Duy Tan University, for internal use.
pp. 48-73
Please watch the video at the link below:
www.youtube.com/watch?v=fWNrc6GNK14
1.45 © by CMU Dao Nguyen
Dao Nguyen
Questions & Answers

1.46 © by CMU Dao Nguyen


Dao Nguyen

You might also like