Dokumen tersebut membahas mengenai Software Quality Assurance (SQA) pada berbagai tahapan pengembangan perangkat lunak mulai dari perencanaan, pelaksanaan, hingga penutupan proyek, serta pembahasan mengenai beberapa model siklus hidup pengembangan perangkat lunak seperti model tradisional, agile, spiral, prototyping, dan extreme programming beserta kelebihan dan kekurangannya.
2. Closing
Excecution
Planning
Initiation
SQA bisa saja dilakukan di semua fase pada Project
Life Cycle (PLC).
*
3. Closing
Excecution
Planning
Initiation
Software
Development
Life Cycle
(SDLC)
Pada chapter 7 ini akan dibahas SQA pada tahap
Excecution, yaitu yang berkaitan dengan Software
Development Life Cycle
4. SDLC
Traditional Agile
Object- Dan masih
Spiral Prototyping XP
Oriented banyak lagi
Yang akan
dibahas pada
chapter 6
5. SDLC merupakan suatu
framework model
pengembangan software yang
sekuensial dimulai dari
“requirement” sampai
“maintenance”
Salah satu
tahap klasik /
tradisional
dari SDLC
*
6. Pada tahap ini dilakukan definisi / pengumpulan kebutuhan software
dari pelanggan
Pada tahap ini dilakukan analisa implikasi kebutuhan pelanggan untuk
menentukan inisiasi model pengembangan software
Biasanya tahap ini dibagi ke dalam 2, yaitu High Level Design (Use
Case, Activity, dan diagram lainnya) serta Low Level design yang
mendekati bahasa programmer (Class, Object, dan diagram lainnya)
Pada tahap ini dilakukan tranlasi desain ke dalam kode – kode
program
Pada tahap ini tujuannya adalah untuk memastikan
software bebas dari error dan memenuhi kebutuhan
pelanggan
Proses instalasi pada lingkungan pelanggan
Pemeliharaan dibagi dalam 3 tipe, yaitu “Corrective” jika
terjadi kesalahan selama implementasi, “Adaptive” untuk
*
membentuk pengembangan dari software yang telah ada, dan
perfective yatu peningkatan kinerja software yang ada
7. * Prototype cocok digunakan untuk pelanggan yang kurang bisa mengerti
kebutuhan software yang diinginkan.
* Developer harus menunjukkan prototype software kepada pelanggan pada
tiap iterasi. Oleh karena itu, butuh komunikasi yang sangat intensif antara
developer dan pelanggan
* Ditujukan untuk efisiensi an efektivitas pada software dengan skala kecil -
menengah
Kelebihan
• Proses yang lebih cepat
• Hemat sumber daya Kekurangan
• Lebih baik dalam mengurangi resiko • Mengurangi fleksibilitas perubahan karena
kegagalan butuh waktu yang cepat
• Lebih cepat dan mudah diterapkan untuk • Mengurangi waktu persiapan untuk kegagalan
sistem yang baru yang tidak terduga
*
9. * Digunakan untuk proyek software yang skalanya lebih luas dan
kompleks
* Menekankan pada risk analysis dan customer participation
* Di dalam spiral juga terdapat prototyping yang berulang untuk mengurangi
resiko error software
Kelebihan
• Partisipasi pelanggan banyak sehingga
mengurangi resiko error / kegagalan
• Proses kontrol pada keseluruhan proses lebih
ketat dan lebih baik
Kekurangan
• Membutuhkan waktu yang lama karena
prosesnya yang spiral dan banyak sub proses
di dalamnya
*
11. * Ditekankan pada integrasi dengan modul software yang satu
dengan yang lain.
* Biasanya banyak menggunakan library dan software reuse code /
library
Kelebihan
• Economy : „reuse‟ lebih menghemat biaya
daripada membangun kode dari awal.
• Quality : kode terdahulu sudah terverifikasi,
sehingga lebih sedikit error / kegagalannya
Kekurangan
daripada membangun kode dari awal yang
• Tidak semua kode lama sesuai dengan
belum terverifikasi
kebutuhan saat ini, sehingga tetap
• Time : lebih cepat
dibutuhkan effort besar.
• Resiko adaptasi juga bisa terjadi
*
13. Project Factors
* Besarnya proyek
* Kompleksitas dan tingkat kesulitan
* Kemungkinan reusable component
* Dampak kegagalan
Team Factors
* Profesionalitas tim
* Pengalaman terhadap are proyek
*