romi-sad-03-analysis-jan2015

Report
Systems Analysis and Design
3. System Analysis
Romi Satria Wahono
[email protected]
http://romisatriawahono.net/sad
WA/SMS: +6281586220090
1
Romi Satria Wahono
•
•
•
•
•
•
•
•
SD Sompok Semarang (1987)
SMPN 8 Semarang (1990)
SMA Taruna Nusantara Magelang (1993)
B.Eng, M.Eng and Ph.D in Software Engineering from
Saitama University Japan (1994-2004)
Universiti Teknikal Malaysia Melaka (2014)
Research Interests: Software Engineering,
Intelligent Systems
Founder dan Koordinator IlmuKomputer.Com
Peneliti LIPI (2004-2007)
Founder dan CEO PT Brainmatics Cipta Informatika
2
Contents
1. Introduction
2. Project Planning
3. System Analysis
4. System Design
5. System Implementation
3
Recap
• Identifying the business value of the new
project is a key to success
• The system request describes an overview of
the proposed system.
• The feasibility study is concerned with
insuring that technical, economic, and
organizational benefits outweigh costs and
risks
• Project estimation methods: simply method,
function point and use case point
4
3. System Analysis
5
Learning Objectives
1. Understand how to create a requirements definition
2. Become familiar with requirements analysis
techniques
3. Understand when to use each requirements analysis
technique
4. Understand how to gather requirements using
interviews, JAD sessions, questionnaires, document
analysis, and observation
5. Understand when to use each requirementsgathering technique
6. Understand the system analysis and design using
UML
6
SDLC and Deliverables
Planning
(System Proposal)
Implementation
Analysis
(New System)
(System Specification)
Design
(System Specification)
7
Requirement Gathering
8
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
• There are 2 kinds of requirements
1. Functional
2. Nonfunctional
9
Functional Requirement
• Defines the functions of the system must
carry out
• Specifies the process that must be performed
• Examples:
• Diagrams:
• Activity Diagrams
• Use Case Diagrams
• Problem Statements:
• Must search for inventory
• Must perform these calculations
• Must produce a specific report
10
Nonfunctional Requirements
Deals with how the system behaves:
1. Operational – Physical/technical
environment
2. Performance – Speed and reliability
3. Security – Who can use the system
4. Cultural & Political – Company policies,
legal issues
11
12
Requirement Gathering Methods
1.
2.
3.
4.
5.
Document Analysis
Interviews
Joint Application Design (JAD)
Questionnaires
Observation
13
1. Document Analysis
• Provides clues about the "formal" existing AsIs system
• Typical documents
• Forms
• Reports
• Policy manuals
• Look for user additions to forms
• Look for unused form elements
• Do document analysis before interviews
14
2. Interviews
• Most commonly used technique
• Very natural
• If you need to know something, you ask someone
• Five basic steps:
1.
2.
3.
4.
5.
Selecting interviewees
Designing interview questions
Preparing for the interview
Conducting the interview
Post-interview follow-up
15
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
16
JAD Meeting Room
JPEG Figure 5-5 Goes Here
17
4. Questionnaire
1. Selecting participants
• Using samples of the population
2. Designing the questionnaire
• More important than interview questions
• Prioritize questions to grab attention
• Distinguish between
• Fact-oriented questions (specific answers)
• Opinion questions (agree – disagree scale)
• Test the questionnaire on colleagues
18
4. Questionnaire
3.
Administering the questionnaire
•
•
•
•
•
•
Need to get good response rate
Explain its importance & how it will be used
Give expected response date
Follow up on late returns
Have supervisors follow up
Promise to report results
4. Questionnaire follow-up
• Send results to participants
19
5. Observation
• Users/managers often don’t remember
everything they do
• Validates info gathered in other ways
• Behaviors change when people are watched
• Keep low profile, don’t change the process
• Careful not to ignore periodic activities
• Weekly … Monthly … Annual
20
Selecting the Appropriate Techniques
Interviews
JAD
Questionnaires
Document
Analysis
Observation
Type of
Information
As-Is
Improve.
To-Be
As-Is
As-Is
Improve. Improve.
To-Be
As-Is
As-Is
Depth of
Information
High
High
Medium
Low
Low
Breadth of
Information
Low
Medium
High
High
Low
Integration
of Info.
Low
High
Low
Low
Low
User
Medium
Involvement
High
Low
Low
Low
Cost
LowMedium
Medium
Low
21
Low
LowMedium
Business Process Analysis
22
Business Process Analysis Steps
23
Business Process Analysis Strategies
1. BPA (Business Process Automation)
2. BPI (Business Process Improvement)
3. BPR (Business Process Reengineering)
24
Business Process Automation
• Makes almost no changes to business
processes
• Just makes them more efficient
• Improves efficiency by automating the
business processes
• Least impact on users
• They do the same things, just more efficiently
25
Business Process Improvement
• Goal is to improve the business processes
• Change what the users do, not just how
efficiently they do it
• Changes to business process must be decided
first
• Decisions to change the business processes
cannot be made by the analyst
26
Business Process Reengineering
“Fundamental rethinking and radical redesign
of business processes to achieve dramatic
improvements…”
• Throw away everything
• Start with a blank page
• Appealing, but very expensive and risky
27
Strategy Comparation
Business
Process
Automation
Business
Process
Improvement
Business
Process
Reeingineering
Potential Business
Value
Low-Moderate
Moderate
High
Project Cost
Low
Low-Moderate
High
Breadth of
Analysis
Narrow
Narrow-Moderate
Very Broad
Risk
Low
Low-Moderate
Very High
28
Barriers to Requirements
Gathering
29
Barriers to Requirements Elicitation
1. The "Yes, But" Syndrome
2. The "Undiscovered Ruins" Syndrome
3. The "User and the Developer" Syndrome
30
The "Yes, But" Syndrome
For whatever reason, we always see two immediate,
distinct, and separate reactions when the users see
the system implementation for the first time.
1. "Wow, this is so cool; we can really use this, what
a neat job" and so on.
2. "Yes, but, hmmmmm, now that I see it, what
about this ... ? Wouldn't it be nice if . . . ?
Whatever happened to . . . ?“
31
The "Yes, But" Syndrome
• The "Yes, But" syndrome is human nature and is an
integral part of application development.
• We should plan to avoid or significantly reduce this
syndrome by applying techniques that get the "Buts"
out early.
• In so doing, we elicit the "Yes, But" response early, and
we then can begin to invest the majority of our
development efforts in software that has already
passed the "Yes, But" test.
32
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.
• Indeed, software development teams always struggle
to determine when they are done with requirements
elicitation. When have they found
• all the requirements
• or at least enough requirements?
33
The "User and the Developer" Syndrome
• Communication gap between the user and the
developer.
• Users and developers are typically from different
worlds, may even speak different languages, and
have different backgrounds, motivations, and
objectives.
34
The "User and the Developer" Syndrome
Reasons for this problem and some suggested solutions
35
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.
36
Analysis and Design using UML
37
Analysis Design Paradigm and Diagrams
1.
2.
3.
Data-oriented  DFD
Process-oriented  Flowchart
Object-oriented (data + process)  UML
38
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)
39
Sejarah UML
2011  UML 2.4
40
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
41
The Triangle of Success in Software Dev.
Notation:
Standard
Process:
Tools:
CustomerOriented
Methodology
Support
Standard and
Process
42
UML Tools
• Rational Rose
• Visual Paradigm
• Enterprise Architect
• Microsoft Visio
• Star UML
• Netbeans UML Plugin
43
UML 2.0 Diagrams
UML version 2.0 has 14 diagrams in 2 major
groups:
1. Structure Diagrams
2. Behavior Diagrams
44
UML 2.0 Diagram
45
UML Structure Diagrams
Represent the data and static
relationships in an information system
1.
2.
3.
4.
5.
6.
Class Diagram
Object Diagram
Package Diagram
Deployment Diagram
Component Diagram
Composite Structure Diagram
46
Structure Diagrams
1. Class Diagrams
• Common vocabulary used by analyst and users
• Represent things (employee, paycheck,…)
• Shows the relationships between classes
2. Object Diagrams
• Similar to class diagrams
• Instantiation of a class diagram
• Relationships between objects
3. Package Diagrams
• Group UML elements together to form higher level
constructs
47
Structure Diagrams
4. Deployment Diagrams
•
•
Shows the physical architecture and software
components of system
For example, network nodes
5. Component Diagrams
•
•
Physical relationships among software components
Example – Client/Server (Which machines run which
software)
6. Composite Structure
• Illustrates internal structure of a complex class
48
UML Behavior Diagrams
1.
2.
3.
4.
Depict the dynamic relationships among the
instances or objects that represent the
business information system
Activity Diagram
Sequence Diagram
Communication Diagram
Interaction Diagram
5.
6.
7.
8.
49
Timing Diagram
Behavior State Machine
Protocol State Machine
Use Case Diagrams
Behavior Diagrams
1. Activity Diagrams
•
•
Model processes in an information system
Example: Business workflows, business logic
2. Interaction Diagrams
•
Shows interaction among objects
3. Sequence Diagrams
•
Time-based ordering of the interaction
4. Communication Diagrams
•
Communication among a set of collaborating objects of
an activity
50
Behavior Diagrams
5.
Interaction Diagrams
•
6.
Overview of flow of control of a process
Timing Diagrams
•
7.
Show how an object changes over time
State Machines
•
•
8.
Examines behavior of one class
Models the different states and state transitions an
object can experience
Use-Case Diagrams
•
•
Shows interaction between the system and
environment
Captures business requirements
51
UML Problems
1. UML is modeling notation, it is not a
development process or a methodology
• UML driven development process?
2. UML is too complex, difficult to understand
quickly
• Should we use all UML diagrams?
52
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
53
UML Process (EA Sparx)
1.
2.
3.
4.
5.
Use Cases Diagram
Activity Diagram
Sequence Diagram
Class Diagram
Deployment Diagrams
54
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
55
56
(Kendall and Kendall, 2011)
UML Process (Barclay, 2004)
57
System Analysis and Design with UML
1. System Analysis
1.
Business Process Identification

