Requirements Analysis and Modelling The Domain: Software Development Practices
Requirements Analysis and Modelling The Domain: Software Development Practices
Assignment #1
Assignment #2
To be released next week, Wednesday afternoon
Group assignment (Group of 3-4 students, from the same
tutorial session)
Form your group early start NOW
Progress will be monitored by your tutor on a weekly basis
SDP Roadmap
Problem analysis
Testing
3
Requirement Gathering
Requirement
Analysis &
Design
Business Modeling
Requirement Gathering
Understanding the requirements.
Implementation
Testing
Deployment
10
Requirement: Overview
Inputs:
informal specification.
Activities:
create use case model.
define use cases.
create domain model.
create glossary.
create activity diagram.
11
12
13
Actor
Roles played by users when interacting with a system, e.g.:
Receptionist (makes bookings);
Head waiter (assigns tables etc).
14
Diagram Element:
Actor
Communication
Use Case
<<Include>>
Inherit
(Actor Relationship)
Constraints
<<Extend>>
Use Case
Dependency
15
Cancel a booking.
16
System
17
18
Basic Scenario
Describes what happens in the normal case.
For example, for Record Booking:
Record Booking: Basic Scenario
10
System
1.
2.
3.
21
22
11
Alternative Scenarios
1
2
3
23
Exceptional Scenarios
2
3
4
5
6
24
12
Shared Functionality
13
System
27
Display
booking
System
28
14
Actor Generalization
The last diagram shows that the Receptionist can performs
the Display bookings use case independently from the Record
Booking use case.
Head Waiters can also performs Display bookings use case.
Introduce a more general actor Staff to show what the other
two actors have in common.
The initial actors are specializations of the general actor.
29
System
30
15
31
Head waiter enters details (time, number of covers and the table
allocated to the customer);
16
No Prior
Booking
System
33
System
34
17
Guidelines
Use case:
Should cover full sequence of steps from the beginning of a task until
the end.
Should describe users interaction with the system.
Should not describe actual computations.
Should be as independent as possible from any particular user
interface design.
Should only include actions in which the actor interacts with the
computer.
customer.
Involve the customer early in the development.
36
18
37
Domain Modelling
Using UML diagram to construct a model of the real-world
system:
Understand the problem domain.
38
19
Class Name
Name
Multiplicity
Attributes
Multiplicity
Association
Class
Class
Generalization
Constraints
39
40
20
41
Defining a Relationship
Give a name to the relationship:
use a verb so that the relationship can be read as a sentence:
A customer can make many reservations.
21
43
Use of Constraints
Not all domain properties can be shown graphically:
e.g., it should be impossible to double-book a table.
44
22
Use of Generalization
A superclass can be used to show the properties shared by
different types of booking.
This image cannot currently be display ed.
45
Correctness
How do we know when a domain model is complete?
we don't: there are lots of plausible models in most cases.
46
23
Supplementary Documents
Glossary:
A mini dictionary that captures concepts and vocabulary relevant in
Activity Diagram
UML diagram that describes activities.
47
48
24
Summary
Requirement Gathering
49
References
25