SlideShare a Scribd company logo
Systems Analysis
and Design
By : Ajeng Savitri P, M.Kom
Prepared by Kevin C. Dittman for
Systems Analysis & Design Methods 4ed
by J. L. Whitten & L. D. Bentley
Design
2
• Learning Unified Modeling Language (UML)
Use Case Diagram
4
System Analysis and Design with UML
1. System Analysis
1. Business Process Identification
• Use Case Diagram
2. Business Process Modeling
• Activity Diagram or Business Process Modeling Notation
(BPMN)
3. Business Process Realization
• Sequence Diagram (Buat untuk setiap use case dengan menggunakan
pola Boundary-Control-Entity)
5
Use Case Diagrams
• Summarized into a single picture
• All of the use cases for the part of the system being modeled
• Use case represents the discrete activities performed by the
user
• Use Case Diagram tells what the system will do
• Good for communicating with users
6
Syntax for an Use Case Diagram
• Actor
• person or system that derives benefit from and is
external to the subject
• Use Case
• Represents a major piece of system functionality
• Association Relationship
• Include Relationship
• Extend Relationship
• Generalization Relationship
<<extends>>
<<includes>>
7
Use Case
• A major piece of system functionality
• Can extend other Use Cases
• Placed inside system boundary
• Labeled with descriptive verb - noun phrase
Use Case
8
System Boundary
• Includes the name of the system inside or on top
• Represents the scope of the system
• Actors are outside the scope of the system
Boundary
9
Actor
• A person or another system that interacts with the
current system
• A role, not a specific user
• Provides input, receives output, or both
actor
Actor/Role
10
Association Relationship
• Links actor and the Use Case
• Shows two-way communication
• If one-way, arrows are used
• * is for "multiplicity of the Association"
* *
11
Extends Relationship
• Extends Use Case to include Optional behavior
• Arrow points from the extension Use Case to the
base Use Case
extend
extend Make
Appointment
Make Payment
Arrangement
12
Include Relationship
• Include one Use Case from within another
• Arrow points from base Use Case to the
included Use Case
include
include Create New
Patient
Make New
Patient Appointment
13
Generalization Relationship
• A specialized Use Case to a more generalized Use
Case
• Arrow points from specialized to general Use Case
Make
Appointment
Make Old
Appointment
14
Use Case Diagram for Appointment System
15
Use Case Diagram with Specialized Actor
16
Extend and Include Relationships
17
Case Study
Business Process Modeling
with Activity Diagrams
19
BPM With Activity Diagrams
• A number of activities support a business process across
several departments
• Activity diagrams model the behavior in a business
process
20
Syntax for an
Activity
Diagram
21
22
Activity Diagram
Example
Creating Activity Diagrams
1. Set the context or scope of the activity being modeled
2. Identify the activities and control/object flows
between activities
3. Identify any decisions made
4. Look for opportunities for parallelism
5. Draw the diagram
23
Case Study
Sequence Diagram
25
Sequence Diagrams
• Illustrate the objects that participate in a use case
• Show the messages that pass between objects for a
particular use-case over time
26
Sequence Diagram Syntax
AN ACTOR
AN OBJECT
A LIFELINE
A FOCUS OF CONTROL
A MESSAGE
OBJECT DESTRUCTION
anObject:aClass
aMessage()
x
27
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
Catatan: Objek dari Lifeline di Sequence Diagram akan menjadi kandidat Class
28
Jenis Class
1. Boundary Class:
• Class yang berinteraksi dengan aktor langsung (user interface)
• Form, input, UI ini masuk di sini
2. Control Class:
• Class yang berhubungan dengan pemrosesan, penghitungan,
kalkulasi, komputasi, query, dst
3. Entity Class:
• Class yang berhubungan dengan data, penyimpanan data/file
29
Case Study
Case Study: ATM System
31
ATM System
32
Aplikasi Penjualan Buku Online
ATM System
Layar
Kotak Uang Kotak Kartu
Kotak Kuitansi
34
Masukkan PIN:
Kotak Uang Kotak Kartu
Kotak Kuitansi
35
Menu Utama
1. Melihat Saldo
2. Mentransfer Uang
3. Mengambil Uang
4. Logout
Kotak Uang Kotak Kartu
Kotak Kuitansi
36
Menu Melihat Saldo
1. Saldo anda adalah ….
Kotak Uang Kotak Kartu
Kotak Kuitansi
37
Menu Mentransfer Uang
1. No Account Penerima:
Kotak Uang Kotak Kartu
Kotak Kuitansi
38
Menu Mentransfer Uang
1. Jumlah uang yang dikirim:
Kotak Uang Kotak Kartu
Kotak Kuitansi
39
Menu Mentransfer Uang
1. Uang berhasil terkirim
Kotak Uang Kotak Kartu
Kotak Kuitansi
40
Menu Mengambil Uang
1. Jumlah uang yang diambil:
Kotak Uang Kotak Kartu
Kotak Kuitansi
41
Menu Mengambil Uang
Uang berhasil diambil
Kotak Uang Kotak Kartu
Kotak Kuitansi
42
Use Case Diagramuc UCD - Sistem ATM
Pengguna
Sistem ATM
Memasukkan Kartu Memasukkan PIN
Mengecek Saldo
Mentransfer Uang
Mengambil UangMelakukan Logout
«include»
43
Use Case Diagram (Alternatif)uc Sistem ATM
Sistem ATM
Pengguna
Memasukkan Kartu Memasukkan PIN
Memilih Transaksi
Melihat Saldo
Mengirim Uang
Mengambil Uang
Melakukan Logout
Admin
Mengganti Kotak
Deposit
«include»
«extend»
«extend»
«extend»
44
Activity Diagram
Activity Diagram: Memasukkan Kartu
act AD1 - Memasukkan Kartu
Mulai
Pengguna Sistem ATM
Menyiapkan Kartu
Memasukkan Kartu Memv alidasi Kartu
kartu valid?
Menampilkan MenuPIN
Mengeluarkan Kartu
Selesai
tidak
ya
46
Activity Diagram: Memasukkan PIN
act AD2 - Memasukkan PIN
Pengguna Sistem ATM
Mulai
Memasukkan PIN
Memv alidasi Account
pin valid?
Menampilkan MenuUtama
lebih dari 3x?
Memblokkir Kartu
Selesai
ya
tidak
tidak
ya
47
Activity Diagram: Mengecek Saldo
act AD3 - Mengecek Saldo
Pengguna Sistem ATM
Mulai
Memilih Mengecek Saldo
di Menu Utama
Memproses Pengecekan
Saldo
Menampilkan Saldo di
Menu Saldo
Selesai
48
Activity Diagram: Mentransfer Uang
act AD4 - Mentransfer Uang
Pengguna Sistem ATM
Mulai
Memilih Mentransfer Uang
di Menu Utama
Memasukkan Account
Tujuan
Memasukkan Jumlah
Uang yang dikirim
Menghitung Kecukupan
Saldo Pengirim
Memv alidasi Account
Tujuan
Account Tujuan Valid?
Saldo Cukup?
Mentransfer Uang
Selesai
tidak
ya
tidak
ya
49
Activity Diagram: Mengambil Uang
act AD5 - Mengambil Uang
Pengguna Sistem ATM
Mulai
Memilih Menu Mengambil
Uang di Menu Utama
Memasukkan Jumlah
Uang
Mengecek Ketercukupan
Saldo
Saldo Cukup?
Memproses Pengambilan
Uang
Mengeluarkan Uang di
Kotak Uang
Mengambil Uang di Kotak
Uang
Selesai
tidak
ya
50
Activity Diagram: Melakukan Logout
act AD6 - Melakukan Logout
Sistem ATMPengguna
Mulai
Memilih Keluar di Menu
Utama
Memproses Logout
Mengeluarkan Kuitansi
Mengeluarkan KartuMengambil Kuitansi
Mengambil Kartu
Selesai
51
Sequence Diagram
Sequence Diagram: Memasukkan Kartu
sd SD1 - Memasukkan Kartu
Pengguna
(from 1 Use Case Diagram)
KotakKartu ProsesValidasiKartu MenuPIN
alt kartu valid?
[ya]
[tidak]
memasukanKartu()
validasiKartu()
tampilkan()
mengeluarkanKartu()
53
Sequence Diagram: Memasukkan PIN
sd SD2 - Memasukkan PIN
Pengguna
(from 1 Use Case Diagram)
MenuPIN ProsesValidasiAccount LoginAccount MenuUtama
alt PIN valid?
[ya]
[tidak]
alt lebih dari 3x?
[tidak]
[ya]
memasukkanPIN()
validasi(id, pin)
getIDLogin()
getPIN()
tampilkan()
tampilkan()
blokirAccount()
errorKartuDiblokir()
54
Sequence Diagram: Mengecek Saldo
sd SD3 - Mengecek Saldo
Pengguna
(from1 Use Case Diagram)
MenuUtama MenuMengecekSaldoProsesMengecekSaldo Account Balance Transaksi
memilihMengecekSaldo()
lihatSaldo(id)
getIDBalance()
getSaldo()
setTransaksi(tgl, jenis)
tampilkanHasil(saldo)
55
Sequence Diagram: Mentransfer Uangsd SD4 - Mentransfer Uang
Pengguna MenuUtama MenuMentransferUang ProsesMentransferUang Account pengirim:Balancepenerima:Balance Transaksi
alt saldo cukup?
[ya]
[tidak]
memilihMentransferUang()
tampilkan()
memasukkanJumlahUang()
memasukkanAccountTujuan()
transferUang(id, jumlah)
getIDBalance()
getSaldo()
setSaldo(saldo)
setSaldo(saldo)
setTransaksi(tgl, jenis)
tampilkanUangBerhasilDikirim()
tampilkanErrorSaldoTidakCukup()
56
Sequence Diagram: Mengambil Uang
sd SD5 - Mengambil Uang
Pengguna
(from 1 Use Case Diagram)
MenuUtama MenuMengambilUang ProsesMengambilUang Account Balance KotakUangTransaksi
alt saldo cukup?
[ya]
[tidak]
memilihMengambilUang()
tampilkan()
memasukkanJumlah()
ambilUang(id, jumlah)
getIDBalance()
getSaldo()
setSaldo(saldo)
keluarkanUang(jumlah)
setTransaksi(tgl, jenis)
TampilkanUangBerhasilDiambil()
TampilkanErrorSaldoTidakCukup()
57
Sequence Diagram: Melakukan Logoutsd SD6 - Melakukan Logout
Pengguna
(from 1 Use Case Diagram)
MenuUtama MenuLogout ProsesLogout KotakKuitansi KotakKartu
memilihKeluar()
tampilkan()
logout()
keluarkanKuitansi()
keluarkanKartu()
tampilkanTelahKeluar()
58
Class Diagramclass CD - Sistem ATM
Account
Balance
KotakKartu
KotakKuitansiKotakUang
Login
MenuLogout
MenuMengambilUang
MenuMengecekSaldo
MenuMentransferUang
MenuPIN
MenuUtama
ProsesLogout
ProsesMengambilUang
+ m_Account: Account
+ m_Balance: Balance
+ m_Transaksi: Transaksi
+ ambilUang() : void
+ ProsesMengambilUang()
ProsesMengecekSaldo
+ lihatSaldo() : void
ProsesMentransferUang
+ m_Account: Account
+ m_Balance: Balance
+ m_Transaksi: Transaksi
+ ProsesMentransferUang()
+ transferUang() : void
ProsesValidasiAccount
ProsesValidasiKartu
Transaksi
SistemATM
menampilkan
melakukan
memilikimemiliki
melakukan
mewarisi
mewarisi
melakukan
mewarisi
melakukan
mewarisi
memiliki
memiliki
mengakses
melakukan
mengakses
melakukan
59
Data Model
60
User Interface Design
61
User Interface Design (Netbeans)
62
Terima Kasih
ajeng.savitri@tekokrat.ac.id
https://teknokrat.ac.id/en/

