03 SDLC Dan Methodology
03 SDLC Dan Methodology
03 SDLC Dan Methodology
&Software
Development
Methodologies
Software Development
Life Cycle
Implementation
Analysis
Design
Project Phases
1. Planning: Why build the system?
Identifying Business Value, Feasibility Analysis
(System Request/Proposal)
Product
Planning
System Request
(Proposal)
Analysis
Design
System Specification
Implementation
Planning
1. Identifying business value (nilai bisnis)
Lower costs
Increase profits
Analysis
1. Requirement Gathering by answering the
questions:
Who will use the system?
What will the system do?
When will it be used?
Design
1. Architecture design
Hardware description
Software description
Network infrastructure
3. Data Design
4. Program Design
What programs need to be written
Exactly what each program will do
Design
These deliverables:
1.
2.
3.
4.
(System Specification)
The System Specification is given to the
programming team for implementation
Implementation
1. Construction
New system is built and tested
Often testing is the longest part
2. Testing
1.
2.
3.
4.
3. Installation
Old system is turned off
New system is turned on
Software Development
Methodologies
What Is a Methodology?
A formalized approach to implementing
the SDLC (series of steps and
deliverables)
Menulis coding tanpa memikirkan
kebutuhan sistem mungkin berhasil
untuk program kecil, tapi tidak untuk
pekerjaan yang besar
Major Methodologies
1.
Structured Design
Waterfall Method
Parallel Development
2.
3.
Agile Development
Extreme Programming (XP)
Scrum
Waterfall Method
Parallel Development
Addresses problem of time gap between
proposal and delivery (mengatasi
kesenjangan)
General process:
1.
2.
Parallel Development
2. Prototyping
System prototyping
3. Throw-away prototyping
Design prototyping
Cons
Initial system is
intentionally incomplete
(inisialisasi awal
sengaja tdk lengkap)
System requirements
expand as users see
versions
(kebutuhan sistem
bertambah)
RAD: Prototyping
Analysis, Design, Implementation are
performed concurrently (bersamaan)
Start with a "quick-and-dirty" prototype
Menyediakan fungsi yang minimal
RAD: Prototyping
Kelemahan Prototyping
Walaupun pemakai melihat berbagai
perbaikan dari setiap versi prototype, tetapi
pemakai mungkin tidak menyadari bahwa
versi tersebut dibuat tanpa memperhatikan
kualitas dan pemeliharaan jangka panjang.
Karena perancangan dilakukan secara cepat.
Pengembang kadang-kadang membuat
kompromi implementasi dengan
menggunakan sistem operasi yang tidak
relevan dan algoritma yang tidak efisien.
Kelemahan RAD
Untuk proyek dengan skala besar, RAD
membutuhkan sumber daya manusia yang cukup
untuk membentuk sejumlah tim RAD.
RAD membutuhkan pengembang dan pemakai yang
mempunyai komitmen untuk melaksanakan berbagai
aktivitas melengkapi sistem dalam kerangka waktu
yang singkat.
Akan menimbulkan masalah jika sistem tidak dapat
dibuat secara modular.
RAD tidak cocok digunakan untuk sistem yang
mempunyai resiko teknik yang tinggi.
Agile Development
Just a few rules that are easy to learn and
follow
Streamline the SDLC (merampingkan)
Eliminate much of the modeling and documentation
Emphasize simple, iterative application development
Examples include:
Extreme Programming (XP)
Scrum
Dynamic Systems Development Model (DSDM)
Extreme Programming
Spiral Model
Proses digambarkan sebagai spiral bukan sebagai
urutan aktivitas dengan backtracking
Setiap loop dalam spiral merupakan tahap dalam
proses.
Tidak ada fase tetap seperti spesifikasi atau
desain-loop dalam spiral dipilih tergantung pada
apa yang dibutuhkan.
Risiko secara eksplisit dinilai dan diselesaikan
selama proses.
Spiral Model
Kelebihan RUP
Menyediakan akses yang mudah terhadap pengetahuan
dasar bagi anggota tim.
Menyediakan petunjuk bagaimana menggunakan UML
secara efektif.
Mendukung proses pengulangan dalam pengembangan
software.
Memungkinkan adanya penambahan-penambahan pada
proses.
Memungkinkan untuk secara sistematis mengontrol
perubahan- perubahan yang terjadi pada software
selama proses pengembangannya.
Memungkinkan untuk menjalankan test case dengan
menggunakan Rational Test
Kelemahan RUP
Metodologi ini hanya dapat
digunakan pada pengembangan
perangkat lunak yang berorientasi
objek dengan berfokus pada UML
(Unified Modeling Language)