2.
Use Case Diagram
Business Process Modeling

3.
Activity Diagram or Business Process Modeling Notation (BPMN)
Business Process Realization

Sequence Diagram (Buat untuk setiap use case dengan menggunakan pola Boundary-Control-Entity)
2. System Design
1.
Program Design
1.
2.
3.
2.
3.
Class Diagram (Gabungkan Boundary-Control-Entity Class dan susun story dari sistem yang dibangun)
Package Diagram (Gabungan class yang sesuai, boleh menggunakan pola B-C-E)
Deployment Diagram (arsitektur software dari sistem yang dibangun)
User Interface Design (Buat UI design dari Boundary Class)
Entity-Relationship Model (Buat ER diagram dari Entity Class)
58
Case Study: ATM System
59
ATM System
60
ATM System
Layar
Kotak Kartu
Kotak Uang
Kotak Kuitansi
61
Masukkan PIN:
Kotak Kartu
Kotak Uang
Kotak Kuitansi
62
Menu Utama
1. Melihat Saldo
2. Mentransfer Uang
3. Mengambil Uang
4. Logout
Kotak Kartu
Kotak Uang
Kotak Kuitansi
63
Menu Melihat Saldo
1. Saldo anda adalah ….
Kotak Kartu
Kotak Uang
Kotak Kuitansi
64
Menu Mentransfer Uang
1. No Account Penerima:
Kotak Kartu
Kotak Uang
Kotak Kuitansi
65
Menu Mentransfer Uang
1. Jumlah uang yang dikirim:
Kotak Kartu
Kotak Uang
Kotak Kuitansi
66
Menu Mentransfer Uang
1. Uang berhasil terkirim
Kotak Kartu
Kotak Uang
Kotak Kuitansi
67
Menu Mengambil Uang
1. Jumlah uang yang diambil:
Kotak Kartu
Kotak Uang
Kotak Kuitansi
68
Menu Mengambil Uang
Uang berhasil diambil
Kotak Kartu
Kotak Uang
Kotak Kuitansi
69
Use Case Diagram
uc UCD - Sistem ATM
Sistem ATM
Memasukkan Kartu
«include»
Mengecek Saldo
Pengguna
Mentransfer Uang
Melakukan Logout
Mengambil Uang
70
Memasukkan PIN
Use Case Diagram (Alternatif)
uc Sistem ATM
Sistem ATM
Memasukkan Kartu
Memasukkan PIN
«include»
Melihat Saldo
«extend»
Mengirim Uang
Pengguna
«extend»
Admin
Memilih Transaksi
«extend»
Mengambil Uang
Mengganti Kotak
Deposit
Melakukan Logout
71
Activity Diagram: Memasukkan Kartu
act AD1 - Memasukkan Kartu
Pengguna
Sistem ATM
Mulai
Menyiapkan Kartu
Memv alidasi Kartu
Memasukkan Kartu
kartu valid?
tidak
Mengeluarkan Kartu
ya
Menampilkan MenuPIN
Selesai
72
Activity Diagram: Memasukkan PIN
act AD2 - Memasukkan PIN
Pengguna
Sistem ATM
Mulai
tidak
Memasukkan PIN
Memv alidasi Account
pin valid?
lebih dari 3x?
tidak
ya
ya
Memblokkir Kartu
Menampilkan MenuUtama
Selesai
73
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
74
Activity Diagram: Mentransfer Uang
act AD4 - Mentransfer Uang
Pengguna
Sistem ATM
Mulai
Memilih Mentransfer Uang
di Menu Utama
tidak
Memv alidasi Account
Tuj uan
Memasukkan Account
Tuj uan
Account Tujuan Valid?
Memasukkan Jumlah
Uang yang dikirim
ya
tidak
Menghitung Kecukupan
Saldo Pengirim
Saldo Cukup?
ya
Mentransfer Uang
Selesai
75
Activity Diagram: Mengambil Uang
act AD5 - Mengambil Uang
Pengguna
Sistem ATM
Mulai
Memilih Menu Mengambil
Uang di Menu Utama
tidak
Mengecek Ketercukupan
Saldo
Memasukkan Jumlah
Uang
Saldo Cukup?
ya
Memproses Pengambilan
Uang
Mengeluarkan Uang di
Kotak Uang
Mengambil Uang di Kotak
Uang
Selesai
76
Activity Diagram: Melakukan Logout
act AD6 - Melakukan Logout
Pengguna
Sistem ATM
Mulai
Memilih Keluar di Menu
Utama
Memproses Logout
Mengeluarkan Kuitansi
Mengeluarkan Kartu
Mengambil Kuitansi
Mengambil Kartu
Selesai
77
Sequence Diagram: Memasukkan Kartu
sd SD1 - Memasukkan Kartu
Pengguna
KotakKartu
ProsesValidasiKartu
memasukanKartu()
validasiKartu()
alt kartu v alid?
tampilkan()
[ya]
[tidak]
mengeluarkanKartu()
(from 1 Use Case Diagram)
78
MenuPIN
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)
79
Sequence Diagram: Memasukkan PIN
sd SD2 - Memasukkan PIN
Pengguna
MenuPIN
ProsesValidasiAccount
Account
memasukkanPIN()
validasi(id, pin)
getIDLogin()
getPIN()
alt PIN v alid?
tampilkan()
[ya]
[tidak]
alt lebih dari 3x?
tampilkan()
[tidak]
[ya]
blokirAccount()
errorKartuDiblokir()
(from 1 Use Case Diagram)
80
Login
MenuUtama
Sequence Diagram: Mengecek Saldo
sd SD3 - Mengecek Saldo
Pengguna
MenuUtama
ProsesMengecekSaldo
Account
Balance
memilihMengecekSaldo()
lihatSaldo(id)
getIDBalance()
getSaldo()
setTransaksi(tgl, jenis)
tampilkanHasil(saldo)
(from 1 Use Case Diagram)
81
Transaksi MenuMengecekSaldo
Sequence Diagram: Mentransfer Uang
sd SD4 - Mentransfer Uang
Pengguna
MenuUtama
MenuMentransferUang
ProsesMentransferUang
Account
pengirim:Balance penerima:Balance Transaksi
memilihMentransferUang()
tampilkan()
memasukkanJumlahUang()
memasukkanAccountTujuan()
transferUang(id, jumlah)
getIDBalance()
getSaldo()
alt saldo cukup?
setSaldo(saldo)
[ya]
setSaldo(saldo)
setTransaksi(tgl, jenis)
tampilkanUangBerhasilDikirim()
[tidak]
tampilkanErrorSaldoTidakCukup()
82
Sequence Diagram: Mengambil Uang
d SD5 - Mengambil Uang
Pengguna
MenuUtama
MenuMengambilUang
ProsesMengambilUang
Account
Balance
memilihMengambilUang()
from 1 Use Case Diagram)
tampilkan()
memasukkanJumlah()
ambilUang(id, jumlah)
getIDBalance()
getSaldo()
alt saldo cukup?
setSaldo(saldo)
[ya]
keluarkanUang(jumlah)
setTransaksi(tgl, jenis)
TampilkanUangBerhasilDiambil()
[tidak]
TampilkanErrorSaldoTidakCukup()
83
Transaksi
KotakUang
Sequence Diagram: Melakukan Logout
sd SD6 - Melakukan Logout
Pengguna
MenuUtama
MenuLogout
ProsesLogout
KotakKuitansi KotakKartu
memilihKeluar()
tampilkan()
logout()
keluarkanKuitansi()
keluarkanKartu()
tampilkanTelahKeluar()
(from 1 Use Case Diagram)
84
Class Diagram
class CD - Sistem ATM
ProsesValidasiAccount
KotakUang
Login
mengakses
KotakKuitansi
mengakses
memiliki
melakukan
memiliki
ProsesMengecekSaldo
MenuMengecekSaldo
melakukan
MenuPIN
SistemATM
+
Account
lihatSaldo() : void
memiliki
mewarisi
menampilkan
Balance
MenuMentransferUang
ProsesMentransferUang
memiliki
melakukan+
+
+
mewarisi
MenuUtama
m_Account: Account
m_Balance: Balance
m_Transaksi: Transaksi
KotakKartu
mewarisi
MenuMengambilUang
melakukan
+
+
ProsesMentransferUang()
transferUang() : void
mewarisi
melakukan
ProsesValidasiKartu
ProsesMengambilUang
MenuLogout
melakukan
ProsesLogout
85
+
+
+
m_Account: Account
m_Balance: Balance
m_Transaksi: Transaksi
+
+
ambilUang() : void
ProsesMengambilUang()
Transaksi
Deployment Diagram (3 Tier)
deployment DD Sistem ATM
Application Serv er
Rich Client
Web Container
EJB Container
«artifact»
JSP
«artifact»
JFC
«artifact»
SessionBean
DBMS
«artifact»
MySQL
«artifact»
JSF
«artifact»
JVM
«artifact»
Zend Optimizer
«artifact»
Serv let
86
Data Model
87
User Interface Design
88
User Interface Design (Netbeans)
89
Business Process Identification
90
System Analysis and Design with UML
1. System Analysis
1.
Business Process Identification

