UML for beskrivelse av distribuerte informasjonssystemer UML Fagseminar

advertisement
UML for beskrivelse av
distribuerte
informasjonssystemer
UML Fagseminar
Mogul Academy
Februar/Mars 2002
Trygve Reenskaug
http://www.ifi.uio.no/~trygver
trygve.reenskaug@ifi.uioi.no
Arkitektur for distribuerte informasjonssystemer
© Trygve Reenskaug 2002
Slide 1
5/29/2016 3:31:59 AM.
UML 2.0 Partners
From partners' presentation to OMG Nov 2001 (With permission)
5/29/2016 3:31:59 AM.Slide 3
Arkitektur for distribuerte informasjonssystemer
© Trygve Reenskaug 2002
Arkitektur for distribuerte
informasjonssystemer
Introduction
UML
Architecture as the composition of Parts
CPU Centered
Storage Centered
Communication Centered
UML - Useful on different levels
Conclusion & Pervasive Computing
Arkitektur for distribuerte informasjonssystemer
© Trygve Reenskaug 2002
Slide 5
5/29/2016 3:32:00 AM.
CPU-Centered paradigm
Output
Input
FORTRAN
Algol 60
……..
……..
Central
Processing
Unit
Memory
Tape
Flowchart
Hardware
Arkitektur for distribuerte informasjonssystemer
© Trygve Reenskaug 2002
UML
Activity diagram
Software
Slide 6
5/29/2016 3:32:00 AM.
Storage-Centered paradigm
App.1
Input
App.2
Output
Shared
database
Central
Processing
Unit
Memory
App.3
B
DB Schema language
e.g. Entity-Relation
e.g. NIAM
App.4
A
1
Tape
*
C
Disk
Software
Hardware
Arkitektur for distribuerte informasjonssystemer
UML Class diagram
© Trygve Reenskaug 2002
Slide 7
5/29/2016 3:32:00 AM.
Water Resource Management
Norway 1993
Arkitektur for distribuerte informasjonssystemer
© Trygve Reenskaug 2002
Slide 8
5/29/2016 3:32:00 AM.
Communication-Centered
Output
Tape
Central
Processing
Unit
Object 1
Disk
Object 3
Information Bus
Input
Communication Bus
paradigm
Object 2
Object 4
Memory
UML Collaboration/OOram
Hardware
Arkitektur for distribuerte informasjonssystemer
Composition tools ??
Software
© Trygve Reenskaug 2002
Slide 10
5/29/2016 3:32:01 AM.
Dilemma: Ship designer needs
more than Ship Design System
Arkitektur for distribuerte informasjonssystemer
© Trygve Reenskaug 2002
Slide 11
5/29/2016 3:32:01 AM.
70-årenes datasystemer
Prosjektforslag juni 1970
Arkitektur for distribuerte informasjonssystemer
© Trygve Reenskaug 2002
Slide 12
5/29/2016 3:32:02 AM.
Enterprise Java Bean (EJB)
Application Assembler perspective
/ WEB
Browser
/ Applet
(End user tool)
Information Bus
/ Name
Server
/ Booking
Home
/ Booking
Object
4: getRooms();
/ Room
Chooser
Factory object
/ Booking
Bean
5: getRooms();
Java Beans
Arkitektur for distribuerte informasjonssystemer
© Trygve Reenskaug 2002
Slide 13
5/29/2016 3:32:02 AM.
Focus on Architecture
Hide implementation
/ WEB
Browser
/ Name
Server
The component
+ has
responsibility
/ Booking
object
Home its Factory
+ knows
collaborators
+ is robust
Nobody knows everything!
/ Applet
(End user tool)
Information Bus
Code
is
invisible!
/ Booking
Object
4: getRooms();
/ Room
Chooser
/ Booking
Bean
5: getRooms();
Components
References
Interfaces
are visible!
Java Beans
Arkitektur for distribuerte informasjonssystemer
© Trygve Reenskaug 2002
Slide 14
5/29/2016 3:32:03 AM.
UML 2:
Parts and Connectors
Car
Connector
a:Axle [2..*]
w:Wheel [0..*]
Part
• Structural features that specify future instances
(objects, links)
• Contextualization
– instances will be part of same container instance and
links will connect instances within this container
From partners' presentation to OMG Nov 2001 (With permission)
5/29/2016 3:32:04 AM.
Arkitektur for distribuerte informasjonssystemer
© Trygve Reenskaug 2002
Slide 15
UML 2:
Ports
From partners' presentation to OMG Nov 2001 (With permission)
5/29/2016 3:32:05 AM.
Arkitektur for distribuerte informasjonssystemer
© Trygve Reenskaug 2002
Slide 16
Arkitektur for distribuerte
informasjonssystemer
Introduction
UML
Architecture as the composition of Parts
CPU Centered
Storage Centered Communication Centered
UML - Useful on different
levels
Conclusion & Pervasive Computing
Arkitektur for distribuerte informasjonssystemer
© Trygve Reenskaug 2002
Slide 23
5/29/2016 3:32:05 AM.
Personal, Integrated
Information Environments
Enterprise level
Work processes
UML Object Model
Personal level
User's mental model
UML Collaboration
System level
Design models
All of UML
Arkitektur for distribuerte informasjonssystemer
© Trygve Reenskaug 2002
Slide 24
5/29/2016 3:32:05 AM.
UML Collaboration modeling
Ruth
(President)
4: authorizedExpenseReport
Eve
Douglas
Adam
(Software Manager)
(Marketing manager)
(Chief Accountant)
Authorizer 1: travelPermissionRequest
2: travelPermission
Joyce
Joe
Elsie
(Paymaster)
(Programmer)
3: expenseReport(Sales clerk)
Paymaster
Bill
(Bookkeeper)
Peter
(Technical author)
Traveler
Bill
(Dispatcher)
5: paymentRequest
John
(Cashier)
Cashier
Arkitektur for distribuerte informasjonssystemer
Kim
(Methodologist)
© Trygve Reenskaug 2002
Ann
(Customer consultant)
Slide 25
5/29/2016 3:32:06 AM.
UML Activity Modeling
Traveler
Authorizer
Bookkeeper
Paymaster
Who
<Plan trip>
<Buy tickets>
Travel perm.
request
What
<Decide>
When
Travel
permission
<Travel>
<Write exp.
Report>
Expense
Report
<Check OK>
<Authorize>
Authorized
Expense
Report
<Check>
<Bookkeeping>
Payment
Request
Arkitektur for distribuerte informasjonssystemer
© Trygve Reenskaug 2002
<Pay out>
Slide 26
5/29/2016 3:32:08 AM.
Task: Decide permission
Travel Expense Model
/ Traveler
<Plan trip>
<Buy tickets>
/ Authorizer
Travel perm.
request
/ BookKeeper
/ Paymaster
<Decide>
Travel
permission
<Travel>
<Write exp.
Report>
Expense
Report
<Check OK>
<Authorize>
Authorized
Expense
Report
<Check>
<Bookkeeping>
Payment
Request
Arkitektur for distribuerte informasjonssystemer
© Trygve Reenskaug 2002
<Pay out>
Slide 28
5/29/2016 3:32:08 AM.
Personal Information
Environment
Personal level
User's mental model
UML Collaboration
Arkitektur for distribuerte informasjonssystemer
© Trygve Reenskaug 2002
Slide 29
5/29/2016 3:32:09 AM.
Travel Permission Decision Tool
Travel Expense System
Traveler
Peter
Period
week 11
Planned cost
USD 2000.-
Purpose Attend TOOLS Europe 2001
Current plan for Peter
Budget + commitments
activity 1
activity 2
activity 3
week
Item
Budget Committed
Travel 10,000
4,000
10 11 12 13 14 15
Permit
Arkitektur for distribuerte informasjonssystemer
Reject
© Trygve Reenskaug 2002
Slide 30
5/29/2016 3:32:09 AM.
Travel Permission Decision Tool
Required Topology
Traveler
Peter
Period
week 11
Planned cost
USD 2000./ Planning
Service
Purpose Attend TOOLS Europe 2001
/Current
Authorizer
plan for Peter
activity 1
activity 2
activity 3
week
/ Travel
/ DecisionTool
Service
Budget + commitments
Item
Budget Committed
Travel 10,000
10 11 12 13 14 15
Permit
Arkitektur for distribuerte informasjonssystemer
Reject
© Trygve Reenskaug 2002
4,000
/ Accounting
Service
Slide 31
5/29/2016 3:32:10 AM.
Alan Kay's Dynabook
View, navigate, edit, program objects
Mommy:
"Do your homework, June"
June:
" I am doing it, mommy"
Arkitektur for distribuerte informasjonssystemer
© Trygve Reenskaug 2002
Slide 33
5/29/2016 3:32:10 AM.
Donald A. Norman:
The Design of Everyday Things
Arkitektur for distribuerte informasjonssystemer
© Trygve Reenskaug 2002
Slide 34
5/29/2016 3:32:10 AM.
The Importance
of the User's Mental Model
A good conceptual model allows us to predict the
effects of our actions.
Without a good model we do operations as we are
told;
we cannot fully appreciate why, what effects to
expect, or what to do if things go wrong.
Design
model
USER'S
MODEL
USER
DESIGNER
SYSTEM
Donald A. Norman:
The Design of Everyday Things
Arkitektur for distribuerte informasjonssystemer
System
Image
© Trygve Reenskaug 2002
Slide 35
5/29/2016 3:32:16 AM.
Model-View-Controller (MVC)
The 1978 Original
Controller
Controls the Tool
User
Model
Persistence
&
Business Logic
View
Present and edit
Information
Arkitektur for distribuerte informasjonssystemer
© Trygve Reenskaug 2002
Slide 36
5/29/2016 3:32:16 AM.
Arkitektur for distribuerte
informasjonssystemer
Introduction
UML
Architecture as the composition of Parts
CPU Centered
Storage Centered
Communication Centered
UML - Useful on different levels
Conclusion & Pervasive Computing
Arkitektur for distribuerte informasjonssystemer
© Trygve Reenskaug 2002
Slide 37
5/29/2016 3:32:19 AM.
Pervasive / Ubiquitous
Computing
Pervasive Computing is a term for the
strongly emerging trend toward:
· Numerous, casually accessible, often
invisible computing devices
· Frequently mobile or imbedded in the
environment
· Connected to an increasingly ubiquitous
network structure
Pervasing Computing 2001
Arkitektur for distribuerte informasjonssystemer
© Trygve Reenskaug 2002
Slide 39
5/29/2016 3:32:19 AM.
Ubiquitous Computing program
Xerox PARC 1988
Radical answer to what was wrong with PC:
• Too complex & hard to use
• Too demanding of attention
• Too isolated from other people and activities
• Too dominating as it colonized our desktops and
our lives
Arkitektur for distribuerte informasjonssystemer
© Trygve Reenskaug 2002
Slide 40
5/29/2016 3:32:19 AM.
Ubiquitous Computing program
Xerox PARC 1999
Vast potential:
• Improving work practices and knowledge sharing
• essentially getting computers out of the way
• amplifying human-to-human communication
Arkitektur for distribuerte informasjonssystemer
© Trygve Reenskaug 2002
Slide 41
5/29/2016 3:32:20 AM.
Ubiquitous Computing program
Xerox PARC 1999
The problem of control
because system is invisible and extensive:
• hard to know what is controlling what
• hard to know what is connected to what
• hard to know where information is flowing
• hard to know how it is being used
• hard to know the consequences of any action
Arkitektur for distribuerte informasjonssystemer
© Trygve Reenskaug 2002
Slide 42
5/29/2016 3:32:20 AM.
Empowering the user
with objects in the computer interface
Objects
Backplane
(Java Virtual
Machine
etc.)
Operating
System
Net
Hardware
Arkitektur for distribuerte informasjonssystemer
After Øystein Myhre
© Trygve Reenskaug 2002
Slide 43
5/29/2016 3:32:20 AM.
More details ….
http://www.ifi.uio.no/~trygver
trygve.reenskaug@ifi.uio.no
Unified Modeling Language (UML). Object Management Group.
Version 1.4, Formal version, September 2001.
http://www.omg.org/technology/documents/formal/uml.htm
Version 2.0, One of initial proposals, http://www.u2-partners.org/
Donald A. Norman: "The Design of Everyday Things."
Doubleday/Currency 1990. ISBN 0-385-26774-6
End user programming:
http://www-alt.pasteur.fr/~letondal/These/links-ihm.html
The reference work on role modeling:
Reenskaug, Wold, Lehne: Working With Objects.
This book is out of print. A .pdf version kan be downloaded free from
http://www.ifi.uio.no/~trygver
The theory of role modeling: Egil P. Andersen: Conceptual Modeling of Objects. A Role
Modeling Approach. Dr Scient thesis. Dept. of Informatics, University of Oslo. 4 November
1997.
ftp://ftp.nr.no/pub/egil/ConceptualModelingOO.ps.gz
Pervasive computing:
IBM Journal of Research and Development 38, 4 (1999)
http://www.research.ibm.com/journal/sj38-4.html
Arkitektur for distribuerte informasjonssystemer
© Trygve Reenskaug 2002
Slide 44
5/29/2016 3:32:22 AM.
Download