Professional Documents
Culture Documents
Romi Sad 03 Analysis Mar2017
Romi Sad 03 Analysis Mar2017
3. System Analysis
1
Course Outline
1.Introduction
2.ProjectPlanning
3.SystemAnalysis
4.SystemDesign
5.SystemImplementation
2
3. System Analysis
3.1 Requirement Gathering
3.2 Business Process Analysis
3.3 Analysis and Design
3
Recap
BusinessValueIdentification
(SystemRequest)
Lower Cost Increase Profit
Feasibility Analysis
Technical(Capabilitie Economic Organizational
s) (ROI, BEP) (Goals, Core Business)
4
SDLC and Deliverables
Planning
(System Proposal)
Implementation Analysis
(New System) (System Specification)
Design
(System Specification)
5
3.1 Requirement Gathering
6
Boehm’s First Law
Errors are most frequent during the
requirements and design activities, and
are the more expensive the later they are
removed
(Endres, 2003)
7
What is a Requirement
• Business Requirement
• Statement of what the system must do
• Focus on what the system must do, not how to do it
8
1. Functional Requirement
• Defines the functions of the system must
carry out
• Specifies the process that must be performed,
examples:
• Diagrams:
• Use Case Diagrams
• Activity Diagrams
• Problem Statements:
• Must search for inventory
• Must perform these calculations
• Must produce a specific report
9
2. Nonfunctional Requirements
1. Operational – Physical/technical
environment
2. Performance – Speed and reliability
3. Security – Who can use the system
4. Cultural & Political – Company
policies, legal issues
10
11
Requirement Gathering Methods
1. Document Analysis
2. Interviews
3. Joint Application Design (JAD)
4. Questionnaires
5. Observation
12
1. Document Analysis
13
2. Interviews
• Most commonly used technique
• Very natural
• If you need to know something, you ask someone
• Five basic steps:
1. Selecting interviewees
2. Designing interview questions
3. Preparing for the interview
4. Conducting the interview
5. Post-interview follow-up
14
3. Joint Application Design (JAD)
• Allows project managers, users, and
developers to work together
• May reduce scope creep by 50%
• Avoids requirements being too specific or
too vague
• Include 10 to 20 users
• Tend to last 5 to 10 days over a three week
period
15
JAD Meeting Room
16
4. Questionnaire
• Selecting participants
• Using samples of the population
• Designing the questionnaire
• More important than interview questions
• Prioritize questions to grab attention
• Distinguish between:
1. Fact-oriented questions (specific answers)
2. Opinion questions (agree – disagree scale)
18
Selecting the Appropriate Techniques
Interviews JAD Questionnaires Document Observation
Analysis
19
3.2 Business Process Analysis
20
Business Process Analysis Strategies
1. BPA (Business Process Automation)
• Makes almost no changes to business processes,
just makes them more efficient
21
Strategy Comparation
Breadth of
Analysis Narrow Narrow-Moderate Very Broad
22
Barriers to Requirements Elicitation
23
The "Yes, But" Syndrome
24
The "Undiscovered Ruins" Syndrome
• In many ways, the search for requirements is like a
search for undiscovered ruins
• The more you find, the more you know remain
• You never really feel that you have found them all, and
perhaps you never will.
25
The "User and the Developer" Syndrome
26
The "User and the Developer" Syndrome
27
Key Points
• Requirements elicitation is complicated by three
endemic syndromes
• The "Yes, But" syndrome stems from human nature
and the users' inability to experience the software
as they might a physical device
• Searching for requirements is like searching for
"Undiscovered Ruins"; the more you find, the more
you know remain
• The "User and the Developer" syndrome reflects
the profound differences between these two,
making communication difficult
28
3.3 Analysis and Design
29
Analysis Design Paradigm and Diagrams
Paradigm Diagrams
1 Process-oriented Flowchart
2 Data-oriented DFD
3 Object-oriented UML
(data + process)
30
3.3.1 Unified Modeling Language
(UML)
31
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)
32
Sejarah UML 2003 UML 2.0
2011 UML 2.4
33
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
34
UML Tools
• Rational Rose
• Visual Paradigm
• Enterprise Architect
• Microsoft Visio
• Star UML
• Netbeans UML Plugin
36
UML 2.0 Diagrams
UML version 2.0 has 14 diagrams in 2 groups:
1. Structure Diagrams
2. Behavior Diagrams
37
UML 2.0 Diagram
38
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
39
UML Behavior Diagrams
Depict the dynamic relationships among the
instances or objects that represent the
business information system
1. Activity Diagram
2. Sequence Diagram 5. Timing Diagram
3. Communication Diagram 6. Behavior State Machine
4. Interaction Diagram 7. Protocol State Machine
8. Use Case Diagrams
42
UML Problems
1. UML is modeling notation, it is not a
development process or a methodology
• UML driven development process?
45
UML Process (EA Sparx)
1. Display the boundary of a system and its
major functions using use cases and actors
2. Model the organization’s business process
with activity diagram
3. Illustrate use case realizations with sequence
diagrams
4. Represent a static structure of a system using
class diagrams
5. Reveal the physical implementation
architecture with deployment diagrams
46
UML Process (EA Sparx)
47
UML Process (Kendal, 2011)
1. A use case diagram, describing how the system is used.
Analysts start with a use case diagram
2. An activity diagram, illustrating the overall flow of
activities. Each use case may create one activity diagram
3. Sequence diagrams, showing the sequence of activities
and class relationships. Each use case may create one or
more sequence diagrams
4. Class diagrams, showing the classes and relationships.
Sequence diagrams are used to determine classes
5. Statechart diagrams, showing the state transitions. Each
class may create a statechart diagram, which is useful
for determining class methods
48
(Kendall and Kendall, 2011)
49
UML Process (Barclay, 2004)
50
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)
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)
51
SDLC and Deliverables
1. Planning System
1.1 System Request
1.2 Feasibility Analysis Proposal
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
4. Implementation New
4.1 Program Code Software
4.2 Testing Plan
4.3 Documentation
52
3.3.2 Case Study: ATM System
53
ATM System
54
ATM System
Layar
Kotak Kuitansi
55
Menu PIN
Masukkan PIN:
Kotak Kuitansi
56
Menu Utama
1. Mengecek Saldo
2. Mentransfer Uang
3. Mengambil Uang
4. Logout
Kotak Kuitansi
57
Menu Pengecekan Saldo
Kotak Kuitansi
58
Menu Pengiriman Uang
1. No Account Penerima:
Kotak Kuitansi
59
Menu Pengiriman Uang
Kotak Kuitansi
60
Menu Pengiriman Uang
Kotak Kuitansi
61
Menu Pengambilan Uang
Kotak Kuitansi
62
Menu Pengambilan Uang
Kotak Kuitansi
63
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)
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)
64
3.3.3 Business Process Identification
65
Use Case Diagrams
66
Use Case Diagram Syntax
• 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 <<includes>>
• Generalization Relationship
67
Use Case
• A major piece of
system functionality
• Can extend other Use Case
Use Cases
• Placed inside system boundary
• Labeled with descriptive
verb - noun phrase
68
System Boundary
• Includes the name
of the system Boundary
inside or on top
• Represents the
scope of the system
• Actors are outside the scope of the system
69
Actor
• A person or another
system that interacts
with the current system
• A role, not a specific user
• Provides input, actor
receives output, or both Actor/Role
70
Association Relationship
* *
71
Extends Relationship
• Extends Use Case to include Optional
behavior
• Arrow points from the extension Use Case to
the base Use Case
extend
72
Include Relationship
• Include one Use Case from within another
• Arrow points from base Use Case to the
included Use Case
include
73
Generalization Relationship
74
Use Case Diagram for Appointment System
75
Use Case Diagram with Specialized Actor
76
Extend and Include Relationships
77
Sistem Konsultasi Dokter Rumah Sakit
uc UCD Appointment System
Mengupdate Data
Membuat Kartu Pasien
Pasien Lama
«include»
Mengelola Jadw al
Praktek Mempublikasikan
«include» Jadw al Praktek
Administrator
Pasien Baru
78
Studi Kasus: ATM System
79
Use Case Diagram (versi Sederhana)
uc UCD Sistem ATM Sederhana
Sistem ATM
Memasukan PIN
Mengecek Saldo
Mengambil Uang
Melakukan Logout
80
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
81
ERP Perbankan (Sistem Lebih
Kompleks)
c ERP Perbankan
ERP Perbakan
uc ATM Module
AT M Module
Mengecek Saldo
Mengirim Uang
Nasabah
Mengambil Uang
82
Use Case Diagram (Versi Normal)
uc UCD Sistem ATM
Sistem ATM
Mengecek Saldo
Mengupdate Informasi
Kotak Deposit
Petugas
Nasabah
Mengambil Uang
Keluar Sistem
83
Exercise: Business Process Identification
1. Buat project baru di Sparx EA, dengan nama
file adalah nama project sesuai System
Request
2. Lihat kembali dan rapikan System Request
yang sudah anda buat
3. Lakukan business process identification
dengan membuatkan Use Case Diagram untuk
System Request tersebut
4. Kirim System Request, Feasibillity Analysis
(PPT dan XLS) dan Use Case Diagram (EAP) via
Telegram 081586220090 atau email ke
romi@brainmatics.com
84
Exercise: Systems Analysis and Design
• Lakukan sistem analysis and design yang menghasilkan diagram:
1. Use Case Diagram
85
3.3.4 Business Process Modeling
• Activity Diagram
• Business Process Model and Notation
86
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)
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)
87
Business Process Modeling with
Activity Diagrams
88
Activity Diagram Syntax
89
Activity Diagram Example
90
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
91
Business Process Modeling with
BPMN
92
93
94
95
96
Credit Application
97
Purchase Request
98
Shipment Process of a Hardware Retailer
99
The Pizza Collaboration
100
Order Fulfillment and Procurement
101
Studi Kasus: ATM System
102
Use Case Diagram
uc UCD Sistem ATM
Sistem ATM
Mengecek Saldo
Mengupdate Informasi
Kotak Deposit
Petugas
Nasabah
Mengambil Uang
Keluar Sistem
103
Activity Diagram: Memasukkan Kartu
act 1 AD Memasukan Kartu
Petugas
Mulai
Masukan
Validasi Kartu
Kartu
Kartu Valid?
tidak ya
Keluarkan Tampilkan
Kartu Menu PIN
Selesai
104
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
105
Activity Diagram: Mengecek Saldo
act 3 AD Mengecek Saldo
Mulai
Tampilkan di Menu
Pengecekan Saldo
Selesai
106
Activity Diagram: Mengambil Uang
act 4 AD Mengambil Uang
Mulai
Cek
Masukan Jumlah Request Kecukupan
Kecukupan
Uang Saldo
Saldo
Saldo Cukup?
tidak
Tampilkan Error Saldo
Tidak Cukup
tidak
Selesai
107
Activity Diagram: Mengirim Uang
act 5 AD Mengirim Uang
Mulai
ya
Masukan Jumlah Tampilkan Isian
Uang Jumlah Uang
tidak
Saldo Cukup?
ya
Selesai
108
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
109
Activity Diagram: Keluar Sistem
act 7 AD Keluar Sistem
Nasabah
Mulai
Tampilkan Pesan
Telah Keluar Sistem
Selesai
110
Exercise: Business Process Modeling
112
3.3.5 Business Process Realization
Sequence Diagram
113
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)
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)
114
Sequence Diagram Syntax
AN ACTOR
AN OBJECT
anObject:aClass
A LIFELINE
A FOCUS OF CONTROL
A MESSAGE aMessage()
OBJECT DESTRUCTION x
115
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
116
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
117
Studi Kasus: ATM System
118
Sequence Diagram: Memasukkan Kartu
sd 1 SD Memasukan Kartu
Nasabah Petugas
KotakKartu Manaj erValidasi MenuPIN
masukanKartu()
validasiKartu()
[tidak]
keluarkanKartu()
119
Sequence Diagram: Memasukkan PIN
sd 2 SD Memasukan PIN
:Nasabah
MenuPIN Manaj erValidasi Login MenuUtama
masukanPIN()
validasiPIN(id)
getPIN()
[tidak]
[ya]
blokirAccount()
tampilkan(pesanKesalahan)
120
Sequence Diagram: Mengecek Saldo
d 3 SD Mengecek Saldo
pilihMengecekSaldo()
cekSaldo(id)
getSaldo()
setSaldo(saldo)
tampilkan(saldo)
121
Sequence Diagram: Mengambil Uang
sd 4 SD Mengambil Uang
:Nasabah
MenuUtama MenuPengambilanUang Manaj erPengambilanUang Balance KotakUang
pilihAmbilUang()
tampilkan()
masukanJumlahUang()
cekKecukupanSaldo(id)
getSaldo()
[ya]
ambilUang(id, jumlah)
setSaldo(saldo)
keluarkanUang(jumlah)
122
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)
123
Sequence Diagram: Mengupdate Informasi Kotak Deposit
d 6 SD Mengupdate Informasi Kotak Deposit
:Petugas
MenuUtama MenuDeposit Manaj erDeposit Deposit
pilihUpdateData()
tampilkan()
isiData()
isiData()
setData()
tampilkan(hasil)
124
Sequence Diagram: Keluar Sistem
d 7 SD Keluar Sistem
:Nasabah
MenuUtama Manaj erLogout KotakKartu KotakKuitansi MenuLogout
pilihKeluar()
keluar()
keluarkanKartu()
keluarkanKuitansi()
tampilkan(pesanKeluar)
125
Exercise: System Analysis untuk System Request
126
Exercise: Systems Analysis and Design
• Lakukan sistem analysis and design yang menghasilkan diagram:
1. Use Case Diagram
2. Activity Diagram
3. Sequence Diagram
4. Penghitungan Size dengan Use Case Point
127
Rangkuman Studi Kasus Sistem
ATM
128
SDLC and Deliverables
1. Planning System
1.1 System Request
1.2 Feasibility Analysis Proposal
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
4. Implementation New
4.1 Program Code Software
4.2 Testing Plan
4.3 Documentation
129
Planning (System Proposal)
130
System Request: CD Selection Project
Project Sponsor: Margaret Mooney, Vice President of Marketing
Business Needs: Project ini dibangun untuk:
1. Mendapatkan pelanggan baru lewat Internet
Business Requirements:
CD Selection project adalah sistem yang mendukung penjualan CD lewat internet. Fitur-fitur
yang harus ada di sistem ini adalah sebagai berikut:
1. Fitur Pencarian Produk
2. Fitur Pencarian Toko yang Menyediakan Stok Produk
3. Fitur Pemesanan Produk Melalui Toko yang Menyediakan
4. Fitur Pembayaran dengan Berbagai Pilihan Pembayaran
Business Value:
Intangible Value:
Meningkatkan kepuasan pelanggan
Meningkatkan brand recognition tentang perusahaan di dunia Internet
Tangible Value:
1. Meningkatkan penjualan dari pelanggan baru lewat Internet:
• Rp.400.000.000,- peningkatan penjualan dari pelanggan baru dan
Rp.600.000.000,- dari pelanggan lama
2. Mengurangi biaya operasional untuk menangani komplain dari pelanggan
• Rp.100.000.000,- pengurangan tahunan biaya telepon untuk menangani pelanggan
131
Studi Kelayakan Sistem Penjualan CD
Margaret Mooney dan Alec Adams membuat studi kelayakan untuk pengembangan
Sistem Penjualan CD
Kelayakan Teknis
Sistem Penjualan CD layak secara teknis, meskipun memiliki beberapa risiko.
Risiko Berhubungan dengan Kefamilieran dengan Aplikasi: Resiko Tinggi
• Divisi Marketing tidak memiliki pengalaman menggunakan sistem penjualan online
• Divisi IT memiliki pemahaman yang baik tentang sistem penjualan CD, akan tetapi tidak
berpengalaman mengembangkan sistem penjualan CD berbasis web (online)
Risiko Berhubungan dengan Kefamilieran dengan Teknologi: Resiko Sedang
• Divisi IT tidak menguasai masalah infrastruktur dan ISP, tetapi akan menyewa konsultan
• Divisi IT cukup familier dengan framework dan IDE yang akan digunakan
• Divisi Marketing tidak memiliki pengalaman menggunakan teknologi Web
Risiko berhubungan dengan Ukuran Project: Risiko Rendah
• Perusahaan memiliki total 30 orang pengembang
• Project dikerjakan oleh 5 orang pengembang dengan estimasi waktu 6 bulan
Kompatibilitas dengan sistem dan infrastruktur yang ada: Risiko Rendah
• Sistem pemesanan yang ada sekarang menggunakan open standard, jadi sangat
kompatibel dengan sistem penjualan berbasis web yang akan dibangun
132
Kelayakan Ekonomi
Cost benefit analysis telah dilakukan. Sistem Penjualan CD memiliki peluang yang baik
untuk bisa meningkatkan pendapatan perusahaan.
• Return on Investment (ROI) setelah 3 tahun: 26.2%
• Break-even point (BEP): 2.28 tahun
• Total keuntungan setelah 3 tahun: Rp.429.878.356,-
Keuntungan Intangible
• Meningkatkan kepuasaan pelanggan
• Meningkatkan branding perusahaan
Kelayakan Organisasi
• Secara organisasi, resikonya rendah. Tujuan dari pengembangan sistem penjualan
CD adalah meningkatkan penjualan perusahaan. Dan ini selaras dengan KPI divisi
marketing yang ke arah peningkatan kuantitas penjualan
• Project champion dari pengembangan Sistem Penjualan CD ini adalah Margaret
Mooney, Vice President of Marketing
133
2016 2017 2018
Peningkatan penjualan dari pelanggan baru 0 400,000,000 500,000,000
Peningkatan penjualan dari pelanggan lama 0 600,000,000 700,000,000
Pengurangan biaya operasional dan telepon 0 100,000,000 100,000,000
Total Benefits: 0 1,100,000,000 1,300,000,000
PV of Benefits: System Request 0 978,996,084 1,091,505,068
PV of All Benefits: (Business Value) 0 978,996,084 2,070,501,152
Honor Tim (Analysis, Design and Implementation) 360,000,000 0 0
Honor Konsultan 90,000,000 0 0
Total Development Costs: 450,000,000 0 0
Honor Pengelola Web 60,000,000 70,000,000 80,000,000
Biaya Lisensi Software 50,000,000 60,000,000 70,000,000
Hardware upgrades 100,000,000 100,000,000 100,000,000
Biaya Komunikasi 20,000,000 30,000,000 40,000,000
Biaya Marketing 100,000,000 200,000,000 300,000,000
Total Operational Costs: 330,000,000 460,000,000 590,000,000
Total Costs: 780,000,000 460,000,000 590,000,000
PV of Costs: 735,849,057 409,398,362 495,375,377
PV of all Costs: 735,849,057 1,145,247,419 1,640,622,796
Total Project Costs Less Benefits: -780,000,000 640,000,000 710,000,000
Yearly NPV: -735,849,057 569,597,722 596,129,691
Cumulative NPV: -735,849,057 -166,251,335 429,878,356
Return on Investment (ROI) di Tahun 3: 26.2% 429,878,356/1,640,622,796 0.262021445
2 + (596,129,691-429,878,356)/
Break-even Point (BEP): 2.28 tahun 2.278884507
596,129,691
134
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)
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)
135
Use Case Diagram
uc UCD Sistem ATM
Sistem ATM
Mengecek Saldo
Mengupdate Informasi
Kotak Deposit
Petugas
Nasabah
Mengambil Uang
Keluar Sistem
136
Activity Diagram: Memasukkan Kartu
act 1 AD Memasukan Kartu
Petugas
Mulai
Masukan
Validasi Kartu
Kartu
Kartu Valid?
tidak ya
Keluarkan Tampilkan
Kartu Menu PIN
Selesai
137
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
138
Activity Diagram: Mengecek Saldo
act 3 AD Mengecek Saldo
Mulai
Tampilkan di Menu
Pengecekan Saldo
Selesai
139
Activity Diagram: Mengambil Uang
act 4 AD Mengambil Uang
Mulai
Saldo Cukup?
tidak
Tampilkan Error Saldo
Tidak Cukup
tidak
Selesai
140
Activity Diagram: Mengirim Uang
act 5 AD Mengirim Uang
Mulai
ya
Masukan Jumlah Tampilkan Isian
Uang Jumlah Uang
tidak
Saldo Cukup?
ya
Selesai
141
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
142
Activity Diagram: Keluar Sistem
act 7 AD Keluar Sistem
Nasabah
Mulai
Tampilkan Pesan
Telah Keluar Sistem
Selesai
143
Sequence Diagram: Memasukkan Kartu
sd 1 SD Memasukan Kartu
Nasabah Petugas
KotakKartu Manaj erValidasi MenuPIN
masukanKartu()
validasiKartu()
[tidak]
keluarkanKartu()
144
Type of Class
1. Boundary Class
• Class yang berhubungan dengan actor (user
interface)
2. Control Class
• Class yang berhubungan dengan pemrosesan,
komputasi, penghitungan, dsb
3. Entity Class
• Class yang berhubungan dengan data (flat file or
database)
145
Sequence Diagram: Memasukkan PIN
sd 2 SD Memasukan PIN
:Nasabah
MenuPIN Manaj erValidasi Login MenuUtama
masukanPIN()
validasiPIN(id)
getPIN()
[tidak]
[ya]
blokirAccount()
tampilkan(pesanKesalahan)
146
Sequence Diagram: Mengecek Saldo
d 3 SD Mengecek Saldo
pilihMengecekSaldo()
cekSaldo(id)
getSaldo()
setSaldo(saldo)
tampilkan(saldo)
147
Sequence Diagram: Mengambil Uang
sd 4 SD Mengambil Uang
:Nasabah
MenuUtama MenuPengambilanUang Manaj erPengambilanUang Balance KotakUang
pilihAmbilUang()
tampilkan()
masukanJumlahUang()
cekKecukupanSaldo(id)
getSaldo()
[ya]
ambilUang(id, jumlah)
setSaldo(saldo)
keluarkanUang(jumlah)
148
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)
149
Sequence Diagram: Mengupdate Informasi Kotak Deposit
d 6 SD Mengupdate Informasi Kotak Deposit
:Petugas
MenuUtama MenuDeposit Manaj erDeposit Deposit
pilihUpdateData()
tampilkan()
isiData()
isiData()
setData()
tampilkan(hasil)
150
Sequence Diagram: Keluar Sistem
d 7 SD Keluar Sistem
:Nasabah
MenuUtama Manaj erLogout KotakKartu KotakKuitansi MenuLogout
pilihKeluar()
keluar()
keluarkanKartu()
keluarkanKuitansi()
tampilkan(pesanKeluar)
151
Class Diagram
class CD Sistem ATM
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
mewarisi
MenuPengirimanUang
memiliki memiliki Manaj erPengirimanUang Account
dikelola oleh
mengakses
mewarisi
KotakKuitansi KotakUang
mewarisi
152
Deployment Diagram (3 Tier)
deployment DD Sistem ATM
Application Serv er
«artifact»
JSP
«artifact» «artifact»
JFC «artifact» MySQL
SessionBean
«artifact»
JSF
«artifact» «artifact»
JVM Zend Optimizer
«artifact»
Serv let
153
Data Model
class DM Sistem ATM
Account
«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)
154
User Interface Design
155
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
156
User Interface Design (Netbeans)
157
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
158
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
159