Professional Documents
Culture Documents
Systems Analysis and Design With UML
Systems Analysis and Design With UML
UML
Analysis Design Paradigm and
Diagrams
Paradigm Diagrams
1 Process-oriented Flowchart
2 Data-oriented DFD
3 Object-oriented UML
(data + process)
Sejarah UML
Booch, Jacobson, Rumbaugh
• In the 90s, many people
creating OO diagramming languages
• Three different ones created by Grady Booch,
Ivar Jacobson, James Rumbaugh
• Joined forces with
Rational (company) to
create Unified Modeling
Langauge (UML)
2003 UML 2.0
Sejarah UML 2011 UML 2.4
What is the UML?
• UML: Unified Modeling Language
• UML can be used for modeling all processes in the
development life cycle and across different
implementation technologies (technology and
language independent)
• UML is the standard language for visualizing,
specifying, constructing, and documenting the
artifacts of a software-intensive system
• UML is a communication tool – for the team, and
other stakeholders
UML Tools
• Rational Rose
• Visual Paradigm
• Enterprise Architect
• Microsoft Visio
• Star UML
• Netbeans UML Plugin
UML 2.0 Diagrams
UML version 2.0 has 14 diagrams in 2 groups:
1. Structure Diagrams
2. Behavior Diagrams
UML 2.0 Diagram
UML Structure Diagrams
Represent the data and static
relationships in an information system
1. Class Diagram
2. Object Diagram
3. Package Diagram
4. Deployment Diagram
5. Component Diagram
6. Composite Structure Diagram
UML Behavior Diagrams
Depict the dynamic relationships among the
instances or objects that represent the
business information system
1. Activity Diagram 5. Timing Diagram
2. Sequence Diagram 6. Behavior State Machine
3. Communication Diagram 7. Protocol State Machine
4. Interaction Diagram 8. Use Case Diagrams
UML Problems
1. UML is modeling notation, it is not a
development process or a methodology
– UML driven development process?
2. System Design
1. Program Design
a. Class Diagram (Gabungkan Boundary-Control-Entity Class dan susun story dari sistem yang dibangun)
b. Package Diagram (Gabungan class yang sesuai, boleh menggunakan pola B-C-E)
c. Deployment Diagram (arsitektur software dari sistem yang dibangun)
2. User Interface Design (Buat UI design dari Boundary Class)
3. Entity-Relationship Model (Buat ER diagram dari Entity Class)
SDLC and Deliverables
1. Planning System
1.1 System Request
Proposal
1.2 Feasibility Analysis
2. Analysis
2.1 Use Case Diagram
2.2 Activity Diagram
2.3 Sequence Diagram System
3. Design Specification
3.1 Class Diagram
3.2 Deployment Diagram
3.3 User Interface Design
3.4 Data Model
New
4. Implementation
4.1 Program Code Software
4.2 Testing Plan
4.3 Documentation
Use Case Diagram
• Generalization Relationship
Use Case
• A major piece of
system functionality Use Case
• Can extend other
Use Cases
• Placed inside system boundary
• Labeled with descriptive
verb - noun phrase
System Boundary
• Includes the name Boundary
of the system
inside or on top
• Represents the
scope of the system
• Actors are outside the scope of the system
Actor
• A person or another
system that interacts
with the current system
• A role, not a specific user
actor
• Provides input, Actor/Role
receives output, or both
Association Relationship
• Links actor and the Use Case
• Shows two-way communication
– If one-way, arrows are used
• * is for "multiplicity of the Association"
* *
Extends Relationship
• Extends Use Case to include Optional
behavior
• Arrow points from the extension Use Case to
the base Use Case
extend
Mengupdate Data
Membuat Kartu Pasien
Pasien Lama
«include»
Mengelola Jadw al
Praktek Mempublikasikan
«include» Jadw al Praktek
Administrator
Pasien Baru
STUDI KASUS: ATM SYSTEM
ATM System
ATM System
Layar
Kotak Kuitansi
Menu PIN
Masukkan PIN:
Kotak Kuitansi
Menu Utama
1. Mengecek Saldo
2. Mentransfer Uang
3. Mengambil Uang
4. Logout
Kotak Kuitansi
Menu Pengecekan Saldo
Kotak Kuitansi
Menu Pengiriman Uang
1. No Account Penerima:
Kotak Kuitansi
Menu Pengiriman Uang
Kotak Kuitansi
Menu Pengiriman Uang
Kotak Kuitansi
Menu Pengambilan Uang
Kotak Kuitansi
Menu Pengambilan Uang
Kotak Kuitansi
Use Case Diagram (versi Sederhana)
uc UCD Sistem ATM Sederhana
Sistem ATM
Memasukan PIN
Mengecek Saldo
Mengambil Uang
Melakukan Logout
Use Case Diagram (versi include dan extends)
uc UCD Sistem ATM Kompleks
Sistem ATM
Mengupdate Informasi
Kotak Deposit
Mengecek Saldo
Petugas
«extend»
Melakukan Logout
Mengirim Uang
ERP Perbankan (Sistem Lebih Kompleks)
uc ERP Perbankan
ERP Perbakan
uc ATM Module
ATM Module
Mengecek Saldo
Mengirim Uang
Nasabah
Mengambil Uang
Use Case Diagram (Versi Normal)
uc UCD Sistem ATM
Sistem ATM
Mengecek Saldo
Mengupdate Informasi
Kotak Deposit
Petugas
Nasabah
Mengambil Uang
Keluar Sistem
• Activity Diagram
• Business Process Model and Notation
Sistem AT M
Mengecek Saldo
Mengupdate Informasi
Kotak Deposit
Petugas
Nasabah
Mengambil Uang
Keluar Sistem
Activity Diagram: Memasukkan Kartu
act 1 AD Memasukan Kartu
Petugas
Mul ai
Masukan
Validasi Kartu
Kartu
ti dak ya
Keluarkan Tampilkan
Kartu Menu PIN
Selesai
Activity Diagram: Memasukkan PIN
act 2 AD Memasukan PIN
Petugas
Mulai
Masukan PIN di
Validasi PIN
Menu PIN
tidak
Entri Lebih dari 3x? Jenis Pengguna?
tidak PIN Valid? ya
ya Nasabah petugas
Selesai
Activity Diagram: Mengecek Saldo
act 3 AD Mengecek Saldo
Mul ai
Tampilkan di Menu
Pengecekan Saldo
Selesai
Activity Diagram: Mengambil Uang
act 4 AD Mengambil Uang
Mulai
Cek
Masukan Jumlah Request Kecukupan
Uang Kecukupan
Saldo
Saldo
Saldo Cukup?
tidak
Tampilkan Error Saldo
Tidak Cukup
tidak
Selesai
Activity Diagram: Mengirim Uang
act 5 AD Mengirim Uang
Mulai
ya
Masukan Jumlah Tampilkan Isian
Uang Jumlah Uang
tidak
Saldo Cukup?
ya
Selesai
Activity Diagram: Mengupdate Informasi Kotak Deposit
act 6 AD Mengupdate Informasi Kotak Deposit
Mulai
tidak
ya
Setujui Data Masukan?
Tampilkan Data dan
Permintaan Konfirmasi
ya
Selesai
Activity Diagram: Keluar Sistem
act 7 AD Keluar Sistem
Nasabah
Mulai
Tampilkan Pesan
Telah Keluar Sistem
Selesai
Sequence Diagram
2. System Design
1. Program Design
1. Class Diagram (Gabungkan Boundary-Control-Entity Class dan susun story dari sistem yang dibangun)
2. Package Diagram (Gabungan class yang sesuai, boleh menggunakan pola B-C-E)
3. Deployment Diagram (arsitektur software dari sistem yang dibangun)
2. User Interface Design (Buat UI design dari Boundary Class)
3. Entity-Relationship Model (Buat ER diagram dari Entity Class)
Sequence Diagram
1. Susun Sequence Diagram untuk setiap Use
Case yang dibuat
2. Mulai dari menarik Actor yang ada di Use
Case Diagram, lanjutkan dengan membuat
sequence detail dari berjalannya Use Case
Nasabah Petugas
KotakKartu Manaj erValidasi MenuPIN
masukanKartu()
validasiKartu()
[tidak]
keluarkanKartu()
Sequence Diagram: Memasukkan PIN
sd 2 SD Memasukan PIN
:Nasabah
MenuPIN Manaj erValidasi Login MenuUtama
masukanPIN()
validasi PIN(id)
getPIN()
[ti dak]
[ya]
bl oki rAccount()
tampi l kan(pesanKesalahan)
Sequence Diagram: Mengecek Saldo
sd 3 SD Mengecek Saldo
pi l i hMengecekSal do()
cekSal do(i d)
getSal do()
:Nasabah
MenuUtama MenuPengambilanUang Manaj erPengambilanUang Balance KotakUang
pilihAmbilUang()
tampilkan()
masukanJumlahUang()
cekKecukupanSaldo(id)
getSaldo()
[ya]
ambilUang(id, jumlah)
setSaldo(saldo)
keluarkanUang(jumlah)
Sequence Diagram: Mengirim Uang
sd 5 SD Mengirim Uang
:Nasabah
MenuUtama MenuPengirimanUang Manaj erPengirimanUang Account Pengirim:Balance Penerima:Balance
pilihKirimUang()
tampilkan()
masukanAccountTujuan()
validasiAccount()
getID()
tampilkan(hasil)
masukanJumlahUang()
cekKecukupan Saldo(id)
getSaldo()
[ya]
kirimUang(idPengirim, idPenerima, jumlah)
setSaldo(saldo)
setSaldo(saldo)
Sequence Diagram: Mengupdate Informasi Kotak
Deposit
sd 6 SD Mengupdate Informasi Kotak Deposit
:Petugas
MenuUtama MenuDeposit Manaj erDeposit Deposit
pilihUpdateData()
tampilkan()
isiData()
isiData()
setData()
tampilkan(hasil)
Sequence Diagram: Keluar Sistem
sd 7 SD Keluar Sistem
:Nasabah
MenuUtama Manaj erLogout KotakKartu KotakKuitansi MenuLogout
pi lihKeluar()
kel uar()
kel uarkanKartu()
keluarkanKui tansi()
tampil kan(pesanKeluar)
class CD Sistem ATM
Class Diagram
Manaj erValidasi
Login
- m_Login: Login
mengakses + getPIN(): int
+ blokirAccount(): void
+ ManajerValidasi()
+ validasiKartu(): int
+ validasiPIN(): int
dikelola oleh
dikelola oleh
Manaj erPengecekanUang
MenuPengecekanSaldo
KotakKartu dikelola oleh
MenuPIN
mengakses
Balance
memiliki mewarisi
memiliki mengakses
MenuPengambilanUang Manaj erPengambilanUang
dikelola oleh
SistemATM
MenuUtama mewarisi
mengakses
mewarisi
MenuPengirimanUang
memiliki memiliki Manaj erPengirimanUang Account
dikelola oleh
mengakses
mewarisi
KotakKuitansi KotakUang
mewarisi
«column»
*PK idAccount: VARCHAR(50)
nama: VARCHAR(50)
pekerjaan: VARCHAR(50)
jeniskelamin: VARCHAR(50)
alamat: VARCHAR(50) Deposit
FK idBalance: VARCHAR(50)
FK idLogin: VARCHAR(50) «column»
*PK idDeposit: VARCHAR(50)
«FK» jumlahTotal: VARCHAR(50)
+ FK_Account_Balance(VARCHAR) jumlah50: VARCHAR(50)
+ FK_Account_Login(VARCHAR) jumlah100: VARCHAR(50)
«index»
+ IXFK_Account_Balance(VARCHAR) «PK»
+ IXFK_Account_Login(VARCHAR) + PK_Deposit(VARCHAR)
«PK»
+ PK_Account(VARCHAR) +FK_Account_Balance
(idBalance = idBalance)
(idLogin = idLogin)
«FK»
«FK»
+PK_Balance 1
+PK_Login 1
Balance
Login
«column»
«column» *PK idBalance: VARCHAR(50)
*PK idLogin: VARCHAR(50) saldo: VARCHAR(50)
PIN: VARCHAR(50)
«PK»
«PK» + PK_Balance(VARCHAR)
+ PK_Login(VARCHAR)
User Interface Design
User Interface Design (Sparx EA)
ui UID Sistem ATM
Menu PIN
«navigate»
Menu Pengambilan Uang
«navigate»
MenuUtama
Mengecek Saldo
Mengirim Uang
Rekening Tujuan
Jumlah Uang
Kirim
User Interface Design (Netbeans)
Latihan Use Case Diagram !
PT. Nusantara adalah sebuah perusahaan yang bergerak dibidang penjualan Tunai barang-barang
elektronik. Semua transaksi di perusahaan masih dilakukan secara manual. Berikut ini adalah
kegiatan kegiatan yang dilakukan oleh bagian Penjualan dalam melaksanakan transaksi penjualan
Barang di dalam perusahaan.
1. Pemesanan barang
Setiap kali Bagian penjualan akan menjual barang ia selalu menerima surat pesanan dari
pelanggan. Berdasarkan Surat pesanan tersebut bagian penjualan kemudian mencatat dan
merekamnya kedalam Arsip Surat Pesanan. Berdasarkan Arsip surat pesanan tersebut, bagian
penjualan membuatkan Faktur dan Surat Jalan yang dikirimkan kepada Pelanggan sebagai bukti
bahwa barang yang dipesan sudah terealisasi dan rangkapnya disimpan sebagai Arsip Faktur dan
Arsip Surat Jalan.
2. Pembuatan Kwitansi
Apabila Faktur dan Surat Jalan sudah sampai ditempat pelanggan, maka pelanggan megirimkan
Pembayaran yang kemudian oleh bagian penjualan dibuatkan Kwitansi yang dibuat berdasarkan
Arsip Faktur yang kemudian diserahkan kepada pelanggan sebagai bukti pembayaran dan
rangkapnya disimpan kedalam Arsip Kwitansi
3. Pembuatan Laporan
Setiap akhir bulan Bagian Penjualan selalu membuat Laporan Penjualan berdasarkan Arsip
Faktur dan Laporan Pesanan berdasarkan Arsip Pesanan dan Laporan Pengiriman berdasarkan
Arsip Surat Jalan yang ditujukan kepada Kepala Bagian Penjualan
Diminta :
•Buatlah Use case diagram dari data diatas !
Catatan Review
• Gunakan pola Subject-Verb-Object (S-V-O) untuk use case diagram (Actor –
Use Case) dan Activity Diagram (Partition – Action)
• Use Case Diagram adalah apa yang dilakukan Actor di sistem, bukan apa yang
dilakukan oleh sistem
• Pada Sequence Diagram perhatikan transaksi yang harusnya datangnya dari
actor, dan bukan dari object lain
• Naming untuk object dan class adalah kata benda (noun), untuk message di
Sequence Diagram (method) adalah kata kerja
• Object lifeline dan message di Sequence Diagram dan nama class di Class
Diagram, tidak boleh menggunakan spasi, karena akan jadi Class dan Method
di kode program
• Actor akan mengirim message hanya ke Boundary Class, tidak ke Control atau
Entity Class
• Entity Class bukan consumer, jadi tidak pernah mengirim message ke
Boundary atau Control Class
• Boundary class akan menjadi UI Design, entity class akan menjadi Data Model
• Class diagram tidak menunjukkan alur, tapi menunjukkan struktur dan
komposisi dari sistem yg kita bangun
References
1. Alan Dennis et al, Systems Analysis and Design with UML 4th Edition,
John Wiley and Sons, 2013
2. Kenneth E. Kendall and Julie E Kendall, Systems Analysis and Design 8th
Edition, Prentice Hall, 2010
3. John W. Satzinge, Robert B. Jackson, Stephen D. Burd, Systems Analysis
and Design in a Changing World 6th Edition, Course Technology, 2012
4. Hassan Gomaa, Software Modeling and Design: UML, Use Cases,
Patterns, and Software Architectures, Cambridge University Press,
2011
5. Gary B. Shelly and Harry J. Rosenblatt, Systems Analysis and Design 9th
Edition, Course Technology, 2011
6. Howard Podeswa, UML for the IT Business Analyst 2nd Edition, Course
Technology, 2009
7. Jeffrey A. Hoffer et al, Modern Systems Analysis and Design 6th Edition,
Prentice Hall, 2010