More Related Content

Similar to Unified Modeling Language (UML) 2

APSI Pertemuan IV V.pdf
APSI Pertemuan IV  V.pdfAPSI Pertemuan IV  V.pdf
APSI Pertemuan IV V.pdf
DikiIbal
 
Cara pembuatan-use-case
Cara pembuatan-use-caseCara pembuatan-use-case
Cara pembuatan-use-case
Arrey Fithool
 
Analisa perancangan sistem 3
Analisa perancangan sistem 3Analisa perancangan sistem 3
Analisa perancangan sistem 3
iimpunya3
 
RPL-Pertemuan-9.pdf
RPL-Pertemuan-9.pdfRPL-Pertemuan-9.pdf
RPL-Pertemuan-9.pdf
ArdieGucci
 
Pengembangan sistem informasi
Pengembangan sistem informasiPengembangan sistem informasi
Pengembangan sistem informasi
Albertz Ace-Red
 
Analisis-Manfaat-Biaya.ppt
Analisis-Manfaat-Biaya.pptAnalisis-Manfaat-Biaya.ppt
Analisis-Manfaat-Biaya.ppt
PerryBoyChandraSiaha1
 
Metedologi Pengembangan Sistem Akutansi_sia
Metedologi Pengembangan Sistem Akutansi_siaMetedologi Pengembangan Sistem Akutansi_sia
Metedologi Pengembangan Sistem Akutansi_sia
fahmisholeh
 
