Chapter 02
Chapter 02
1
Requirement Engineering
A written document
A prototype
missing information
4
Eliciting Requirements
meetings are conducted and attended by both software
engineers and customers
rules for preparation and participation are established
Normal Requirements
Expected Requirements
Exciting Requirements
6
Elicitation Work Products
a statement of need and feasibility.
7
Negotiating Requirements
Identify the key stakeholders
These are the people who will be involved in the
negotiation
Negotiate
Work toward a set of requirements that lead to
“win-win”
8
Validating Requirements-I
Is each requirement consistent with the overall objective
number
Attractive: more satisfied if +, not less satisfied
if –
Indifferent: don’t care
Performance
Attractive
5
Kano Model
satisfied
Performance
attractive
dysfunctional functional
must-be
6
Kano Model
Must be Requirement Prioritization
Register Must be
Performance
Login Must be
Buy Attractive
Refreshment
7
Kano Model
Ask Customer
8
Kano Model
Positive Like Q A A A O
questions/
Must be R I I I M
Functional
Neutral R I I I M
Live R I I I M
with
Dislike R R R R Q
9
Kano Model
Must be
One-Dimensional
Attractive
Indifferent
Reverse
Questionable
10
Agile Requirements User-stories
Product description
Conversation
20
User Stories
Easy to Understand
Testable
21
User story template
22
User story example
As a customer,
I want to withdraw cash from an
ATM
So that I don't have to wait in line
at the bank.
23
User story example
24
User story example
25
User Stories Acceptance Criterion
Acceptance Criterion 1:
Given that the account is creditworthy
And the card is valid
And the dispenser contains cash,
When the customer requests the cash
Then ensure the account is debited
And ensure cash is dispensed
And ensure the card is returned.
26
User Stories Acceptance Criterion
Acceptance Criterion 2:
27
User Stories board
Source: https://age-of-product.com/wp-content/uploads/Agile-Transition-How-Create-Offline-Board-1024-1024x768-1.jpg
12
User stories board (Software)
13 Source: https://www.atlassian.com/software/jira
3 C’s of User-Stories
Card
Conversation
Confirmation
28
Software Requirement Specification
14
15
Requirement Analysis
16
Requirement Model
The model should focus on requirements that are visible within the problem
design
Keep the model as simple as it can be. Don’t create additional diagrams
Change Pin
Withdraw Cash
Fund Transfer
Check Balance
Refining Preliminary Use Case
A description of alternative interactions is essential
for a complete understanding of the function that is
being described by a use case.
Is it possible that the actor will encounter some error condition at this point? If so,
Is it possible that the actor will encounter some other behavior at this point
Writing Formal Use Case
Goal in Context:
Preconditons:
Scenarios:
Exceptions:
Secondary Actor:
Use Case- ATM
Use Case- ATM
Requirement Model
Scenario-based Elements
Objectives
Activity Diagram
Swimlane Diagram
Activity Diagram
Each A UML activity diagram represents the actions and decisions that
Insert Card
If no more operations is to be performed take out the card and end the
process
Activity Diagram-
Overall ATM Operations
Insert Card
State Diagram
Class Diagram
State Diagram
The UML state machine diagrams depict the various states that an object
Statechart diagram describes the flow of control from one state to another
Statechart diagram describes the flow of control from one state to another
Statechart diagram describes the flow of control from one state to another
Source: https://courses.cs.ut.ee/2010/sm/uploads/Main/Fall2009Exam.pdf
Class Diagram
In software engineering, a class diagram in the Unified Modeling Language
A set of classes and
A set of relationships between classes
Class Diagram- Class Notations..
Class Name
Class Attributes
Class Operations
+ denotes public attributes or operations
- denotes private attributes or operations
# denotes protected attributes or operations
~ denotes package attributes or operations
Class Diagram- Class Relationships..
Generalization
inheritance
Simple Associtation
Associtation between two classes
Shown with simple line
Class Diagram- Class Relationships..
Aggregation
Class 2 is part of class 1
Dependency
Class 1 depends on class2
Any chagne to class 2 may initiate the
change to class 1
Class Diagram- Library System
Source: http://www.programsformca.com/2012/03/uml-diagrams-for-library-management.html
Thank You