Romi Se 02 Process June2015
Romi Se 02 Process June2015
Romi Se 02 Process June2015
2. Process
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,
Machine Learning
• Founder dan Koordinator IlmuKomputer.Com
• Peneliti LIPI (2004-2007)
• Founder dan CEO PT Brainmatics Cipta Informatika
2
Course Outline
1. Introduction
2. Process
3. Methodology
4. Quality
5. Research
3
2. Process
2.1 Software Development Life Cycle
2.2 Software Effort Estimation
2.1 Software Development Life
Cycle
5
2.1.1 Planning
6
When Do Software Projects Begin?
• When someone sees an opportunity to
create business value from using information
technology
Planning
Implementation Analysis
8
Software Development Life Cycle
(SDLC)
1. Planning: Why build the system?
• System request, feasibility analysis
10
11
System Request – Case Study
Menu Utama
1. Melihat Saldo
2. Mentransfer Uang
3. Mengambil Uang
4. Logout
Kotak Kuitansi
12
System Request – Online ATM System
Project Sponsor: Margaret Mooney, Vice President of Marketing
Business Need: Project ini dibuat dengan tujuan untuk mendapatkan pelanggan
baru yang menggunakan Internet dam memberikan layanan yang
lebih baik ke pelanggan yang ada melalui layanan berbasis Internet
Business Requirements:
Dengan menggunakan Online ATM System, pelanggan dapat melakukan seluruh
transaksi perbankan. Fitur utama yang ada pada sistem ini adalah:
1. Pengecekan Saldo
2. Pengiriman Uang
3. Transaksi Pembayaran Tagihan
Business Value:
Keuntungan Intangible:
- Meningkatkan layanan ke pelanggan
- Mengurangi komplen dari pelanggan
Keuntungan Tangible:
- $750,000 transaksi keuangan dari pelangan baru
- $1,875,000 transaksi keuangan dari pelanggan lama
- $50,000 pengurangan biaya telepon untuk melayani pelanggan
13
Latihan Studi Kasus
• Buat System Request untuk aplikasi yang
dibutuhan oleh suatu organisasi
14
2. Planning - Feasibility Analysis
1. Technical feasibility: Can we build it?
15
2. Planning - Feasibility Analysis
1 Technical • Familiarity with application: Less familiarity generates more risk
Feasibility • Familiarity with technology: Less familiarity generates more risk
• Project size: Large projects have more risk
• Compatibility: The harder it is to integrate the system with the
company’s existing technology, the higher the risk will be
2 Economic • Return on Investment (ROI)
Feasibility • Break Even Point (BEP)
• Intangible Benefit
3 Organizational • Is the software project strategically aligned with the
Feasibility business?
16
Feasibility Analysis - Technical
Feasibility
Familiarity with • Knowledge of business domain
application • Need to understand improvements
• Need to recognize pitfalls and bad ideas
Familiarity with • Is technology new to this organization?
technology • Is this a brand new technology?
• Extension of existing firm technologies
Project size • Number of people, time, and features
Compatibility • Systems are not built in a vacuum
• Needs to integrate with current systems and data
17
18
Feasibility Analysis - Economic
Feasibility
19
20
Present Value (PV)
• The amount of an investment today compared
to the same amount n years in the future
• Taking into account inflation and time
Amount
PV =
(1 + Interest Rate)n
21
Net Present Value
537,201
1 0.035
463,395
22
Net Present Value (NPV)
The present value of benefit less the
present value of cost
23
NPV Calculation
3,204,752 2,575,331
629,421
24
Return on Investment (ROI)
The Amount of revenue or cost savings
results from a given investment
25
ROI Calculation
3,204,752 2,575,331
2,575,331
0.2444
26
Break Even Point (BEP)
The point in time when the costs of the
project equal the value it has delivered
* Use the yearly NPV amount from the first year in which
project has positive cash flow
27
Break Even Point (BEP)
28
Cash Flow Plan
29
Feasibility Analysis - Organizational Feasibility
• Strategic Alignment
• How well does the project match up with the
business strategy?
30
Stakeholder Analysis Considers
• Project champion(s)
• High-level non-IS executive
• Shepherds project to completion
• It's good to have more than one
• Organizational management
• Need this support to sell system to organization
• System users
• In the loop so end system meets needs
31
Feasibility Analysis – Case Study
1. Technical feasibility
2. Economic feasibility
3. Organizational feasibility
32
Feasibility Analysis - Online ATM System
Margaret Mooney and Alec Adams created the following feasibility analysis
for the Online ATM System Project.
1. Technical Feasibility
The Online ATM System is feasible technically, although there is some risk.
1.1 Online ATM System’s risk regarding familiarity with the application is high
• The Marketing Department has little experience with Internet-based marketing and sales
• The IT Department has strong knowledge of the company’s existing ATM systems,
however, it has not worked with Web-enabled ATM systems.
1.2 Online ATM System’s risk regarding familiarity with the technology is medium
• The IT Department has relied on external consultants to develop its existing Web env.
• The IT Department has learned about Web technology by maintaining the corporate site
1.3 The project size is considered medium risk
• The project team likely will include less than ten people
• Business user involvement will be required
• The project timeframe cannot exceed a year and it should be much shorter
1.4 The compatibility with existing technical infrastructure should be good
• The current ATM System is a client-server system built using open standards. An interface
with the Web should be possible
• Retail bank already place and maintain orders electronically
• An Internet infrastructure already is in place at retail bank and at the corporate
headquarters
33
2. Economic Feasibility
• A cost–benefit analysis was performed. A conservative approach shows that the
Online ATM System has a good chance of adding to the bottom line of the company
significantly.
• Return on Investment (ROI) over 3 years: 229 percent
• Break-even point (BEP) occurs: after 1.7 years
• Total benefit after three years: $3.5 million
3. Organizational Feasibility
• From an organizational perspective, this project has low risk. The objective of the
system, which is to increase sales, is aligned well with the senior management’s goal
of increasing sales for the company. The move to the Internet also aligns with
Marketing’s goal to become more savvy in Internet marketing and sales.
• The project has a project champion, Margaret Mooney, Vice President of Marketing.
Margaret is well positioned to sponsor this project and to educate the rest of the
senior management team when necessary. Much of senior management is aware of
and supports the initiative.
34
2003 2004 2005 Total
Increased sales from new customers 0 750,000 772,500
Increased sales from existing customers 0 1,875,000 1,931,250
Reduction in customer complaint calls 0 50,000 50,000
Total Benefits: 0 2,675,000 2,753,750
PV of Benefits: 0 2,521,444 2,520,071 5,041,515
PV of All Benefits: 0 2,521,444 5,041,515
Labor: Analysis, Design and Implementation 162,000 0 0
Consultant Fees 50,000 0 0
Office Space and Equipment 7,000 0 0
Software and Hardware 35,000 0 0
Total Development Costs: 254,000 0 0
Labor: Webmaster 85,000 87,550 90,177
Labor: Network Technician 60,000 61,800 63,654
Labor: Computer Operations 50,000 51,500 53,045
Labor: Business Manager 60,000 61,800 63,654
Labor: Assistant Manager 45,000 46,350 47,741
Labor: 3 Staff 90,000 92,700 95,481
Software upgrades and licenses 4,000 1,000 1,000
Hardware upgrades 5,000 3,000 3,000
User training 2,000 1,000 1,000
Communications charges 20,000 20,000 20,000
Marketing expenses 25,000 25,000 25,000
Total Operational Costs: 446,000 452,700 464,751
Total Costs: 700,000 452,700 464,751
PV of Costs: 679,612 426,713 425,313 1,531,638
PV of all Costs: 679,612 1,106,325 1,531,638
Total Project Costs Less Benefits: (700,000) 2,222,300 2,288,999
Yearly NPV: (679,612) 2,094,731 2,094,758 3,509,878
Cumulative NPV: (679,612) 1,415,119 3,509,878
Return on Investment (ROI): 229.16% (3,509,878/1,531,638)
Break-even Point (BEP): 1.32 years (BEP in Year 2 = [2,094,731 – 1,415,119] / 2,094,731 = 0.32)
35
Latihan Studi Kasus
• Lakukan Feasibility Analysis untuk System
Request yang dibuat
36
2.1.2 Analysis and Design
37
Analysis Design Paradigm and
Diagrams
Paradigm Diagrams
1 Data-oriented DFD
2 Process-oriented Flowchart
3 Object-oriented UML
(data + process)
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
2011 UML 2.4
Sejarah UML 2003 UML 2.0
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:
Customer- Support
Oriented Standard and
Methodology 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. Class Diagram
2. Object Diagram
3. Package Diagram
4. Deployment Diagram
5. Component Diagram
6. 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
Depict the dynamic relationships among the
instances or objects that represent the
business information system
49
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
• Overview of flow of control of a process
6. Timing Diagrams
• Show how an object changes over time
7. State Machines
• Examines behavior of one class
• Models the different states and state transitions an
object can experience
8. 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?
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. Use Cases Diagram
2. Activity Diagram
3. Sequence Diagram
4. Class Diagram
5. 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
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)
58
SDLC and Artifacts
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
New
4. Implementation
4.1 Program Code
Software
4.2 Testing Plan
4.3 Documentation 59
Use Case Diagram
60
Use Case Diagrams
• Generalization Relationship
62
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
63
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
64
Actor
• A person or another
system that interacts
with the current system
• A role, not a specific user
actor
• Provides input, Actor/Role
receives output, or both
65
Association Relationship
• Links actor and the Use Case
• Shows two-way communication
• If one-way, arrows are used
• * is for "multiplicity of the Association"
* *
66
Extends Relationship
• Extends Use Case to include Optional
behavior
• Arrow points from the extension Use Case to
the base Use Case
extend
67
Include Relationship
• Include one Use Case from within another
• Arrow points from base Use Case to the
included Use Case
include
69
Use Case Diagram for Appointment System
70
Use Case Diagram with Specialized Actor
71
Extend and Include Relationships
72
Use Case Diagram – Case Study
uc UCD Sistem ATM
Memasukan PIN
Mengecek Saldo
Mengirim Uang
Melakukan Logout
73
Latihan Studi Kasus
• Pahami kembali System Request yang sudah
dibuat
• Lanjutkan dengan membuat Use Case
Diagram dari System Request yang dibuat
74
Activity Diagram
75
Syntax for an Activity Diagram
76
Activity Diagram Example
77
Syntax for an Activity Diagram
78
2. Activity Diagram: Memasukkan PIN
act 2 AD Memasukan PIN
Mulai
tidak
PIN Valid?
tidak
ya
Mengecek Menampilkan
Jumlah Input PIN Menu Utama
ya
Memblokir
Account
Selesai
79
2. Activity Diagram: Mengecek Saldo
act 3 AD Mengecek Saldo
Mulai
Menampilkan Jumlah
Saldo di Layar
Selesai
80
2. Activity Diagram: Mentransfer Uang
act 5 AD Mentransfer Uang
Mulai
ya
Mengisikan Menampilkan Isian
Jumlah Uang Jumlah Uang
tidak
Merequest Mengecek
Kecukupan Saldo Kecukupan Saldo
Saldo Cukup?
ya
Memproses
Pengiriman Uang
Selesai
81
2. Activity Diagram: Melakukan Logout
act 6 AD Melakukan Logout
Mulai
Memilih Memproses
Logout Logout
Mengeluarkan Kartu
di Kotak Kartu
Mengeluarkan Kuitansi
di Kotak Kuitansi
Selesai
82
Latihan Studi Kasus
• Pahami kembali System Request yang sudah
dibuat
• Lanjutkan dengan membuat Activity Diagram
dari System Request yang dibuat
83
Sequence Diagram
84
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
85
Sequence Diagram Syntax
AN ACTOR
AN OBJECT
anObject:aClass
A LIFELINE
A FOCUS OF CONTROL
A MESSAGE aMessage()
OBJECT DESTRUCTION x
86
3. Sequence Diagram: Memasukkan PIN
sd 1 SD Memasukan PIN
Nasabah
MenuPIN PengelolaValidasi Login MenuUtama
masukanPIN()
validasiPIN()
getPIN()
[tidak]
[ya]
blokirAccount()
errorAccountDiblokir()
87
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)
88
3. Sequence Diagram: Mengecek Saldo
sd 2 SD Mengecek Saldo
pilihMengecekSaldo()
cekSaldo(id)
requestCekSaldo(id)
setSaldo(saldo)
tampilkanSaldo()
89
3. Sequence Diagram: Mentransfer Uang
sd 4 SD Mengirim Uang
Nasabah
MenuUtama MenuMengirimUang PengelolaPengirimanUang Pengirim:Balance Penerima:Balance Transaction Account
pilihMengirimUang()
tampilkan()
masukanJumlahUang()
cekKecukupanSaldo()
getSaldo()
tampilkanHasil()
masukanAccountTujuan()
validasiAccount()
getID()
[ya]
kirimUang(idPengirim, idPenerima, jumlah)
setSaldo(saldo)
setSaldo(saldo)
90
3. Sequence Diagram: Melakukan Logout
sd 5 SD Melakukan Logout
Nasabah
MenuUtama PengelolaLogout MenuLogout
pilihLogout()
logout()
tampilkan()
91
Latihan Studi Kasus
• Pahami kembali System Request yang sudah
dibuat
• Lanjutkan dengan membuat Sequence
Diagram dari System Request yang dibuat
92
Class Diagram
93
Class Diagram Elements
1. Classes
2. Attributes
3. Operations
4. Relationships
94
Classes
• Templates for creating instances or
objects
• All objects of a class have same structure
and behavior, but contain different
attributes
1. Concrete: used to create actual objects
2. Abstract: extended to create other classes
95
Attributes
• Units of information relevant to the
description of the class
• Only attributes important to the task should
be included
• Attributes should be primitive types (integers,
strings, doubles, date, time, Boolean, etc.)
96
Operations (Methods)
• Defines the behavior of the class
• Action that instances/objects can take
• Focus on relevant problem-specific
operations (at this point)
97
Relationships
• Generalization
• “Is-A” relationship
• Enables inheritance of attributes & oper's
• Subclasses and superclasses
• Principle of substitutability
• Subclass be substituted for superclass
• Aggregation
• “Has-A” relationship
• Relates parts to wholes
• Uses decomposition
• Association
• Relationships that don't fit “Is-A” or “Has-A”
• Often a weaker form of “Has-A”
• Miscellaneous relationships between classes
• Example:
• Patient schedules an appointment
• So the appointment has a patient
98
Example Class Diagram
99
More on Attributes
• Derived attributes
• /age, for example can be calculated from birth
date and current date
• Visibility of attributes
• +Public: not hidden from any object
• #Protected: hidden from all but immediate
subclasses
• –Private: hidden from all other classes
• Default is private
100
Relationship Multiplicity
Exactly one
Dept 1 Boss
Zero or more
Employee 0..* Child
One or more
Boss 1..* Employee
Zero or one
Employee 0..1 Spouse
Specified
range Employee 2..4 Vacation
Disjoint
Employee 1..3, 5 Committee
ranges
101
Class
102
Class with Attribute and Method
103
Class Association
104
Multiplicity
105
Inheritance
106
Interface
107
Class Diagram – Case Study
class CD Sistem ATM
PengelolaValidasi Login
access
+ blokirAccount(): void
+ validasiKartu() Balance
+ validasiPIN(): void
do
access
MenuMengecekSaldo PengelolaPengecekanSaldo
MenuPIN
do
access
is-a
has-a
Transaction
access
is-a Account
~ alamat: String
~ id: int
~ nama: String
MenuLogout PengelolaLogout ~ pekerjaan: String
do
+ getAlamat(): String
+ getId(): int
+ getNama(): String
+ getPekerjaan(): String
+ setAlamat(String): void
+ setId(int): void
+ setNama(String): void
+ setPekerjaan(String): void
108
Latihan Studi Kasus
• Pahami kembali System Request yang sudah
dibuat
• Lanjutkan dengan membuat Class Diagram
dari System Request yang dibuat
109
Deployment Diagram – Case Study
deployment DD Sistem ATM
Application Serv er
«artifact»
JSP
«artifact» «artifact»
MySQL
JFC «artifact»
SessionBean
«artifact»
JSF
«artifact» «artifact»
JVM Zend Optimizer
«artifact»
Serv let
110
User Interface Design – Case Study
111
Data Model – Case Study
class DM Sistem ATM
Account
«column»
*PK id: INTEGER
nama: VARCHAR(50)
jeniskelamin: VARCHAR(50)
pekerjaan: VARCHAR(50)
+idLogin FK idLogin: INTEGER +idBalance
FK idBalance: INTEGER
FK idTransaction: INTEGER
«FK»
+ FK_idBalance(INTEGER)
+ FK_idLogin(INTEGER)
+ FK_idTransaction(INTEGER)
«PK»
+ PK_Account(INTEGER)
+idTransaction
+PK_Transaction
112
Latihan Studi Kasus
• Pahami kembali System Request yang sudah
dibuat
• Lanjutkan dengan membuat Deployment
Diagram, User Interface Design dan Data
Model dari System Request yang dibuat
113
2.1.3 Implementation
1. Construction
2. Testing
3. Documentation
4. Installation
114
1. Construction
• Assigning the programmers
• Coordinating the activities
• Managing the schedule
115
Assigning Programmers
• Start by looking at the package diagrams
• Assign similar modules to the same programmer
• Remember the "programmer paradox"
• Can't just add more people
• Fewer programmers is normally better
• Adding manpower to a late project makes it
later (Brook, 1975)
• “Just because a woman can make a baby in nine
months, it does not follow that nine women can
make a baby in one month”
116
Coordinating Activities
• Hold weekly project meetings
• discuss changes to the system
• discuss other issues of the past week
• Create and follow standards
• Set up separate workspace for
• development, testing, production
• as a minimum, separate files
• Use change control
• program log, sign-in/-out
• Use CASE tools
117
Managing the Schedule
• Use initial time estimates as a baseline
• Revise time estimates as construction proceeds
• Fight against scope creep
• Monitor “minor” slippage
• Create risk assessment and track changing risks
• Risks change as deadline approaches
• Fight the temptation to lower quality to meet
unreasonable schedule demands
118
Anekdot di Pengembangan
Software
• Project Manager is a Person who thinks nine women can
deliver a baby in One month
• Developer is a Person who thinks it will take 18 months
to deliver a Baby
• Client is the one who doesn't know why he wants a baby
• Marketing Manager is a person who thinks he can deliver
a baby even if no man and woman are available
• Tester is a person who always tells his wife that this is not
the Right baby
• Human Resource is a person who thinks that a donkey
can deliver a human baby if given 9 months
119
Program Code – Case Study
120
2. Testing
• Testing can never prove there are no errors
• The purpose is not to demonstrate that the system
is free of errors
• The purpose is to detect as many errors as possible
• It is dangerous to test early modules without an
overall testing plan
• It may be difficult to reproduce sequence of events
causing an error
• Testing must be done systematically and results
documented carefully
121
Stage of Testing
1. Unit testing
• Tests each module to assure that it performs its
function
2. Integration testing
• Tests the interaction of modules to assure that they
work together
3. System testing
• Tests to assure that the software works well as part
of the overall system
4. Acceptance testing
• Tests to assure that the system serves organizational
needs
122
Error Discover Rates
123
3. Documentation
1. System Documentation
2. User Documentation
124
System Documentation
• Compiled and refined System Specification
• Helps programmers and analysts understand
the application
• Used for development and maintenance
• Largely a by product of the SDLC phases
• Often can be automated (JavaDoc)
125
User Documentation
• Help users operate the system
• High quality documentation takes about 3 hours per
page to produce
• Should not be left to the end of the project
• User Documentation Type:
• Reference documents (help system)
• User needs to learn a specific task
• Procedures manuals
• How to perform a business function
• May require several tasks
• Tutorials
• How to use major function of system
126
4. Installation
• Transitioning to new systems involves
managing change from pre-existing
norms and habits
• Change management involves:
1. Unfreezing -- loosening up peoples’ habits and
norms
2. Moving – conversion from old to new systems
3. Refreezing -- institutionalize and make efficient
the new way of doing things
127
Unfreezing
• Activities to date facilitate unfreezing
• Users:
• Already know of the new system
• Helped in the analysis phase
• Helped in the design
• This probably has already unfreezed
current habits and norms
128
Conversion Strategy
129
Types of System Adopters
• Ready Adopters (20% - 30%)
• Recognize the benefits
• Quickly adopt the system
• Become proponents of the system
132
“Size” of Software Systems
Source: Wikipedia
133
“Size” of Software Systems
134
Software Effort Estimation
Methods
• Use the time spent for • Estimate System Size • Estimate System Size (Use
planning (Function Point) Case Points)
• Along with industry • Estimate Effort Required • Estimate Effort Required
standard percentages (Person-Month) (Person-Month)
• Estimate the overall time • Estimate Time Required • Estimate Time Required
for the project (Month) (Month)
135
1. Simply Method
136
Simply Method
137
Time Spent for Each Phase
We are given that
Planning time 0.15 Overall time
so
Planning time
Overall time
0.15
Planning time
Analysis time 0.2
0.15
138
Estimate the Overall Time
Industry
Standard
For Web 15% 20% 35% 30%
Applications
Effort
Required 4 5.33 9.33 8
in Time (month)
4
Example: Analysis 0.2 5month
.33
0.15
139
2. Function Point
140
Function Point Approach
Complexity
142
Example: Sistem ATM
143
Function Points Estimation
-- Step Two (Processing Complexity)
Scale of 0 to 3
144
Example: Sistem ATM
145
Function Point Estimation
-- Step Three (TAFP)
Processing Complexity (PC) = 7
(From Step Two)
Adjusted Processing
Complexity (PCA) = 0.65 + (0.01 * 7 ) = 0.72
Total Adjusted
Function Points (TAFP): 338 * 0.72 = 243
(From Step One)
146
Adjusted Processing Complexity
147
Converting Function Points to Lines of
Code
148
Lines of Codes (LOC)
Example:
149
Contoh Jenis Aplikasi dan FP
150
B. Estimating Effort
Effort = 1.4 * thousands-of- lines-of-code
(in Person- Months)
Example:
151
C. Estimating Time
Time = 3.0 * person-months1/3
(in Months)
Example:
152
Calculate System Size
Imagine that job hunting has been going so well that
you need to develop a system to support your efforts.
The system should allow you to input information
about the companies with which you interview, the
interviews and office visits that you have scheduled,
and the offers that you receive. It should be able to
produce reports, such as a company contact list, an
interview schedule, and an office visit schedule, as well
as produce thank-you letters to be brought into a word
processor to customize. You also need the system to
answer queries, such as the number of interviews by
city and your average offer amount. The system will be
developed using Java.
153
Hitung Size dari Sistem dengan
Function Point
• Sebuah perusahaan membutuhkan sistem job seeker untuk pencari kerja
dan perusahaan pembuka lowongan pekerjaan
• Sistem memungkinkan pencari kerja untuk menginput data curriculum
vitae. Di sisi lain, perusahan pembuka lowongan kerja bisa menginput data
perusahaan dan lowongan pekerjaan yang disediakan
• Pencari kerja dapat melakukan pencarian (query) tentang lowongan
pekerjaan apa saja yang tersedia, sedangkan pembuka lowongan kerja
mencari tentang siapa saja yang sudah mendaftar di suatu lowongan
pekerjaan
• Sistem mampu memproduksi laporan dan statistik lengkap tentang pencari
kerja, perusahaan, jenis lowongan pekerjaan dan tren lowongan kerja yang
sedang populer
• Laporan statistik akan disajikan dalam bentuk infografik dan juga tersedia
dalam bentuk file pdf yang bisa didownload
• Sistem akan dikembangkan dengan menggunakan bahasa pemrograman
Java
154
TUFP
Fungsi Bobot Total
Input 4 3 12
Output 3 4 12
Queries 2 3 6
File 1 7 7
Program 5 5 25
Interface
TUFP 62
155
TAFP
Processing Complexity (PC) = 6
(From Step Two)
Adjusted Processing
Complexity (PCA) = 0.65 + (0.01 * 6 ) = 0.71
Total Adjusted
Function Points (TAFP): 62 * 0.71 = 44.02
(From Step One)
156
LOC Effort (ManMonth) Time
(Month)
• LOC = 55*44.02 = 2421
157
3. Use Case Point
158
Use Case Points
Unadjusted Actor Weighting (UAW)
Actor Type Description Weighting Factor
Simple External System with well-defined API 1
Average External System using a protocol- 2
based
interface, e.g., HTTP, TCT/IP, SQL
Complex Human 3
Sistem ATM
Sistem ATM
Human = 3
Memasukkan KartuMengecek Saldo
«include»
Memasukkan PIN
Mengecek Saldo
«include»
Transaction = ?
Pengguna
Mentransfer Uang Mengecek Saldo Uang
Mentransfer
Mengecek Saldo
Pengguna
Mentransfer Uang
Mentransfer
Melakukan LogoutUang Melakukan
MengambilLogout
Uang Mengambil Uang
160
Sequence Diagram - Mentransfer Uang
sd SD4 - Mentransfer Uang
memilihMentransferUang()
tampilkan()
memasukkanJumlahUang() Transaction = 3
memasukkanAccountT ujuan()
transferUang(id, jumlah)
getIDBalance()
getSaldo()
tampilkanUangBerhasilDikirim()
[tidak]
tampilkanErrorSaldoT idakCukup()
161
Technical Complexity Factors
(TCF)
Factor Description Weight
Number
T1 Distributed system 2.0
T2 Response time or throughput performance 1.0
objectives
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
164
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
165
Use Case Points in Sparx EA
166
Example: Sistem ATM
UCP = 19
PHM = 20
PH = 20*19 = 360
PM = 360/8/22 = 2.05
167
Example: Sistem ATM
UCP = 23
PHM = 20
PH = 20*23 = 460
PM = 460/8/22 = 2.61
168
Reference (Foundation)
• Ian Sommerville, Software Engineering 10th Edition,
Addison-Wesley, 2015
• Roger S. Pressman, Software Engineering: A Practitioner’s
Approach 8th Edition, McGraw-Hill, 2014
• P. Bourque and R.E. Fairley, eds., Guide to the Software
Engineering Body of Knowledge Version 3.0, IEEE Computer
Society, 2014
• Albert Endres dan Dieter Rombach, A Handbook of Software
and Systems Engineering, Pearson Education Limited, 2003
• Yingxu Wang, Software Engineering Foundations: A
Software Science Perspective, Auerbach Publications, Taylor
& Francis Group, 2008
Reference (Process)
• Alan Dennis et al, Systems Analysis and Design with UML –
4th Edition, John Wiley and Sons, 2012
• Dan Pilone and Russ Miles, Head First Software
Development, O’Reilly Media, 2008
• Barclay and Savage, Object-Oriented Design with UML and
Java, Elsevier, 2004
• Kenneth E. Kendall and Julie E Kendall, Systems Analysis and
Design 8th Edition, Prentice Hall, 2010
• Hassan Gomaa, Software Modeling and Design: UML, Use
Cases, Patterns, and Software Architectures, Cambridge
University Press, 2011
• Layna Fischer (edt.), BPMN 2.0 Handbook Second Edition,
Future Strategies, 2012
Reference (Quality)
• Daniel Galin, Software Quality Assurance, Addison-
Wesley, 2004
• Kshirasagar Naik and Priyadarshi Tripathy, Software
Testing and Quality Assurance, John Wiley & Sons,
Inc., 2008
• Jeff Tian, Software Quality Engineering, John Wiley
& Sons, Inc., 2005
• G. Gordon Schulmeyer, Handbook of Software
Quality Assurance Fourth Edition, Artech House,
2008
Reference (Research)
• Christian W. Dawson, Project in Computing and Information
System a Student Guide 2nd Edition, Addison-Wesley, 2009
• Mikael Berndtsson, Jörgen Hansson, Björn Olsson, Björn
Lundell, Thesis Projects - A Guide for Students in Computer
Science and Information System 2nd Edition, Springer-Verlag
London Limited, 2008
• Mary Shaw, Writing Good Software Engineering Research
Papers, Proceedings of the 25th International Conference on
Software Engineering, 2003
• C. Wohlin, P. Runeson, M. Host, M. C. Ohlsson, B. Regnell, and
A. Wesslen, Experimentation in Software Engineering, Springer,
2012
• P. Runeson, M. Host, A. Rainer, and B. Regnell, Case Study
Research in Software Engineering: Guiidelines and Examples,
John Wiley & Sons, Inc., 2012
172