21
©Rick Dewar 2005 Tools & Methodologies 2 (F23IA2) 1 The UML in the context of the Information Systems Development Lifecycle Acknowledgements: Thanks to PAW for permission to re-use some elements of her teaching material

©Rick Dewar 2005 Tools & Methodologies 2 (F23IA2)1 The UML in the context of the Information Systems Development Lifecycle Acknowledgements: Thanks to

Embed Size (px)

Citation preview

Page 1: ©Rick Dewar 2005 Tools & Methodologies 2 (F23IA2)1 The UML in the context of the Information Systems Development Lifecycle Acknowledgements: Thanks to

©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

Page 2: ©Rick Dewar 2005 Tools & Methodologies 2 (F23IA2)1 The UML in the context of the Information Systems Development Lifecycle Acknowledgements: Thanks to

©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

Page 3: ©Rick Dewar 2005 Tools & Methodologies 2 (F23IA2)1 The UML in the context of the Information Systems Development Lifecycle Acknowledgements: Thanks to

©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.

Page 4: ©Rick Dewar 2005 Tools & Methodologies 2 (F23IA2)1 The UML in the context of the Information Systems Development Lifecycle Acknowledgements: Thanks to

©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.

Page 5: ©Rick Dewar 2005 Tools & Methodologies 2 (F23IA2)1 The UML in the context of the Information Systems Development Lifecycle Acknowledgements: Thanks to

©Rick Dewar 2005 Tools & Methodologies 2 (F23IA2) 5

teller

customer

withdraw

transfer

statement

addinterest

deposit

Page 6: ©Rick Dewar 2005 Tools & Methodologies 2 (F23IA2)1 The UML in the context of the Information Systems Development Lifecycle Acknowledgements: Thanks to

©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.

Page 7: ©Rick Dewar 2005 Tools & Methodologies 2 (F23IA2)1 The UML in the context of the Information Systems Development Lifecycle Acknowledgements: Thanks to

©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?

Page 8: ©Rick Dewar 2005 Tools & Methodologies 2 (F23IA2)1 The UML in the context of the Information Systems Development Lifecycle Acknowledgements: Thanks to

©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

Page 9: ©Rick Dewar 2005 Tools & Methodologies 2 (F23IA2)1 The UML in the context of the Information Systems Development Lifecycle Acknowledgements: Thanks to

©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

Page 10: ©Rick Dewar 2005 Tools & Methodologies 2 (F23IA2)1 The UML in the context of the Information Systems Development Lifecycle Acknowledgements: Thanks to

©Rick Dewar 2005 Tools & Methodologies 2 (F23IA2) 10

A class with more attributes and operations

Account

ID : IntegerCustomers : Collection…

getBalance() : RealsetBalance(): voidaddToBalance(): void…

Page 11: ©Rick Dewar 2005 Tools & Methodologies 2 (F23IA2)1 The UML in the context of the Information Systems Development Lifecycle Acknowledgements: Thanks to

©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.

Page 12: ©Rick Dewar 2005 Tools & Methodologies 2 (F23IA2)1 The UML in the context of the Information Systems Development Lifecycle Acknowledgements: Thanks to

©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)

Page 13: ©Rick Dewar 2005 Tools & Methodologies 2 (F23IA2)1 The UML in the context of the Information Systems Development Lifecycle Acknowledgements: Thanks to

©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

Page 14: ©Rick Dewar 2005 Tools & Methodologies 2 (F23IA2)1 The UML in the context of the Information Systems Development Lifecycle Acknowledgements: Thanks to

©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)

Page 15: ©Rick Dewar 2005 Tools & Methodologies 2 (F23IA2)1 The UML in the context of the Information Systems Development Lifecycle Acknowledgements: Thanks to

©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

Page 16: ©Rick Dewar 2005 Tools & Methodologies 2 (F23IA2)1 The UML in the context of the Information Systems Development Lifecycle Acknowledgements: Thanks to

©Rick Dewar 2005 Tools & Methodologies 2 (F23IA2) 16

c:clientApp

userPC:PC

s:serverApp

banker:SunWorkstation

<<LAN>>

<<CORBA>>

Page 17: ©Rick Dewar 2005 Tools & Methodologies 2 (F23IA2)1 The UML in the context of the Information Systems Development Lifecycle Acknowledgements: Thanks to

©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

Page 18: ©Rick Dewar 2005 Tools & Methodologies 2 (F23IA2)1 The UML in the context of the Information Systems Development Lifecycle Acknowledgements: Thanks to

©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.

Page 19: ©Rick Dewar 2005 Tools & Methodologies 2 (F23IA2)1 The UML in the context of the Information Systems Development Lifecycle Acknowledgements: Thanks to

©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

Page 20: ©Rick Dewar 2005 Tools & Methodologies 2 (F23IA2)1 The UML in the context of the Information Systems Development Lifecycle Acknowledgements: Thanks to

©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.

Page 21: ©Rick Dewar 2005 Tools & Methodologies 2 (F23IA2)1 The UML in the context of the Information Systems Development Lifecycle Acknowledgements: Thanks to

©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