SlideShare ist ein Scribd-Unternehmen logo
1 von 40
Requirements
Modeling
– 2 –
Modeling Requirements:Modeling Requirements:
from customer views to something translatablefrom customer views to something translatable
to softwareto software
echniques for developing functional requirements
What the software is supposed to do!
– 3 –
Requirements modeling
We build models in requirements analysis or/andWe build models in requirements analysis or/and
specifications to understandspecifications to understand
 current systems or business processes which we are
trying to automate
 how users will use a new system
– 4 –
The software requirements
document
The software requirements document is the officialThe software requirements document is the official
statement of what is required of the systemstatement of what is required of the system
developers.developers.
Should include both a definition of userShould include both a definition of user
requirements and a specification of the systemrequirements and a specification of the system
requirements.requirements.
It is NOT a design document. As far as possible, itIt is NOT a design document. As far as possible, it
should set WHAT the system should do rathershould set WHAT the system should do rather
than HOW it should do it.than HOW it should do it.
4
– 5 –
Agile methods and
requirements
Many agile methods argue that producing aMany agile methods argue that producing a
requirements document is a waste of time asrequirements document is a waste of time as
requirements change so quickly.requirements change so quickly.
The document is therefore always out of date.The document is therefore always out of date.
Methods such as XP use incremental requirementsMethods such as XP use incremental requirements
engineering and express requirements asengineering and express requirements as ‘user‘user
stories’stories’
This is practical for business systems and gamesThis is practical for business systems and games
but problematic for systems that require a lot ofbut problematic for systems that require a lot of
pre-delivery analysis (e.g. critical systems) orpre-delivery analysis (e.g. critical systems) or
systems developed by several teams, e.g.,systems developed by several teams, e.g.,
large government systems.large government systems.
5
– 6 –
Requirements document
variability
Information in requirements document depends onInformation in requirements document depends on
the type of system and the approach tothe type of system and the approach to
development used.development used.
Systems developed incrementally will, typically,Systems developed incrementally will, typically,
have less detail in the requirements document.have less detail in the requirements document.
Requirements documents standards have beenRequirements documents standards have been
designed e.g. IEEE standard. These are mostlydesigned e.g. IEEE standard. These are mostly
applicable to the requirements for large systemsapplicable to the requirements for large systems
engineering projects.engineering projects.
6
– 7 –
Requirements and Design
In principle, requirements should state what theIn principle, requirements should state what the
system should do and the design shouldsystem should do and the design should
describe how it does this.describe how it does this.
In practice, requirements and design areIn practice, requirements and design are
inseparableinseparable
 A system architecture may be designed to
structure the requirements;
 The system may inter-operate with other
systems that generate design requirements;
 The use of a specific architecture to satisfy
non-functional requirements may be a domain
requirement.
 This may be the consequence of a regulatory
requirement.
– 8 –
Tools for modeling
requirements
Use CasesUse Cases – in late 70s, my advisor wrote a tech– in late 70s, my advisor wrote a tech
paper on how to do thispaper on how to do this
State DiagramsState Diagrams
UI MockupsUI Mockups – standard process in DoD and auto– standard process in DoD and auto
industry – (Not in my kitchen)industry – (Not in my kitchen)
StoryboardsStoryboards
PrototypesPrototypes
– 9 –
Functional Reqs:
What should it do?
Functional Reqs:
What should it do?
Developer
connect mysql
database to
asp .net web
…
Client
sell my
beautifu
l jewelry
Customer of client
find a
cool
ring on
sale
– 10 –
Client
sell my
beautifu
l jewelry
Customer of client
find a
cool
ring on
sale
User-centric: What, not how
Difficult to express
Functional Reqs:
What should it do?
– 11 –
Modeling functional Reqs
Identify user classesIdentify user classes
Example:
jewelry store owner
buyer of jewelry
– 12 –
Modeling functional reqs
Identify user classesIdentify user classes
For each user class identify goalsFor each user class identify goals
Example
Buyer:
search for item
place an order
return an item
– 13 –
Modeling functional reqs
Identify user classesIdentify user classes
For each user class identify goalsFor each user class identify goals
For each user class/goalFor each user class/goal
 Describe how the user will use the system
