SlideShare a Scribd company logo
CSE333 
UML DETAILS WITH EXAPLES 
DOC/UML.1 
Research and Work By: 
SARFARAZ HUSAIN 
MAULANA AZAD NATIONAL URDU UNIVERSITY 
MCA 3rd SEMESTER 
8184811318 
8273090408 
FOR FUTURE
CSE333 
DOC/UML.2 
OObbjjeeccttiivvee 
 EExxpplloorree UUMMLL MMooddeelliinngg TTeecchhnniiqquueess//CCoonnssttrruuccttss 
aanndd IIddeennttiiffyy SSuuppppoorrtt ttoo DDOOCC 
 EEmmppllooyy RRaattiioonnaall RROOSSEE ttoo MMooddeell aanndd DDeevveelloopp aa 
DDiissttrriibbuutteedd BBaannkkiinngg AApppplliiccaattiioonn ((uussiinngg RRMMII)) 
 IIddeennttiiffyy KKeeyy DDiissttrriibbuuttiioonn IIssssuueess RReellaattiinngg ttoo OOOOMM 
 EExxpplloorree aa SSeelleecctt SSeett ooff UUMMLL MMooddeelliinngg TToooollss ttoo 
IIddeennttiiffyy DDOOCC SSuuppppoorrtt
CSE333 
DOC/UML.3 
SSyysstteemm UUssee CCaassee 
DDeessccrriippttiioonn 
 HHaarrdd CCoonncceepptt ttoo GGrraasspp IInniittiiaallllyy 
 AAllmmoosstt SSeellff--EExxppllaannaattoorryy -- FFooccuuss oonn FFuunnccttiioonnaalliittyy 
ooff SSyysstteemm WWiitthh IInntteerraaccttiioonn ooff AAccttoorrss 
 IIddeennttiiffiieedd FFoouurr MMaajjoorr AAccttoorrss 
 Major Functionality and Relations to Actors 
Also Identified 
 Drew Clear Definitions of Operations for Each 
Actor 
 Helped to Identify the Need for Some Sort of 
Role Based Security (I.e., Customer Actor 
Doesn’t Perform Audits) 
 Actors Directly Linked to Roles? 
 WWrroottee CCaassee SScceennaarriiooss ooff MMaajjoorr FFuunnccttiioonnss
CSE333 
DOC/UML.4 
BBeehhaavviioorraall MMooddeelliinngg 
SSyysstteemm UUssee CCaassee 
<<uses>> 
Report Generation 
Process Transactions 
Distributed Communication 
<<uses>> 
Persistent Storage 
Printing 
Auditing 
Clerk 
BANKING SYSTEM 
The Customer 
Manager 
<<uses>> 
<<uses>> <<uses>> 
THE CLERK 
THE 
CUSTOMER 
THE 
MANAGER 
TheServer 
THE SERVER
CSE333 
DOC/UML.5 
DDeeppllooyymmeenntt DDiiaaggrraamm 
DDeessccrriippttiioonn 
 TToo GGeett aann IIddeeaa ooff HHooww tthhee SSyysstteemm WWoouulldd BBee 
DDiissttrriibbuutteedd 
 CCoonncceepptt ooff MMoorree TThhaann OOnnee TTyyppee ooff BBaannkk SSeerrvveerr 
 QQuueessttiioonnss:: 
 What Kind of Functionality is Distributed 
Where? 
 Where is Security, Servers or Clients, Both? 
 WWhheerree SShhoouulldd WWee DDeeppllooyy OObbjjeeccttss,, aanndd WWhhiicchh 
OObbjjeecctt?? 
 SSeerrvveerrss HHaannddlliinngg MMuullttiippllee CClliieennttss AAnndd//oorr SSeerrvveerr 
TTrraannssaaccttiioonnss aatt tthhee SSaammee TTiimmee 
 AAtttteemmpptt ttoo MMaakkee OOuurr SSyysstteemm GGeenneerriicc SSoo TThhaatt WWee 
CCaann RRuunn AAllll PPoossssiibbllee SScceennaarriiooss
CSE333 
ATM X 
DOC/UML.6 
AArrcchhiitteeccttuurraall MMooddeelliinngg 
DDeeppllooyymmeenntt DDiiaaggrraamm 
Branch 
Server 
Terminal 
1 
Terminal 
2 
Terminal 
X 
Branch 
Server 
Terminal 
1 
Terminal 
2 Terminal 
X 
Central 
Bank 
ATM 1 ATM 2 
Hub
CSE333 
DOC/UML.7 
SSttrruuccttuurraall MMooddeelliinngg 
LLooggiiccaall aanndd CCoommppoonneenntt VViieewwss 
ClientServerGui 
U 
TheServer 
U 
ClientServerGui 
U 
TheServer 
U 
CCLLAASSSS 
DDIIAAGGRRAAMM 
CCOOMMPPOONNEENNTT 
DDIIAAGGRRAAMM
CSE333 
DOC/UML.8 
IInniittiiaall LLooggiiccaall VViieeww ooff CClliieenntt 
This is Where The Applet GUI Goes. 
To be Added To The Model Later. 
<<Interface>> 
RMI Here 
<<Interface>> 
Serializable 
(from io) 
CustomerProfileForm 
(from TheServer) 
CustomerAccountForm 
(from TheServer) 
Vector 
(from util) 
<<Interface>> 
TransactionInterface 
TellerInterface 
1 
+BankTransaction 
BankConnection 
1 
+TellerTransaction
CSE333 
IInniittiiaall LLooccaall SSeerrvveerr SSiimmuullaattoorr aanndd CClliieenntt 
Serializ 
able 
Serializable 
DOC/UML.9 
CCoommpp MMooddeell 
Funny 
Money 
Transactio 
nInterface 
Transaction 
Interface 
rmi 
Bank 
Connection 
Remote 
BankServer 
server 
util 
Session 
Interface 
Session 
Interface 
Transacti 
onByRole 
Atm 
Trans 
Teller 
Trans 
Mgr 
Trans 
Teller 
Interface 
Teller 
Interface
CSE333 
IInniittiiaall LLooggiiccaall VViieeww ooff tthhee SSeerrvveerr 
DOC/UML.10 
SSiimmuullaattoorr 
This is Where The Applet GUI Goes. 
To be Added To The Model Later. 
FunnyMoney 
amount : int 
<<Interface>> 
SessionInterface 
<<Interface>> 
Serializable 
(from io) 
<<Interface>> 
Remote 
(from rmi) 
<<Interface>> UnicastRemoteObject 
TransactionInterface 
RMI Here 
(from server) 
Hashtable 
(from util) 
SessionHandler 
+TheAccount 
Account 
Account() 
TransactionByRole 
$ GOOD_CONN : int = 0 
RemoteBankServer 
accounts 
1 
1 
+TheSessionHandler 
+TheTransactionHandler 
AtmTrans 
<<Interface>> 
TellerTrans 
MgrTrans 
TellerInterface 
CustomerProfileForm 
(from TheServer) 
CustomerAccountForm 
(from TheServer)
CSE333 
Allocate Memory And Resources For Transactions 
DOC/UML.11 
BBeehhaavviioorraall MMooddeelliinngg 
SSeeqquueennccee DDiiaaggrraamm ooff LLoogg IInn 
Client 1 Server 
Enter UName And Passwd 
Send UName And Passwd 
Verify UName And Passwd 
Send Connection Status 
Allocate Memory And Resources For Transactions 
Prompt User For Transaction Info
CSE333 
DOC/UML.12 
BBeehhaavviioorraall MMooddeelliinngg 
SSeeqquueennccee DDiiaaggrraamm ooff LLoogg OOuutt 
Client Server 
User Execute Logout 
Send Logout Message 
Release Memory And Resources 
Successfully Logged Out Message 
Release Memory And Resources
CSE333 
FFiinnaall AApppplliiccaattiioonn MMooddeellss aanndd DDeeppllooyymmeenntt 
 EEaacchh ooff UUss ttoo EExxppllaaiinn hhiiss//hheerr OOwwnn PPiieeccee iinn DDeettaaiill 
 Hector - Client GUI and App 
 Oliver - Main Server Transaction and Interface 
Hierarchy 
 Gowri - Main Server Banking Application 
 OOnnllyy aa PPrroottoottyyppee -- NNoott aa FFuullll--FFlleeddggeedd AApppplliiccaattiioonn 
 DDeemmoo iiss LLiimmiitteedd ttoo aa CCoouuppllee ooff TTrraannssaaccttiioonnss 
 GGooaall iiss ttoo PPrroovvee JJaavvaa RRMMII CCoonncceeppttss,, IInntteerrffaacceess,, 
DOC/UML.13 
UUMMLL SSuuppppoorrtt ooff TThheemm iinn aa RReeaall WWoorrlldd AApppp 
 AAfftteerr TThhiiss PPhhaassee,, RReeaaddyy ttoo JJuummpp ttoo tthhee AAnnaallyyssiiss 
