©Rick Dewar 2005 Tools & Methodologies 2 (F23IA2)1 The UML in the context of the Information...
-
Upload
merryl-reeves -
Category
Documents
-
view
220 -
download
3
Transcript of ©Rick Dewar 2005 Tools & Methodologies 2 (F23IA2)1 The UML in the context of the Information...
©Rick Dewar 2005 Tools & Methodologies 2 (F23IA2) 1
The UML in the context of the Information Systems
Development LifecycleAcknowledgements: Thanks to PAW for permission to re-use some elements of her
teaching material
©Rick Dewar 2005 Tools & Methodologies 2 (F23IA2) 2
UML
“The OMG's Unified Modeling Language™ (UML™) helps you specify, visualize, and document models of software systems, including their structure and design, in a way that meets all of these requirements.”http://www.omg.org/gettingstarted/what_is_uml.htm
©Rick Dewar 2005 Tools & Methodologies 2 (F23IA2) 3
Components of UML
Use Case Diagrams Activity Diagrams Class Diagrams Interaction Diagrams
Sequence DiagramsCollaboration Diagrams
Deployment Diagrams There are others, eg State Charts, but we won’t mention
these in this lecture. Investigate them yourself by all means.
©Rick Dewar 2005 Tools & Methodologies 2 (F23IA2) 4
Use Cases Nearly all object-oriented design methods now
use use case models to help represent requirements.
Use case modelling was invented by Ivar Jacobsen, one of the three amigos who created UML.
A use case model shows the external view of a system which is being designed.
Useful for users.
©Rick Dewar 2005 Tools & Methodologies 2 (F23IA2) 5
teller
customer
withdraw
transfer
statement
addinterest
deposit
©Rick Dewar 2005 Tools & Methodologies 2 (F23IA2) 6
Activity Diagrams
The closest UML gets to flowcharts. Useful for showing scenarios of how actors
execute the activities of a use case. One diagram for one scenario. Can be used to model system behaviour as
well, where roles become objects. Helps designers and users.
©Rick Dewar 2005 Tools & Methodologies 2 (F23IA2) 7
[no accounts to do]
[acc
ou
nts
to
do
]
Customer Teller Manager
Enter Free
RequestAuthorisation
Ready
DoingAccounts
Done?
WaitComplete Not on Use Case diagram?
©Rick Dewar 2005 Tools & Methodologies 2 (F23IA2) 8
Class Diagrams
Static representation of the system’s structure
Can show various relationships between classes
Essential element of design document Not useful for most users
©Rick Dewar 2005 Tools & Methodologies 2 (F23IA2) 9
Account
Statement
Branch
Customer
Transfer
holds
moves money to
summarises
1
1
1
1
1
1
0..*
0..*
CurrentAccount
SavingsAccount
©Rick Dewar 2005 Tools & Methodologies 2 (F23IA2) 10
A class with more attributes and operations
Account
ID : IntegerCustomers : Collection…
getBalance() : RealsetBalance(): voidaddToBalance(): void…
©Rick Dewar 2005 Tools & Methodologies 2 (F23IA2) 11
Sequence Diagrams
One of the two types of interaction diagrams.
Useful for showing complex interactions between a limited number of objects.
Can be used to show one scenario of use from a “technical” perspective.
Not useful for most users.
©Rick Dewar 2005 Tools & Methodologies 2 (F23IA2) 12
ac1:Accountc:Customer b:Branch:ACustomer :Teller
deposit(v,a,name)
c:= getRec(name)
ac1 := getAcc(a,c)
addToBalance(v)
©Rick Dewar 2005 Tools & Methodologies 2 (F23IA2) 13
Collaboration Diagrams
The second type of interaction diagram. Useful for showing simple interactions
between a large number of objects. Can be used to show one scenario of
use from a “technical” perspective. Maps well to class diagram. Not useful for most users
©Rick Dewar 2005 Tools & Methodologies 2 (F23IA2) 14
ac1:Account
b:Branch
c1:Customer:ACustomer:Teller
1.1:c:= getRec(name)
1:deposit(v,a,name)1.2:ac1 := getAcc(a,c)
1.3addToBalance(v)
©Rick Dewar 2005 Tools & Methodologies 2 (F23IA2) 15
Deployment Diagrams
Show which components are physically located at/on which locations/machines.
Useful starting point for a new & unfamiliar technical person during maintenance and reengineering efforts.
Not useful for most users
©Rick Dewar 2005 Tools & Methodologies 2 (F23IA2) 16
c:clientApp
userPC:PC
s:serverApp
banker:SunWorkstation
<<LAN>>
<<CORBA>>
©Rick Dewar 2005 Tools & Methodologies 2 (F23IA2) 17
Systems Development Lifecycle, after Avison
and Shah p240
ISplanning
Feasibility study
Systemsinvestigation
Systemsanalysis
Systemsdesign
Implementation
Reviewand
maintenance
Managerialdirective
New businessopportunities
Problems withexisting system
Feasibilitystudy report
Projectplans
Userrequirements
Staffassignment
Resourcerequirements
Methodsand tools
Currentsystem
data flow
New systemdata flow
Programs
Evaluationreport
Systemrequirements
Systemspecification
Training andtest plans
Procedures Documentation
New problemstatement?
New systemin operation
©Rick Dewar 2005 Tools & Methodologies 2 (F23IA2) 18
ISDL v UML Feasibility study - initial use cases. Systems investigation - refine use cases and create initial
activity diagrams. Systems analysis - refine use cases and activity diagrams,
develop high-level class and interaction diagrams. Systems design - refine class and interaction diagrams and
develop initial deployment diagrams. Implementation - refine deployment diagrams. Ensure all
diagrams are consistent with each other and code. Review & maintenance - refer to, and edit, existing diagrams.
©Rick Dewar 2005 Tools & Methodologies 2 (F23IA2) 19
An Alternative View
Requirements
Capture
System
Structure
System
Behaviour
Use Case Diagrams
Activity Diagrams
Interaction Diagrams
Activity Diagrams
Class Diagrams
Deployment Diagrams
©Rick Dewar 2005 Tools & Methodologies 2 (F23IA2) 20
Where to Start? Paper and Pencil. Use those diagrams which help. Pseudocode, screen mock-ups, story boards
may also help you and your users. Eventually migrate diagrams to a drawing
package or a UML tool. Diagrams (like plans) are not written in stone so
revise as necessary. LoD and consistency in models is an open issue.
©Rick Dewar 2005 Tools & Methodologies 2 (F23IA2) 21
Further Reading General
Object Management Group, http://www.omg.com/ The UML Zone, http://www.uml-zone.com/
Tools/Methodologies UML Open Edition, http://www.umlopenedition.com/ argoUML, http://argouml.tigris.org/ Rational, http://www.rational.com/ <-- also lots of white papers available Catalysis, http://www.trireme.u-net.com/catalysis/ The New Methodology http://www.martinfowler.com/articles/newMethodology.html
Books Perdita Stevens and Rob Pooley, Using UML - Software Engineering with Objects and
Components Addison Wesley ISBN 0-201-64860-1 UML Distilled: Second Edition by Martin Fowler with Kendall Scott SAMS Teach Yourself UML in 24 Hours by Joseph Schmuller Applying UML: Advanced Applications, Rob Pooley, Pauline Wilcox, Butterworth-Heinemann;
ISBN: 0750656832