2.
Use Case Diagram
Business Process Modeling

3.
Activity Diagram or Business Process Modeling Notation (BPMN)
Business Process Realization

Sequence Diagram
(Buat untuk setiap use case dengan menggunakan pola Boundary-Control-Entity)
2. System Design
1.
Program Design
1.
2.
3.
2.
3.
Class Diagram (Gabungkan Boundary-Control-Entity Class dan susun story dari sistem yang dibangun)
Package Diagram (Gabungan class yang sesuai, boleh menggunakan pola B-C-E)
Deployment Diagram (arsitektur software dari sistem yang dibangun)
User Interface Design (Buat UI design dari Boundary Class)
Entity-Relationship Model (Buat ER diagram dari Entity Class)
91
Use Case Diagram
92
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
93
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
94
<<includes>>
<<extends>>
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
95
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
96
Actor
• A person or another
system that interacts
with the current system
• A role, not a specific user
• Provides input,
receives output, or both
97
actor
Actor/Role
Association Relationship
• Links actor and the Use Case
• Shows two-way communication
• If one-way, arrows are used
• * is for "multiplicity of the Association"
*
*
98
Extends Relationship
• Extends Use Case to include Optional
behavior
• Arrow points from the extension Use Case to
the base Use Case
extend
Make Payment
Arrangement
extend
99
Make
Appointment
Include Relationship
• Include one Use Case from within another
• Arrow points from base Use Case to the
included Use Case
include
Make New
Patient Appointment
include
100
Create New
Patient
Generalization Relationship
• A specialized Use Case to a more
generalized Use Case
• Arrow points from specialized to general
Use Case
Make Old
Appointment
Make
Appointment
101
Use Case Diagram for Appointment System
102
Use Case Diagram with Specialized Actor
103
Extend and Include Relationships
104
Studi Kasus: ATM System
105
ATM System
106
ATM System
Layar
Kotak Kartu
Kotak Uang
Kotak Kuitansi
107
Masukkan PIN:
Kotak Kartu
Kotak Uang
Kotak Kuitansi
108
Menu Utama
1. Melihat Saldo
2. Mentransfer Uang
3. Mengambil Uang
4. Logout
Kotak Kartu
Kotak Uang
Kotak Kuitansi
109
Menu Melihat Saldo
1. Saldo anda adalah ….
Kotak Kartu
Kotak Uang
Kotak Kuitansi
110
Menu Mentransfer Uang
1. No Account Penerima:
Kotak Kartu
Kotak Uang
Kotak Kuitansi
111
Menu Mentransfer Uang
1. Jumlah uang yang dikirim:
Kotak Kartu
Kotak Uang
Kotak Kuitansi
112
Menu Mentransfer Uang
1. Uang berhasil terkirim
Kotak Kartu
Kotak Uang
Kotak Kuitansi
113
Menu Mengambil Uang
1. Jumlah uang yang diambil:
Kotak Kartu
Kotak Uang
Kotak Kuitansi
114
Menu Mengambil Uang
Uang berhasil diambil
Kotak Kartu
Kotak Uang
Kotak Kuitansi
115
Use Case Diagram
uc UCD - Sistem ATM
Sistem ATM
Memasukkan Kartu
«include»
Mengecek Saldo
Pengguna
Mentransfer Uang
Melakukan Logout
Mengambil Uang
116
Memasukkan PIN
Use Case Diagram (Alternatif)
uc Sistem ATM
Sistem ATM
Memasukkan Kartu
Memasukkan PIN
«include»
Melihat Saldo
«extend»
Mengirim Uang
Pengguna
«extend»
Admin
Memilih Transaksi
«extend»
Mengambil Uang
Mengganti Kotak
Deposit
Melakukan Logout
117
Exercise: Business Process Identification
1. Lihat kembali System Request yang
sudah anda buat
2. Lakukan business process
identification dengan membuatkan
Use Case Diagram untuk System
Request tersebut
118
Exercise: Systems Analysis and Design
• Lakukan sistem analysis and design yang menghasilkan diagram:
1.
Use Case Diagram
• Pilih salah satu aplikasi di bawah:
1.
Aplikasi Rental Mobil
7.
Aplikasi Penjualan Buku Online
2.
Aplikasi Pengelolaan Klinik
8.
Aplikasi Penjualan Tiket Kereta Online
3.
Aplikasi Pengelolaan Apotik
9.
Aplikasi Manajemen Universitas Online
4.
Aplikasi Pengelolaan Service Mobil
10. Aplikasi Penjualan Laptop Online
5.
Aplikasi Penjualan Motor
11. Aplikasi Perpustakaan Digital
6.
Aplikasi Pengelolaan Perpustakaan
12. Aplikasi Pengelolaan Project Software
119
Business Process Modeling
120
System Analysis and Design with UML
1. System Analysis
1.
Business Process Identification