Tahap pengembangan sistem
Tahap pengembangan sistemTahap pengembangan sistem
Tahap pengembangan sistem
Pritjohan Agung Winawang
 
i. minggu pertama
i. minggu pertamai. minggu pertama
i. minggu pertama
Isna Aryanty
 
Tugas sim, yenni nalam, yananto mihadi, pengembangan sistem informasi,, 2018
Tugas sim, yenni nalam, yananto mihadi, pengembangan sistem informasi,, 2018Tugas sim, yenni nalam, yananto mihadi, pengembangan sistem informasi,, 2018
Tugas sim, yenni nalam, yananto mihadi, pengembangan sistem informasi,, 2018
ynsinaga
 
Bab 7 teori
Bab 7 teoriBab 7 teori
romi-sad-03-analysis-nov2017.pptx
romi-sad-03-analysis-nov2017.pptxromi-sad-03-analysis-nov2017.pptx
romi-sad-03-analysis-nov2017.pptx
Diivaa1
 
[RPL2] Activity Diagram
[RPL2] Activity Diagram[RPL2] Activity Diagram
[RPL2] Activity Diagram
rizki adam kurniawan
 
Tugas sim 7, walillah gias wiridianti, yananto mihadi putra se, msi, pengemba...
Tugas sim 7, walillah gias wiridianti, yananto mihadi putra se, msi, pengemba...Tugas sim 7, walillah gias wiridianti, yananto mihadi putra se, msi, pengemba...
Tugas sim 7, walillah gias wiridianti, yananto mihadi putra se, msi, pengemba...
WalillahGiasWiridian
 