– 14 –
Example
Name: Order jewelry from a catalogName: Order jewelry from a catalog
Actors: Customer Alice, Sales rep Bob,Actors: Customer Alice, Sales rep Bob,
Stockroom, Shipping dept.Stockroom, Shipping dept.
Initiator: AliceInitiator: Alice
Scenario:Scenario:
1.1. Alice calls companyAlice calls company
2.2. Bob answers phoneBob answers phone
3.3. Alice says she wants to place an order fromAlice says she wants to place an order from
the catalogue.the catalogue.
4.4. Bob asks how the order will be paid.Bob asks how the order will be paid.
5.5. …… USE CASE
– 15 –
Forms of Use Cases
Casual –Casual – “user stories”“user stories”
Fully dressed use cases – preconditions, post-Fully dressed use cases – preconditions, post-
conditions, actors, stakeholders, etc.conditions, actors, stakeholders, etc.
…
these are cultural issues
but in agile methods, less is more
– 16 –
Key aspects of Use Case
NameName: what we call this use case: what we call this use case
ActorsActors: entities that interact with system (typically: entities that interact with system (typically
people but also can be other systems)people but also can be other systems)
InitiatorInitiator: actor who initiates the use case: actor who initiates the use case
ScenarioScenario: sequence of steps users take and how: sequence of steps users take and how
system respondssystem responds
– 17 –
Example: Main scenario
Name: Order jewelry from a catalogName: Order jewelry from a catalog
Actors: Customer Alice, Sales rep Bob, Stockroom, ShippingActors: Customer Alice, Sales rep Bob, Stockroom, Shipping
dept.dept.
Initiator: AliceInitiator: Alice
Scenario:Scenario:
1.1. Alice calls companyAlice calls company
2.2. Bob answers phoneBob answers phone
3.3. Alice says she wants to order item X.Alice says she wants to order item X.
4.4. Bob checks stockroom for availability.Bob checks stockroom for availability.
5.5. Stockroom says it is available.Stockroom says it is available.
6.6. ……
– 18 –
Main scenario with branchesMain scenario with branches
Name: Order jewelry from a catalogName: Order jewelry from a catalog
Actors: Customer Alice, Sales rep Bob, Stockroom, ShippingActors: Customer Alice, Sales rep Bob, Stockroom, Shipping
dept.dept.
Initiator: AliceInitiator: Alice
Scenario:Scenario:
1.1. Alice calls companyAlice calls company
2.2. Bob answers phoneBob answers phone
3.3. Alice says she want to order item D23 from page 5 theAlice says she want to order item D23 from page 5 the
catalogue.catalogue.
4.4. Bob checks stockroom for availability.Bob checks stockroom for availability.
5.5. Stockroom says it is available.Stockroom says it is available.
5a. Stockroom says it is not available. See order out of5a. Stockroom says it is not available. See order out of
stock item use case.stock item use case.
6. ….6. ….
Alternative path can be completed or refer to another
use case.
– 19 –
Use case development
Brainstorm to identify Use CasesBrainstorm to identify Use Cases
Validate/prioritize/ensure consistencyValidate/prioritize/ensure consistency
Elaborate high priority/complex use casesElaborate high priority/complex use cases →→
identify new Use Casesidentify new Use Cases
Repeat until _________________Repeat until _________________
Waterfall: until done – done keeps moving
Agile: until good enough for now
– 20 –
Sequence Diagram -
Alternative
Sequence Diagram -
Alternative
Alice: Customer
Bob: Sales rep Stockroom
call on phone
answers phone
wants to order
…
– 21 –
Example: Pac Man Use Cases
Actor Goal/Title Priority
User Play game 1
User Initialize game 1
User View high scores 3
User Set level 3
User Pause game 2
User Exit game 2
User Save game 3
User Change Controls 4
User Play saved game 3
– 22 –
Elaborated Use Case
Play gamePlay game::
1.1. User choosesUser chooses “Play Game” from main menu.“Play Game” from main menu.
2.2. Start level is displayed with player having 3 livesStart level is displayed with player having 3 lives
3.3. User moves Pac Man left, right, up, down –User moves Pac Man left, right, up, down – (point to(point to
other UC)other UC)
4.4. Pac Man moves to empty space, return to step 3Pac Man moves to empty space, return to step 3
4.a.4.a. Pac Man hits dot but not end of level, 50 pointsPac Man hits dot but not end of level, 50 points
awarded, return to step 3awarded, return to step 3
4.b.4.b. Pac Man hits dot and level ends, 50 points awarded andPac Man hits dot and level ends, 50 points awarded and
new level starts (seenew level starts (see start new level use casestart new level use case))
4.c. Pac Man hits ghost (see4.c. Pac Man hits ghost (see hits ghost use casehits ghost use case))
4.d. Pac Man hits a wall, can4.d. Pac Man hits a wall, can’t move any further in that’t move any further in that
direction, returns to step 3 with new constraintdirection, returns to step 3 with new constraint
etc.etc.
– 23 –
Refined Use Case
Play game:Play game:
1.1. User choosesUser chooses “Play Game” from main menu.“Play Game” from main menu.
2.2. Start levelStart level displayeddisplayed with 3 lives and 0 scorewith 3 lives and 0 score
3.3. Play level (see separate use case)Play level (see separate use case)
4.4. Repeat 3 on successive levels until game overRepeat 3 on successive levels until game over
– 24 –
Refined Use Case (no UI spec)
Play game:Play game:
1.1. User chooses to play gameUser chooses to play game
2.2. First level starts with 3 lives and 0 scoreFirst level starts with 3 lives and 0 score
2.2. Play level (see separate use case)Play level (see separate use case)
3.3. Repeat 3 on successive levels until game overRepeat 3 on successive levels until game over
How do you refine a Use Case??
Talk to user!!
– 25 –
Pac Man Use Cases
Actor Goal Priority
User Play game 1
User Play level 1
User Initialize game 1
User View high scores 3
User Set level 3
User Pause game 2
User Exit game 2
User Save game 3
User Change Controls 4
User Play saved game 3
– 26 –
Agile method: goal stackAgile method: goal stack
highest priority, best modeled
use case, e.g, Play UC
lowest priority, least modeled
use case, e.g., store game history
prioritized
use cases
– 27 –
Uses of use case
RequirementsRequirements::
 Define functional requirements
 Expose business rules (constraints on behavior)