2.
Use Case Diagram
Business Process Modeling

3.
Activity Diagram or Business Process Modeling Notation (BPMN)
Business Process Realization

Sequence Diagram (Buat untuk setiap use case dengan menggunakan pola Boundary-Control-Entity)
2. System Design
1.
Program Design
1.
2.
3.
2.
3.
Class Diagram (Gabungkan Boundary-Control-Entity Class dan susun story dari sistem yang dibangun)
Package Diagram (Gabungan class yang sesuai, boleh menggunakan pola B-C-E)
Deployment Diagram (arsitektur software dari sistem yang dibangun)
User Interface Design (Buat UI design dari Boundary Class)
Entity-Relationship Model (Buat ER diagram dari Entity Class)
121
Business Process Modeling with
Activity Diagrams
122
BPM With Activity Diagrams
• A number of activities support a
business process across several
departments
• Activity diagrams model the behavior in
a business process
123
Syntax for an Activity Diagram
124
Activity Diagram Example
125
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
126
Business Process Modeling with
BPMN
127
128
129
130
131
Credit Application
132
Purchase Request
133
Shipment Process of a Hardware Retailer
134
The Pizza Collaboration
135
Order Fulfillment and Procurement
136
Studi Kasus: ATM System
137
Activity Diagram: Memasukkan Kartu
act AD1 - Memasukkan Kartu
Pengguna
Sistem ATM
Mulai
Menyiapkan Kartu
Memv alidasi Kartu
Memasukkan Kartu
kartu valid?
tidak
Mengeluarkan Kartu
ya
Menampilkan MenuPIN
Selesai
138
Activity Diagram: Memasukkan PIN
act AD2 - Memasukkan PIN
Pengguna
Sistem ATM
Mulai
tidak
Memasukkan PIN
Memv alidasi Account
pin valid?
lebih dari 3x?
tidak
ya
ya
Memblokkir Kartu
Menampilkan MenuUtama
Selesai
139
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
140
Activity Diagram: Mentransfer Uang
act AD4 - Mentransfer Uang
Pengguna
Sistem ATM
Mulai
Memilih Mentransfer Uang
di Menu Utama
tidak
Memv alidasi Account
Tuj uan
Memasukkan Account
Tuj uan
Account Tujuan Valid?
Memasukkan Jumlah
Uang yang dikirim
ya
tidak
Menghitung Kecukupan
Saldo Pengirim
Saldo Cukup?
ya
Mentransfer Uang
Selesai
141
Activity Diagram: Mengambil Uang
act AD5 - Mengambil Uang
Pengguna
Sistem ATM
Mulai
Memilih Menu Mengambil
Uang di Menu Utama
tidak
Mengecek Ketercukupan
Saldo
Memasukkan Jumlah
Uang
Saldo Cukup?
ya
Memproses Pengambilan
Uang
Mengeluarkan Uang di
Kotak Uang
Mengambil Uang di Kotak
Uang
Selesai
142
Activity Diagram: Melakukan Logout
act AD6 - Melakukan Logout
Pengguna
Sistem ATM
Mulai
Memilih Keluar di Menu
Utama
Memproses Logout
Mengeluarkan Kuitansi
Mengeluarkan Kartu
Mengambil Kuitansi
Mengambil Kartu
Selesai
143
Exercise: Business Process Modeling
1.
2.
3.
Lihat kembali System Request dan Use
Case Diagram yang sudah anda buat
Lakukan business process modeling
dengan membuatkan Activity Diagram
untuk setiap Use Case yang dibuat
Yang harus dibuat: System Request,
Feasibility Analysis, Project Size
Estimation (FP) (DOC dan XLS), Use Case
Diagram, Activity Diagram (EAP)
144
Exercise: Systems Analysis and Design
• Lakukan sistem analysis and design yang menghasilkan diagram:
1.
2.
Use Case Diagram
Activity Diagram
• Pilih salah satu aplikasi di bawah:
1.
Aplikasi Rental Mobil
7.
Aplikasi Penjualan Buku Online
2.
Aplikasi Pengelolaan Klinik
8.
Aplikasi Penjualan Tiket Kereta Online
3.
Aplikasi Pengelolaan Apotik
9.
Aplikasi Manajemen Universitas Online
4.
Aplikasi Pengelolaan Service Mobil
10. Aplikasi Penjualan Laptop Online
5.
Aplikasi Penjualan Motor
11. Aplikasi Perpustakaan Digital
6.
Aplikasi Pengelolaan Perpustakaan
12. Aplikasi Pengelolaan Project Software
145
Business Process Realization
146
System Analysis and Design with UML
1. System Analysis
1.
Business Process Identification

