JavaScript is disabled so the dynamic features of this page will not work. To use UmpleOnline, turn Javascript on. Otherwise you can download the command-line Umple compiler or use Eclipse.
// Sample UML class diagram for a banking system, written in Umple
//Namespace for core of the system.
namespace BankingSystem.core.humanResources;
class PersonRole{}
class Person{
name;
address;
phoneNumber;
1 -- * PersonRole;
}
class Employee{
isA PersonRole;
}
class Client
{
isA PersonRole;
name;
address;
phoneNumber;
1..2 -- 1..* Account;
}
class Manager {
isA Employee;
0..1 -- * Employee;
}
//Accounts, priviledges, etc.
namespace BankingSystem.core.intangableResources;
class Account{
Integer accountNumber;
Float balance;
Float creditLimit;
* -> 1 AccountType;
}
class AccountType
{
Float monthlyFee;
Float interestRate;
* -- * Privilege;
}
class Privilege
{
description;
}
class CreditCardAccount{
isA Account;
Date expiryDate;
1 -- 1..* Card;
}
class MortgageAccount {
isA Account;
collateral;
}
//Anything physically tangable
namespace BankingSystem.core.tangableResources;
class Card
{
holderName;
}
class Branch {
isA Division;
address;
branchNumber;
1 -- * Account;
}
class Division{
name;
1 -- * Employee;
0..1 -- 0..* Division subDivision;
}
//$?[End_of_model]$?
// Positioning
// Positioning
namespace -;
class Account
{
position 438 270 189 96;
position.association Account__AccountType 190,15 0,27;
}
class AccountType
{
position 665 258 152 79;
position.association AccountType__Privilege 70,0 67,62;
}
class Privilege
{
position 668 146 149 62;
}
class MortgageAccount
{
position 565 416 137 58;
}
class CreditCardAccount
{
position 391 416 139 58;
position.association Card__CreditCardAccount 0,14 153,15;
}
class Client
{
position 444 125 166 96;
position.association Account__Client 80,96 86,0;
}
class Person
{
position 35 45 166 96;
position.association Person__PersonRole 167,10 0,24;
}
class Manager
{
position 252 216 109 41;
position.association Employee__Manager 93,0 93,45;
}
class Employee
{
position 252 128 109 45;
}
class PersonRole
{
position 350 31 110 45;
}
class Branch
{
position 200 283 171 79;
position.association Account__Branch 172,15 0,28;
}
class Card
{
position 161 415 153 58;
}
class Division
{
position 78 204 112 58;
position.association Division__Employee 40,0 0,37;
position.association Division__Division:subDivision 15,58 0,30;
}