USER GUIDE POWER BI to develop dashboard
USER GUIDE POWER BI to develop dashboardUSER GUIDE POWER BI to develop dashboard
USER GUIDE POWER BI to develop dashboard
haposan3
 
Materi analisis biaya manfaat-1
Materi analisis biaya manfaat-1Materi analisis biaya manfaat-1
Materi analisis biaya manfaat-1
Fajar Baskoro
 
IF4198_04_093843.ppt
IF4198_04_093843.pptIF4198_04_093843.ppt
IF4198_04_093843.ppt
TazkyaKamila
 
METODOLOGI SISTEM.......................
METODOLOGI SISTEM.......................METODOLOGI SISTEM.......................
METODOLOGI SISTEM.......................
rendisalay
 
KA1053 Dasar Pemrograman Macro Excel
KA1053 Dasar Pemrograman Macro ExcelKA1053 Dasar Pemrograman Macro Excel
KA1053 Dasar Pemrograman Macro Excel
Universitas Telkom
 
03_Pengambilan-Keputusan-Sistem-Pemodelan-dan-Dukungan-DSS-TIF-DG_IL1314IC.pdf
03_Pengambilan-Keputusan-Sistem-Pemodelan-dan-Dukungan-DSS-TIF-DG_IL1314IC.pdf03_Pengambilan-Keputusan-Sistem-Pemodelan-dan-Dukungan-DSS-TIF-DG_IL1314IC.pdf
03_Pengambilan-Keputusan-Sistem-Pemodelan-dan-Dukungan-DSS-TIF-DG_IL1314IC.pdf
luvixservice
 

Similar to Unified Modeling Language (UML) 2 (20)

APSI Pertemuan IV V.pdf
APSI Pertemuan IV  V.pdfAPSI Pertemuan IV  V.pdf
APSI Pertemuan IV V.pdf
 
Cara pembuatan-use-case
Cara pembuatan-use-caseCara pembuatan-use-case
Cara pembuatan-use-case
 
Analisa perancangan sistem 3
Analisa perancangan sistem 3Analisa perancangan sistem 3
Analisa perancangan sistem 3
 
RPL-Pertemuan-9.pdf
RPL-Pertemuan-9.pdfRPL-Pertemuan-9.pdf
RPL-Pertemuan-9.pdf
 
Pengembangan sistem informasi
Pengembangan sistem informasiPengembangan sistem informasi
Pengembangan sistem informasi
 
Analisis-Manfaat-Biaya.ppt
Analisis-Manfaat-Biaya.pptAnalisis-Manfaat-Biaya.ppt
Analisis-Manfaat-Biaya.ppt
 
Metedologi Pengembangan Sistem Akutansi_sia
Metedologi Pengembangan Sistem Akutansi_siaMetedologi Pengembangan Sistem Akutansi_sia
Metedologi Pengembangan Sistem Akutansi_sia
 
Tahap pengembangan sistem
Tahap pengembangan sistemTahap pengembangan sistem
Tahap pengembangan sistem
 
i. minggu pertama
i. minggu pertamai. minggu pertama
i. minggu pertama
 
Tugas sim, yenni nalam, yananto mihadi, pengembangan sistem informasi,, 2018
Tugas sim, yenni nalam, yananto mihadi, pengembangan sistem informasi,, 2018Tugas sim, yenni nalam, yananto mihadi, pengembangan sistem informasi,, 2018
Tugas sim, yenni nalam, yananto mihadi, pengembangan sistem informasi,, 2018
 