2.
Use Case Diagram
Business Process Modeling

3.
Activity Diagram or Business Process Modeling Notation (BPMN)
Business Process Realization

Sequence Diagram
(Buat untuk setiap use case dengan menggunakan pola Boundary-Control-Entity)
2. System Design
1.
Program Design
1.
2.
3.
2.
3.
Class Diagram (Gabungkan Boundary-Control-Entity Class dan susun story dari sistem yang dibangun)
Package Diagram (Gabungan class yang sesuai, boleh menggunakan pola B-C-E)
Deployment Diagram (arsitektur software dari sistem yang dibangun)
User Interface Design (Buat UI design dari Boundary Class)
Entity-Relationship Model (Buat ER diagram dari Entity Class)
147
Sequence Diagram
148
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
149
Sequence Diagram Syntax
AN ACTOR
AN OBJECT
anObject:aClass
A LIFELINE
A FOCUS OF CONTROL
A MESSAGE
aMessage()
x
OBJECT DESTRUCTION
150
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
151
Jenis Class
1. Boundary Class:
1. Class yang berinteraksi dengan aktor langsung (user
interface)
2. Form, input, UI ini masuk di sini
2. Control Class:
1. Class yang berhubungan dengan pemrosesan,
penghitungan, kalkulasi, komputasi, query, dst
3. Entity Class:
1. Class yang berhubungan dengan data, penyimpanan
data/file
152
Studi Kasus: ATM System
153
Sequence Diagram: Memasukkan Kartu
sd SD1 - Memasukkan Kartu
Pengguna
KotakKartu
ProsesValidasiKartu
memasukanKartu()
validasiKartu()
alt kartu v alid?
tampilkan()
[ya]
[tidak]
mengeluarkanKartu()
(from 1 Use Case Diagram)
154
MenuPIN
Sequence Diagram: Memasukkan PIN
sd SD2 - Memasukkan PIN
Pengguna
MenuPIN
ProsesValidasiAccount
Account
memasukkanPIN()
validasi(id, pin)
getIDLogin()
getPIN()
alt PIN v alid?
tampilkan()
[ya]
[tidak]
alt lebih dari 3x?
tampilkan()
[tidak]
[ya]
blokirAccount()
errorKartuDiblokir()
(from 1 Use Case Diagram)
155
Login
MenuUtama
Sequence Diagram: Mengecek Saldo
sd SD3 - Mengecek Saldo
Pengguna
MenuUtama
ProsesMengecekSaldo
Account
Balance
memilihMengecekSaldo()
lihatSaldo(id)
getIDBalance()
getSaldo()
setTransaksi(tgl, jenis)
tampilkanHasil(saldo)
(from 1 Use Case Diagram)
156
Transaksi MenuMengecekSaldo
Sequence Diagram: Mentransfer Uang
sd SD4 - Mentransfer Uang
Pengguna
MenuUtama
MenuMentransferUang
ProsesMentransferUang
Account
pengirim:Balance penerima:Balance Transaksi
memilihMentransferUang()
tampilkan()
memasukkanJumlahUang()
memasukkanAccountTujuan()
transferUang(id, jumlah)
getIDBalance()
getSaldo()
alt saldo cukup?
setSaldo(saldo)
[ya]
setSaldo(saldo)
setTransaksi(tgl, jenis)
tampilkanUangBerhasilDikirim()
[tidak]
tampilkanErrorSaldoTidakCukup()
157
(from 1 Use Case Diagram)
Sequence Diagram: Mengambil Uang
d SD5 - Mengambil Uang
Pengguna
MenuUtama
MenuMengambilUang
ProsesMengambilUang
Account
Balance
memilihMengambilUang()
from 1 Use Case Diagram)
tampilkan()
memasukkanJumlah()
ambilUang(id, jumlah)
getIDBalance()
getSaldo()
alt saldo cukup?
setSaldo(saldo)
[ya]
keluarkanUang(jumlah)
setTransaksi(tgl, jenis)
TampilkanUangBerhasilDiambil()
[tidak]
TampilkanErrorSaldoTidakCukup()
158
Transaksi
KotakUang
Sequence Diagram: Melakukan Logout
sd SD6 - Melakukan Logout
Pengguna
MenuUtama
MenuLogout
ProsesLogout
KotakKuitansi KotakKartu
memilihKeluar()
tampilkan()
logout()
keluarkanKuitansi()
keluarkanKartu()
tampilkanTelahKeluar()
(from 1 Use Case Diagram)
159
Exercise: Sequence Diagram
1. Lihat kembali System Request, Use
Case Diagram, dan Activity Diagram
yang sudah anda buat
2. Lengkapi diagram tersebut dengan
Sequence Diagram untuk setiap Use
Case yang dibuat
160
Exercise: Systems Analysis and Design
• Lakukan sistem analysis and design yang menghasilkan diagram:
1.
2.
3.
Use Case Diagram
Activity Diagram
Sequence Diagram
• Pilih salah satu aplikasi di bawah:
1.
Aplikasi Rental Mobil
7.
Aplikasi Penjualan Buku Online
2.
Aplikasi Pengelolaan Klinik
8.
Aplikasi Penjualan Tiket Kereta Online
3.
Aplikasi Pengelolaan Apotik
9.
Aplikasi Manajemen Universitas Online
4.
Aplikasi Pengelolaan Service Mobil
10. Aplikasi Penjualan Laptop Online
5.
Aplikasi Penjualan Motor
11. Aplikasi Perpustakaan Digital
6.
Aplikasi Pengelolaan Perpustakaan
12. Aplikasi Pengelolaan Project Software
161
Collaboration Diagram
162
Collaboration Diagrams
• Essentially an object diagram that shows
• Message passing relationships
• Instead associations
• Emphasize
• The flow of messages among objects
• Rather than timing and ordering of messages
163
Collaboration Diagram Syntax
AN ACTOR
AN OBJECT
anObject:aClass
AN ASSOCIATION
aMessage()
A MESSAGE
164
Example Collaboration Diagram
165
State Machine Diagram
166
Behavioral State Machines
• Some objects may change states often
• Some may change state and never change
back
• Patient: new  current  former
• This is seen in the cells of the CRUD matrix
167
Behavioral State Machines
• The behavioral state machine is a dynamic
model that shows this
• The behavioral state machine shows
• The different states of an object
• The events
• That cause the object to change from one state to
another
168
Components of Statechart Diagrams
• States
• Determined by the values of the attributes
• Events
• Changes the state of an object
• e.g. changes the values of attributes
169
Components of Statechart Diagrams
• Transitions
• Movement of an object from one state to another
• Often has a guard condition
• Actions
• Atomic process, takes "zero time"
• Activities
• Non-atomic, take a long time, can be started and
stopped
170
Statechart Diagram Syntax
aState
A STATE
AN INITIAL STATE
A FINAL STATE
anEvent
AN EVENT
A TRANSITION
171
Example Behavioral State Machine Diagram
172
Building Behavioral State Machine Diagrams
• Set the context
• Identify
• Initial state
• Final state
• All stable states
• Determine the order in which the object will pass
through stable states
• Identify the events, actions, and guard conditions
associated with the transitions
• Validate the diagram
173
Estimating Project Size with
Use Case Points
Gustav Karner (1993)
174
Actor and Use Case Weighting Tables
Unadjusted Actor Weighting (UAW)
Actor Type Description
Weighting Factor
Simple
External System with well-defined API
1
Average
External System using a protocolbased
interface, e.g., HTTP, TCT/IP, SQL
2
Complex
Human
3
Unadjusted Use Case Weighting (UUCW)
Use-Case Type Description
Weighting Factor
Simple
1-3 transactions
5
Average
4-7 transactions
10
Complex
More than 7 transactions
15
Unadjusted Use Case Points (UUCP) = UAW + UUCW
175
Technical Complexity Factors
Factor
Number
Description
Weight
T1
Distributed system
2.0
T2
Response time or throughput performance
objectives
1.0
T3
End-user online efficiency
1.0
T4
Complex internal processing
1.0
T5
Reusability of code
1.0
T6
Easy to install
0.5
T7
Ease of use
0.5
T8
Portability
2.0
T9
Ease of change
1.0
Technical Complexity Factor (TCF) = 0.6 + (0.01 * TFactor)
176
Environmental Complexity Factors
Factor
Number
Description
Weight
E1
Familiarity with system development process in use
1.5
E2
Application experience
0.5
E3
Object-oriented experience
1.0
E4
Lead analyst capability
0.5
E5
Motivation
1.0
E6
Requirements stability
2.0
E7
Part time staff
-1.0
E8
Difficulty of programming language
-1.0
Environmental Factor (ECF) = 1.4 + (-0.03 * EFactor)
177
Computing Use Case Points
• Adjusted Use Case Points (UCP) = UUCP * TCF * ECF
• Effort in Person Hours = UCP * PHM
178
Person Hour Multiplier (PHM)
If the sum of (number of Efactors ECF1 through
ECF6 assigned value < 3) and (number of
Efactors ECF7 and ECF8 assigned value > 3) ≤ 2
PHM = 20
Else If the sum of (number of Efactors ECF1
through ECF6 assigned value < 3) and (number
of Efactors ECF7 and ECF8 assigned value > 3) =
3 or 4
PHM 28
Else
Rethink project; it has too high of a risk for failure
179
Person Hour Multiplier (PHM)
• Let F1 = Number of ECF1 to ECF6 that are < 3
• Let F2 = Number of ECF7 and ECF8 that are > 3
• If F1 + F2 <= 2
PHM = 20
Else if F1 + F2 = 3 or 4
PHM = 28
Else
Scrap the project
180
Use Case Points in EA
181
182
Effort Estimation from PM Defined
Effort Estimation of Sistem ATM
UCP
PH
PM
PM
= 32
PHM = 20
= 20*32
= 640
= 640/8/22 = 3.6
= 640/10/26 = 2.4
(10 Jam/hari dan sabtu masuk )
TIME (M)
TIME (M)
TIME (M)
TIME (M)
= 3.0 * PM 1/3
= 3.0 * 3.4 1/3
= 4.5
= 3.9 (LEMBUR )
183
Budget (Custom Software)
Pekerjaan
Man-Month
Month
Budget
Total
Planning
2
1
5000.000
10.000.000
1
10.000.000
20.000.000
Analysis
Design
2
1
4000.000
32.000.000
Implementation
4
2
3000.000
24.000.000
Training
2
1
4000.000
8000.000
94.000.000
184
Budget (Generic Software)
Product
Total
LMS
10.000.000
Teleconference
2.000.000
Chatting
4.000.000
eLibrary
20.000.000
185
Exercise: Project Size Estimation
1. Lihat kembali Use Case Diagram, dan
Sequence Diagram yang telah anda buat
2. Estimasi Project Size, Effort dan Time dengan
menggunakan Use Case Point
186
Exercise: System Analysis untuk System Request
1.
2.
Lihat kembali System Request yang sudah
anda buat
Lakukan system analysis dengan membuat
diagram di bawah:
1.
2.
3.
3.
Use Case Diagram
Activity Diagram
Sequence Diagram
Buat project baru di Sparx EA, buat 3
package dengan nama sama dengan 3
diagram di atas
187
Referensi
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. Hassan Gomaa, Software Modeling and Design: UML,
Use Cases, Patterns, and Software Architectures,
Cambridge University Press, 2011
4. Gary B. Shelly and Harry J. Rosenblatt, Systems Analysis
and Design 9th Edition, Course Technology, 2011
5. Howard Podeswa, UML for the IT Business Analyst 2nd
Edition, Course Technology, 2009
6. Jeffrey A. Hoffer et al, Modern Systems Analysis and
Design 6th Edition, Prentice Hall, 2012
188

similar documents