www.ddss.arch.tue.nl 7m822 software requirements a use case approach 14 september 2010
Post on 21-Dec-2015
215 views
TRANSCRIPT
www.ddss.arch.tue.nl
7M8227M822
Software RequirementsA Use Case Approach
Software RequirementsA Use Case Approach
14 September 2010
www.ddss.arch.tue.nl
7M8227M822
Software RequirementsSoftware Requirements
The Rock Problem ?! [Ed Yourdon]
2
www.ddss.arch.tue.nl
7M8227M822
Software systems natureSoftware systems nature
• Software systems by their nature are– intangible– abstract– complex– infinitely changeable
3
www.ddss.arch.tue.nl
7M8227M822
Requirements engineeringRequirements engineering
• Get a complete description of the problem– feasibility study
• Get a complete description of the problemGet a complete description of the problem– feasibility studyfeasibility study
• Process of establishing the services that the customer requires from a system– elicitation– specification– validation
4
www.ddss.arch.tue.nl
7M8227M822
Software developmentSoftware development
• Goal– to develop quality software that meets customers’ needs
• What is this software supposed to do?
• How, exactly, will we know when the software does exactly that and nothing else?
5
www.ddss.arch.tue.nl
7M8227M822
Software requirementSoftware requirement
• A software requirement is a capability needed by the user to solve a problem to achieve an objective, and
is imposed on the system
6
www.ddss.arch.tue.nl
7M8227M822
Problem domainProblem domain
• The problem domain is the home of those people (real users, other stakeholders)
whose needs must be addressed
in order to build the perfect system.
7
www.ddss.arch.tue.nl
7M8227M822
Stage
Relative cost to repair a defect
Derived from: Alan Davis, Software Requirements: objects,functions and states; Prentice-Hall, 1993
Requirements time
Design
Coding
Unit test
Acceptance test
Maintenance
.1-.2
.5
1
2
5
20
9
www.ddss.arch.tue.nl
7M8227M822
Functional requirementsFunctional requirements
• Find the solution for the user needs by proposing objectives for the system that involves– problem definition– identifying the users– defining the solution system boundary– identifying the constraints
10
www.ddss.arch.tue.nl
7M8227M822
Defining solutions system boundaryDefining solutions system boundary
SystemInputs Outputs
inputs / system / outputs relationship
Of concern:
1. Our system
2. Things that interact with our system
actor
11
www.ddss.arch.tue.nl
7M8227M822
System boundarySystem boundary
Our Solution
Users
Other Systems
System Boundary
I/O
I/O
12
www.ddss.arch.tue.nl
7M8227M822
System perspectiveSystem perspective
New Solution
Users
Catalog system
System Boundary
Library system
13
www.ddss.arch.tue.nl
7M8227M822
Use case approach Use case approach
Lending services
User administration
Books database
Library user
Library staff
library system
14
www.ddss.arch.tue.nl
7M8227M822
NS Ticket machine – a use case approachNS Ticket machine – a use case approach
Traveler
Purchase Ticket
Maintenance basic data
NSTake ticket
Destination
15
www.ddss.arch.tue.nl
7M8227M822
Example Use CasesExample Use Cases
• A simple word processor is required to create new and edit existing documents.
• Also the ability to print is required.
Question?Find the system boundary, actors and use cases
16