Bab 7 teori
Bab 7 teoriBab 7 teori
Bab 7 teori
 
romi-sad-03-analysis-nov2017.pptx
romi-sad-03-analysis-nov2017.pptxromi-sad-03-analysis-nov2017.pptx
romi-sad-03-analysis-nov2017.pptx
 
[RPL2] Activity Diagram
[RPL2] Activity Diagram[RPL2] Activity Diagram
[RPL2] Activity Diagram
 
Tugas sim 7, walillah gias wiridianti, yananto mihadi putra se, msi, pengemba...
Tugas sim 7, walillah gias wiridianti, yananto mihadi putra se, msi, pengemba...Tugas sim 7, walillah gias wiridianti, yananto mihadi putra se, msi, pengemba...
Tugas sim 7, walillah gias wiridianti, yananto mihadi putra se, msi, pengemba...
 
USER GUIDE POWER BI to develop dashboard
USER GUIDE POWER BI to develop dashboardUSER GUIDE POWER BI to develop dashboard
USER GUIDE POWER BI to develop dashboard
 
Materi analisis biaya manfaat-1
Materi analisis biaya manfaat-1Materi analisis biaya manfaat-1
Materi analisis biaya manfaat-1
 
IF4198_04_093843.ppt
IF4198_04_093843.pptIF4198_04_093843.ppt
IF4198_04_093843.ppt
 
METODOLOGI SISTEM.......................
METODOLOGI SISTEM.......................METODOLOGI SISTEM.......................
METODOLOGI SISTEM.......................
 
KA1053 Dasar Pemrograman Macro Excel
KA1053 Dasar Pemrograman Macro ExcelKA1053 Dasar Pemrograman Macro Excel
KA1053 Dasar Pemrograman Macro Excel
 
03_Pengambilan-Keputusan-Sistem-Pemodelan-dan-Dukungan-DSS-TIF-DG_IL1314IC.pdf
03_Pengambilan-Keputusan-Sistem-Pemodelan-dan-Dukungan-DSS-TIF-DG_IL1314IC.pdf03_Pengambilan-Keputusan-Sistem-Pemodelan-dan-Dukungan-DSS-TIF-DG_IL1314IC.pdf
03_Pengambilan-Keputusan-Sistem-Pemodelan-dan-Dukungan-DSS-TIF-DG_IL1314IC.pdf
 

More from Ajeng Savitri

Software Testing Documentation
Software Testing DocumentationSoftware Testing Documentation
Software Testing Documentation
Ajeng Savitri
 
Software Productivity Measurement
Software Productivity MeasurementSoftware Productivity Measurement
Software Productivity Measurement
Ajeng Savitri
 
Debugging (Part 2)
Debugging (Part 2)Debugging (Part 2)
Debugging (Part 2)
Ajeng Savitri
 
Debugging
DebuggingDebugging
Debugging
Ajeng Savitri
 
Software Testing Strategy (Part 2)
Software Testing Strategy (Part 2)Software Testing Strategy (Part 2)
Software Testing Strategy (Part 2)
Ajeng Savitri
 
Software Testing Strategy
Software Testing StrategySoftware Testing Strategy
Software Testing Strategy
Ajeng Savitri
 
Object Oriented Testing
Object Oriented TestingObject Oriented Testing
Object Oriented Testing
Ajeng Savitri
 
Testing Technique (Part 2)
Testing Technique (Part 2)Testing Technique (Part 2)
Testing Technique (Part 2)
Ajeng Savitri
 
Testing Technique
Testing TechniqueTesting Technique
Testing Technique
Ajeng Savitri
 
Testing Plan
Testing PlanTesting Plan
Testing Plan
Ajeng Savitri
 
Methodology Selection Strategy
Methodology Selection Strategy Methodology Selection Strategy
Methodology Selection Strategy
Ajeng Savitri
 
Software Testing - Software Quality (Part 2)
Software Testing - Software Quality (Part 2)Software Testing - Software Quality (Part 2)
Software Testing - Software Quality (Part 2)
Ajeng Savitri
 
Software Testing - Software Quality
Software Testing - Software QualitySoftware Testing - Software Quality
Software Testing - Software Quality
Ajeng Savitri
 
Computer Evolution and Performance
Computer Evolution and PerformanceComputer Evolution and Performance
Computer Evolution and Performance
Ajeng Savitri
 
Software Testing - Introduction
Software Testing - IntroductionSoftware Testing - Introduction
Software Testing - Introduction
Ajeng Savitri
 