PPhhaassee
CSE333 
DOC/UML.14 
FFiinnaall DDeevveellooppmmeenntt 
AApppplleett aanndd CCoonnnneeccttiioonn 
BankConnection 
$ GOOD_CONN : int = 0 
$ UNK_CONN_ERR : int = 1 
$ REMOT_ERR : int = 2 
$ NOT_BOUND_ERR : int = 3 
$ COMM_FAILED : int = 4 
$ ATM_CONN : int = 11 
$ TELLER_CONN : int = 12 
$ MGR_CONN : int = 13 
$ VERIF_FAILED : int = 14 
$ TRANSACTION_PASSED : int = 20 
$ TRANSACTION_FAILED : int = 21 
Connect_To_Bank() 
Run_Query() 
Login() 
Logout() 
SendCustomerProfile() 
SendCustomerAccount() 
Connect_To_ServerBank() 
LoginToServer() 
LogoutFromServer() 
ShowAllCustomers() 
BankingApp 
init() 
JMenuItem2_actionPerformed() 
JMenuItem2_actionPerformed_Interaction1() 
JMenuItem18_actionPerformed() 
JMenuItem18_actionPerformed_Interaction1() 
JMenuItem2_actionPerformed_Interaction2() 
myBankingAppCode_Logout() 
JMenuItem4_actionPerformed() 
JMenuItem4_actionPerformed_Interaction1() 
JMenuItem4_actionPerformed_Interaction2() 
createCustProfMenu_actionPerformed() 
createCustProfMenu_actionPerformed_Interaction1() 
+$MyBankConnection 
closeMenu_actionPerformed() 
closeMenu_actionPerformed_Interaction1() 
createNewAccountMenu_actionPerformed() 
createNewAccountMenu_actionPerformed_Interaction1() 
myBankingAppCode_ShowAllCustomers() 
JShowCustomersMItem_actionPerformed() 
JShowCustomersMItem_actionPerformed_Interaction1() 
APPLET AND 
GUI 
ITS CONNECTION TO THE 
CLIENT BANK ENGINE
CSE333 
<<Interface>> 
DOC/UML.15 
FFiinnaall DDeevveellooppmmeenntt 
MMaaiinn CClliieenntt AApppplliiccaattiioonn 
The Applet GUI IS To be Added To 
The Model Later. 
CustomerProfileForm 
(from TheServer) 
RMI ENTRY 
HERE 
<<Interface>> 
Serializable 
(from io) 
CustomerAccountForm 
(from TheServer) 
<<Interface>> 
BranchServerInterface 
(from TheServer) 
<<Interface>> 
<<Interface>> 
ServerTransactionInterface 
(from TheServer) 
<<Interface>> 
MgrTransactionInterface 
(from TheServer) 
<<Interface>> 
ATMTransactionInterface 
(from TheServer) 
<<Interface>> 
SessionInterface 
+BankServerSession 
VerifyUserNameAndPassword() 
PerformLogout() 
<<Interface>> 
ServerInterface 
(from TheServer) 
login() 
logout() 
RoleTransactionInterface 
(from TheServer) 
BankConnection 
1+BankSession 
+BankServerTransaction 1 
TellerTransactionInterface 
(from TheServer) 
Vector 
(from util) 
FORM CLASSES FOR 
DATA TRANSFER 
CONNECTION 
CLASS WITH 
THE GUI
CSE333 
DOC/UML.16 
RRMMII SSttrruuccttuurree 
 MMaakkee MMeetthhoodd CCaallllaabbllee bbyy DDeeccllaarriinngg SSiiggnnaattuurree iinn 
IInntteerrffaaccee 
 CCoommppiillee CCllaassss aanndd IInntteerrffaaccee aanndd GGeenneerraattee SSttuubb aanndd 
SSkkeelleettoonn 
Client Object 
Stub 
Server Object 
Skeleton
CSE333 
DOC/UML.17 
RRMMII FFllooww ooff EEvveennttss
CSE333 
DOC/UML.18 
SSeerrvveerr -- GGooaallss 
 HHaannddllee MMuullttiippllee VViirrttuuaall CCoonnnneeccttiioonnss 
 HHaavvee MMuullttiippllee UUsseerr TTyyppeess,, WWiitthh VVaarryyiinngg 
PPrriivviilleeggeess 
 PPrroovviiddee tthhee FFiinnaanncciiaall SSeerrvviicceess 
 UUssee ooff DDaattaabbaassee 
 SSeelleecctt DDeessiiggnn EElleemmeennttss hhaavveenn’’tt BBeeeenn CCooddeedd 
 Server-Server Connection to have Hierarchy of 
Servers 
 Use of Distributed Database 
 Persistency of DB (Object Serialization)
