RPL-2 Proses Perangkat Lunak
RPL-2 Proses Perangkat Lunak
RPL-2 Proses Perangkat Lunak
Software Processes
Aradea
Source : Roger S Pressman, Ian Sommervile, Grady Booch
Edward Yourdon , KK-Informatika ITB
What is Software Engineering ?
Tools
Methods
Process
A quality focus
Important Questions for Software
Engineers
Requirements
definition
System and
software design
Implementation
and unit testing
Operation and
maintenance
Waterfall Model : Advantages
delivery of
4th increment
calendar time
Incremental Model
process
business mode ling
modeling data
modeling application
generat ion
testing
&
process turnover
data modeling
modeling
application
generation
process
modeling testing
&
turnover
application
generation
testing
&
turnover
60 - 90 days
RAD Model
Initial
Specification
version
Outline Intermediate
Development
description versions
Final
Validation
version
Evolutionary Model
Problems
• Lack of process visibility
• Systems are often poorly structured
• Special skills (e.g. in languages for rapid prototyping)
may be required
Applicability
• For small or medium-size interactive systems
• For parts of large systems (e.g. the user interface)
• For short-lifetime systems
Evolutionary Model
listen
to build/revise
customer mock-up
customer
test-drives
mock-up
Prototyping Model
Permasalahan:
• PL yang dibuat merupakan pengembangan dari model,
sehingga kualitasnya rendah (program terlalu besar, sulit
dimodifikasi, tidak terdokumentasi dengan jelas). Untuk
itu pembuat harus menulis ulang program yang
dihasilkan agar berkualitas tinggi.
• Untuk mempercepat pembuatan prototipe, terkadang
menggunakan operating system, bahasa pemrograman,
dan algoritma yang kurang tepat, dengan pertimbangan
pembuat program sudah memahami. Setelah proses
pengembangan pembuat program lupa mengapa
memilih algoritma yang kurang tepat tersebut.
Spiral Model
Determine objectives
Evaluate alternatives
alternatives and identify, resolve risks
constraints Risk
analysis
Risk
analysis
Risk
analysis Opera-
Prototype 3 tional
Prototype 2 protoype
Risk
REVIEW analysis Proto-
type 1
Requirements plan Simulations, models, benchmarks
Life-cycle plan Concept of
Operation S/W
requirements Product
design Detailed
Requirement design
Development
plan validation Code
Design Unit test
Integration
and test plan V&V Integr ation
Plan next phase test
Acceptance
Service test Develop, verify
next-level product
Spiral Model
Kelebihan
• Dapat digunakan untuk sistem yang besar
• Sangat cocok sebagai mekanisme mengurangi
resiko
Kelemahan
• Terlalu banyak memikirkan resiko yang akan
terjadi
• Masih jarang digunakan
Concurrent Development Model
none
Awaiting
changes
Baselined
Done
Specialized Process Models
• Component-Based Development
– spiral model variation in which applications are built
from prepackaged software components called
classes
• Formal Methods Model
– rigorous mathematical notation used to specify,
design, and verify computer-based systems
• Aspect-Oriented Programming
– provides a process for defining, specifying, designing,
and constructing software aspects like user
interfaces, security, and memory management that
impact many parts of the system being developed
Component-Based Software Engineering
(CBSE)
Based on systematic reuse where systems are
integrated from existing components or COTS
(Commercial-off-the-shelf) systems.
Requirements Component Requirements System design
specification analysis modification with reuse
Development System
and integration validation
• Advantages
• reduces the amount of software to develop
• reduces cost and risks
• faster delivery
• Disadvantages
• requirement compromises
• lose control of system evolution (because component
evolution is not controllable)
Formal Methods Model
Formal transformations
T1 T2 T3 T4
Formal R1 Executable
R2 R3
specification program
P1 P2 P3 P4
Problems
• Need for specialised skills and training to apply the
technique
• Difficult to formally specify some aspects of the system
such as the user interface
Applicability
• Critical systems especially those where a safety,
reliability and security requirements are important
• e.g. Patient monitoring system, airplane engine control
system
Rational Unified Process (RUP)
Phases
Core Workflows Inception Elaboration Construction Transition
Requirements
An iteration in the
elaboration phase
Analysis
Design
Implementation
Test
?
Model mana yang paling baik ?
TIDAK ADA