Use Case Diagram
Use Case DiagramUse Case Diagram
Use Case Diagram
Ajeng Savitri
 
Requirement Gathering
Requirement GatheringRequirement Gathering
Requirement Gathering
Ajeng Savitri
 
Business Value
Business ValueBusiness Value
Business Value
Ajeng Savitri
 
Agile Development
Agile DevelopmentAgile Development
Agile Development
Ajeng Savitri
 
Structured Design
Structured DesignStructured Design
Structured Design
Ajeng Savitri
 

More from Ajeng Savitri (20)

Software Testing Documentation
Software Testing DocumentationSoftware Testing Documentation
Software Testing Documentation
 
Software Productivity Measurement
Software Productivity MeasurementSoftware Productivity Measurement
Software Productivity Measurement
 
Debugging (Part 2)
Debugging (Part 2)Debugging (Part 2)
Debugging (Part 2)
 
Debugging
DebuggingDebugging
Debugging
 
Software Testing Strategy (Part 2)
Software Testing Strategy (Part 2)Software Testing Strategy (Part 2)
Software Testing Strategy (Part 2)
 
Software Testing Strategy
Software Testing StrategySoftware Testing Strategy
Software Testing Strategy
 
Object Oriented Testing
Object Oriented TestingObject Oriented Testing
Object Oriented Testing
 
Testing Technique (Part 2)
Testing Technique (Part 2)Testing Technique (Part 2)
Testing Technique (Part 2)
 
Testing Technique
Testing TechniqueTesting Technique
Testing Technique
 
Testing Plan
Testing PlanTesting Plan
Testing Plan
 
Methodology Selection Strategy
Methodology Selection Strategy Methodology Selection Strategy
Methodology Selection Strategy
 
Software Testing - Software Quality (Part 2)
Software Testing - Software Quality (Part 2)Software Testing - Software Quality (Part 2)
Software Testing - Software Quality (Part 2)
 
Software Testing - Software Quality
Software Testing - Software QualitySoftware Testing - Software Quality
Software Testing - Software Quality
 
Computer Evolution and Performance
Computer Evolution and PerformanceComputer Evolution and Performance
Computer Evolution and Performance
 
Software Testing - Introduction
Software Testing - IntroductionSoftware Testing - Introduction
Software Testing - Introduction
 
Use Case Diagram
Use Case DiagramUse Case Diagram
Use Case Diagram
 
Requirement Gathering
Requirement GatheringRequirement Gathering
Requirement Gathering
 
Business Value
Business ValueBusiness Value
Business Value
 
Agile Development
Agile DevelopmentAgile Development
Agile Development
 
Structured Design
Structured DesignStructured Design
Structured Design
 