CSE333 
DOC/UML.19 
SSeerrvveerr -- TTrraannssaaccttiioonn OObbjjeeccttss
CSE333 
DOC/UML.20 
SSeerrvveerr -- TTrraannssaaccttiioonn IInntteerrffaacceess
CSE333 
DOC/UML.21 
SSeerrvveerr aatt RRuunnttiimmee -- LLooggiinn
CSE333 
DOC/UML.22 
SSeerrvveerr -- LLooggiinn MMeetthhoodd 
switch (db.validateUser(u, p)) { 
case User.ATM: { 
atmTransaction = new ATMTransaction(this); 
addTransaction(atmTransaction); 
return (atmTransaction); 
} 
case User.MANAGER: { 
mgrTransaction = new MgrTransaction(this); 
addTransaction(mgrTransaction); 
return (mgrTransaction); 
} 
case User.TELLER: { 
tellerTransaction = new TellerTransaction(this); 
addTransaction(tellerTransaction); 
return (tellerTransaction); 
} 
case User.SERVER: { 
serverTransaction = new ServerTransaction(this); 
addTransaction(serverTransaction); 
return (serverTransaction); 
} 
default: { 
System.out.println("unsupported user type"); 
return null; 
}
CSE333 
DOC/UML.23 
SSeerrvveerr -- DDaattaabbaassee 
 DDeessiiggnneedd ttoo 
SSuuppppoorrtt 
PPeerrssiisstteennccyy 
VViiaa OObbjjeecctt 
SSeerriiaalliizzaattiioonn 
 AAssssoocciiaattiioonnss 
AArree VVeeccttoorrss;; 
NNoott IInnttuuiittiivveellyy 
DDiissppllaayyeedd iinn 
RRoossee
CSE333 
DOC/UML.24 
SSeerrvveerr -- HHiieerraarrcchhyy
CSE333 
DOC/UML.25 
SSeerrvveerr -- TThhee BBiigg PPiiccttuurree
CSE333 
DOC/UML.26 
AApppplliiccaattiioonn FFuunnccttiioonnaalliittyy 
 AAddddiinngg aa NNeeww CCuussttoommeerr ttoo tthhee BBaannkk 
 Customer Profile Information Transferred 
From Client to Server Transaction Object 
 Customer Information Extracted From the 
Customer Profile Object 
 Server Function Invoked to Add Current 
Customer to List of Customers 
 DDiissppllaayy IInnffoorrmmaattiioonn AAbboouutt EExxiissttiinngg BBaannkk 
CCuussttoommeerrss 
 OOppeenniinngg OOnnee oorr MMoorree AAccccoouunnttss ffoorr CCuussttoommeerrss.. 
 Two Types of Accounts - Savings, Checking 
 Customer Can Have Any Number of Accounts 
 Can Have More Than One Type of Account 
With the Same Account Number
CSE333 
+TheCheckingAccount 
DOC/UML.27 
SSeerrvveerr AApppplliiccaattiioonn HHiieerraarrcchhyy 
User 
Customer 
UnicastRemoteObject 
(from server) 
UnicastRemoteObject() 
readObject() 
clone() 
exportObject() 
Acct 
accno : int 
balance : float = (float)0.0 
CustomerProfileForm 
CustomerAccountForm 
Database 
Server 
-db 
Vector 
(from util) 
-users 
-customers 
#customers 
-transactions 
#account 
Customer 
SavingsAccount 
CheckingAccount 
+TheSavingsAccount 
TheCustomerAccount 
AccountNumber : int 
UTILITY CLASSES 
AND FORMS 
BANK ACCOUNT AND 
CUSTOMER 
INFORMATION 
REMOTE 
SERVER
CSE333 
DOC/UML.28 
SSaammppllee CCooddee 
 Add a Customer to the Bank 
protected boolean addCustomer(Customer c) { 
System.out.println("Server.addCustomer()"); 
Object obj = null; 
for (int i = 0; i < customers.size(); i++) { 
obj = (Customer)customers.elementAt(i); 
if (obj.equals(c)) { 
System.out.print("customer already 
exists"); 
return false; 
} 
} 
customers.addElement(c); 
return true; 
}
CSE333 
DOC/UML.29 
SSaammppllee CCooddee 
 Open an Account for Customer 
public int createAccount(AccProfileForm apf) 
throws RemoteException { 
Acct account = null; 
switch (apf.type) { 
case AccProfileForm.SAVINGS: { 
account = new SavingsAccount(); 
break; 
} 
case AccProfileForm.CHECKING: { 
account = new CheckingAccount(); 
break; 
} 
default: 
} 
account.balance = apf.initialDeposit; 
account.accno = server.accNoGen(); 
account.type = apf.type; 
server.addAccount(customer, account); 
return account.accno; 
}
CSE333 
DOC/UML.30 
SSaammppllee CCooddee 
protected boolean NewAddAccount(int customerNumber, 
TheCustomerAccount a) { 
// get a reference to current customer object 
System.out.println("entering 
NewAddAccount()"); 
Object obj = null; 
Object accObj = null; 
for (int i = 0; i < customers.size(); i++) { 
obj = (Customer)customers.elementAt(i); 
if ( ((Customer)obj).custNumber == 
customerNumber ) { 
System.out.println("customer found");
CSE333 
DOC/UML.31 
SSaammppllee CCooddee 
// Check for Duplicate account numbers 
for (int j=0;j<((Customer)obj).accounts.size();j++) 
{ 
accObj = (TheCustomerAccount) 
((Customer)obj).accounts.elementAt(j); 
if (((TheCustomerAccount)accObj).AccountNumber 
== a.AccountNumber) 
{ 
System.out.println("Account is duplicated"); 
return false; 
} 
} // end for int j 
System.out.println("Account Number: " + 
a.AccountNumber + " Successfully Added.");
CSE333 
DOC/UML.32 
SSaammppllee CCooddee 
System.out.println("Account Number: " + 
a.AccountNumber + " Successfully Added."); 
Add the account to the customer 
((Customer)obj).accounts.addElement(a); 
return true; 
} // end if == cust number 
} // end for i 
System.out.println("Customer Not Found"); 
return false; 
}
CSE333 
DDiissttrriibbuuttiioonn IIssssuueess RReellaattiinngg ttoo OOOOMM 
DOC/UML.33 
 PPrroobblleemmss RReellaattiinngg ttoo DDiissttrriibbuuttiioonn.. 
 How to Distribute the Different Parts of the 
System 
 How to Find the Distribution Objects 
 How to Decide Clusters of Objects 
 How to Distinguish High and Low Read/write 
Ratios Between Objects 
 How to Find the Operations Which Changes 
the Object States
CSE333 
DOC/UML.34 
UUMMLL SSuuppppoorrtt FFoorr DDOOCC 
 CCoommppoonneenntt DDiiaaggrraammss 
 Shows the Structure of the Code 
 Graph of Components Connected by 
Dependency Relationships 
 Shows Dependencies Among Software 
Components 
 DDeeppllooyymmeenntt DDiiaaggrraammss 
 Shows the Structure of the Run-time System 
 Used to Depict Which Components May Run 
on Which Nodes 
 Migration of Components From Node to Node 
May Also Be Shown.
CSE333 
SSooffttmmooddeelleerr - AA NNeexxtt GGeenneerraattiioonn UUMMLL 
DOC/UML.35 
MMooddeelliinngg TTooooll 
 SSuuppppoorrttss tthhrreeee IImmppoorrttaanntt TTeecchhnnoollooggiiccaall TTrreennddss 
 Software Components 
 Distributed Computing 
 OO Technology 
 SSuuppppoorrttss tthhee BBaassiicc UUMMLL CCoonnssttrruuccttss 
 Use Case Diagrams 
 Object Diagrams 
 Class Diagrams 
 Sequence Diagrams 
 NNoo SSuuppppoorrtt ffoorr 
 State Diagrams 
 Activity Diagrams
CSE333 
DOC/UML.36 
FFeeaattuurreess SSuuppppoorrttiinngg DDOOCC 
 TTrruuee CCoommppoonneenntt DDeessiiggnn 
 DDiissttrriibbuuttiioonn MMooddeelliinngg WWiitthh SSuuppppoorrtt ffoorr RRMMII aanndd 
CCOORRBBAA DDiissttrriibbuuttiioonn 
 CCooddee GGeenneerraattiioonn ooff EEnntteerrpprriissee JJaavvaa BBeeaannss aanndd 
JJaavvaa BBeeaannss 
 SSiimmuullaattiioonn ooff MMooddeellss DDuurriinngg tthhee AAnnaallyyssiiss aanndd 
DDeessiiggnn SSttaaggeess
CSE333 
CCoommppoonneenntt DDeessiiggnn aanndd DDiissttrriibbuuttiioonn 
DOC/UML.37 
 PPrroovviiddeess SSppeecciiaall NNoottaattiioonn ffoorr DDeeffiinniinngg 
CCoommppoonneennttss 
 SSuuppppoorrttss CCoommppoonneenntt DDiissttrriibbuuttiioonn MMooddeelliinngg 
 AAlllloowwss RReeuussee ooff EExxiissttiinngg MMooddeellss ooff CCoommppoonneennttss 
 AAuuttoommaattiicc GGeenneerraattiioonn ooff EEnntteerrpprriissee JJaavvaa BBeeaannss 
aanndd JJaavvaa BBeeaannss CCooddee 
 CCrreeaattiioonn ooff VViissuuaall GGrraapphhiiccaall CCoommppoonneenntt MMooddeellss 
FFrroomm EExxiissttiinngg EEJJBB aanndd JJBB SSoouurrccee CCooddee.. 
 PPrroodduucceess RReeqquuiirreedd DDiissttrriibbuuttiioonn CCooddee iinn EEiitthheerr 
CCoorrbbaa oorr JJaavvaa RRMMII
CSE333 
DOC/UML.38 
CCoommppoonneenntt NNoottaattiioonn 
 CCoommppoonneennttss AArree SSppeecciiaall CCllaasssseess TThhaatt DDeeffiinnee aa 
HHiigghheerr LLeevveell ooff EEnnccaappssuullaattiioonn 
 PPoosssseessss aann EExxttrraa IInntteerrffaaccee LLaayyeerr ooff RReemmootteellyy 
AAcccceesssseedd MMeetthhooddss 
 BBeelloonngg ttoo aa CCeerrttaaiinn CCoommppoonneenntt FFrraammeewwoorrkk SSuucchh 
AAss JJBB oorr EEJJBB 
 HHaavvee aann OOppttiioonnaall DDiissttrriibbuuttiioonn MMeetthhoodd((rrmmii,, 
CCOORRBBAA)) ffoorr AAcccceessssiinngg TThheeiirr RReemmootteellyy AAcccceesssseedd 
IInntteerrffaaccee
CSE333 
CCoommppoonneenntt DDiiaaggrraamm - AAnn EExxtteennssiioonn ttoo tthhee 
DOC/UML.39 
UUMMLL NNoottaattiioonn 
DDiiffffeerreenntt FFrroomm aa CCllaassss DDiiaaggrraamm iinn tthhee FFoolllloowwiinngg 
 Component Scope - Can Be a Components 
Class or a Set of Classes and Interfaces 
 Components Interface - a Set of Methods and 
Properties Which Allow Remote Access. 
 Component Framework- Java Beans , 
Enterprise Java Beans , COM 
 Components Distribution Method 
-CORBA,RMI
CSE333 
CCllaassss DDiiaaggrraamm - AAnn EEnnhhaanncceemmeenntt ttoo UUMMLL 
DOC/UML.40 
NewCustomer 
id : int 
name : string[rw] 
Customer() 
FFiieelldd 
PPrrooppeerrttyy 
MMeetthhoodd 
 SSooffttmmooddeelleerr DDiiffffeerreennttiiaatteess BBeettwweeeenn RReegguullaarr FFiieellddss 
aanndd PPrrooppeerrttiieess ooff aa CCllaassss 
 PPrrooppeerrttyy iiss aa FFiieelldd WWiitthh AAcccceessss RRiigghhttss 
 SSeett//ggeett MMeetthhooddss ffoorr tthhee PPrrooppeerrttyy FFiieellddss GGeenneerraatteedd 
AAuuttoommaattiiccaallllyy
CSE333 
DOC/UML.41 
SSooffttMMooddeelleerr vvss.. RRaattiioonnaall RRoossee 
 CCoommppoonneenntt DDiiaaggrraammss 
PPrroovviiddee FFaacciilliittiieess ffoorr 
 Specifying Distinct 
Local & Remote 
Methods 
 Specifying Distribution 
Method Required 
 SSuuppppoorrtt ffoorr tthhee SSiimmuullaattiioonn 
ooff MMooddeellss DDuurriinngg AAnnaallyyssiiss 
aanndd DDeessiiggnn PPhhaassee.. 
 AAlllloowwss SSppeecciiffiiccaattiioonn ooff 
PPrrooppeerrttiieess WWiitthh AAcccceessss 
RRiigghhttss WWiitthhiinn CCllaasssseess.. 
 DDooeess NNoott SSuuppppoorrtt SSttaattee 
DDiiaaggrraammss aanndd AAccttiivviittyy 
DDiiaaggrraammss.. 
 EExxtteennssiivvee SSuuppppoorrtt ffoorr 
CCoommppoonneenntt DDiiaaggrraammss NNoott 
SSuuppppoorrtteedd 
 NNoott SSuuppppoorrtteedd 
 NNoott SSuuppppoorrtteedd 
 SSuuppppoorrttss AAllll CCoonnssttrruuccttss 
DDeeffiinneedd iinn tthhee UUMMLL 
NNoottaattiioonn..
CSE333 
DOC/UML.42 
CCoommppoonneenntt CCrreeaattiioonn
CSE333 
DOC/UML.43 
OObbjjeeccTTiimmee DDeevveellooppeerr™ 
 PPrroodduucctt ooff OObbjjeeccttiimmee LLiimmiitteedd 
 HHttttpp::////wwwwww..OObbjjeeccttiimmee..CCoomm// 
 VVeerrssiioonnss ffoorr CC,, CC++++ 
 CCoonnssiiddeerr TThheemmsseellvveess aass tthhee LLeeaaddiinngg PPrroovviiddeerr ooff 
 Software Engineering Tools 
 Middleware for Developers of Distributed 
Systems 
 PPrroodduucctt HHaass BBeeeenn IInnccoorrppoorraatteedd iinn RRaattiioonnaall RRoossee® 
RReeaallttiimmee 
 UUsseess EExxtteennssiioonnss oonn UUMMLL ttoo IInnccoorrppoorraattee RReeaall- 
TTiimmee AAssppeeccttss,, MMeetthhooddoollooggyy CCaallll RROOOOMM 
 BBoouugghhtt OOuutt bbyy RRaattiioonnaall - NNooww RRoossee-RRTT PPrroodduucctt
CSE333 
OObbjjeeccTTiimmee DDeevveellooppeerr™ - FFeeaattuurreess 
 DDiiffffeerreenntt LLeevveellss ooff VViieewwss ffoorr DDeevveellooppeerrss aanndd 
DOC/UML.44 
CCuussttoommeerrss 
 EExxeeccuuttaabbllee MMooddeelliinngg CCaappaabbiilliittyy ffoorr 
UUnnddeerrssttaannddiinngg CCoommpplleexx,, RReeaall-TTiimmee SSyysstteemmss 
 Tracing Messages Visually and Debugging 
Using Graphics 
 Supports Ability to 
 Build Model From Design 
 Load Model to Target Platform 
 Control & Animate Model From the Development 
Platform 
 GGeenneerraatteess EEnnttiirree AApppplliiccaattiioonnss bbyy UUssiinngg FFoorrmmaall 
MMeetthhooddss TThhaatt AAllllooww AAuuttoommaattiissaattiioonn
CSE333 
OObbjjeeccTTiimmee DDeevveellooppeerr™ - FFeeaattuurreess 
 IInntteeggrraatteess SSmmooootthhllyy wwiitthh OOtthheerr DDeevveellooppeemmeenntt 
DOC/UML.45 
TToooollss aanndd OOppeerraattiinngg SSyysstteemmss 
 Especially Real-time Operating Systems 
 SSttaatteedd oonn TThheeiirr WWeebb PPaaggee:: 
 ROOM Forms the Basis for UML-RT 
 Contains a Set of Real-time Extensions to 
UML 
 Will Soon to Be an OMG Standard for General 
Purpose Software Development
CSE333 
DOC/UML.46 
UUMMLL--RRTT ccoommppoonneennttss 
 CCaappssuulleess RReepprreesseenntt 
CCoommpplleexx,, 
PPootteennttiiaallllyy 
CCoonnccuurrrreenntt aanndd 
AAllssoo DDiissttrriibbuutteedd 
AAccttiivvee CCoommppoonneennttss 
 PPoorrtt iiss PPhhyyssiiccaall PPaarrtt ooff IImmpplleemmeennttaattiioonn ooff 
CCaappssuullee 
 Mediates Interaction of Capsule With 
Outside World 
 Includes Interface and Protocol 
[Signals]
CSE333 
DOC/UML.47 
UUMMLL--RRTT ccoommppoonneennttss 
 CCoonnnneeccttoorrss CCaappttuurree KKeeyy Communication 
Relationships BBeettwweeeenn CCaappssuulleess 
 Relationships Have Architectural Significance 
 Relationships Identify Which Capsules Can 
Affect One Another Other Through Direct 
Communication
CSE333 
RReesseeaarrcchh OOff UUMMLL TToooollss --PPaarraaddiiggmm PPlluuss 
 EEnntteerrpprriissee CCoommppoonneenntt MMooddeelliinngg ((EECCMM:: SShhaarree aanndd 
DOC/UML.48 
RReeuussee ooff CCoommppoonneennttss AAccrroossss PPrroojjeeccttss)) 
 MMooddeellss BBuussiinneessss PPrroocceesssseess 
 OObbjjeecctt RReeppoossiittoorryy ffoorr CCoommppoonneenntt SShhaarriinngg aanndd 
RReeuussee aanndd ttoo RReevveerrssee EEnnggiinneeeerr LLeeggaaccyy SSooffttwwaarree 
 FFuullllyy IInntteeggrraatteedd BBuussiinneessss PPrroocceessss MMooddeelliinngg,, 
OObbjjeecctt MMooddeelliinngg,, aanndd PPhhyyssiiccaall DDaattaabbaassee MMooddeelliinngg 
 OOOOCCLL ((OObbjjeecctt OOrriieenntteedd CChhaannggee aanndd LLeeaarrnniinngg)) 
BBuussiinneessss MMaannaaggeerrss CCaappttuurree,, MMooddeell,, aanndd 
CCoommmmuunniiccaattee CCoorrppoorraattee SSttrraatteeggiieess ttoo 
DDeevveellooppmmeenntt TTeeaammss bbyy MMaappppiinngg BBuussiinneessss 
RReeqquuiirreemmeennttss DDiirreeccttllyy IInnttoo UUssee--ccaassee,, OObbjjeecctt,, aanndd 
PPhhyyssiiccaall DDaattaabbaassee MMooddeellss
CSE333 
PPaarraaddiiggmm PPlluuss -- BBuussiinneessss PPrroocceessss MMooddeell 
DOC/UML.49
CSE333 
PPaarraaddiiggmm PPlluuss -- PPhhyyssiiccaall DDaattaabbaassee 
DOC/UML.50 
MMooddeelliinngg
CSE333 
PPaarraaddiiggmm PPlluuss -- CCoommppoonneenntt BBaasseedd 
DOC/UML.51 
DDeevveellooppmmeenntt
CSE333 
PPaarraaddiiggmm PPlluuss AAnndd UUmmll -- CCllaassss DDiiaaggrraamm 
DOC/UML.52
CSE333 
DOC/UML.53 
PPaarraaddiiggmm PPlluuss AAnndd UUmmll -- 
UUssee CCaassee,, SSttaattee,, aanndd OObbjjeecctt DDiiaaggrraammss
CSE333 
DOC/UML.54 
PPaarraaddiiggmm PPlluuss AAnndd UUmmll -- 
SSeeqquueennccee AAnndd CCoommppoonneenntt DDiiaaggrraamm
CSE333 
DOC/UML.55 
PPaarraaddiiggmm PPlluuss AAnndd UUmmll -- 
PPhhyyss DDaattaabbaassee AAnndd CCoollllaabboorraattiioonn DDiiaaggrraamm
CSE333 
DOC/UML.56 
PPaarraaddiiggmm PPlluuss AAnndd UUmmll -- 
PPrroojjeecctt AAnndd DDeeppllooyymmeenntt DDiiaaggrraammss
CSE333 
DOC/UML.57 
PPaarraaddiiggmm PPlluuss 
EEnnhhaanncceemmeennttss TToo UUMMLL ffoorr DDoocc 
 UUssee CCaassee DDiiaaggrraamm 
 Communication Types 
 SSeeqquueennccee DDiiaaggrraamm 
 Timing Related Interactions 
 DDeeppllooyymmeenntt DDiiaaggrraamm 
 Additions to Physical Components 
 PPrroojjeecctt DDiiaaggrraamm 
 Not Directly Related To DOC 
 Useful in Project Management Activities For 
Team Leaders and Middle Management 
 EECCMM 
 Not Directly Related To DOC. Could Be Used 
in Software Systems Engineering.
CSE333 
DOC/UML.58 
TTooggeetthheerr® 
 PPrroodduucctt ooff OObbjjeecctt IInntteerrnnaattiioonnaall,, IInncc.. 
 HHttttpp::////wwwwww..OOii..CCoomm// 
 TTooggeetthheerr//jj && TTooggeetthheerr//cc++++ 
 CCoommbbiinneedd ttoo TTooggeetthheerr CCoonnttrrooll CCeenntteerr 
 PPrreessiiddeenntt aanndd FFoouunnddeerr PPeetteerr CCooaadd 
 Coad Conducts Workshops and Performs 
Corporate Consultations 
 Publishes Books on Modeling 
 Provides Extensions to UML 
 Tries to Propagate His Own Model Called 
“Coad Object Model” and Archetypes
CSE333 
DOC/UML.59 
TTooggeetthheerr® -- FFeeaattuurreess 
 SSuuppppoorrttss CC++++ aanndd JJaavvaa™ 
 RRoouunndd--ttrriipp EEnnggiinneeeerriinngg 
 WWoorrkkss DDiirreeccttllyy WWiitthh SSoouurrccee FFiilleess,, TThhuuss NNoo 
IInntteerrmmeeddiiaattee RReeppoossiittoorryy NNeecceessssaarryy 
 UUMMLL DDiiaaggrraammss,, CCooaadd OObbjjeecctt MMooddeellss 
 GGeenneerraattiioonn ooff SSyysstteemm DDooccuummeennttaattiioonn 
 CCoonnffiigguurraabbiilliittyy ooff RReevveerrssee EEnnggiinneeeerriinngg aanndd CCooddee 
GGeenneerraattiioonn 
 RRaattiioonnaall RRoossee™ IImmppoorrtt//EExxppoorrtt 
 IImmppoorrtt RReellaattiioonnaall SScchheemmaa ((OOrraaccllee,, AAcccceessss,, eettcc..)) 
 OOppeenn AAPPII ffoorr EExxtteennssiibbiilliittyy 
 AAvvaaiillaabbiilliittyy oonn MMuullttiippllee OOSS PPllaattffoorrmmss 
 SSuuppppoorrttss IIDDLL ffoorr CCOORRBBAA aanndd CCOOMM
CSE333 
DOC/UML.60 
TTooggeetthheerr -- SSccrreeeennsshhoott

More Related Content

Similar to Uml manuu lab BY SARFARAZ HUSAIN

124871685 nocoes de_primeiros_socorros
124871685 nocoes de_primeiros_socorros124871685 nocoes de_primeiros_socorros
124871685 nocoes de_primeiros_socorrosPelo Siro
 
CS201- Introduction to Programming- Lecture 13
CS201- Introduction to Programming- Lecture 13CS201- Introduction to Programming- Lecture 13
CS201- Introduction to Programming- Lecture 13
Bilal Ahmed
 
Rajeev Sharma Resume 2017
Rajeev Sharma Resume 2017Rajeev Sharma Resume 2017
Rajeev Sharma Resume 2017Rajeev Sharma
 
Rita Leahy: Porous Pavements
Rita Leahy: Porous PavementsRita Leahy: Porous Pavements
Rita Leahy: Porous Pavements
California Asphalt Pavement Association
 
Taller de hardware de pc
Taller de hardware de pcTaller de hardware de pc
Taller de hardware de pc
ferrerasmarlon
 
Presentation efi-2
Presentation  efi-2Presentation  efi-2
Presentation efi-2
Ahmad Albi
 
Ataques a bases de datos
Ataques a bases de datosAtaques a bases de datos
Ataques a bases de datos
cmarindi
 
Ground Penetration Radar as a Tool for Pavement Condition Diagnostics
Ground Penetration Radar as a Tool for Pavement Condition DiagnosticsGround Penetration Radar as a Tool for Pavement Condition Diagnostics
Ground Penetration Radar as a Tool for Pavement Condition Diagnostics
Desh Sonyok
 
Hadrware
HadrwareHadrware
Hadrware
gabriel nata
 
Test Automation Myths
Test Automation MythsTest Automation Myths
Test Automation Mythskevinburr
 
ashraf final year ppt on wcr drm kota
ashraf final year ppt on wcr drm kotaashraf final year ppt on wcr drm kota
ashraf final year ppt on wcr drm kota
ashrafdgrt
 
234147191 diseno-y-calculo-de-acometidas
234147191 diseno-y-calculo-de-acometidas234147191 diseno-y-calculo-de-acometidas
234147191 diseno-y-calculo-de-acometidasexsal
 
Tratamento térmico
Tratamento térmicoTratamento térmico
Tratamento térmico
Maurício José Tavares
 
CS201- Introduction to Programming- Lecture 38
CS201- Introduction to Programming- Lecture 38CS201- Introduction to Programming- Lecture 38
CS201- Introduction to Programming- Lecture 38
Bilal Ahmed
 
Von neumann architecture
Von neumann architectureVon neumann architecture
Von neumann architecture
Nazak Rehman
 

Similar to Uml manuu lab BY SARFARAZ HUSAIN (20)

124871685 nocoes de_primeiros_socorros
124871685 nocoes de_primeiros_socorros124871685 nocoes de_primeiros_socorros
124871685 nocoes de_primeiros_socorros
 
gurjinder(Resume)
gurjinder(Resume)gurjinder(Resume)
gurjinder(Resume)
 
ram new
ram newram new
ram new
 
CS201- Introduction to Programming- Lecture 13
CS201- Introduction to Programming- Lecture 13CS201- Introduction to Programming- Lecture 13
CS201- Introduction to Programming- Lecture 13
 
Rajeev Sharma Resume 2017
Rajeev Sharma Resume 2017Rajeev Sharma Resume 2017
Rajeev Sharma Resume 2017
 
Rita Leahy: Porous Pavements
Rita Leahy: Porous PavementsRita Leahy: Porous Pavements
Rita Leahy: Porous Pavements
 
Taller de hardware de pc
Taller de hardware de pcTaller de hardware de pc
Taller de hardware de pc
 
Presentation efi-2
Presentation  efi-2Presentation  efi-2
Presentation efi-2
 
Ataques a bases de datos
Ataques a bases de datosAtaques a bases de datos
Ataques a bases de datos
 
Ethernet
EthernetEthernet
Ethernet
 
Ground Penetration Radar as a Tool for Pavement Condition Diagnostics
Ground Penetration Radar as a Tool for Pavement Condition DiagnosticsGround Penetration Radar as a Tool for Pavement Condition Diagnostics
Ground Penetration Radar as a Tool for Pavement Condition Diagnostics
 
Hadrware
HadrwareHadrware
Hadrware
 
Corporation
CorporationCorporation
Corporation
 
Test Automation Myths
Test Automation MythsTest Automation Myths
Test Automation Myths
 
ashraf final year ppt on wcr drm kota
ashraf final year ppt on wcr drm kotaashraf final year ppt on wcr drm kota
ashraf final year ppt on wcr drm kota
 
234147191 diseno-y-calculo-de-acometidas
234147191 diseno-y-calculo-de-acometidas234147191 diseno-y-calculo-de-acometidas
234147191 diseno-y-calculo-de-acometidas
 
PMANIKANDAN CV-E&I
PMANIKANDAN CV-E&I PMANIKANDAN CV-E&I
PMANIKANDAN CV-E&I
 
Tratamento térmico
Tratamento térmicoTratamento térmico
Tratamento térmico
 
CS201- Introduction to Programming- Lecture 38
CS201- Introduction to Programming- Lecture 38CS201- Introduction to Programming- Lecture 38
CS201- Introduction to Programming- Lecture 38
 
Von neumann architecture
Von neumann architectureVon neumann architecture
Von neumann architecture
 

More from Azad public school

software engineering
software engineeringsoftware engineering
software engineering
Azad public school
 
Computer science-view notices
Computer science-view noticesComputer science-view notices
Computer science-view notices
Azad public school
 
3.1 mining frequent patterns with association rules-mca4
3.1 mining frequent patterns with association rules-mca43.1 mining frequent patterns with association rules-mca4
3.1 mining frequent patterns with association rules-mca4
Azad public school
 
2. visualization in data mining
2. visualization in data mining2. visualization in data mining
2. visualization in data mining
Azad public school
 
Crt notes
Crt notesCrt notes

More from Azad public school (10)

software engineering
software engineeringsoftware engineering
software engineering
 
Crt notes
Crt notesCrt notes
Crt notes
 
Computer science-view notices
Computer science-view noticesComputer science-view notices
Computer science-view notices
 
Cathoderaytube
CathoderaytubeCathoderaytube
Cathoderaytube
 
C programs pbq final
C programs pbq finalC programs pbq final
C programs pbq final
 
2. data warehouse 2nd unit
2. data warehouse 2nd unit2. data warehouse 2nd unit
2. data warehouse 2nd unit
 
3. mining frequent patterns
3. mining frequent patterns3. mining frequent patterns
3. mining frequent patterns
 
3.1 mining frequent patterns with association rules-mca4
3.1 mining frequent patterns with association rules-mca43.1 mining frequent patterns with association rules-mca4
3.1 mining frequent patterns with association rules-mca4
 
2. visualization in data mining
2. visualization in data mining2. visualization in data mining
2. visualization in data mining
 
Crt notes
Crt notesCrt notes
Crt notes
 

Uml manuu lab BY SARFARAZ HUSAIN

  • 1. CSE333 UML DETAILS WITH EXAPLES DOC/UML.1 Research and Work By: SARFARAZ HUSAIN MAULANA AZAD NATIONAL URDU UNIVERSITY MCA 3rd SEMESTER 8184811318 8273090408 FOR FUTURE
  • 2. CSE333 DOC/UML.2 OObbjjeeccttiivvee  EExxpplloorree UUMMLL MMooddeelliinngg TTeecchhnniiqquueess//CCoonnssttrruuccttss aanndd IIddeennttiiffyy SSuuppppoorrtt ttoo DDOOCC  EEmmppllooyy RRaattiioonnaall RROOSSEE ttoo MMooddeell aanndd DDeevveelloopp aa DDiissttrriibbuutteedd BBaannkkiinngg AApppplliiccaattiioonn ((uussiinngg RRMMII))  IIddeennttiiffyy KKeeyy DDiissttrriibbuuttiioonn IIssssuueess RReellaattiinngg ttoo OOOOMM  EExxpplloorree aa SSeelleecctt SSeett ooff UUMMLL MMooddeelliinngg TToooollss ttoo IIddeennttiiffyy DDOOCC SSuuppppoorrtt
  • 3. CSE333 DOC/UML.3 SSyysstteemm UUssee CCaassee DDeessccrriippttiioonn  HHaarrdd CCoonncceepptt ttoo GGrraasspp IInniittiiaallllyy  AAllmmoosstt SSeellff--EExxppllaannaattoorryy -- FFooccuuss oonn FFuunnccttiioonnaalliittyy ooff SSyysstteemm WWiitthh IInntteerraaccttiioonn ooff AAccttoorrss  IIddeennttiiffiieedd FFoouurr MMaajjoorr AAccttoorrss  Major Functionality and Relations to Actors Also Identified  Drew Clear Definitions of Operations for Each Actor  Helped to Identify the Need for Some Sort of Role Based Security (I.e., Customer Actor Doesn’t Perform Audits)  Actors Directly Linked to Roles?  WWrroottee CCaassee SScceennaarriiooss ooff MMaajjoorr FFuunnccttiioonnss
  • 4. CSE333 DOC/UML.4 BBeehhaavviioorraall MMooddeelliinngg SSyysstteemm UUssee CCaassee <<uses>> Report Generation Process Transactions Distributed Communication <<uses>> Persistent Storage Printing Auditing Clerk BANKING SYSTEM The Customer Manager <<uses>> <<uses>> <<uses>> THE CLERK THE CUSTOMER THE MANAGER TheServer THE SERVER
  • 5. CSE333 DOC/UML.5 DDeeppllooyymmeenntt DDiiaaggrraamm DDeessccrriippttiioonn  TToo GGeett aann IIddeeaa ooff HHooww tthhee SSyysstteemm WWoouulldd BBee DDiissttrriibbuutteedd  CCoonncceepptt ooff MMoorree TThhaann OOnnee TTyyppee ooff BBaannkk SSeerrvveerr  QQuueessttiioonnss::  What Kind of Functionality is Distributed Where?  Where is Security, Servers or Clients, Both?  WWhheerree SShhoouulldd WWee DDeeppllooyy OObbjjeeccttss,, aanndd WWhhiicchh OObbjjeecctt??  SSeerrvveerrss HHaannddlliinngg MMuullttiippllee CClliieennttss AAnndd//oorr SSeerrvveerr TTrraannssaaccttiioonnss aatt tthhee SSaammee TTiimmee  AAtttteemmpptt ttoo MMaakkee OOuurr SSyysstteemm GGeenneerriicc SSoo TThhaatt WWee CCaann RRuunn AAllll PPoossssiibbllee SScceennaarriiooss
  • 6. CSE333 ATM X DOC/UML.6 AArrcchhiitteeccttuurraall MMooddeelliinngg DDeeppllooyymmeenntt DDiiaaggrraamm Branch Server Terminal 1 Terminal 2 Terminal X Branch Server Terminal 1 Terminal 2 Terminal X Central Bank ATM 1 ATM 2 Hub
  • 7. CSE333 DOC/UML.7 SSttrruuccttuurraall MMooddeelliinngg LLooggiiccaall aanndd CCoommppoonneenntt VViieewwss ClientServerGui U TheServer U ClientServerGui U TheServer U CCLLAASSSS DDIIAAGGRRAAMM CCOOMMPPOONNEENNTT DDIIAAGGRRAAMM
  • 8. CSE333 DOC/UML.8 IInniittiiaall LLooggiiccaall VViieeww ooff CClliieenntt This is Where The Applet GUI Goes. To be Added To The Model Later. <<Interface>> RMI Here <<Interface>> Serializable (from io) CustomerProfileForm (from TheServer) CustomerAccountForm (from TheServer) Vector (from util) <<Interface>> TransactionInterface TellerInterface 1 +BankTransaction BankConnection 1 +TellerTransaction
  • 9. CSE333 IInniittiiaall LLooccaall SSeerrvveerr SSiimmuullaattoorr aanndd CClliieenntt Serializ able Serializable DOC/UML.9 CCoommpp MMooddeell Funny Money Transactio nInterface Transaction Interface rmi Bank Connection Remote BankServer server util Session Interface Session Interface Transacti onByRole Atm Trans Teller Trans Mgr Trans Teller Interface Teller Interface
  • 10. CSE333 IInniittiiaall LLooggiiccaall VViieeww ooff tthhee SSeerrvveerr DOC/UML.10 SSiimmuullaattoorr This is Where The Applet GUI Goes. To be Added To The Model Later. FunnyMoney amount : int <<Interface>> SessionInterface <<Interface>> Serializable (from io) <<Interface>> Remote (from rmi) <<Interface>> UnicastRemoteObject TransactionInterface RMI Here (from server) Hashtable (from util) SessionHandler +TheAccount Account Account() TransactionByRole $ GOOD_CONN : int = 0 RemoteBankServer accounts 1 1 +TheSessionHandler +TheTransactionHandler AtmTrans <<Interface>> TellerTrans MgrTrans TellerInterface CustomerProfileForm (from TheServer) CustomerAccountForm (from TheServer)
  • 11. CSE333 Allocate Memory And Resources For Transactions DOC/UML.11 BBeehhaavviioorraall MMooddeelliinngg SSeeqquueennccee DDiiaaggrraamm ooff LLoogg IInn Client 1 Server Enter UName And Passwd Send UName And Passwd Verify UName And Passwd Send Connection Status Allocate Memory And Resources For Transactions Prompt User For Transaction Info
  • 12. CSE333 DOC/UML.12 BBeehhaavviioorraall MMooddeelliinngg SSeeqquueennccee DDiiaaggrraamm ooff LLoogg OOuutt Client Server User Execute Logout Send Logout Message Release Memory And Resources Successfully Logged Out Message Release Memory And Resources
  • 13. CSE333 FFiinnaall AApppplliiccaattiioonn MMooddeellss aanndd DDeeppllooyymmeenntt  EEaacchh ooff UUss ttoo EExxppllaaiinn hhiiss//hheerr OOwwnn PPiieeccee iinn DDeettaaiill  Hector - Client GUI and App  Oliver - Main Server Transaction and Interface Hierarchy  Gowri - Main Server Banking Application  OOnnllyy aa PPrroottoottyyppee -- NNoott aa FFuullll--FFlleeddggeedd AApppplliiccaattiioonn  DDeemmoo iiss LLiimmiitteedd ttoo aa CCoouuppllee ooff TTrraannssaaccttiioonnss  GGooaall iiss ttoo PPrroovvee JJaavvaa RRMMII CCoonncceeppttss,, IInntteerrffaacceess,, DOC/UML.13 UUMMLL SSuuppppoorrtt ooff TThheemm iinn aa RReeaall WWoorrlldd AApppp  AAfftteerr TThhiiss PPhhaassee,, RReeaaddyy ttoo JJuummpp ttoo tthhee AAnnaallyyssiiss PPhhaassee
  • 14. CSE333 DOC/UML.14 FFiinnaall DDeevveellooppmmeenntt AApppplleett aanndd CCoonnnneeccttiioonn BankConnection $ GOOD_CONN : int = 0 $ UNK_CONN_ERR : int = 1 $ REMOT_ERR : int = 2 $ NOT_BOUND_ERR : int = 3 $ COMM_FAILED : int = 4 $ ATM_CONN : int = 11 $ TELLER_CONN : int = 12 $ MGR_CONN : int = 13 $ VERIF_FAILED : int = 14 $ TRANSACTION_PASSED : int = 20 $ TRANSACTION_FAILED : int = 21 Connect_To_Bank() Run_Query() Login() Logout() SendCustomerProfile() SendCustomerAccount() Connect_To_ServerBank() LoginToServer() LogoutFromServer() ShowAllCustomers() BankingApp init() JMenuItem2_actionPerformed() JMenuItem2_actionPerformed_Interaction1() JMenuItem18_actionPerformed() JMenuItem18_actionPerformed_Interaction1() JMenuItem2_actionPerformed_Interaction2() myBankingAppCode_Logout() JMenuItem4_actionPerformed() JMenuItem4_actionPerformed_Interaction1() JMenuItem4_actionPerformed_Interaction2() createCustProfMenu_actionPerformed() createCustProfMenu_actionPerformed_Interaction1() +$MyBankConnection closeMenu_actionPerformed() closeMenu_actionPerformed_Interaction1() createNewAccountMenu_actionPerformed() createNewAccountMenu_actionPerformed_Interaction1() myBankingAppCode_ShowAllCustomers() JShowCustomersMItem_actionPerformed() JShowCustomersMItem_actionPerformed_Interaction1() APPLET AND GUI ITS CONNECTION TO THE CLIENT BANK ENGINE
  • 15. CSE333 <<Interface>> DOC/UML.15 FFiinnaall DDeevveellooppmmeenntt MMaaiinn CClliieenntt AApppplliiccaattiioonn The Applet GUI IS To be Added To The Model Later. CustomerProfileForm (from TheServer) RMI ENTRY HERE <<Interface>> Serializable (from io) CustomerAccountForm (from TheServer) <<Interface>> BranchServerInterface (from TheServer) <<Interface>> <<Interface>> ServerTransactionInterface (from TheServer) <<Interface>> MgrTransactionInterface (from TheServer) <<Interface>> ATMTransactionInterface (from TheServer) <<Interface>> SessionInterface +BankServerSession VerifyUserNameAndPassword() PerformLogout() <<Interface>> ServerInterface (from TheServer) login() logout() RoleTransactionInterface (from TheServer) BankConnection 1+BankSession +BankServerTransaction 1 TellerTransactionInterface (from TheServer) Vector (from util) FORM CLASSES FOR DATA TRANSFER CONNECTION CLASS WITH THE GUI
  • 16. CSE333 DOC/UML.16 RRMMII SSttrruuccttuurree  MMaakkee MMeetthhoodd CCaallllaabbllee bbyy DDeeccllaarriinngg SSiiggnnaattuurree iinn IInntteerrffaaccee  CCoommppiillee CCllaassss aanndd IInntteerrffaaccee aanndd GGeenneerraattee SSttuubb aanndd SSkkeelleettoonn Client Object Stub Server Object Skeleton
  • 17. CSE333 DOC/UML.17 RRMMII FFllooww ooff EEvveennttss
  • 18. CSE333 DOC/UML.18 SSeerrvveerr -- GGooaallss  HHaannddllee MMuullttiippllee VViirrttuuaall CCoonnnneeccttiioonnss  HHaavvee MMuullttiippllee UUsseerr TTyyppeess,, WWiitthh VVaarryyiinngg PPrriivviilleeggeess  PPrroovviiddee tthhee FFiinnaanncciiaall SSeerrvviicceess  UUssee ooff DDaattaabbaassee  SSeelleecctt DDeessiiggnn EElleemmeennttss hhaavveenn’’tt BBeeeenn CCooddeedd  Server-Server Connection to have Hierarchy of Servers  Use of Distributed Database  Persistency of DB (Object Serialization)
  • 19. CSE333 DOC/UML.19 SSeerrvveerr -- TTrraannssaaccttiioonn OObbjjeeccttss
  • 20. CSE333 DOC/UML.20 SSeerrvveerr -- TTrraannssaaccttiioonn IInntteerrffaacceess
  • 21. CSE333 DOC/UML.21 SSeerrvveerr aatt RRuunnttiimmee -- LLooggiinn
  • 22. CSE333 DOC/UML.22 SSeerrvveerr -- LLooggiinn MMeetthhoodd switch (db.validateUser(u, p)) { case User.ATM: { atmTransaction = new ATMTransaction(this); addTransaction(atmTransaction); return (atmTransaction); } case User.MANAGER: { mgrTransaction = new MgrTransaction(this); addTransaction(mgrTransaction); return (mgrTransaction); } case User.TELLER: { tellerTransaction = new TellerTransaction(this); addTransaction(tellerTransaction); return (tellerTransaction); } case User.SERVER: { serverTransaction = new ServerTransaction(this); addTransaction(serverTransaction); return (serverTransaction); } default: { System.out.println("unsupported user type"); return null; }
  • 23. CSE333 DOC/UML.23 SSeerrvveerr -- DDaattaabbaassee  DDeessiiggnneedd ttoo SSuuppppoorrtt PPeerrssiisstteennccyy VViiaa OObbjjeecctt SSeerriiaalliizzaattiioonn  AAssssoocciiaattiioonnss AArree VVeeccttoorrss;; NNoott IInnttuuiittiivveellyy DDiissppllaayyeedd iinn RRoossee
  • 24. CSE333 DOC/UML.24 SSeerrvveerr -- HHiieerraarrcchhyy
  • 25. CSE333 DOC/UML.25 SSeerrvveerr -- TThhee BBiigg PPiiccttuurree
  • 26. CSE333 DOC/UML.26 AApppplliiccaattiioonn FFuunnccttiioonnaalliittyy  AAddddiinngg aa NNeeww CCuussttoommeerr ttoo tthhee BBaannkk  Customer Profile Information Transferred From Client to Server Transaction Object  Customer Information Extracted From the Customer Profile Object  Server Function Invoked to Add Current Customer to List of Customers  DDiissppllaayy IInnffoorrmmaattiioonn AAbboouutt EExxiissttiinngg BBaannkk CCuussttoommeerrss  OOppeenniinngg OOnnee oorr MMoorree AAccccoouunnttss ffoorr CCuussttoommeerrss..  Two Types of Accounts - Savings, Checking  Customer Can Have Any Number of Accounts  Can Have More Than One Type of Account With the Same Account Number
  • 27. CSE333 +TheCheckingAccount DOC/UML.27 SSeerrvveerr AApppplliiccaattiioonn HHiieerraarrcchhyy User Customer UnicastRemoteObject (from server) UnicastRemoteObject() readObject() clone() exportObject() Acct accno : int balance : float = (float)0.0 CustomerProfileForm CustomerAccountForm Database Server -db Vector (from util) -users -customers #customers -transactions #account Customer SavingsAccount CheckingAccount +TheSavingsAccount TheCustomerAccount AccountNumber : int UTILITY CLASSES AND FORMS BANK ACCOUNT AND CUSTOMER INFORMATION REMOTE SERVER
  • 28. CSE333 DOC/UML.28 SSaammppllee CCooddee  Add a Customer to the Bank protected boolean addCustomer(Customer c) { System.out.println("Server.addCustomer()"); Object obj = null; for (int i = 0; i < customers.size(); i++) { obj = (Customer)customers.elementAt(i); if (obj.equals(c)) { System.out.print("customer already exists"); return false; } } customers.addElement(c); return true; }
  • 29. CSE333 DOC/UML.29 SSaammppllee CCooddee  Open an Account for Customer public int createAccount(AccProfileForm apf) throws RemoteException { Acct account = null; switch (apf.type) { case AccProfileForm.SAVINGS: { account = new SavingsAccount(); break; } case AccProfileForm.CHECKING: { account = new CheckingAccount(); break; } default: } account.balance = apf.initialDeposit; account.accno = server.accNoGen(); account.type = apf.type; server.addAccount(customer, account); return account.accno; }
  • 30. CSE333 DOC/UML.30 SSaammppllee CCooddee protected boolean NewAddAccount(int customerNumber, TheCustomerAccount a) { // get a reference to current customer object System.out.println("entering NewAddAccount()"); Object obj = null; Object accObj = null; for (int i = 0; i < customers.size(); i++) { obj = (Customer)customers.elementAt(i); if ( ((Customer)obj).custNumber == customerNumber ) { System.out.println("customer found");
  • 31. CSE333 DOC/UML.31 SSaammppllee CCooddee // Check for Duplicate account numbers for (int j=0;j<((Customer)obj).accounts.size();j++) { accObj = (TheCustomerAccount) ((Customer)obj).accounts.elementAt(j); if (((TheCustomerAccount)accObj).AccountNumber == a.AccountNumber) { System.out.println("Account is duplicated"); return false; } } // end for int j System.out.println("Account Number: " + a.AccountNumber + " Successfully Added.");
  • 32. CSE333 DOC/UML.32 SSaammppllee CCooddee System.out.println("Account Number: " + a.AccountNumber + " Successfully Added."); Add the account to the customer ((Customer)obj).accounts.addElement(a); return true; } // end if == cust number } // end for i System.out.println("Customer Not Found"); return false; }
  • 33. CSE333 DDiissttrriibbuuttiioonn IIssssuueess RReellaattiinngg ttoo OOOOMM DOC/UML.33  PPrroobblleemmss RReellaattiinngg ttoo DDiissttrriibbuuttiioonn..  How to Distribute the Different Parts of the System  How to Find the Distribution Objects  How to Decide Clusters of Objects  How to Distinguish High and Low Read/write Ratios Between Objects  How to Find the Operations Which Changes the Object States
  • 34. CSE333 DOC/UML.34 UUMMLL SSuuppppoorrtt FFoorr DDOOCC  CCoommppoonneenntt DDiiaaggrraammss  Shows the Structure of the Code  Graph of Components Connected by Dependency Relationships  Shows Dependencies Among Software Components  DDeeppllooyymmeenntt DDiiaaggrraammss  Shows the Structure of the Run-time System  Used to Depict Which Components May Run on Which Nodes  Migration of Components From Node to Node May Also Be Shown.
  • 35. CSE333 SSooffttmmooddeelleerr - AA NNeexxtt GGeenneerraattiioonn UUMMLL DOC/UML.35 MMooddeelliinngg TTooooll  SSuuppppoorrttss tthhrreeee IImmppoorrttaanntt TTeecchhnnoollooggiiccaall TTrreennddss  Software Components  Distributed Computing  OO Technology  SSuuppppoorrttss tthhee BBaassiicc UUMMLL CCoonnssttrruuccttss  Use Case Diagrams  Object Diagrams  Class Diagrams  Sequence Diagrams  NNoo SSuuppppoorrtt ffoorr  State Diagrams  Activity Diagrams
  • 36. CSE333 DOC/UML.36 FFeeaattuurreess SSuuppppoorrttiinngg DDOOCC  TTrruuee CCoommppoonneenntt DDeessiiggnn  DDiissttrriibbuuttiioonn MMooddeelliinngg WWiitthh SSuuppppoorrtt ffoorr RRMMII aanndd CCOORRBBAA DDiissttrriibbuuttiioonn  CCooddee GGeenneerraattiioonn ooff EEnntteerrpprriissee JJaavvaa BBeeaannss aanndd JJaavvaa BBeeaannss  SSiimmuullaattiioonn ooff MMooddeellss DDuurriinngg tthhee AAnnaallyyssiiss aanndd DDeessiiggnn SSttaaggeess
  • 37. CSE333 CCoommppoonneenntt DDeessiiggnn aanndd DDiissttrriibbuuttiioonn DOC/UML.37  PPrroovviiddeess SSppeecciiaall NNoottaattiioonn ffoorr DDeeffiinniinngg CCoommppoonneennttss  SSuuppppoorrttss CCoommppoonneenntt DDiissttrriibbuuttiioonn MMooddeelliinngg  AAlllloowwss RReeuussee ooff EExxiissttiinngg MMooddeellss ooff CCoommppoonneennttss  AAuuttoommaattiicc GGeenneerraattiioonn ooff EEnntteerrpprriissee JJaavvaa BBeeaannss aanndd JJaavvaa BBeeaannss CCooddee  CCrreeaattiioonn ooff VViissuuaall GGrraapphhiiccaall CCoommppoonneenntt MMooddeellss FFrroomm EExxiissttiinngg EEJJBB aanndd JJBB SSoouurrccee CCooddee..  PPrroodduucceess RReeqquuiirreedd DDiissttrriibbuuttiioonn CCooddee iinn EEiitthheerr CCoorrbbaa oorr JJaavvaa RRMMII
  • 38. CSE333 DOC/UML.38 CCoommppoonneenntt NNoottaattiioonn  CCoommppoonneennttss AArree SSppeecciiaall CCllaasssseess TThhaatt DDeeffiinnee aa HHiigghheerr LLeevveell ooff EEnnccaappssuullaattiioonn  PPoosssseessss aann EExxttrraa IInntteerrffaaccee LLaayyeerr ooff RReemmootteellyy AAcccceesssseedd MMeetthhooddss  BBeelloonngg ttoo aa CCeerrttaaiinn CCoommppoonneenntt FFrraammeewwoorrkk SSuucchh AAss JJBB oorr EEJJBB  HHaavvee aann OOppttiioonnaall DDiissttrriibbuuttiioonn MMeetthhoodd((rrmmii,, CCOORRBBAA)) ffoorr AAcccceessssiinngg TThheeiirr RReemmootteellyy AAcccceesssseedd IInntteerrffaaccee
  • 39. CSE333 CCoommppoonneenntt DDiiaaggrraamm - AAnn EExxtteennssiioonn ttoo tthhee DOC/UML.39 UUMMLL NNoottaattiioonn DDiiffffeerreenntt FFrroomm aa CCllaassss DDiiaaggrraamm iinn tthhee FFoolllloowwiinngg  Component Scope - Can Be a Components Class or a Set of Classes and Interfaces  Components Interface - a Set of Methods and Properties Which Allow Remote Access.  Component Framework- Java Beans , Enterprise Java Beans , COM  Components Distribution Method -CORBA,RMI
  • 40. CSE333 CCllaassss DDiiaaggrraamm - AAnn EEnnhhaanncceemmeenntt ttoo UUMMLL DOC/UML.40 NewCustomer id : int name : string[rw] Customer() FFiieelldd PPrrooppeerrttyy MMeetthhoodd  SSooffttmmooddeelleerr DDiiffffeerreennttiiaatteess BBeettwweeeenn RReegguullaarr FFiieellddss aanndd PPrrooppeerrttiieess ooff aa CCllaassss  PPrrooppeerrttyy iiss aa FFiieelldd WWiitthh AAcccceessss RRiigghhttss  SSeett//ggeett MMeetthhooddss ffoorr tthhee PPrrooppeerrttyy FFiieellddss GGeenneerraatteedd AAuuttoommaattiiccaallllyy
  • 41. CSE333 DOC/UML.41 SSooffttMMooddeelleerr vvss.. RRaattiioonnaall RRoossee  CCoommppoonneenntt DDiiaaggrraammss PPrroovviiddee FFaacciilliittiieess ffoorr  Specifying Distinct Local & Remote Methods  Specifying Distribution Method Required  SSuuppppoorrtt ffoorr tthhee SSiimmuullaattiioonn ooff MMooddeellss DDuurriinngg AAnnaallyyssiiss aanndd DDeessiiggnn PPhhaassee..  AAlllloowwss SSppeecciiffiiccaattiioonn ooff PPrrooppeerrttiieess WWiitthh AAcccceessss RRiigghhttss WWiitthhiinn CCllaasssseess..  DDooeess NNoott SSuuppppoorrtt SSttaattee DDiiaaggrraammss aanndd AAccttiivviittyy DDiiaaggrraammss..  EExxtteennssiivvee SSuuppppoorrtt ffoorr CCoommppoonneenntt DDiiaaggrraammss NNoott SSuuppppoorrtteedd  NNoott SSuuppppoorrtteedd  NNoott SSuuppppoorrtteedd  SSuuppppoorrttss AAllll CCoonnssttrruuccttss DDeeffiinneedd iinn tthhee UUMMLL NNoottaattiioonn..
  • 43. CSE333 DOC/UML.43 OObbjjeeccTTiimmee DDeevveellooppeerr™  PPrroodduucctt ooff OObbjjeeccttiimmee LLiimmiitteedd  HHttttpp::////wwwwww..OObbjjeeccttiimmee..CCoomm//  VVeerrssiioonnss ffoorr CC,, CC++++  CCoonnssiiddeerr TThheemmsseellvveess aass tthhee LLeeaaddiinngg PPrroovviiddeerr ooff  Software Engineering Tools  Middleware for Developers of Distributed Systems  PPrroodduucctt HHaass BBeeeenn IInnccoorrppoorraatteedd iinn RRaattiioonnaall RRoossee® RReeaallttiimmee  UUsseess EExxtteennssiioonnss oonn UUMMLL ttoo IInnccoorrppoorraattee RReeaall- TTiimmee AAssppeeccttss,, MMeetthhooddoollooggyy CCaallll RROOOOMM  BBoouugghhtt OOuutt bbyy RRaattiioonnaall - NNooww RRoossee-RRTT PPrroodduucctt
  • 44. CSE333 OObbjjeeccTTiimmee DDeevveellooppeerr™ - FFeeaattuurreess  DDiiffffeerreenntt LLeevveellss ooff VViieewwss ffoorr DDeevveellooppeerrss aanndd DOC/UML.44 CCuussttoommeerrss  EExxeeccuuttaabbllee MMooddeelliinngg CCaappaabbiilliittyy ffoorr UUnnddeerrssttaannddiinngg CCoommpplleexx,, RReeaall-TTiimmee SSyysstteemmss  Tracing Messages Visually and Debugging Using Graphics  Supports Ability to  Build Model From Design  Load Model to Target Platform  Control & Animate Model From the Development Platform  GGeenneerraatteess EEnnttiirree AApppplliiccaattiioonnss bbyy UUssiinngg FFoorrmmaall MMeetthhooddss TThhaatt AAllllooww AAuuttoommaattiissaattiioonn
  • 45. CSE333 OObbjjeeccTTiimmee DDeevveellooppeerr™ - FFeeaattuurreess  IInntteeggrraatteess SSmmooootthhllyy wwiitthh OOtthheerr DDeevveellooppeemmeenntt DOC/UML.45 TToooollss aanndd OOppeerraattiinngg SSyysstteemmss  Especially Real-time Operating Systems  SSttaatteedd oonn TThheeiirr WWeebb PPaaggee::  ROOM Forms the Basis for UML-RT  Contains a Set of Real-time Extensions to UML  Will Soon to Be an OMG Standard for General Purpose Software Development
  • 46. CSE333 DOC/UML.46 UUMMLL--RRTT ccoommppoonneennttss  CCaappssuulleess RReepprreesseenntt CCoommpplleexx,, PPootteennttiiaallllyy CCoonnccuurrrreenntt aanndd AAllssoo DDiissttrriibbuutteedd AAccttiivvee CCoommppoonneennttss  PPoorrtt iiss PPhhyyssiiccaall PPaarrtt ooff IImmpplleemmeennttaattiioonn ooff CCaappssuullee  Mediates Interaction of Capsule With Outside World  Includes Interface and Protocol [Signals]
  • 47. CSE333 DOC/UML.47 UUMMLL--RRTT ccoommppoonneennttss  CCoonnnneeccttoorrss CCaappttuurree KKeeyy Communication Relationships BBeettwweeeenn CCaappssuulleess  Relationships Have Architectural Significance  Relationships Identify Which Capsules Can Affect One Another Other Through Direct Communication
  • 48. CSE333 RReesseeaarrcchh OOff UUMMLL TToooollss --PPaarraaddiiggmm PPlluuss  EEnntteerrpprriissee CCoommppoonneenntt MMooddeelliinngg ((EECCMM:: SShhaarree aanndd DOC/UML.48 RReeuussee ooff CCoommppoonneennttss AAccrroossss PPrroojjeeccttss))  MMooddeellss BBuussiinneessss PPrroocceesssseess  OObbjjeecctt RReeppoossiittoorryy ffoorr CCoommppoonneenntt SShhaarriinngg aanndd RReeuussee aanndd ttoo RReevveerrssee EEnnggiinneeeerr LLeeggaaccyy SSooffttwwaarree  FFuullllyy IInntteeggrraatteedd BBuussiinneessss PPrroocceessss MMooddeelliinngg,, OObbjjeecctt MMooddeelliinngg,, aanndd PPhhyyssiiccaall DDaattaabbaassee MMooddeelliinngg  OOOOCCLL ((OObbjjeecctt OOrriieenntteedd CChhaannggee aanndd LLeeaarrnniinngg)) BBuussiinneessss MMaannaaggeerrss CCaappttuurree,, MMooddeell,, aanndd CCoommmmuunniiccaattee CCoorrppoorraattee SSttrraatteeggiieess ttoo DDeevveellooppmmeenntt TTeeaammss bbyy MMaappppiinngg BBuussiinneessss RReeqquuiirreemmeennttss DDiirreeccttllyy IInnttoo UUssee--ccaassee,, OObbjjeecctt,, aanndd PPhhyyssiiccaall DDaattaabbaassee MMooddeellss
  • 49. CSE333 PPaarraaddiiggmm PPlluuss -- BBuussiinneessss PPrroocceessss MMooddeell DOC/UML.49
  • 50. CSE333 PPaarraaddiiggmm PPlluuss -- PPhhyyssiiccaall DDaattaabbaassee DOC/UML.50 MMooddeelliinngg
  • 51. CSE333 PPaarraaddiiggmm PPlluuss -- CCoommppoonneenntt BBaasseedd DOC/UML.51 DDeevveellooppmmeenntt
  • 52. CSE333 PPaarraaddiiggmm PPlluuss AAnndd UUmmll -- CCllaassss DDiiaaggrraamm DOC/UML.52
  • 53. CSE333 DOC/UML.53 PPaarraaddiiggmm PPlluuss AAnndd UUmmll -- UUssee CCaassee,, SSttaattee,, aanndd OObbjjeecctt DDiiaaggrraammss
  • 54. CSE333 DOC/UML.54 PPaarraaddiiggmm PPlluuss AAnndd UUmmll -- SSeeqquueennccee AAnndd CCoommppoonneenntt DDiiaaggrraamm
  • 55. CSE333 DOC/UML.55 PPaarraaddiiggmm PPlluuss AAnndd UUmmll -- PPhhyyss DDaattaabbaassee AAnndd CCoollllaabboorraattiioonn DDiiaaggrraamm
  • 56. CSE333 DOC/UML.56 PPaarraaddiiggmm PPlluuss AAnndd UUmmll -- PPrroojjeecctt AAnndd DDeeppllooyymmeenntt DDiiaaggrraammss
  • 57. CSE333 DOC/UML.57 PPaarraaddiiggmm PPlluuss EEnnhhaanncceemmeennttss TToo UUMMLL ffoorr DDoocc  UUssee CCaassee DDiiaaggrraamm  Communication Types  SSeeqquueennccee DDiiaaggrraamm  Timing Related Interactions  DDeeppllooyymmeenntt DDiiaaggrraamm  Additions to Physical Components  PPrroojjeecctt DDiiaaggrraamm  Not Directly Related To DOC  Useful in Project Management Activities For Team Leaders and Middle Management  EECCMM  Not Directly Related To DOC. Could Be Used in Software Systems Engineering.
  • 58. CSE333 DOC/UML.58 TTooggeetthheerr®  PPrroodduucctt ooff OObbjjeecctt IInntteerrnnaattiioonnaall,, IInncc..  HHttttpp::////wwwwww..OOii..CCoomm//  TTooggeetthheerr//jj && TTooggeetthheerr//cc++++  CCoommbbiinneedd ttoo TTooggeetthheerr CCoonnttrrooll CCeenntteerr  PPrreessiiddeenntt aanndd FFoouunnddeerr PPeetteerr CCooaadd  Coad Conducts Workshops and Performs Corporate Consultations  Publishes Books on Modeling  Provides Extensions to UML  Tries to Propagate His Own Model Called “Coad Object Model” and Archetypes
  • 59. CSE333 DOC/UML.59 TTooggeetthheerr® -- FFeeaattuurreess  SSuuppppoorrttss CC++++ aanndd JJaavvaa™  RRoouunndd--ttrriipp EEnnggiinneeeerriinngg  WWoorrkkss DDiirreeccttllyy WWiitthh SSoouurrccee FFiilleess,, TThhuuss NNoo IInntteerrmmeeddiiaattee RReeppoossiittoorryy NNeecceessssaarryy  UUMMLL DDiiaaggrraammss,, CCooaadd OObbjjeecctt MMooddeellss  GGeenneerraattiioonn ooff SSyysstteemm DDooccuummeennttaattiioonn  CCoonnffiigguurraabbiilliittyy ooff RReevveerrssee EEnnggiinneeeerriinngg aanndd CCooddee GGeenneerraattiioonn  RRaattiioonnaall RRoossee™ IImmppoorrtt//EExxppoorrtt  IImmppoorrtt RReellaattiioonnaall SScchheemmaa ((OOrraaccllee,, AAcccceessss,, eettcc..))  OOppeenn AAPPII ffoorr EExxtteennssiibbiilliittyy  AAvvaaiillaabbiilliittyy oonn MMuullttiippllee OOSS PPllaattffoorrmmss  SSuuppppoorrttss IIDDLL ffoorr CCOORRBBAA aanndd CCOOMM
  • 60. CSE333 DOC/UML.60 TTooggeetthheerr -- SSccrreeeennsshhoott