Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
3.
4.
Static Model
Can be viewed as a snapshot of a systems parameters at rest or at a specific point in time
Static models are needed to represent the structures or static aspect of a system
Static models assume stability and an absence of change in data over time
5. Types of models
Use-case model defines the outside and inside of the systems behaviour
Domain object model objects of the real world are mapped into the domain object model
Analysis object model presents how the source code should be carried out and written
Implementation model represents the implementation of the system
Test model constitutes the test plans, specifications and reports.
6. Dynamic Diagram
Viewed as a collection of procedures or behaviours that, taken together, reflect the behaviour of a
system over time
Dynamic relationships show how the business objects interact to perform tasks
7.
Whats UML?
UML: Unified Modelling Language
Consist of a number of graphical elements to form diagrams.
It enables system builders to create blueprints that capture their visions in a standard, easy to
understand way and provides a mechanism to effectively share and communicate these designs
with others.
IS 131
Page 1 of 2
IS 131
Page 2 of 2
Who is using the system? Who is affected by the system? Which groups need help from the
system to perform a task?
Who affects the system? Which user groups are needed by the system to perform its
functions?
Which external hardware or other systems (if any) use the system to perform tasks?
What problems does this application solve (for whom)?
How do users use the system (use case)? What are they doing with the system?
For each actor, find the tasks and functions that the actor should be able to perform or that the
system needs the actor to perform. The use case should represent a course of events that
leads to a clear goal
Name the use cases
Use case name should provide a general description of the use case function
The name should express what happens when an instance of the use case is performed
The name should be active, expressed in the form of a verb (Borrow) or verb and noun
(Borrow Books)
Describe the use cases briefly by applying terms with which the user is familiar
IS 131
Page 1 of 5
Occurs when theres a chunk of behaviour that is similar across more than one use case
This is used to avoid describing the same behaviours over and over again
This behaviour would be extracted and be treated as a separate use case which could be
used by other use cases
This helps to avoid redundancy by allowing a use case to be shared (e.g. a bit like the
inheritance concept)
<<Extend>> Relationship
This relationship materialises when there is one use case which is very similar to another use
case but does a bit more or is a bit more specialised (e.g. like the subclass concept)
This is used to capture alternative scenarios
5. Documents to be delivered
Activity Diagram
A simple flowchart that could be used to find out what are the major requirements set by the
customer (general)
The same technique could also be used to identify the detailed operations of each individual
use cases (this could assist in the documentation of use cases later on)
Requirements List
No
1.
Includes a column to show which use cases provide the functionality of each requirement
Example:
Requirement
Use Case(s)
To record names, address and contact details for each Add a new client
client
To calculate the annual bonuses for all staff
Calculate
staff
bonuses
2.
Actors
Actor
Customer
Staff
IS 131
Description
The accountant works in the Accounts Department and is responsible for
the major re-sourcing issues for campaigns including staffing and related
financial matters
Any member of staff in the company
Page 2 of 5
Calculate
bonuses
Description
When the company obtains a new client, the full details of the
client are entered. Typically this will because of a new
campaign, and therefore the new campaign would be added
straight away.
staff At the end of each month, staff bonuses are calculated. This
involves calculating the bonus due on each campaign a member
of staff is working on. These are summed to give the total staff
bonus.
Normal Course
Alternative
of actions
IS 131
Page 3 of 5
Record completion of
a campaign
Assign a Staff
Contact
Campaign
Manager
Record a client
payment
Check campaign
budget
Campaign
Manager
IS 131
Page 4 of 5
Find campaign
<<include>>
<<include>>
Add a new advert to a
campaign
Campaign
Manager
Check campaign
budget
<<extend>>
Print campaign
summary
Use case diagrams for Campaign Management in detail
9. Reference Materials:
Object-oriented Systems Development using the Unified Modelling Language (Ali
Bahrami)
Chapter 6: Object-oriented Analysis Process: Identifying Use Cases
Object-oriented Systems Analysis & Design Using UML (Bernett, McRobb & Farmer)
Chapter 6: Requirements Capture
UML Distilled Second Edition: A Brief Guide to the Standard Object Modelling
Language (Martin Fowler with Kendall Scott)
Chapter 3: Use Cases
Using UML: Software Engineering With Objects and Components (Perdita Stevens
with Rob Pooley)
Chapter 7: Essentials of Use case models
Chapter 8: More on use case models
Systems Analysis and Design Methods (Jeffrey L. Whitten & Lonnie D. Bentley)
Chapter 8: Object Modelling
IS 131
Page 5 of 5
Include Relationship
A use case includes the functionality described in the other use case as a part of its business
process flow.
The tip of the arrowhead points to the parent use case and the child use case is connected at
the base of the arrow.
The use case which is using the other use case is not complete without it
Apply <<include>> When You Know Exactly When To Invoke The Use Case
Extend Relationship
The child use case adds to the existing functionality and characteristics of the parent use case.
The tip of the arrowhead points to the parent use case and the child use case is connected at
the base of the arrow.
An extended use case is a valid use case by itself
Apply <<extend>> When A Use Case May Be Invoked Across Several Use Case Steps
Reference
Creating Use Case Diagrams http://www.developer.com/design/print.php/10925_2109801_2
2. Sequence Diagram
3. Collaboration Diagram
Sequence diagram emphasises on the sequence (easy to see the order in which things occur)
Collaboration diagrams indicates how objects are statically connected
Simplicity is the key feature for both the sequence and collaboration diagrams
These diagrams are not suitable when there is a need to represent something more than a single
sequential process
One of the problems with the interaction diagrams is that they can be awkward to use when
exploring alternatives
:Member System
:Member
IS 131
Page 1 of 2
:Member System
3: Verify Member Status
:Member
7. Reference Materials:
Object-oriented Systems Development using the Unified Modelling Language (Ali Bahrami)
Chapter 7: Object Analysis: Classification
UML Distilled Second Edition: A Brief Guide to the Standard Object Modelling Language (Martin
Fowler with Kendall Scott)
Chapter 5: Interaction Diagrams
IS 131
Page 2 of 2
Branch
A branch has a single incoming transition and several guarded outgoing transitions
Only one outgoing transition can be taken, so the alternatives should be mutually exclusive
Merge
Has multiple input transitions and a single output
Marks the end of the conditional behaviour started by a branch
Parallel behaviour is indicated by forks and joins
Forks
Has one incoming transition and several outgoing transitions
When the incoming transition is triggered, all the outgoing transitions are taken in parallel
Joins
Has multiple incoming transitions and only one outgoing transition
Note:
Forks and joins must match
2. Reference Materials:
Object-oriented Systems Development using the Unified Modelling Language (Ali Bahrami)
Chapter 5: Unified Modelling Language
UML Distilled Second Edition: A Brief Guide to the Standard Object Modelling Language (Martin
Fowler with Kendall Scott)
Chapter 9: Activity Diagram
3. Example of an Activity Diagram
IS 131
Page 1 of 1
IS 131
Page 1 of 4
1. Class Diagram
Describes the types of objects in the system and the various kinds of static relationships that exist
among them
Shows the attributes and operations of a class and the constraints that apply to the way objects
are connected
2. Associations
Represents the relationships between instances of classes
Each association has 2 association ends; each end is attached to one of the classes in the
association
And end can be explicitly names with a label; this label is called role name
Multiplicity is an indication of how many objects may participate in the given relationship
Guidelines for identifying associations
Implementation associations (e.g. concerned with the implementation or design of the class within
certain programming or development environment)
Ternary associations (e.g. associations among more than 2 classes)
Directed actions (or derived) association
IS 131
Page 2 of 4
5. Defining Attributes
Characteristics of the object
6. Defining Operations
Processes that a class knows to carry out
Can refer to the sequence diagram / collaboration diagrams for details
7. Example of a class diagram:
:Bank
name
branchID
has
has
*
*
:Account
:BankClient
1
firstName
lastName
cardNumber
pinNumber
owns
:ATM_Machine
number
balance
address
state
deposit ()
withdraw()
verifyPassword()
IS 131
:CurrentAccount
:SavingAccount
clearCheque()
calcInterest()
Page 3 of 4
IS 131
Page 4 of 4
Verify User ID
staff of library
<<include>>
User I D
<<uses>>
Provide Service
T o User
<<include>>
Ask For
M anage All T he
Somethings
BooksI n Library
<<extends>> <<uses>>
<<Extend>> <<include>>
<<extends>>
Update System
<<Extend>>
INT I-UC Library Pre-
<<extends>>
<<Extend>>
INT I-UC Library Borrow
<<extends>>
<<Extend>>
user
Check W ith
<<uses>>
User File
<<include>>
Enter Book
Code
<<uses>>
<<include>>
<<extends>>
Enter Book
<<uses>>
Nama
Enter Book
Author
Check for
<<I nclude>>
<<uses>>
Enter Book
Publisher
Enter Book
Edition
Requirement Books
<<include>> <<uses>>
<<I nclude>>
<<uses>>
<<I nclude>>
<<uses>>
<<I nclude>>
<<extends>>
<<extend>>
D isplaty Result
I n List
D atabase
Enter Book
I nformation
System
Update System
user
<<uses>>
Verify T he User
<<I nclude>>
ID
User I D
Borrow
<<uses>>
Books
<<I nclude>>
<<uses>>
Return
Books
Staff O f L ibrary
<<I nclude>>
<<extends>>
<<extend>>
Calculate
Books System
<<uses>>
<<include>>
OverDue Fee
<<uses>>
Update T he Borrow
<<I nclude>>
D atabase
System
<<uses>>
<<include>>
<<uses>>
<<include>>
Use Case D iagrams: I NT I -UC L ibrary Borrow And Return Books System
Add New
<<extends>>
Books
User
<<extend>>
Supply Books
And I nformation
M anage Books
Book Supplier
<<uses>>
<<uses>>
<<I nclude>>
<<I nclude>>
<<uses>>
L ist Book <<I nclude>>
Books
Code
I nformation
Book
L ocation
Update D atabase
of Books
Login to Library
<<uses>>
Website
<<I nclude>>
System
<<extends>>
User
D atabase
<<extend>>
Check
Password
Search
Books
<<uses>>
<<I nclude>>
I NT I -UC Library
Search System
Books
<<uses>>
<<I nclude>>
I NT I -UC Library
O nline Book
Logout From
System
Website
Use Case D iagram: I NT I -UC L ibrary Online Pre-O rder Books System
Enter User ID
Book Code
Book Name
Book
Book
Book
Edition
Author
Publisher
End
Year Of Publisher
Start
User ID
veri fy
False (re-enter)
True
Borrow Book
verify borrow or return book
False
True
Book Code
Return Book
Check available
Unavailable
Book code
Available
Check
less than 5
Calculate overdue
payment
Borrow books
End
start
unsuccess
Manage books
1
book location
success
finish update
end
Start
check
Invalid user l ogin
Valid
Search book homepage
search book
unavai labl e
1
book name
book edition
book author
book publisher
year of publish
available
Book
end
User:User
Staff:Staff
ReturnSystem:ReturnSystem
Show I D
Verify I D
Select Borrow System
System Feedback
Key I n Book I nformation
D isplay T he Book List
Select O ne Needed
Show T he Location
Book:Book
User:User
Staff:Staff
ReturnSystem:ReturnSystem
Show I D
Verify I D
Book:Book
Staff:Staff
UpdateSystem:UpdateSystem
Supplier:Supplier
Contact
Book:Book
Staff:Staff
User:User
O nlineBookSystem:O nlineBookSyste
m
Show I D
Verify I D
Select T he O nline System
Staff:Staff
1: Show ID
User:User
ReturnSystem:ReturnSystem
8: Show T he Location
6: Display T he Book List
4: System Feedback
Book:Book
ReturnSystem:
ReturnSystem
4: System Feedback
6: Display T he Book List
8: Show T he Location
User:User
2: Verify ID
12: Record And Mark
Staff:Staff
11: Go to Counter
1: Show ID
10: <anonymous>
9: Go To Counter With Books
Book:Book
UpdateSystem:
UpdateSystem
5: Update
Staff:Staff
3: Provide Book
Book:Book
1: Contact
Supplier:Supplier
User:User
8: Display T he Content
6: Display Book List
4: <anonymous>
1: Show ID
2: Verify ID
OnlineBookSystem:
OnlineBookSystem
Staff:Staff