Unified Modeling Language (UML) 2

  • 1. Systems Analysis and Design By : Ajeng Savitri P, M.Kom Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley
  • 3. • Learning Unified Modeling Language (UML)
  • 5. System Analysis and Design with UML 1. System Analysis 1. Business Process Identification • Use Case Diagram 2. Business Process Modeling • Activity Diagram or Business Process Modeling Notation (BPMN) 3. Business Process Realization • Sequence Diagram (Buat untuk setiap use case dengan menggunakan pola Boundary-Control-Entity) 5
  • 6. Use Case Diagrams • Summarized into a single picture • All of the use cases for the part of the system being modeled • Use case represents the discrete activities performed by the user • Use Case Diagram tells what the system will do • Good for communicating with users 6
  • 7. Syntax for an Use Case Diagram • Actor • person or system that derives benefit from and is external to the subject • Use Case • Represents a major piece of system functionality • Association Relationship • Include Relationship • Extend Relationship • Generalization Relationship <<extends>> <<includes>> 7
  • 8. Use Case • A major piece of system functionality • Can extend other Use Cases • Placed inside system boundary • Labeled with descriptive verb - noun phrase Use Case 8
  • 9. System Boundary • Includes the name of the system inside or on top • Represents the scope of the system • Actors are outside the scope of the system Boundary 9
  • 10. Actor • A person or another system that interacts with the current system • A role, not a specific user • Provides input, receives output, or both actor Actor/Role 10
  • 11. Association Relationship • Links actor and the Use Case • Shows two-way communication • If one-way, arrows are used • * is for "multiplicity of the Association" * * 11
  • 12. Extends Relationship • Extends Use Case to include Optional behavior • Arrow points from the extension Use Case to the base Use Case extend extend Make Appointment Make Payment Arrangement 12
  • 13. Include Relationship • Include one Use Case from within another • Arrow points from base Use Case to the included Use Case include include Create New Patient Make New Patient Appointment 13
  • 14. Generalization Relationship • A specialized Use Case to a more generalized Use Case • Arrow points from specialized to general Use Case Make Appointment Make Old Appointment 14
  • 15. Use Case Diagram for Appointment System 15
  • 16. Use Case Diagram with Specialized Actor 16
  • 17. Extend and Include Relationships 17
  • 19. Business Process Modeling with Activity Diagrams 19
  • 20. BPM With Activity Diagrams • A number of activities support a business process across several departments • Activity diagrams model the behavior in a business process 20
  • 23. Creating Activity Diagrams 1. Set the context or scope of the activity being modeled 2. Identify the activities and control/object flows between activities 3. Identify any decisions made 4. Look for opportunities for parallelism 5. Draw the diagram 23
  • 26. Sequence Diagrams • Illustrate the objects that participate in a use case • Show the messages that pass between objects for a particular use-case over time 26
  • 27. Sequence Diagram Syntax AN ACTOR AN OBJECT A LIFELINE A FOCUS OF CONTROL A MESSAGE OBJECT DESTRUCTION anObject:aClass aMessage() x 27
  • 28. 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 Catatan: Objek dari Lifeline di Sequence Diagram akan menjadi kandidat Class 28
  • 29. Jenis Class 1. Boundary Class: • Class yang berinteraksi dengan aktor langsung (user interface) • Form, input, UI ini masuk di sini 2. Control Class: • Class yang berhubungan dengan pemrosesan, penghitungan, kalkulasi, komputasi, query, dst 3. Entity Class: • Class yang berhubungan dengan data, penyimpanan data/file 29
  • 31. Case Study: ATM System 31
  • 34. ATM System Layar Kotak Uang Kotak Kartu Kotak Kuitansi 34
  • 35. Masukkan PIN: Kotak Uang Kotak Kartu Kotak Kuitansi 35
  • 36. Menu Utama 1. Melihat Saldo 2. Mentransfer Uang 3. Mengambil Uang 4. Logout Kotak Uang Kotak Kartu Kotak Kuitansi 36
  • 37. Menu Melihat Saldo 1. Saldo anda adalah …. Kotak Uang Kotak Kartu Kotak Kuitansi 37
  • 38. Menu Mentransfer Uang 1. No Account Penerima: Kotak Uang Kotak Kartu Kotak Kuitansi 38
  • 39. Menu Mentransfer Uang 1. Jumlah uang yang dikirim: Kotak Uang Kotak Kartu Kotak Kuitansi 39
  • 40. Menu Mentransfer Uang 1. Uang berhasil terkirim Kotak Uang Kotak Kartu Kotak Kuitansi 40
  • 41. Menu Mengambil Uang 1. Jumlah uang yang diambil: Kotak Uang Kotak Kartu Kotak Kuitansi 41
  • 42. Menu Mengambil Uang Uang berhasil diambil Kotak Uang Kotak Kartu Kotak Kuitansi 42
  • 43. Use Case Diagramuc UCD - Sistem ATM Pengguna Sistem ATM Memasukkan Kartu Memasukkan PIN Mengecek Saldo Mentransfer Uang Mengambil UangMelakukan Logout «include» 43
  • 44. Use Case Diagram (Alternatif)uc Sistem ATM Sistem ATM Pengguna Memasukkan Kartu Memasukkan PIN Memilih Transaksi Melihat Saldo Mengirim Uang Mengambil Uang Melakukan Logout Admin Mengganti Kotak Deposit «include» «extend» «extend» «extend» 44
  • 46. Activity Diagram: Memasukkan Kartu act AD1 - Memasukkan Kartu Mulai Pengguna Sistem ATM Menyiapkan Kartu Memasukkan Kartu Memv alidasi Kartu kartu valid? Menampilkan MenuPIN Mengeluarkan Kartu Selesai tidak ya 46
  • 47. Activity Diagram: Memasukkan PIN act AD2 - Memasukkan PIN Pengguna Sistem ATM Mulai Memasukkan PIN Memv alidasi Account pin valid? Menampilkan MenuUtama lebih dari 3x? Memblokkir Kartu Selesai ya tidak tidak ya 47
  • 48. Activity Diagram: Mengecek Saldo act AD3 - Mengecek Saldo Pengguna Sistem ATM Mulai Memilih Mengecek Saldo di Menu Utama Memproses Pengecekan Saldo Menampilkan Saldo di Menu Saldo Selesai 48
  • 49. Activity Diagram: Mentransfer Uang act AD4 - Mentransfer Uang Pengguna Sistem ATM Mulai Memilih Mentransfer Uang di Menu Utama Memasukkan Account Tujuan Memasukkan Jumlah Uang yang dikirim Menghitung Kecukupan Saldo Pengirim Memv alidasi Account Tujuan Account Tujuan Valid? Saldo Cukup? Mentransfer Uang Selesai tidak ya tidak ya 49
  • 50. Activity Diagram: Mengambil Uang act AD5 - Mengambil Uang Pengguna Sistem ATM Mulai Memilih Menu Mengambil Uang di Menu Utama Memasukkan Jumlah Uang Mengecek Ketercukupan Saldo Saldo Cukup? Memproses Pengambilan Uang Mengeluarkan Uang di Kotak Uang Mengambil Uang di Kotak Uang Selesai tidak ya 50
  • 51. Activity Diagram: Melakukan Logout act AD6 - Melakukan Logout Sistem ATMPengguna Mulai Memilih Keluar di Menu Utama Memproses Logout Mengeluarkan Kuitansi Mengeluarkan KartuMengambil Kuitansi Mengambil Kartu Selesai 51
  • 53. Sequence Diagram: Memasukkan Kartu sd SD1 - Memasukkan Kartu Pengguna (from 1 Use Case Diagram) KotakKartu ProsesValidasiKartu MenuPIN alt kartu valid? [ya] [tidak] memasukanKartu() validasiKartu() tampilkan() mengeluarkanKartu() 53
  • 54. Sequence Diagram: Memasukkan PIN sd SD2 - Memasukkan PIN Pengguna (from 1 Use Case Diagram) MenuPIN ProsesValidasiAccount LoginAccount MenuUtama alt PIN valid? [ya] [tidak] alt lebih dari 3x? [tidak] [ya] memasukkanPIN() validasi(id, pin) getIDLogin() getPIN() tampilkan() tampilkan() blokirAccount() errorKartuDiblokir() 54
  • 55. Sequence Diagram: Mengecek Saldo sd SD3 - Mengecek Saldo Pengguna (from1 Use Case Diagram) MenuUtama MenuMengecekSaldoProsesMengecekSaldo Account Balance Transaksi memilihMengecekSaldo() lihatSaldo(id) getIDBalance() getSaldo() setTransaksi(tgl, jenis) tampilkanHasil(saldo) 55
  • 56. Sequence Diagram: Mentransfer Uangsd SD4 - Mentransfer Uang Pengguna MenuUtama MenuMentransferUang ProsesMentransferUang Account pengirim:Balancepenerima:Balance Transaksi alt saldo cukup? [ya] [tidak] memilihMentransferUang() tampilkan() memasukkanJumlahUang() memasukkanAccountTujuan() transferUang(id, jumlah) getIDBalance() getSaldo() setSaldo(saldo) setSaldo(saldo) setTransaksi(tgl, jenis) tampilkanUangBerhasilDikirim() tampilkanErrorSaldoTidakCukup() 56
  • 57. Sequence Diagram: Mengambil Uang sd SD5 - Mengambil Uang Pengguna (from 1 Use Case Diagram) MenuUtama MenuMengambilUang ProsesMengambilUang Account Balance KotakUangTransaksi alt saldo cukup? [ya] [tidak] memilihMengambilUang() tampilkan() memasukkanJumlah() ambilUang(id, jumlah) getIDBalance() getSaldo() setSaldo(saldo) keluarkanUang(jumlah) setTransaksi(tgl, jenis) TampilkanUangBerhasilDiambil() TampilkanErrorSaldoTidakCukup() 57
  • 58. Sequence Diagram: Melakukan Logoutsd SD6 - Melakukan Logout Pengguna (from 1 Use Case Diagram) MenuUtama MenuLogout ProsesLogout KotakKuitansi KotakKartu memilihKeluar() tampilkan() logout() keluarkanKuitansi() keluarkanKartu() tampilkanTelahKeluar() 58
  • 59. Class Diagramclass CD - Sistem ATM Account Balance KotakKartu KotakKuitansiKotakUang Login MenuLogout MenuMengambilUang MenuMengecekSaldo MenuMentransferUang MenuPIN MenuUtama ProsesLogout ProsesMengambilUang + m_Account: Account + m_Balance: Balance + m_Transaksi: Transaksi + ambilUang() : void + ProsesMengambilUang() ProsesMengecekSaldo + lihatSaldo() : void ProsesMentransferUang + m_Account: Account + m_Balance: Balance + m_Transaksi: Transaksi + ProsesMentransferUang() + transferUang() : void ProsesValidasiAccount ProsesValidasiKartu Transaksi SistemATM menampilkan melakukan memilikimemiliki melakukan mewarisi mewarisi melakukan mewarisi melakukan mewarisi memiliki memiliki mengakses melakukan mengakses melakukan 59
  • 62. User Interface Design (Netbeans) 62