Professional Documents
Culture Documents
,QWURGXFWLRQWR80/
6WUXFWXUDODQG8VH&DVH0RGHOLQJ
&ULV.REU\Q
&R&KDLU80/5HYLVLRQ7DVN)RUFH
© 1999-2001 OMG and Contributors: Crossmeta, EDS, IBM, Enea Data, Hewlett-Packard, IntelliCorp, Kabira Technologies, Klasse Objecten,
Rational Software, Telelogic, Unisys
2YHUYLHZ
T 7XWRULDOVHULHV
T 4XLFNWRXU
T 6WUXFWXUDOPRGHOLQJ
T 8VHFDVHPRGHOLQJ
,QWURGXFWLRQWR80/
7XWRULDO6HULHV
T /HFWXUH,QWURGXFWLRQWR80/
6WUXFWXUDODQG8VH&DVH0RGHOLQJ
T /HFWXUH%HKDYLRUDO0RGHOLQJZLWK
80/
T /HFWXUH$GYDQFHG0RGHOLQJZLWK80/
>1RWH7KLVYHUVLRQRIWKHWXWRULDOVHULHVLVEDVHGRQ 20*80/
6SHFLILFDWLRQY80/5HYLVLRQ7DVN)RUFHUHFRPPHQGHGILQDOGUDIW
20*GRFDG@
,QWURGXFWLRQWR80/
7XWRULDO*RDOV
T :KDW\RXZLOOOHDUQ
T ZKDWWKH80/LVDQGZKDWLVLWQRW
T 80/¶VEDVLFFRQVWUXFWVUXOHVDQGGLDJUDP
WHFKQLTXHV
T KRZWKH80/FDQPRGHOODUJHFRPSOH[V\VWHPV
T KRZWKH80/FDQVSHFLI\V\VWHPVLQDQ
LPSOHPHQWDWLRQLQGHSHQGHQWPDQQHU
T KRZ80/;0,DQG02)FDQIDFLOLWDWHPHWDGDWD
LQWHJUDWLRQ
T :KDW\RXZLOOQRWOHDUQ
T 2EMHFW0RGHOLQJ
T REMHFWPHWKRGVRUSURFHVVHV
T 0HWDPRGHOLQJ
,QWURGXFWLRQWR80/
4XLFN7RXU
T :K\GRZHPRGHO"
T :KDWLVWKH80/"
T )RXQGDWLRQHOHPHQWV
T 8QLI\LQJFRQFHSWV
T /DQJXDJH DUFKLWHFWXUH
T 5HODWLRQWRRWKHU20*
WHFKQRORJLHV
,QWURGXFWLRQWR80/
:K\GRZHPRGHO"
T 3URYLGHVWUXFWXUHIRUSUREOHPVROYLQJ
T ([SHULPHQWWRH[SORUHPXOWLSOHVROXWLRQV
T )XUQLVKDEVWUDFWLRQVWRPDQDJHFRPSOH[LW\
T 5HGXFHWLPHWRPDUNHWIRUEXVLQHVV
SUREOHPVROXWLRQV
T 'HFUHDVHGHYHORSPHQWFRVWV
T 0DQDJHWKHULVNRIPLVWDNHV
,QWURGXFWLRQWR80/
7KH&KDOOHQJH
Tijuana “shantytown”:
http://www.macalester.edu/~jschatz/residential.html
,QWURGXFWLRQWR80/
7KH9LVLRQ
Fallingwater:
http://www.adelaide.net.au/~jpolias/FLW/Images/FallingWater.jpeg
,QWURGXFWLRQWR80/
:K\GRZHPRGHOJUDSKLFDOO\"
T *UDSKLFVUHYHDOGDWD
T (GZDUG7XIWH
7KH9LVXDO'LVSOD\RI4XDQWLWDWLYH,QIRUPDWLRQ
T ELWPDS PHJDZRUG
T $QRQ\PRXVYLVXDOPRGHOHU
,QWURGXFWLRQWR80/
4XLFN7RXU
T 7KH80/LVDJUDSKLFDOODQJXDJHIRU
VSHFLI\LQJ
YLVXDOL]LQJ
FRQVWUXFWLQJ
GRFXPHQWLQJ
WKHDUWLIDFWVRIVRIWZDUHV\VWHPV
T $GGHGWRWKHOLVWRI20*DGRSWHGWHFKQRORJLHVLQ
1RYHPEHUDV80/
T 0RVWUHFHQWPLQRUUHYLVLRQLV80/DGRSWHGLQ
1RYHPEHU
T 1H[WPLQRUUHYLVLRQZLOOEH80/SODQQHGWREH
DGRSWHGLQ4
T 1H[WPDMRUUHYLVLRQZLOOEH80/SODQQHGWREH
FRPSOHWHGLQ
,QWURGXFWLRQWR80/
80/*RDOV
T 'HILQHDQHDV\WROHDUQEXWVHPDQWLFDOO\ULFK
YLVXDOPRGHOLQJODQJXDJH
T 8QLI\WKH%RRFK207DQG2EMHFWRU\ PRGHOLQJ
ODQJXDJHV
T ,QFOXGHLGHDVIURPRWKHUPRGHOLQJODQJXDJHV
T ,QFRUSRUDWHLQGXVWU\EHVWSUDFWLFHV
T $GGUHVVFRQWHPSRUDU\VRIWZDUHGHYHORSPHQW
LVVXHV
T VFDOHGLVWULEXWLRQFRQFXUUHQF\H[HFXWDELOLW\HWF
T 3URYLGHIOH[LELOLW\IRUDSSO\LQJGLIIHUHQW
SURFHVVHV
T (QDEOHPRGHOLQWHUFKDQJHDQGGHILQH
UHSRVLWRU\LQWHUIDFHV
,QWURGXFWLRQWR80/
20*80/(YROXWLRQ
com position <<docum ent>>
(whole-part) UM L 2.0
relationship
<<docum ent>>
UM L 2.0
2002
Superstructure
(planned)
<<docum ent>>
<<docum ent>>
2001 Q 4 UM L 2.0
UM L 2.0 O CL
(planned) Infrastructure
<<docum ent>>
Q 1 2001 UM L 1.4 dependency
relationship
<<docum ent>>
1999 UM L 1.3
,QWURGXFWLRQWR80/
20*80/6SHFLILFDWLRQ
T 80/6XPPDU\
T 80/6HPDQWLFV
T 80/1RWDWLRQ*XLGH
T 80/([DPSOH3URILOHV
T 6RIWZDUH'HYHORSPHQW3URFHVVHV
T %XVLQHVV0RGHOLQJ
T 0RGHO,QWHUFKDQJH
T 0RGHO,QWHUFKDQJH8VLQJ;0,
T 0RGHO,QWHUFKDQJH8VLQJ&25%$,'/
T 2EMHFW&RQVWUDLQW/DQJXDJH
,QWURGXFWLRQWR80/
7XWRULDO)RFXVWKH/DQJXDJH
T ODQJXDJH V\QWD[VHPDQWLFV
T V\QWD[ UXOHVE\ZKLFKODQJXDJHHOHPHQWV
HJZRUGVDUHDVVHPEOHGLQWR
H[SUHVVLRQVHJSKUDVHVFODXVHV
T VHPDQWLFV UXOHVE\ZKLFKV\QWDFWLF
H[SUHVVLRQVDUHDVVLJQHGPHDQLQJV
T 80/1RWDWLRQ*XLGH ± GHILQHV80/¶V
JUDSKLFV\QWD[
T 80/6HPDQWLFV ± GHILQHV80/¶V
VHPDQWLFV
,QWURGXFWLRQWR80/
)RXQGDWLRQ&RQFHSWV
T %XLOGLQJEORFNV
T :HOOIRUPHGQHVVUXOHV
,QWURGXFWLRQWR80/
%XLOGLQJ%ORFNV
T 7KHEDVLFEXLOGLQJEORFNVRI80/DUH
T PRGHOHOHPHQWVFODVVHVLQWHUIDFHVFRPSRQHQWV
XVHFDVHVHWF
T UHODWLRQVKLSVDVVRFLDWLRQVJHQHUDOL]DWLRQ
GHSHQGHQFLHVHWF
T GLDJUDPVFODVVGLDJUDPVXVHFDVHGLDJUDPV
LQWHUDFWLRQGLDJUDPVHWF
T 6LPSOHEXLOGLQJEORFNVDUHXVHGWRFUHDWHODUJH
FRPSOH[VWUXFWXUHV
T FIHOHPHQWVERQGVDQGPROHFXOHVLQFKHPLVWU\
T FIFRPSRQHQWVFRQQHFWRUVDQGFLUFXLWERDUGVLQ
KDUGZDUH
,QWURGXFWLRQWR80/
'LDJUDP&ODVVLILHU9LHZ
Elem ent
C <<covalent>>
Carbon Hydrogen
C H
<<covalent>> C
,QWURGXFWLRQWR80/
'LDJUDP,QVWDQFH9LHZ
:H ydrogen :H ydrogen
:H ydrogen :H ydrogen
,QWURGXFWLRQWR80/
:HOO)RUPHGQHVV5XOHV
T :HOOIRUPHGLQGLFDWHVWKDWDPRGHORUPRGHO
IUDJPHQWDGKHUHVWRDOOVHPDQWLFDQG
V\QWDFWLFUXOHVWKDWDSSO\WRLW
T 80/VSHFLILHVUXOHVIRU
T QDPLQJ
T VFRSLQJ
T YLVLELOLW\
T LQWHJULW\
T H[HFXWLRQOLPLWHG
T +RZHYHUGXULQJLWHUDWLYHLQFUHPHQWDO
GHYHORSPHQWLWLVH[SHFWHGWKDWPRGHOVZLOO
EHLQFRPSOHWHDQGLQFRQVLVWHQW
,QWURGXFWLRQWR80/
:HOO)RUPHGQHVV 5XOHVFRQW¶G
T ([DPSOHRIVHPDQWLFUXOH&ODVV>@
T English: If a Class is concrete, all the Operations of
the Class should have a realizing Method in the full
descriptor.
T OCL: not self.isAbstract implies
self.allOperations->
forAll (op | self.allMethods->
exists (m | m.specification->
includes(op)))
,QWURGXFWLRQWR80/
:HOO)RUPHGQHVV5XOHVFRQW¶G
T ([DPSOHRIV\QWDFWLFUXOHV&ODVV
T Basic Notation: A class is drawn as a solid-outline
rectangle with three compartments separated by
horizontal lines.
T Presentation Option: Either or both of the attribute
and operation compartments may be suppressed.
T ([DPSOHRIV\QWDFWLFJXLGHOLQH&ODVV
T Style Guideline: Begin class names with an
uppercase letter.
,QWURGXFWLRQWR80/
8QLI\LQJ&RQFHSWV
T FODVVLILHULQVWDQFHGLFKRWRP\
T HJDQREMHFWLVDQLQVWDQFHRIDFODVV25
DFODVVLVWKHFODVVLILHURIDQREMHFW
T VSHFLILFDWLRQUHDOL]DWLRQGLFKRWRP\
T HJDQLQWHUIDFHLVDVSHFLILFDWLRQRID
FODVV25
DFODVVLVDUHDOL]DWLRQRIDQLQWHUIDFH
T DQDO\VLVWLPHYVGHVLJQWLPHYVUXQ
WLPH
T PRGHOLQJSKDVHV³SURFHVVFUHHS´
T XVDJHJXLGHOLQHVVXJJHVWHGQRWHQIRUFHG
,QWURGXFWLRQWR80/
/DQJXDJH$UFKLWHFWXUH
T 0HWDPRGHODUFKLWHFWXUH
T 3DFNDJHVWUXFWXUH
,QWURGXFWLRQWR80/
0HWDPRGHO$UFKLWHFWXUH
< < m e ta m o d e l> >
M O F M e ta -M e ta m o d e l
«m etaclas s» «m etaclas s» «m etaclas s»
Attribute Class Operation
«instanceO f» «instanceO f»
<<use>>
«instanceO f»
«instanceO f»
<<use>>
A n a lysis M o d e l T he operation
issue of the
T he attribute fare of
P as sengerTick et
the P as sengerTick et
PassengerTicket class is an
class is an instance of
ins tance of the
the m etaclas s
-issuedB y : A irline m etaclass
A ttribute.
-issuingA gent : T ravelA gent O peration.
-fare : C urrenc y
-tax : C urrenc y
+total()
+issue()
+surrender()
+refund()
,QWURGXFWLRQWR80/
80/0HWDPRGHO/D\HU
Behavioral Elem ents
Activity G raphs
pa cka ge
de pe nd en cy
Foundation
Data Types
From [Kobryn 01b].
,QWURGXFWLRQWR80/
5HODWLRQVKLSVWR2WKHU0RGHOLQJ7HFKQRORJLHV
<<docum ent>>
UM L XM I DTD
Unified
S pecification
M odeling
layer
Language
<<docum ent>>
UM L CORBA IDL
P latform D om ain
technology technology
profiles profiles
From [Kobryn 01b].
,QWURGXFWLRQWR80/
6WUXFWXUDO0RGHOLQJ
T :KDWLVVWUXFWXUDOPRGHOLQJ"
T &RUHFRQFHSWV
T 'LDJUDPWRXU
T :KHQWRPRGHOVWUXFWXUH
T 0RGHOLQJWLSV
T ([DPSOH,QWHUIDFHEDVHGGHVLJQ
,QWURGXFWLRQWR80/
:KDWLVVWUXFWXUDOPRGHOLQJ"
T 6WUXFWXUDOPRGHODYLHZRIDQV\VWHP
WKDWHPSKDVL]HVWKHVWUXFWXUHRIWKH
REMHFWVLQFOXGLQJWKHLUFODVVLILHUV
UHODWLRQVKLSVDWWULEXWHVDQGRSHUDWLRQV
,QWURGXFWLRQWR80/
6WUXFWXUDO0RGHOLQJ &RUH(OHPHQWV
,QWURGXFWLRQWR80/
6WUXFWXUDO0RGHOLQJ &RUH(OHPHQWV FRQW¶G
,QWURGXFWLRQWR80/
6WUXFWXUDO0RGHOLQJ &RUH5HODWLRQVKLSV
Construct Description Syntax
association a relationship between two or more
classifiers that involves connections
among their instances.
aggregation A special form of association that
specifies a whole-part relationship
between the aggregate (whole) and
the component part.
generalization a taxonomic relationship between a
more general and a more specific
element.
dependency a relationship between two modeling
elements, in which a change to one
modeling element (the independent
element) will affect the other modeling
element (the dependent element).
,QWURGXFWLRQWR80/
6WUXFWXUDO0RGHOLQJ &RUH5HODWLRQVKLSV FRQW¶G
,QWURGXFWLRQWR80/
6WUXFWXUDO'LDJUDP7RXU
T 6KRZWKHVWDWLFVWUXFWXUHRIWKHPRGHO
T WKHHQWLWLHVWKDWH[LVWHJFODVVHVLQWHUIDFHV
FRPSRQHQWVQRGHV
T LQWHUQDOVWUXFWXUH
T UHODWLRQVKLSWRRWKHUHQWLWLHV
T 'RQRWVKRZ
T WHPSRUDOLQIRUPDWLRQ
T .LQGV
T VWDWLFVWUXFWXUDOGLDJUDPV
FODVVGLDJUDP
REMHFWGLDJUDP
T LPSOHPHQWDWLRQGLDJUDPV
FRPSRQHQWGLDJUDP
GHSOR\PHQWGLDJUDP
,QWURGXFWLRQWR80/
6WDWLF6WUXFWXUDO'LDJUDPV
T 6KRZVDJUDSKRIFODVVLILHU
HOHPHQWVFRQQHFWHGE\VWDWLF
UHODWLRQVKLSV
T NLQGV
T FODVVGLDJUDPFODVVLILHUYLHZ
T REMHFWGLDJUDPLQVWDQFHYLHZ
,QWURGXFWLRQWR80/
&ODVVHV
Window
{abstract,
Window author=Joe,
status=tested}
+size: Area = (100,100)
#visibility: Boolean = true
Window +default-size: Rectangle
#maximum-size: Rectangle
-xptr: XWindow*
size: Area
visibility: Boolean
+display ()
+hide ()
display ()
hide () +create ()
-attachXWindow(xwin:Xwindow*)
,QWURGXFWLRQWR80/
&ODVVHVFRPSDUWPHQWVZLWKQDPHV
Reservation
operations
guarantee()
cancel ()
change (newDate: Date)
responsibilities
bill no-shows
match to available rooms
exceptions
invalid credit card
,QWURGXFWLRQWR80/
&ODVVHVPHWKRGERG\
PoliceStation
alert (Alarm)
1 station
BurglarAlarm
report () { if isTripped
then station.alert(self)}
,QWURGXFWLRQWR80/
7\SHVDQG,PSOHPHQWDWLRQ&ODVVHV
«type» «implementationClass»
Object HashTable
* elements 1 body
«type» «implementationClass»
Set HashTableSet
addElement(Object)
removeElement(Object) addElement(Object)
testElement(Object):Boolean removeElement(Object)
testElement(Object):Boolean
setTableSize(Integer)
,QWURGXFWLRQWR80/
,QWHUIDFHV6KRUWKDQG1RWDWLRQ
S to reH o m e Store
,QWURGXFWLRQWR80/
,QWHUIDFHV/RQJKDQG1RWDWLRQ
S toreH om e Store
,QWURGXFWLRQWR80/
$VVRFLDWLRQV
Job 1..∗
Company ∗
employer employee Person
Job boss
salary
0..1
worker ∗
Manages
Person
{X or}
Account
Corporation
,QWURGXFWLRQWR80/
$VVRFLDWLRQ(QGV
+vertex
1 3..∗
Contains
Polygon Point
{ordered}
1
GraphicsBundle
1
-bundle color
texture
density
,QWURGXFWLRQWR80/
7HUQDU\$VVRFLDWLRQV
Year
season ∗
∗ ∗
Team Player
team goalkeeper
Record
goals for
goals against
wins
losses
ties
,QWURGXFWLRQWR80/
&RPSRVLWLRQ
Window
Window
1
1 1
,QWURGXFWLRQWR80/
&RPSRVLWLRQFRQW¶G
Window
2
scrollbar:Slider
1
title:Header
1
body:Panel
,QWURGXFWLRQWR80/
*HQHUDOL]DWLRQ
Shape
Shape
Shared Target Style
...
Polygon Ellipse Spline
power venue
power venue
{overlapping} {overlapping}
Truck Sailboat
,QWURGXFWLRQWR80/
'HSHQGHQFLHV
«call» ClassC
«refine»
ClassC combines
two logical classes
ClassD ClassE
,QWURGXFWLRQWR80/
'HSHQGHQFLHV
Controller
«access»
«access»
«access» Diagram
Elements
«access»
«access»
Domain Graphics
Elements Core
,QWURGXFWLRQWR80/
'HULYHG$WWULEXWHVDQG$VVRFLDWLRQV
Person
birthdate
{age = currentDate - birthdate} /age
1
Company ∗ Department
employer
1 1 department
employer
WorksForDepartment
∗
∗ Person
/WorksForCompany
{ Person.employer=Person.department.employer }
,QWURGXFWLRQWR80/
2EMHFWV
tria ng le : P o lyg o n
s c h e d u le r
,QWURGXFWLRQWR80/
&RPSRVLWHREMHFWV
awindow : Window
horizontalBar:ScrollBar
verticalBar:ScrollBar
moves
surface:Pane
moves
title:TitleBar
,QWURGXFWLRQWR80/
/LQNV
officer
Jill:Person
member
treasurer
member Joe:Person
downhillSkiClub:Club
president
member
Chris:Person
officer
,QWURGXFWLRQWR80/
&RQVWUDLQWVDQG&RPPHQWV
∗ Me m b e r-of ∗
P e rs o n {s ub s e t} Co m m itte e R e p re s e n ts
a n in c o rpo ra te d e n tity.
1 C h a ir-o f ∗
e m p lo ye e e m p loye r
∗ ∗
P e rs o n 0 .. 1 Co m pa ny
0 .. 1
b os s
{P e rs o n. e m p loye r =
P e rs o n. bo s s .e m p lo ye r}
,QWURGXFWLRQWR80/
&ODVV'LDJUDP([DPSOH
C reditC ard
P M C reditC ard
{abstract}
O rderB ean
<<interface>> {abstract}
E ntityB ean
+ getO rderS tatus
+ setO rderS tatus
P M O rder
+ getLineItem s
+ setLineItem s
order + getC reditA pproved
+ setC reditA pproved
* ...
1 order
buyer 1 * item
C ustom er LineItem
P M LineItem
{abstract}
*
* item
1 com m odity
P roduct
,QWURGXFWLRQWR80/
,PSOHPHQWDWLRQ'LDJUDPV
T 6KRZDVSHFWVRIPRGHO
LPSOHPHQWDWLRQLQFOXGLQJVRXUFH
FRGHVWUXFWXUHDQGUXQWLPH
LPSOHPHQWDWLRQVWUXFWXUH
T .LQGV
T FRPSRQHQWGLDJUDP
T GHSOR\PHQWGLDJUDP
,QWURGXFWLRQWR80/
&RPSRQHQW'LDJUDP
T 6KRZVWKHRUJDQL]DWLRQVDQG
GHSHQGHQFLHVDPRQJVRIWZDUH
FRPSRQHQWV
T &RPSRQHQWVPD\EH
T specified by classifiers (e.g.,
implementation classes)
T implemented by artifacts (e.g., binary,
executable, or script files)
,QWURGXFWLRQWR80/
&RPSRQHQWV
S h o p p ing S e ss io n H o m e
<<Session>>
ShoppingSession
S h o p p ing S e s s io n
<<Entity>>
030303zak:Order
O rd e rP K
<<auxiliary>>
O rd e rH o m e :OrderPK
O rd e rH o m e
<<focus>>
:Order
O rd e rInfo
O rd e r <<auxiliary>>
:OrderInfo
O rd e r
<<EJBSession>>
S hoppingS ession ShoppingSession
<<EJBEntity>>
Catalog
C atalogP K
<<auxiliary>>
CatalogPK
C atalogH om e C atalogH om e
<<focus>>
Catalog
C atalogInfo
C atalog <<auxiliary>>
CatalogInfo
C atalog
<<file>>
CatalogJAR
S hoppingC artH om e
S hoppingC art
<<EJBEntity>>
ShoppingCart
<<ejbEntity>>
C atalog
<<file>>
C atalogJAR
,QWURGXFWLRQWR80/
'HSOR\PHQW'LDJUDP
:Client
<<brow ser>>
:OpenSourceBrow ser
videoStoreServer:AppServer
<<Container>>
VideoStoreApplication
<<Session>> <<Entity>>
ShoppingSession Catalog
<<Focus>> <<Focus>>
ShoppingSession Catalog
<<Entity>>
ShoppingCart
<<Focus>>
ShoppingCart
:DBServer
<<database>>
:VideoStoreDB
<<database>>
:AccountsDB
:Q uoteService
prim aryBroker
:BondBroker
<<becom e>>
backupServer:AppServer
backupBroker
:BondBroker
<<database>>
:Q uoteService
:AccountsDB
,QWURGXFWLRQWR80/
6WUXFWXUDO0RGHOLQJ7LSV
T 'HILQHD³VNHOHWRQ´RU³EDFNERQH´WKDWFDQEH
H[WHQGHGDQGUHILQHGDV\RXOHDUQPRUHDERXW\RXU
GRPDLQ
T )RFXVRQXVLQJEDVLFFRQVWUXFWVZHOODGGDGYDQFHG
FRQVWUXFWVDQGRUQRWDWLRQRQO\DVUHTXLUHG
T 'HIHULPSOHPHQWDWLRQFRQFHUQVXQWLOODWHLQWKH
PRGHOLQJSURFHVV
T 6WUXFWXUDOGLDJUDPVVKRXOG
HPSKDVL]HDSDUWLFXODUDVSHFWRIWKHVWUXFWXUDOPRGHO
FRQWDLQFODVVLILHUVDWWKHVDPHOHYHORIDEVWUDFWLRQ
T /DUJHQXPEHUVRIFODVVLILHUVVKRXOGEHRUJDQL]HGLQWR
SDFNDJHVVHH/HFWXUH
,QWURGXFWLRQWR80/
,QWHUIDFH%DVHG'HVLJQ
T ,QWHUIDFHEDVHGGHVLJQLVDGHVLJQDSSURDFK
WKDW
T HPSKDVL]HVWKHVSHFLILFDWLRQRIV\VWHPLQWHUIDFHV
T VHSDUDWHVWKHVSHFLILFDWLRQRIVHUYLFHRSHUDWLRQV
LQWHUIDFHVIURPWKHLUUHDOL]DWLRQLPSOHPHQWDWLRQ
T &25%$,'/LVW\SLFDOO\XVHGIRULQWHUIDFH
EDVHGGHVLJQRI&25%$DSSOLFDWLRQV
T GHILQHVLQWHUIDFHVIRUEXVLQHVVDQGV\VWHPREMHFWV
ZLWKRXWFRQVWUDLQLQJWKHLULPSOHPHQWDWLRQV
T GHILQHVWKHVWUXFWXUHRIDQGLVWULEXWHGDSSOLFDWLRQ
T GRHVQ¶WDOORZ\RXWRVSHFLI\REMHFWEHKDYLRURU
FODVVUHODWLRQVKLSVRWKHUWKDQJHQHUDOL]DWLRQ
,QWURGXFWLRQWR80/
,QWHUIDFH%DVHG'HVLJQFRQW¶G
T 7KHIROORZLQJH[DPSOHVKRZVKRZ80/FDQ
PRGHOWKHLQWHUIDFHVIRUD3RLQWRI6DOH
DSSOLFDWLRQRULJLQDOO\VSHFLILHGLQ&25%$,'/
)URP>.REU\Q@
,QWURGXFWLRQWR80/
([DPSOH,QWHUIDFHEDVHGGHVLJQ
module POS
{
typedef long POSId;
typedef string Barcode;
interface InputMedia
{
typedef string OperatorCmd;
interface OutputMedia
{
boolean output_text( in string
string_to_print );
};
…..
Generic IDL Point of Sale (POS) example. [Siegel 00]
,QWURGXFWLRQWR80/
([DPSOH,QWHUIDFHEDVHGGHVLJQ
…..
interface POSTerminal
{
void login();
void print_POS_sales_summary();
void print_store_sales_summary();
void send_barcode( in Barcode item);
void item_quantity( in long
quantity);
void end_of_sale();
};
};
#endif /* _POS_IDL_ */
,QWURGXFWLRQWR80/
From [Kobryn 00].
P oint-of-S ale
«ID Linterfac e» «ID Linterfac e»
IP O S term inal IinputM edia
«ID Linterfac e»
«ID Linterfac e» IS toreAccess
ITax
+d epo tR ef : D e pot
Tax +rate : flo at +taxR ef : Ta x
+initia liza tion () +s toreM a rku p : floa t
+c alc ulateTa x() StoreAccess +s toreId : In tege r
+findT ax able P rice() +initia liza tion ()
+findP ric e()
,QWURGXFWLRQWR80/
8VH&DVH0RGHOLQJ
T :KDWLVXVHFDVHPRGHOLQJ"
T &RUHFRQFHSWV
T 'LDJUDPWRXU
T :KHQWRPRGHOXVHFDVHV
T 0RGHOLQJWLSV
T ([DPSOH2QOLQH+56\VWHP
,QWURGXFWLRQWR80/
:KDWLVXVHFDVHPRGHOLQJ"
T XVHFDVHPRGHODYLHZRID
V\VWHPWKDWHPSKDVL]HVWKH
EHKDYLRUDVLWDSSHDUVWRRXWVLGH
XVHUV$XVHFDVHPRGHOSDUWLWLRQV
V\VWHPIXQFWLRQDOLW\LQWR
WUDQVDFWLRQVµXVHFDVHV¶WKDWDUH
PHDQLQJIXOWRXVHUVµDFWRUV¶
,QWURGXFWLRQWR80/
8VH&DVH0RGHOLQJ &RUH(OHPHQWV
,QWURGXFWLRQWR80/
8VH&DVH0RGHOLQJ &RUH5HODWLRQVKLSV
,QWURGXFWLRQWR80/
8VH&DVH0RGHOLQJ &RUH5HODWLRQVKLSV FRQW¶G
,QWURGXFWLRQWR80/
8VH&DVH'LDJUDP7RXU
T 6KRZVXVHFDVHVDFWRUDQGWKHLU
UHODWLRQVKLSV
T 8VHFDVHLQWHUQDOVFDQEHVSHFLILHGE\
WH[WDQGRULQWHUDFWLRQGLDJUDPVVHH
/HFWXUH
T .LQGV
T XVHFDVHGLDJUDP
T XVHFDVHGHVFULSWLRQ
,QWURGXFWLRQWR80/
8VH&DVH'LDJUDP
Telep hon e Catalog
Che c k
s tatus
Place S ales pe rs o n
orde r
Fill o rde rs
Es tablis h
c re dit
S upe rvis o r
Supply Order
Customer Data Product Arrange
Payment
Place Order
Request
Catalog
1 * Place
Order
Salesperson
Establish
1 *
Credit
Supervisor
• …
• System displays transaction summary.
■Alternative courses
• If no flights are available then …
,QWURGXFWLRQWR80/
:KHQWRPRGHOXVHFDVHV
T 0RGHOXVHUUHTXLUHPHQWVZLWKXVHFDVHV
T 0RGHOWHVWVFHQDULRVZLWKXVHFDVHV
T ,I\RXDUHXVLQJDXVHFDVHGULYHQ
PHWKRG
T VWDUWZLWKXVHFDVHVDQGGHULYH\RXU
VWUXFWXUDODQGEHKDYLRUDOPRGHOVIURPLW
T ,I\RXDUHQRWXVLQJDXVHFDVHGULYHQ
PHWKRG
T PDNHVXUHWKDW\RXUXVHFDVHVDUHFRQVLVWHQW
ZLWK\RXUVWUXFWXUDODQGEHKDYLRUDOPRGHOV
,QWURGXFWLRQWR80/
8VH&DVH0RGHOLQJ7LSV
T 0DNHVXUHWKDWHDFKXVHFDVHGHVFULEHVDVLJQLILFDQWFKXQNRI
V\VWHPXVDJHWKDWLVXQGHUVWDQGDEOHE\ERWKGRPDLQH[SHUWV
DQGSURJUDPPHUV
T :KHQGHILQLQJXVHFDVHVLQWH[WXVHQRXQVDQGYHUEV
DFFXUDWHO\DQGFRQVLVWHQWO\WRKHOSGHULYHREMHFWVDQGPHVVDJHV
IRULQWHUDFWLRQGLDJUDPVVHH/HFWXUH
T )DFWRURXWFRPPRQXVDJHVWKDWDUHUHTXLUHGE\PXOWLSOHXVH
FDVHV
,IWKHXVDJHLVUHTXLUHGXVHLQFOXGH!!
,IWKHEDVHXVHFDVHLVFRPSOHWHDQGWKHXVDJHPD\EHRSWLRQDO
FRQVLGHUXVHH[WHQG!!
T $XVHFDVHGLDJUDPVKRXOG
FRQWDLQRQO\XVHFDVHVDWWKHVDPHOHYHORIDEVWUDFWLRQ
LQFOXGHRQO\DFWRUVZKRDUHUHTXLUHG
T /DUJHQXPEHUVRIXVHFDVHVVKRXOGEHRUJDQL]HGLQWRSDFNDJHV
VHH/HFWXUH
,QWURGXFWLRQWR80/
([DPSOH2QOLQH+56\VWHP
O nline HR System
Locate
E m p loyees
U pdate
E m p loyee M anager
P ro file
Access Travel
{re a d O n ly }
S ystem
,QWURGXFWLRQWR80/
2QOLQH+56\VWHP8VH&DVH5HODWLRQVKLSV
Update Benefits
______________
Extension points extension point
benefit options: nam e and
after required enrollm ents location
Em ployee
<<extend>> <<extend>>
em ployee requests em ployee requests
reim bursem ent option stock purchase option
Elect
Elect S tock
Reim bursem ent extension
Purchase
for Healthcare condition
,QWURGXFWLRQWR80/
2QOLQH+56\VWHP8SGDWH%HQHILWV8VH&DVH
■Alternative courses
• If health plan is not available in the employee’s area the employee is
informed and asked to select another plan...
,QWURGXFWLRQWR80/
:UDS8S
T ,GHDVWRWDNHDZD\
T 3UHYLHZRIQH[WWXWRULDO
T 5HIHUHQFHV
T )XUWKHULQIR
,QWURGXFWLRQWR80/
,GHDVWR7DNH$ZD\
T 80/LVHIIHFWLYHIRUPRGHOLQJODUJHFRPSOH[VRIWZDUH
V\VWHPV
T ,WLVVLPSOHWROHDUQIRUPRVWGHYHORSHUVEXWSURYLGHV
DGYDQFHGIHDWXUHVIRUH[SHUWDQDO\VWVGHVLJQHUVDQG
DUFKLWHFWV
T ,WFDQVSHFLI\V\VWHPVLQDQLPSOHPHQWDWLRQ
LQGHSHQGHQWPDQQHU
T RIWKHFRQVWUXFWVDUHXVHGRIWKH
WLPH
T 6WUXFWXUDOPRGHOLQJVSHFLILHVDVNHOHWRQWKDWFDQEH
UHILQHGDQGH[WHQGHGZLWKDGGLWLRQDOVWUXFWXUHDQG
EHKDYLRU
T 8VHFDVHPRGHOLQJVSHFLILHVWKHIXQFWLRQDO
UHTXLUHPHQWVRIV\VWHPLQDQREMHFWRULHQWHGPDQQHU
,QWURGXFWLRQWR80/
3UHYLHZ 1H[W7XWRULDO
T %HKDYLRUDO0RGHOLQJZLWK80/
T %HKDYLRUDOPRGHOLQJRYHUYLHZ
T ,QWHUDFWLRQV
T &ROODERUDWLRQV
T 6WDWHFKDUWV
T $FWLYLW\*UDSKV
,QWURGXFWLRQWR80/
5HIHUHQFHV
>80/@ 20*80/6SHFLILFDWLRQY20*GRFDG
>80/@ 20*80/6SHFLILFDWLRQY80/5HYLVLRQ7DVN)RUFH
UHFRPPHQGHGILQDOGUDIW20*GRFDG
>.REU\QD@&.REU\Q³80/5RDGPDS)DVW7UDFNRU'HWRXUV" ´
6RIWZDUH'HYHORSPHQW$SULO7RDSSHDU
>.REU\QE@&.REU\Q³0RGHOLQJ'LVWULEXWHG$SSOLFDWLRQVZLWK 80/´
FKDSWHULQ>6LHJHO@4XLFN&25%$:LOH\7REHSXEOLVKHG
>.REU\Q@³0RGHOLQJ&25%$$SSOLFDWLRQVZLWK80/´FKDSWHUL Q
>6LHJHO@&25%$)XQGDPHQWDOVDQG3URJUDPPLQJQG HG:LOH\
>.REU\Q@80/$6WDQGDUGL]DWLRQ2G\VVH\&RPPXQLFDWLRQVRI
WKH$&02FW
>(-%@ (QWHUSULVH -DYD%HDQV 6SHFLILFDWLRQ Y6XQ0LFURV\VWHPV
0DUFK
,QWURGXFWLRQWR80/
)XUWKHU,QIR
T :HE
80/57)ZZZFHOLJHQWFRPRPJXPOUWI
20*80/7XWRULDOV
ZZZFHOLJHQWFRPRPJXPOUWIWXWRULDOVKWP
80/:RUNLQJ*URXS
ZZZFHOLJHQWFRPRPJDGSWIZJVXPOZJKWP
20*80/5HVRXUFHVZZZRPJRUJXPO
T (PDLO
XPOUWI#RPJRUJ
FNREU\Q#DFPRUJ
T &RQIHUHQFHV ZRUNVKRSV
80/:RUOG1HZ<RUN-XQH
80/7RURQWR&DQDGD2FW
20*80/:RUNVKRS6DQ)UDQFLVFR'HF
,QWURGXFWLRQWR80/