Lecture 2 - Goal-Design Scale-5
Lecture 2 - Goal-Design Scale-5
SWE30003
Software Architectures and Design
Lecture 2
User Tasks, Goal-Design Scale
Convenor/Lecturer:
Prof Jun Han
Email: jhan@[Link]
Phone: (03) 9214 5732
Consultation: by prior email appointment
Tutors:
see Canvas under “Modules/Staff Details”
Logistical matters
Announcements/reminders:
Assignment 1 spec to be released this week (week 2) –
watch for announcement
Weekly submissions – A & Q:
Week 2: xxx & yyy out of 430;
Week 3: …
Prototyping Validation
Elicitation Design
SDLC model
defines order
Testing and repetition. Analysis
Maintenance Coding
Deployment
Phase Out
5
Principal References
Outline
Requirements
Requirements Engineering Process / Activities
Types of Requirements
Analysis
Contract
Reqspec
Design
Tracing:
Forwards . . . Program
Backwards . . .
Requirements management: Test
Changing requirements
Op &
maint 8
9
©©
IanOscar
Sommerville 2000
Nierstrasz
10
Requirements Elicitation
Sometimes called requirements discovery.
Expert staff work with customers to determine
the application domain,
the services (functionality and quality) that the system must
provide, and
the system’s operational constraints.
11
11
Requirements Analysis
Requires collaboration of people with different
backgrounds
Users with application domain knowledge
Developers with implementation domain knowledge
12
12
13
13
Types of Requirements
Quality reqs:
Interfaces
User Performance
Platform: Usability
groups Hardware, O/S Maintainability
Sensors, Actuators ...
System
Other deliverables:
Ext. products: Documentation
3rd Party Software, Install, convert,
Database train . . .
Data requirements: Managerial reqs:
System state: Common states, Delivery time
Input/output formats, Persistent Data Legal
Development
Functional requirements, each interface: process . . .
Record, compute, transform, transmit
Theory: F(input, state) -> (output, state) Helping the reader:
Business goals
Function list, pseudo code, activity diagrams
Definitions
Screen prototypes, user tasks
Diagrams . . . 14
14
15
15
Outline
Requirements
Requirements Engineering Process / Activities
Types of Requirements
16
16
Users Perspective
17
17
Scenarios
Users interact with a computer systems to complete a
“task” (or) achieve a “goal” (or have some fun…)
These interactions can be captured as a set of
scenarios (or) stories
Example: “Buy a product” scenario for an online store:
Mary browses the catalogue and adds desired items
(chocolate) to the shopping basket. When she has finished
shopping, Mary provides her address for delivery, credit card
information and then confirms the transaction. The system
confirms her payment and e-mails a transaction record.
18
18
Scenarios (cont.)
In the “Buy a product” scenario we covered the normal
ideal interaction between a user and “the system”. But
What happens if the credit-card payment fails?
What if the customer is a repeat customer, so shipping
details are already in the system?
The key scenario would hold, but to answer the above
questions we have to add alternative scenarios.
Scenarios can also be written down as a series of steps
Identify different scenarios that can be written up
19
19
Use Case
If we structure scenarios, they can represent the
behavioural requirements of the system – from a user’s
view point.
“A use case is a set of scenarios tied together by a
common user goal” – Martin Fowler
Every use case must be tied to a specific goal
A use case is directly or indirectly invoked by an actor
20
Actors
An actor is a role that a user plays when interacting with
the system.
An actor performs a Use Case.
A single actor may perform many use cases
A use case may have several actors performing it
21
21
But…
22
22
Outline
Requirements
Requirements Engineering Process / Activities
Types of Requirements
23
23
Platform
Clients Product
User Control
computers
activities
Domain
I/O Elevators
Product
I/O
24
25
25
Tasks:
Data: Book guest
Guests Check in
Rooms Check out
Services Change room
Breakfast list &
other services
27
BREAK
28
28
Outline
Requirements
Requirements Engineering Process / Activities
Types of Requirements
29
29
Step 2. Write down relevant domain entities. They are normally (some of)
the nouns defined above.
Step 3. Revisit the specification to extract the associations
Step 4. Record associations with the corresponding domain entities.
30
30
Guest
Service
Stay Service
Type
Room
State
Room
Notation used?
31
Service
Stay Service
Type
stay#,
paymethod, date, count
employee Room
State
date, #persons,
state (booked|occupied|repair)
room#, Room
#beds, type
price1, price2
32
Outline
Requirements
Requirements Engineering Process / Activities
Types of Requirements
33
33
Task Descriptions
Task: 1.1 Booking
Work area: 1. Reception Purpose: Reserve room for a guest.
Service guests - small and
large issues. Normally Task: 1.2 Checkin
standing. Frequent Purpose: Give guest a room. Mark it as
interrupts. Often alone, e.g. occupied. Start account.
during night. Trigger/
Users: Reception experience, IT Precondition: A guest arrives
novice. Frequency: Average 0.5 checkins/room/day
Critical: Group tour with 50 guests.
R1: The product shall support
tasks 1.1 to 1.5 Sub-tasks:
1. Find room
2. Record guest as checked in
3. Deliver key
Missing Variants:
sub-task? 1a. Guest has booked in advance
1b. No suitable room
2a. Guest recorded at booking
2b. Regular customer
Task: 1.3 Checkout
Purpose: Release room, invoice guest.
From: Soren Lauesen: Software Requirements
... 34
© Pearson / Addison-Wesley 2002
34
Past: Future:
Problems Computer part
Domain 35
level
From: Soren Lauesen: Software Requirements © Pearson / Addison-Wesley 2002
35
36
37
Examples:
1 Manage rooms?
2 Book a guest? Frequent
3 Enter guest name? mistake Got them all?
4 Check in a bus of tourists • All events covered?
5 Stay at the hotel? • Critical tasks covered?
6 Change the guest’s address etc? • At least as good as before?
7 Change booking? • CRUD check
8 Cancel entire booking?
38
Workflows
A workflow is a coherent representation of the
(temporal) dependencies between the major steps of a
process.
It primarily focuses on:
Actor(s) of each step
Dependencies between steps
Sequencing
39
High-level Tasks
Task: 1. A stay at the hotel
Actor: The guest
Purpose: ...
40
41
41
42
42
43
44
Assignment 1 SRS
A business software/information system
Things the client wants to achieve … “not clear enough” –
deliberate …
Requirements elicitation and specification: role play, analysis,
reasonable assumptions
Domain/data model: high level ER + explanation
Functional requirements: Tasks&Support + explanation
Non-functional (quality) requirements: next week
Requirements validation: next week
True collaboration …
Use discussion board … 45
……
45