Upload
vokhuong
View
219
Download
0
Embed Size (px)
Citation preview
Seberapa Kompleks-‐kah Software
ì Ukuran kompleksitas so0ware: ì Line of Code (LoC) ì Jumlah klas ì Jumlah modul ì Interkoneksi dan ketergantungan antar modul ì Waktu untuk memahami program dsb
Contoh LoC ì Windows Server 2003: 50 MSLoC
ì Debian 5.0: 324 MSLoC
ì MSLoC: total lines of source code in millions
ì Seberapa besar 324 MSLoC? ì Misal 5 words per LoC ì Misal 50 words per minute ì 32 millions of minutes ì 61 years
Materi
ì PengerOan SDLC
ì Relevansi SDLC
ì Tahapan Umum SDLC
ì Model SDLC ì “Code n Fix” ì Waterfall ì Spiral ì EvoluOonary Prototyping ì Staged Delivery
ì Memilih Model
2.1 Pengertian SDLC
ì Sekumpulan langkah atau fase yang dilewaO dalam rangka mengembangkan atau memproduksi suatu produk perangkat lunak
ì Tujuan kenapa dibuat step / fase ì Menghasilkan item yang terukur untuk dievaluasi ì Berdasarkan hasil evaluasi, bisa ditentukan langkah
selanjutnya
2.2 Relevansi SDLC
ì Ad-‐Hoc Development: membuat so0ware tanpa mengunakan standar yang baku dan formal
ì Keuntungan: mudah untuk dilakukan
ì Kerugian: ì Kemungkinan malah meninggalkan berbagai proses penOng
seperO DESIGN dan TESTING ì Tidak jelas kapan TITIK AWAL dan AKHIRNYA ì Sulit untuk dilakukan review ì Code mungkin saja Odak sesuai dengan yang diinginkan user
(tanpa melalui tahap requirement analysis) ì Code Odak direncanakan untuk dimodifikasi,s sehingga
TIDAK FLEKSIBEL
SEHINGGA DIPERLUKAN SDLC, KARENA BIAYA UTK FIXING SOFTWARE BIASANYA LEBIH MAHAL
2.2 Relevansi SDLC
ì Keuntungan menggunakan SDLC: ì SDLC menyediakan tahapan tersetruktur untuk
dilakukan ì SDLC mengarahkan kita utk memiliki “GAMBARAN
BESAR/GLOBAL”, dan memandu kita untuk mengikuO tahapan2 dalam rangka mencapainya
ì Bisa digunakan sebagai alat manajemen
2.3 Tahap Software Life Cycle
ì Secara global terdiri dari beberapa tahap: ì Requirement ì Design ì ImplementaOon ì TesOng ì Maintenance
ì Key QuesOon: “Bagaimana kita mengkombinasikan stpe2 tersebut dan dalam urutan yang seperO apa??”
2.4 Model SDLC
ì Code an Fix: buat code program, kemudian debug, betulkan dan proses ini dilakukan berulang (contoh: Ad-‐Hoc Development)
ì Waterfall: proses standar/paling umum (req, design, code, test) dilakukan secara berurutan
ì Spiral: melakukan penilaian resiko pada seOap tahap/langkah; melakukan Ondakan yang paling penOng pertama
2.4 Model SDLC
ì EvoluOonary Prototyping: dimulai dengan membuat prototype atau model dengan spesifikasi kebutuhan minimal. Kemudian jika prototype sudah sesuai, ‘evolve’ atau kembangkan hingga menjadi bentuk riil-‐nya
ì
2.4.1 Code and Fix
ì Keuntungan: ì Simple dan Odak kompleks untuk diterapkan ì EfekOf untuk Ope so0ware yang kecil
ì Kerugian: ì Berbahaya untuk diterapkan pada so0ware skala
besar, yang melibatkan Om besar ì Tahapan Odak jelas, jadi utk mengevaluasi per tahap
pun juga Odak jelas ì Tidak jelas AWAL dan AKHIR
2.4.2 Waterfall Model
ì Kekurangan: ì Jarang mengikuO urutan sekuensial seperO di teori,
karena seringkali proses iterasi akan menghasilkan masalah yang baru lagi
ì Sulit untuk idenOfikasi kebutuhan/requirement secara lengkap
ì Cukup banyak memakan waktu ì Kesalahan di awal bisa berakibat fatal pada tahap
berikutnya
2.4.2 Waterfall Model
ì Kelebihan: ì Masih sering digunakan, terutama untuk skala besar
dengan batasa waktu yang Odak terlalu mepet ì Jika sistem yang hendak dibangun, requirement/
kebutuhan dapat teridenOfikasi secara jelas dan eksplisit, maka model ini sangat efekOf
2.4.3 Prototype Model
ì Menggunakan prototype/model/contoh dengan spesifikasi kebutuhan yang minimal, untuk dievaluasi dengan segera oleh pemakai. Jika sudah sesuai, dilanjutkan dengan membangunnya dalam sebuah sistem riil
2.4.3 Prototype Model
ì Kelebihan: ì Cocok untuk sistem dimana kebutuhan dari user SULIT
DIIDENTIFIKASI, atau user sulit mengungkapkan kebutuhannya
ì Melibatkan user secara lebih intensif, shg: ì Pendefinisian kebutuhan memiliki kemungkinan lebih
besar untuk sesuai dengan yang diinginkan oleh user ì Meningkatkan kepuasan user ì Mengurangi resiko Odak terpakainya sistem setelah jadi
ì Hemat biaya ì Kesalahan bisa terdeteksi keOka prototype
2.4.3 Prototype Model
ì Kekurangan: ì Sangat bergantung pada kesungguhan user untuk
emngevaluasi prototype ì Apabila Odak terkelola dengan baik, protoOpe
menjadi Odak pernah berakhir, dikarenakan permintaan terhadap perubahan sangat mudah untuk terjadi
ì Kemungkinan dokumentasi akan terabaikan, karena developer lebih konsen pada pembuatan prototype dan perbaikan prototype
2.4.4 Spiral Model
ì Tahapan dalam Spiral: ì Pembuatan tujuan dan batasan ì Analisis Resiko (temukan resiko dan opsi cara
mengatasinya) ì Pengembangan dan validasi ì Perencanaan tahap berikutnya (Next Spiral)
2.4.4 Spiral Model
ì Tahapan dalam Spiral: ì Pembuatan tujuan dan batasan ì Analisis Resiko (temukan resiko dan opsi cara
mengatasinya) ì Pengembangan dan validasi ì Perencanaan tahap berikutnya (Next Spiral)
2.4.5 Staged Delivery Model
ì Awalnya seperO waterfall
ì Kemudian, dilakukan “short release cycle” ì Design, code, debug, test, release and delivery ì Kemudian proses ini dilakukan secara berulang, dan
menghasilkan versi untuk delivery selanjutnya
2.5 Memilih Model yang Tepat
ì PerOmbangan: ì Manaj. Resiko ì Quality/Cost Control ì Predictability ì Visibility of Progress ì Customer Involvement and feedback