PlanningPlanning: Suggest an iterative strategy: Suggest an iterative strategy
DesignDesign: Validate design models, i.e., does design: Validate design models, i.e., does design
provide for Use Caseprovide for Use Case
TestingTesting: Provide scenarios for validation testing: Provide scenarios for validation testing
– 28 –
Requirement Quality
Specify what not howSpecify what not how
UnambiguousUnambiguous
TestableTestable
FeasibleFeasible
ConsistentConsistent
PrioritizedPrioritized
Traceable – Agile: back to requestorTraceable – Agile: back to requestor
Interative: back to aInterative: back to a
specification #specification #
Agreed upon by customerAgreed upon by customer
How can Use Cases contribute to quality in
functional requirements?
– 29 –
Tools for modeling (functional)
requirements
Tools for modeling (functional)
requirements
Use CasesUse Cases
State DiagramsState Diagrams
UI MockupsUI Mockups
StoryboardsStoryboards
PrototypesPrototypes
good for describing
“flow”
– 30 –
State diagramsState diagrams
Moves to
empty spot
Pac Man has n lives,
score k
moves left, right, up,
down
Hits ghost:
Sound effect
n reduced by 1
Lose level
n=0
n>0
Hits dot:
Sound effect
k increased by 50
k<MAX
Win level
Play level: initialize n=3 (#lives), k=0 (level score)
k<0
– 31 –
Tools for modeling (functional)
requirements
Tools for modeling (functional)
requirements
Use CasesUse Cases
State DiagramsState Diagrams
UI MockupsUI Mockups
StoryboardsStoryboards
PrototypesPrototypes
good for describing “flow”
Better for state machines
– 32 –
UI Mock UP
• UI Mock Up (or even full design) is often
considered part of the requirements process
because it summarizes the ways a user can
interact with the system.
• UI design can also address non functional
requirements, e.g., look and feel
– 33 –
Storyboards
Good for communicating “look and feel” inGood for communicating “look and feel” in
addition to “flow”addition to “flow”
 (again addressing non-functional requirements)
 (Indian Jones vs Casablanca movies)
 Missing in my GPS experience
– 34 –
Tools for modeling (functional)
requirements
Use CasesUse Cases
State DiagramsState Diagrams
UI MockupsUI Mockups
StoryboardsStoryboards
PrototypesPrototypes
these are special cases of prototypes
– 35 –
Prototypes
Sample level with simplified art, minimal features
Use fast prototyping tools to clarify functionality, look and feel, etc.
– 36 –
Which model should you use?
All that are appropriate!
Invent new ones as needed!
– 37 –
Requirements for games
Game Designer
Management
Marketing
Users
…
Software engineers
– 38 –
Top down game specificationTop down game specification
High conceptHigh concept
Competitive analysisCompetitive analysis
Main characterMain character
Game MechanicsGame Mechanics
Underlying modelsUnderlying models
Major featuresMajor features
Look and feelLook and feel
ScoringScoring
UIUI
etc.etc.
Traditional
Game Design Document
“Game Bible”
– 39 –
Bottom up game specificationBottom up game specification
Use casesUse cases
State diagramsState diagrams
UI mock upsUI mock ups
StoryboardsStoryboards
PrototypesPrototypes
Make your vision “concrete”
Discover technical requirements:
• Display sprite
• Move sprite
• Detect collision
• etc.
Address feasibility
Suggest iterative design/development
strategy
– 40 –
Agile method: goal stack
initial top goals – risks, proof of conceptinitial top goals – risks, proof of concept
move
sprite
display
sprite
level 0
prioritized
use cases,
proofs of concept
proof of concept to
understand feasibility
use case

Weitere ähnliche Inhalte

Was ist angesagt?

CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddelCHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddelmohamed khalaf alla mohamedain
 
Software Engineering unit 3
Software Engineering unit 3Software Engineering unit 3
Software Engineering unit 3Abhimanyu Mishra
 
Software Design Document
Software Design DocumentSoftware Design Document
Software Design DocumentNadia Nahar
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineeringPreeti Mishra
 
Software myths | Software Engineering Notes
Software myths | Software Engineering NotesSoftware myths | Software Engineering Notes
Software myths | Software Engineering NotesNavjyotsinh Jadeja
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software EngineeringSaqib Raza
 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineeringDarshit Metaliya
 
Evolving role of Software
Evolving role of SoftwareEvolving role of Software
Evolving role of SoftwareShankar Dahal
 
Analysis modeling & scenario based modeling
Analysis modeling &  scenario based modeling Analysis modeling &  scenario based modeling
Analysis modeling & scenario based modeling Benazir Fathima
 
Software Engineering Layered Technology Software Process Framework
Software Engineering  Layered Technology Software Process FrameworkSoftware Engineering  Layered Technology Software Process Framework
Software Engineering Layered Technology Software Process FrameworkJAINAM KAPADIYA
 
Evolving role of Software,Legacy software,CASE tools,Process Models,CMMI
Evolving role of Software,Legacy software,CASE tools,Process Models,CMMIEvolving role of Software,Legacy software,CASE tools,Process Models,CMMI
Evolving role of Software,Legacy software,CASE tools,Process Models,CMMInimmik4u
 
Sequence diagram
Sequence diagramSequence diagram
Sequence diagramRahul Pola
 
Software estimation
Software estimationSoftware estimation
Software estimationMd Shakir
 
8 - Architetture Software - Architecture centric processes
8 - Architetture Software - Architecture centric processes8 - Architetture Software - Architecture centric processes
8 - Architetture Software - Architecture centric processesMajong DevJfu
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process ModelsHassan A-j
 

Was ist angesagt? (20)

CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddelCHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
 
Software Engineering unit 3
Software Engineering unit 3Software Engineering unit 3
Software Engineering unit 3
 
Software Design Document
Software Design DocumentSoftware Design Document
Software Design Document
 
Software Engineering by Pankaj Jalote
Software Engineering by Pankaj JaloteSoftware Engineering by Pankaj Jalote
Software Engineering by Pankaj Jalote
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineering
 
Software myths | Software Engineering Notes
Software myths | Software Engineering NotesSoftware myths | Software Engineering Notes
Software myths | Software Engineering Notes
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineering
 
Evolving role of Software
Evolving role of SoftwareEvolving role of Software
Evolving role of Software
 
Analysis modeling & scenario based modeling
Analysis modeling &  scenario based modeling Analysis modeling &  scenario based modeling
Analysis modeling & scenario based modeling
 
Software Engineering Layered Technology Software Process Framework
Software Engineering  Layered Technology Software Process FrameworkSoftware Engineering  Layered Technology Software Process Framework
Software Engineering Layered Technology Software Process Framework
 
Operators and expression in c#
Operators and expression in c#Operators and expression in c#
Operators and expression in c#
 
Unit 2
Unit 2Unit 2
Unit 2
 
Evolving role of Software,Legacy software,CASE tools,Process Models,CMMI
Evolving role of Software,Legacy software,CASE tools,Process Models,CMMIEvolving role of Software,Legacy software,CASE tools,Process Models,CMMI
Evolving role of Software,Legacy software,CASE tools,Process Models,CMMI
 
Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented Design
 
Sequence diagram
Sequence diagramSequence diagram
Sequence diagram
 
software engineering
software engineeringsoftware engineering
software engineering
 
Software estimation
Software estimationSoftware estimation
Software estimation
 
8 - Architetture Software - Architecture centric processes
8 - Architetture Software - Architecture centric processes8 - Architetture Software - Architecture centric processes
8 - Architetture Software - Architecture centric processes
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 

Andere mochten auch

3 d modelling_task_sheet_2014_yr12
3 d modelling_task_sheet_2014_yr123 d modelling_task_sheet_2014_yr12
3 d modelling_task_sheet_2014_yr12hccit
 
Supermarket delivery system
Supermarket delivery systemSupermarket delivery system
Supermarket delivery systemmwrye
 
Software Engineering- Crisis and Process Models
Software Engineering- Crisis and Process ModelsSoftware Engineering- Crisis and Process Models
Software Engineering- Crisis and Process ModelsNishu Rastogi
 
Ch5- Software Engineering 9
Ch5- Software Engineering 9Ch5- Software Engineering 9
Ch5- Software Engineering 9Ian Sommerville
 
software development, process model, requirement engineering, srs, structured...
software development, process model, requirement engineering, srs, structured...software development, process model, requirement engineering, srs, structured...
software development, process model, requirement engineering, srs, structured...Ashok Mohanty
 
A Complete Model Of The Supermarket Business - Presentation
A Complete Model Of The Supermarket Business - PresentationA Complete Model Of The Supermarket Business - Presentation
A Complete Model Of The Supermarket Business - PresentationFrank Steeneken
 
Requirements engineering process in software engineering
Requirements engineering process in software engineeringRequirements engineering process in software engineering
Requirements engineering process in software engineeringPreeti Mishra
 
Supermarket Business Plan
Supermarket Business PlanSupermarket Business Plan
Supermarket Business PlanYuya Kaneda
 
System Analysis and Design
System Analysis and DesignSystem Analysis and Design
System Analysis and DesignAamir Abbas
 
Introduction To Software Engineering
Introduction To Software EngineeringIntroduction To Software Engineering
Introduction To Software EngineeringLeyla Bonilla
 

Andere mochten auch (16)

JAD Guidelines
JAD GuidelinesJAD Guidelines
JAD Guidelines
 
3 d modelling_task_sheet_2014_yr12
3 d modelling_task_sheet_2014_yr123 d modelling_task_sheet_2014_yr12
3 d modelling_task_sheet_2014_yr12
 
Sadchap3
Sadchap3Sadchap3
Sadchap3
 
Requirement Engineering
Requirement EngineeringRequirement Engineering
Requirement Engineering
 
Supermarket delivery system
Supermarket delivery systemSupermarket delivery system
Supermarket delivery system
 
Software Engineering- Crisis and Process Models
Software Engineering- Crisis and Process ModelsSoftware Engineering- Crisis and Process Models
Software Engineering- Crisis and Process Models
 
Requirements Engineering
Requirements EngineeringRequirements Engineering
Requirements Engineering
 
Supermarkets
SupermarketsSupermarkets
Supermarkets
 
Ch5- Software Engineering 9
Ch5- Software Engineering 9Ch5- Software Engineering 9
Ch5- Software Engineering 9
 
software engineering
 software engineering software engineering
software engineering
 
software development, process model, requirement engineering, srs, structured...
software development, process model, requirement engineering, srs, structured...software development, process model, requirement engineering, srs, structured...
software development, process model, requirement engineering, srs, structured...
 
A Complete Model Of The Supermarket Business - Presentation
A Complete Model Of The Supermarket Business - PresentationA Complete Model Of The Supermarket Business - Presentation
A Complete Model Of The Supermarket Business - Presentation
 
Requirements engineering process in software engineering
Requirements engineering process in software engineeringRequirements engineering process in software engineering
Requirements engineering process in software engineering
 
Supermarket Business Plan
Supermarket Business PlanSupermarket Business Plan
Supermarket Business Plan
 
System Analysis and Design
System Analysis and DesignSystem Analysis and Design
System Analysis and Design
 
Introduction To Software Engineering
Introduction To Software EngineeringIntroduction To Software Engineering
Introduction To Software Engineering
 

Ähnlich wie Requirement modeling

Lecture_four-_Requirements_Modeling (1).pptx
Lecture_four-_Requirements_Modeling (1).pptxLecture_four-_Requirements_Modeling (1).pptx
Lecture_four-_Requirements_Modeling (1).pptxGracePeter10
 
Chapter 3.pptx
Chapter 3.pptxChapter 3.pptx
Chapter 3.pptxTekle12
 
Performance Requirements: the Backbone of the Performance Engineering Process
Performance Requirements: the Backbone of the Performance Engineering ProcessPerformance Requirements: the Backbone of the Performance Engineering Process
Performance Requirements: the Backbone of the Performance Engineering ProcessAlexander Podelko
 
StructureofUseCases.ppt
StructureofUseCases.pptStructureofUseCases.ppt
StructureofUseCases.pptssuser28dc54
 
RTDesignWithUMLUseCase.ppt
RTDesignWithUMLUseCase.pptRTDesignWithUMLUseCase.ppt
RTDesignWithUMLUseCase.pptShashikanth
 
Software Requirements Specification-SRS for GIS.pdf
Software Requirements Specification-SRS for GIS.pdfSoftware Requirements Specification-SRS for GIS.pdf
Software Requirements Specification-SRS for GIS.pdfJOHNADEMILUYI3
 
8 Usability Lessons from the UPA Conference by Mark Alves
8 Usability Lessons from the UPA Conference by Mark Alves8 Usability Lessons from the UPA Conference by Mark Alves
8 Usability Lessons from the UPA Conference by Mark AlvesMark Alves
 
SE-Lecture 2A-Requirements.pptx
SE-Lecture 2A-Requirements.pptxSE-Lecture 2A-Requirements.pptx
SE-Lecture 2A-Requirements.pptxTangZhiSiang
 
Software engineering requirements help11
Software engineering requirements help11Software engineering requirements help11
Software engineering requirements help11ssusere9d840
 
Lecture 11 understanding requirements (3)
Lecture 11   understanding requirements (3)Lecture 11   understanding requirements (3)
Lecture 11 understanding requirements (3)IIUI
 
Fundamentals of software development
Fundamentals of software developmentFundamentals of software development
Fundamentals of software developmentPratik Devmurari
 

Ähnlich wie Requirement modeling (20)

Lecture_four-_Requirements_Modeling (1).pptx
Lecture_four-_Requirements_Modeling (1).pptxLecture_four-_Requirements_Modeling (1).pptx
Lecture_four-_Requirements_Modeling (1).pptx
 
Unix commands
Unix commandsUnix commands
Unix commands
 
Chapter 3.pptx
Chapter 3.pptxChapter 3.pptx
Chapter 3.pptx
 
Review of an open source unit test tool- Cucumber_Presentation
Review of an open source unit test tool- Cucumber_PresentationReview of an open source unit test tool- Cucumber_Presentation
Review of an open source unit test tool- Cucumber_Presentation
 
Performance Requirements: the Backbone of the Performance Engineering Process
Performance Requirements: the Backbone of the Performance Engineering ProcessPerformance Requirements: the Backbone of the Performance Engineering Process
Performance Requirements: the Backbone of the Performance Engineering Process
 
Use Case
Use CaseUse Case
Use Case
 
Ch 13 system analysis
Ch 13 system analysisCh 13 system analysis
Ch 13 system analysis
 
StructureofUseCases.ppt
StructureofUseCases.pptStructureofUseCases.ppt
StructureofUseCases.ppt
 
RTDesignWithUMLUseCase.ppt
RTDesignWithUMLUseCase.pptRTDesignWithUMLUseCase.ppt
RTDesignWithUMLUseCase.ppt
 
Spec lectures
Spec lecturesSpec lectures
Spec lectures
 
3Requirements.ppt
3Requirements.ppt3Requirements.ppt
3Requirements.ppt
 
How to write use cases
How to write use casesHow to write use cases
How to write use cases
 
Software Requirements Specification-SRS for GIS.pdf
Software Requirements Specification-SRS for GIS.pdfSoftware Requirements Specification-SRS for GIS.pdf
Software Requirements Specification-SRS for GIS.pdf
 
8 Usability Lessons from the UPA Conference by Mark Alves
8 Usability Lessons from the UPA Conference by Mark Alves8 Usability Lessons from the UPA Conference by Mark Alves
8 Usability Lessons from the UPA Conference by Mark Alves
 
SE-Lecture 2A-Requirements.pptx
SE-Lecture 2A-Requirements.pptxSE-Lecture 2A-Requirements.pptx
SE-Lecture 2A-Requirements.pptx
 
Manual testing
Manual testingManual testing
Manual testing
 
Software engineering requirements help11
Software engineering requirements help11Software engineering requirements help11
Software engineering requirements help11
 
Lecture 11 understanding requirements (3)
Lecture 11   understanding requirements (3)Lecture 11   understanding requirements (3)
Lecture 11 understanding requirements (3)
 
Refactoring a web application with Python
Refactoring a web application with PythonRefactoring a web application with Python
Refactoring a web application with Python
 
Fundamentals of software development
Fundamentals of software developmentFundamentals of software development
Fundamentals of software development
 

Mehr von Abdul Basit

Atlassian git cheatsheet
Atlassian git cheatsheetAtlassian git cheatsheet
Atlassian git cheatsheetAbdul Basit
 
Github git-cheat-sheet
Github git-cheat-sheetGithub git-cheat-sheet
Github git-cheat-sheetAbdul Basit
 
White box testing
White box testingWhite box testing
White box testingAbdul Basit
 
Testing the documentation
Testing the documentationTesting the documentation
Testing the documentationAbdul Basit
 
Testing software security
Testing software securityTesting software security
Testing software securityAbdul Basit
 
Testing fundamentals
Testing fundamentalsTesting fundamentals
Testing fundamentalsAbdul Basit
 
Test cases planning
Test cases planningTest cases planning
Test cases planningAbdul Basit
 
Software Testing
Software TestingSoftware Testing
Software TestingAbdul Basit
 
Software Compatibility testing
Software Compatibility testingSoftware Compatibility testing
Software Compatibility testingAbdul Basit
 
Black box testing
Black box testingBlack box testing
Black box testingAbdul Basit
 
Software Automated testing and tools
Software Automated testing and toolsSoftware Automated testing and tools
Software Automated testing and toolsAbdul Basit
 
Why test software
Why test softwareWhy test software
Why test softwareAbdul Basit
 
Git Developer Cheatsheet
Git Developer CheatsheetGit Developer Cheatsheet
Git Developer CheatsheetAbdul Basit
 
Static white box testing lecture 12
Static white box testing lecture 12Static white box testing lecture 12
Static white box testing lecture 12Abdul Basit
 
Software testing lecture 10
Software testing lecture 10Software testing lecture 10
Software testing lecture 10Abdul Basit
 
Software testing lecture 9
Software testing lecture 9Software testing lecture 9
Software testing lecture 9Abdul Basit
 
Software quality assurance lecture 1
Software quality assurance lecture 1Software quality assurance lecture 1
Software quality assurance lecture 1Abdul Basit
 
Software measurement lecture 7
Software measurement lecture 7Software measurement lecture 7
Software measurement lecture 7Abdul Basit
 

Mehr von Abdul Basit (20)

Atlassian git cheatsheet
Atlassian git cheatsheetAtlassian git cheatsheet
Atlassian git cheatsheet
 
Github git-cheat-sheet
Github git-cheat-sheetGithub git-cheat-sheet
Github git-cheat-sheet
 
White box testing
White box testingWhite box testing
White box testing
 
Web testing
Web testingWeb testing
Web testing
 
Testing the documentation
Testing the documentationTesting the documentation
Testing the documentation
 
Testing software security
Testing software securityTesting software security
Testing software security
 
Testing fundamentals
Testing fundamentalsTesting fundamentals
Testing fundamentals
 
Test planning
Test planningTest planning
Test planning
 
Test cases planning
Test cases planningTest cases planning
Test cases planning
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
Software Compatibility testing
Software Compatibility testingSoftware Compatibility testing
Software Compatibility testing
 
Black box testing
Black box testingBlack box testing
Black box testing
 
Software Automated testing and tools
Software Automated testing and toolsSoftware Automated testing and tools
Software Automated testing and tools
 
Why test software
Why test softwareWhy test software
Why test software
 
Git Developer Cheatsheet
Git Developer CheatsheetGit Developer Cheatsheet
Git Developer Cheatsheet
 
Static white box testing lecture 12
Static white box testing lecture 12Static white box testing lecture 12
Static white box testing lecture 12
 
Software testing lecture 10
Software testing lecture 10Software testing lecture 10
Software testing lecture 10
 
Software testing lecture 9
Software testing lecture 9Software testing lecture 9
Software testing lecture 9
 
Software quality assurance lecture 1
Software quality assurance lecture 1Software quality assurance lecture 1
Software quality assurance lecture 1
 
Software measurement lecture 7
Software measurement lecture 7Software measurement lecture 7
Software measurement lecture 7
 

Kürzlich hochgeladen

Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfJayanti Pande
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajanpragatimahajan3
 
9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room servicediscovermytutordmt
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpinRaunakKeshri1
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsTechSoup
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxVishalSingh1417
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhikauryashika82
 
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...PsychoTech Services
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactPECB
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingTechSoup
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...fonyou31
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 

Kürzlich hochgeladen (20)

Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajan
 
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room service
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpin
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
Advance Mobile Application Development class 07
Advance Mobile Application Development class 07Advance Mobile Application Development class 07
Advance Mobile Application Development class 07
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 

Requirement modeling

  • 2. – 2 – Modeling Requirements:Modeling Requirements: from customer views to something translatablefrom customer views to something translatable to softwareto software echniques for developing functional requirements What the software is supposed to do!
  • 3. – 3 – Requirements modeling We build models in requirements analysis or/andWe build models in requirements analysis or/and specifications to understandspecifications to understand  current systems or business processes which we are trying to automate  how users will use a new system
  • 4. – 4 – The software requirements document The software requirements document is the officialThe software requirements document is the official statement of what is required of the systemstatement of what is required of the system developers.developers. Should include both a definition of userShould include both a definition of user requirements and a specification of the systemrequirements and a specification of the system requirements.requirements. It is NOT a design document. As far as possible, itIt is NOT a design document. As far as possible, it should set WHAT the system should do rathershould set WHAT the system should do rather than HOW it should do it.than HOW it should do it. 4
  • 5. – 5 – Agile methods and requirements Many agile methods argue that producing aMany agile methods argue that producing a requirements document is a waste of time asrequirements document is a waste of time as requirements change so quickly.requirements change so quickly. The document is therefore always out of date.The document is therefore always out of date. Methods such as XP use incremental requirementsMethods such as XP use incremental requirements engineering and express requirements asengineering and express requirements as ‘user‘user stories’stories’ This is practical for business systems and gamesThis is practical for business systems and games but problematic for systems that require a lot ofbut problematic for systems that require a lot of pre-delivery analysis (e.g. critical systems) orpre-delivery analysis (e.g. critical systems) or systems developed by several teams, e.g.,systems developed by several teams, e.g., large government systems.large government systems. 5
  • 6. – 6 – Requirements document variability Information in requirements document depends onInformation in requirements document depends on the type of system and the approach tothe type of system and the approach to development used.development used. Systems developed incrementally will, typically,Systems developed incrementally will, typically, have less detail in the requirements document.have less detail in the requirements document. Requirements documents standards have beenRequirements documents standards have been designed e.g. IEEE standard. These are mostlydesigned e.g. IEEE standard. These are mostly applicable to the requirements for large systemsapplicable to the requirements for large systems engineering projects.engineering projects. 6
  • 7. – 7 – Requirements and Design In principle, requirements should state what theIn principle, requirements should state what the system should do and the design shouldsystem should do and the design should describe how it does this.describe how it does this. In practice, requirements and design areIn practice, requirements and design are inseparableinseparable  A system architecture may be designed to structure the requirements;  The system may inter-operate with other systems that generate design requirements;  The use of a specific architecture to satisfy non-functional requirements may be a domain requirement.  This may be the consequence of a regulatory requirement.
  • 8. – 8 – Tools for modeling requirements Use CasesUse Cases – in late 70s, my advisor wrote a tech– in late 70s, my advisor wrote a tech paper on how to do thispaper on how to do this State DiagramsState Diagrams UI MockupsUI Mockups – standard process in DoD and auto– standard process in DoD and auto industry – (Not in my kitchen)industry – (Not in my kitchen) StoryboardsStoryboards PrototypesPrototypes
  • 9. – 9 – Functional Reqs: What should it do? Functional Reqs: What should it do? Developer connect mysql database to asp .net web … Client sell my beautifu l jewelry Customer of client find a cool ring on sale
  • 10. – 10 – Client sell my beautifu l jewelry Customer of client find a cool ring on sale User-centric: What, not how Difficult to express Functional Reqs: What should it do?
  • 11. – 11 – Modeling functional Reqs Identify user classesIdentify user classes Example: jewelry store owner buyer of jewelry
  • 12. – 12 – Modeling functional reqs Identify user classesIdentify user classes For each user class identify goalsFor each user class identify goals Example Buyer: search for item place an order return an item
  • 13. – 13 – Modeling functional reqs Identify user classesIdentify user classes For each user class identify goalsFor each user class identify goals For each user class/goalFor each user class/goal  Describe how the user will use the system
  • 14. – 14 – Example Name: Order jewelry from a catalogName: Order jewelry from a catalog Actors: Customer Alice, Sales rep Bob,Actors: Customer Alice, Sales rep Bob, Stockroom, Shipping dept.Stockroom, Shipping dept. Initiator: AliceInitiator: Alice Scenario:Scenario: 1.1. Alice calls companyAlice calls company 2.2. Bob answers phoneBob answers phone 3.3. Alice says she wants to place an order fromAlice says she wants to place an order from the catalogue.the catalogue. 4.4. Bob asks how the order will be paid.Bob asks how the order will be paid. 5.5. …… USE CASE
  • 15. – 15 – Forms of Use Cases Casual –Casual – “user stories”“user stories” Fully dressed use cases – preconditions, post-Fully dressed use cases – preconditions, post- conditions, actors, stakeholders, etc.conditions, actors, stakeholders, etc. … these are cultural issues but in agile methods, less is more
  • 16. – 16 – Key aspects of Use Case NameName: what we call this use case: what we call this use case ActorsActors: entities that interact with system (typically: entities that interact with system (typically people but also can be other systems)people but also can be other systems) InitiatorInitiator: actor who initiates the use case: actor who initiates the use case ScenarioScenario: sequence of steps users take and how: sequence of steps users take and how system respondssystem responds
  • 17. – 17 – Example: Main scenario Name: Order jewelry from a catalogName: Order jewelry from a catalog Actors: Customer Alice, Sales rep Bob, Stockroom, ShippingActors: Customer Alice, Sales rep Bob, Stockroom, Shipping dept.dept. Initiator: AliceInitiator: Alice Scenario:Scenario: 1.1. Alice calls companyAlice calls company 2.2. Bob answers phoneBob answers phone 3.3. Alice says she wants to order item X.Alice says she wants to order item X. 4.4. Bob checks stockroom for availability.Bob checks stockroom for availability. 5.5. Stockroom says it is available.Stockroom says it is available. 6.6. ……
  • 18. – 18 – Main scenario with branchesMain scenario with branches Name: Order jewelry from a catalogName: Order jewelry from a catalog Actors: Customer Alice, Sales rep Bob, Stockroom, ShippingActors: Customer Alice, Sales rep Bob, Stockroom, Shipping dept.dept. Initiator: AliceInitiator: Alice Scenario:Scenario: 1.1. Alice calls companyAlice calls company 2.2. Bob answers phoneBob answers phone 3.3. Alice says she want to order item D23 from page 5 theAlice says she want to order item D23 from page 5 the catalogue.catalogue. 4.4. Bob checks stockroom for availability.Bob checks stockroom for availability. 5.5. Stockroom says it is available.Stockroom says it is available. 5a. Stockroom says it is not available. See order out of5a. Stockroom says it is not available. See order out of stock item use case.stock item use case. 6. ….6. …. Alternative path can be completed or refer to another use case.
  • 19. – 19 – Use case development Brainstorm to identify Use CasesBrainstorm to identify Use Cases Validate/prioritize/ensure consistencyValidate/prioritize/ensure consistency Elaborate high priority/complex use casesElaborate high priority/complex use cases →→ identify new Use Casesidentify new Use Cases Repeat until _________________Repeat until _________________ Waterfall: until done – done keeps moving Agile: until good enough for now
  • 20. – 20 – Sequence Diagram - Alternative Sequence Diagram - Alternative Alice: Customer Bob: Sales rep Stockroom call on phone answers phone wants to order …
  • 21. – 21 – Example: Pac Man Use Cases Actor Goal/Title Priority User Play game 1 User Initialize game 1 User View high scores 3 User Set level 3 User Pause game 2 User Exit game 2 User Save game 3 User Change Controls 4 User Play saved game 3
  • 22. – 22 – Elaborated Use Case Play gamePlay game:: 1.1. User choosesUser chooses “Play Game” from main menu.“Play Game” from main menu. 2.2. Start level is displayed with player having 3 livesStart level is displayed with player having 3 lives 3.3. User moves Pac Man left, right, up, down –User moves Pac Man left, right, up, down – (point to(point to other UC)other UC) 4.4. Pac Man moves to empty space, return to step 3Pac Man moves to empty space, return to step 3 4.a.4.a. Pac Man hits dot but not end of level, 50 pointsPac Man hits dot but not end of level, 50 points awarded, return to step 3awarded, return to step 3 4.b.4.b. Pac Man hits dot and level ends, 50 points awarded andPac Man hits dot and level ends, 50 points awarded and new level starts (seenew level starts (see start new level use casestart new level use case)) 4.c. Pac Man hits ghost (see4.c. Pac Man hits ghost (see hits ghost use casehits ghost use case)) 4.d. Pac Man hits a wall, can4.d. Pac Man hits a wall, can’t move any further in that’t move any further in that direction, returns to step 3 with new constraintdirection, returns to step 3 with new constraint etc.etc.
  • 23. – 23 – Refined Use Case Play game:Play game: 1.1. User choosesUser chooses “Play Game” from main menu.“Play Game” from main menu. 2.2. Start levelStart level displayeddisplayed with 3 lives and 0 scorewith 3 lives and 0 score 3.3. Play level (see separate use case)Play level (see separate use case) 4.4. Repeat 3 on successive levels until game overRepeat 3 on successive levels until game over
  • 24. – 24 – Refined Use Case (no UI spec) Play game:Play game: 1.1. User chooses to play gameUser chooses to play game 2.2. First level starts with 3 lives and 0 scoreFirst level starts with 3 lives and 0 score 2.2. Play level (see separate use case)Play level (see separate use case) 3.3. Repeat 3 on successive levels until game overRepeat 3 on successive levels until game over How do you refine a Use Case?? Talk to user!!
  • 25. – 25 – Pac Man Use Cases Actor Goal Priority User Play game 1 User Play level 1 User Initialize game 1 User View high scores 3 User Set level 3 User Pause game 2 User Exit game 2 User Save game 3 User Change Controls 4 User Play saved game 3
  • 26. – 26 – Agile method: goal stackAgile method: goal stack highest priority, best modeled use case, e.g, Play UC lowest priority, least modeled use case, e.g., store game history prioritized use cases
  • 27. – 27 – Uses of use case RequirementsRequirements::  Define functional requirements  Expose business rules (constraints on behavior) PlanningPlanning: Suggest an iterative strategy: Suggest an iterative strategy DesignDesign: Validate design models, i.e., does design: Validate design models, i.e., does design provide for Use Caseprovide for Use Case TestingTesting: Provide scenarios for validation testing: Provide scenarios for validation testing
  • 28. – 28 – Requirement Quality Specify what not howSpecify what not how UnambiguousUnambiguous TestableTestable FeasibleFeasible ConsistentConsistent PrioritizedPrioritized Traceable – Agile: back to requestorTraceable – Agile: back to requestor Interative: back to aInterative: back to a specification #specification # Agreed upon by customerAgreed upon by customer How can Use Cases contribute to quality in functional requirements?
  • 29. – 29 – Tools for modeling (functional) requirements Tools for modeling (functional) requirements Use CasesUse Cases State DiagramsState Diagrams UI MockupsUI Mockups StoryboardsStoryboards PrototypesPrototypes good for describing “flow”
  • 30. – 30 – State diagramsState diagrams Moves to empty spot Pac Man has n lives, score k moves left, right, up, down Hits ghost: Sound effect n reduced by 1 Lose level n=0 n>0 Hits dot: Sound effect k increased by 50 k<MAX Win level Play level: initialize n=3 (#lives), k=0 (level score) k<0
  • 31. – 31 – Tools for modeling (functional) requirements Tools for modeling (functional) requirements Use CasesUse Cases State DiagramsState Diagrams UI MockupsUI Mockups StoryboardsStoryboards PrototypesPrototypes good for describing “flow” Better for state machines
  • 32. – 32 – UI Mock UP • UI Mock Up (or even full design) is often considered part of the requirements process because it summarizes the ways a user can interact with the system. • UI design can also address non functional requirements, e.g., look and feel
  • 33. – 33 – Storyboards Good for communicating “look and feel” inGood for communicating “look and feel” in addition to “flow”addition to “flow”  (again addressing non-functional requirements)  (Indian Jones vs Casablanca movies)  Missing in my GPS experience
  • 34. – 34 – Tools for modeling (functional) requirements Use CasesUse Cases State DiagramsState Diagrams UI MockupsUI Mockups StoryboardsStoryboards PrototypesPrototypes these are special cases of prototypes
  • 35. – 35 – Prototypes Sample level with simplified art, minimal features Use fast prototyping tools to clarify functionality, look and feel, etc.
  • 36. – 36 – Which model should you use? All that are appropriate! Invent new ones as needed!
  • 37. – 37 – Requirements for games Game Designer Management Marketing Users … Software engineers
  • 38. – 38 – Top down game specificationTop down game specification High conceptHigh concept Competitive analysisCompetitive analysis Main characterMain character Game MechanicsGame Mechanics Underlying modelsUnderlying models Major featuresMajor features Look and feelLook and feel ScoringScoring UIUI etc.etc. Traditional Game Design Document “Game Bible”
  • 39. – 39 – Bottom up game specificationBottom up game specification Use casesUse cases State diagramsState diagrams UI mock upsUI mock ups StoryboardsStoryboards PrototypesPrototypes Make your vision “concrete” Discover technical requirements: • Display sprite • Move sprite • Detect collision • etc. Address feasibility Suggest iterative design/development strategy
  • 40. – 40 – Agile method: goal stack initial top goals – risks, proof of conceptinitial top goals – risks, proof of concept move sprite display sprite level 0 prioritized use cases, proofs of concept proof of concept to understand feasibility use case