Pemodelan Industri Perangkat Lunak Dosen Pengampu : Teguh Wahyono
Fakultas Teknologi Informasi Universitas Kristen Satya Wacana Revisi Januari 2006
1.1. Mengapa Pemodelan? z
z z
z
Pemodelan adalah suatu alur proses produksi perangkat lunak yang disesuaikan dengan “goal” dari produksi tersebut. Pemodelan dilakukan di tahapan awal produksi. Dalam industri perangkat lunak, pemodelan delam perangkat lunak merupakan suatu yang “harus” dikerjakan karena akan mempengaruhi perkerjaanpekerjaan RPL. Jika model proses tidak dipikirkan dengan baik, maka akan terlalu besar modifikasi software. Modifikasi perangkat lunak biasanya lebih dari 60 % dari total biaya pembuatan perangkat lunak. Bab 1. Konsep Dasar Rekayasa Perangkat Lunak (TGW-WIN)
1.2. Karakteristik Proses z z z z z z z z
Understandability, Sejauh mana proses dapat dimengerti. Visibility, kemajuan proses terlihat jelas. Supportability, yaitu sejauh mana proses dapat di dukung oleh CASE. Acceptability, apakah proses dapat diterima dan digunakan selama pembuatan perangkat lunak Reliability, apakah proses didesain agar kesalahan proses dapat dihindari. Robustness, dapatkah proses terus berjalan walaupun terjadi masalah yang tak diduga Maintainability, dapatkah proses berkembang untuk mengikuti kebutuhan atau perbaikan Rapidity, bagaimana kecepatan proses pengiriman sistem dapat secara lengkap memenuhi spesifikasi. Bab 1. Konsep Dasar Rekayasa Perangkat Lunak (TGW-WIN)
1.3. Berbagai Model Proses Pendekatan Waterfall z Pengembangan secara Evolusioner z Model Spiral Boehm z Model Kombinasi (Penggabungan sistem dengan menggunakan komponen-komponen yang dapat digunakan kembali). z
Bab 1. Konsep Dasar Rekayasa Perangkat Lunak (TGW-WIN)
1.4. Waterfall Model
z z
Berisi rangkaian aktivitas proses dan disajikan dalam proses yang terpisah. Setelah setiap langkah didefinisikan, langkah tersebut di sign off dan pengembangan dilanjutkan pada langkah berikutnya.. Bab 1. Konsep Dasar Rekayasa Perangkat Lunak (TGW-WIN)
Fase dalam Waterfall Model z
z z z
z
Penentuan dan analisis spesifikasi Jasa, kendala dan tujuan dihasilkan dari konsultasi dengan pengguna sistem. Desain sistem dan perangkat lunak Proses yang menghasilkan sebuah arsitektur sistem keseluhan. Implementasi dan ujicoba unit Uji unit termasuk pengujian bahwa setiap unit sesuai spesifikasi. Integrasi dan ujicoba sistem Unit program diintegrasikan dan diuji menjadi sistem yang lengkap untuk disampaikan ke kastamer Operasi dan pemeliharaan Normalnya, ini adalah phase yang terpanjang. Sistem dipasang dan digunakan. Bab 1. Konsep Dasar Rekayasa Perangkat Lunak (TGW-WIN)
Plus Minus Waterfall Model z
z z
z
z
Mencerminkan kepraktisan engineering, proses tidak linier dan sederhana tapi mengandung urutan iterasi dari aktivitas pengembangan. Ketika perangkat lunak telah digunakan terdapat kesalahan dan kelalaian dalam analisa kebutuhan dapat diatasi. Kelemahannya, model yang banyak mengandung iterasi sehingga membuat sulit bagi pihak manajemen untuk memeriksa seluruh rencana dan laporan. Masalah lainnya adalah ketidakluwesan pembagian project ke dalam langkah yang nyata/jelas. Sistem yang disampaikan kadang-kadang tidak dapat digunakan sesuai keinginan kastamer. Konsekuensinya, model proses perangkat lunak yang berdasarkan pada pendekatan ini digunakan dalam pengembangan sistem perangkat lunak dan hardware yang luas. Bab 1. Konsep Dasar Rekayasa Perangkat Lunak (TGW-WIN)
2.5. Evolusioner Model
z z
Model dimana terdapat interaksi tinggi antara customer dengan penembang untuk mendapatkan software yang sesuai keinginan. Pengembangan dimulai dengan bagian-bagian sistem yang dimengerti. Sistem dikembangkan melalui penambahan features sesuai yang diusulkan oleh kastamer .. Bab 1. Konsep Dasar Rekayasa Perangkat Lunak (TGW-WIN)
Aktifitas Evolusioner z
z
Outline discription. Tahap penentuan kebutuhan sistem oleh customer dan pengembang secara bersamasama. Concurent Activities z z
z
Spesification, menghasilkan versi inisial dari sebuah software. Development, menghasilkan versi intermediate dari sebuah software. Pada versi intermediate, software akan selalu berevolusi dan berkembang sesuai kebutuhan. Validation, adalah versi akhir dari sebuah program.
Bab 1. Konsep Dasar Rekayasa Perangkat Lunak (TGW-WIN)
Kelemahan Evolusioner Model z
z
z
Proses tidak visibel. Manager-manager membutuhkan "deliverables" yang teratur untuk mengukur kemajuan. Sistem-sistem biasanya kurang terstruktur Perubahan yang terus menerus akan mengurangi stuktrur dari perangkat lunak. Evolusi perangkat lunak terlihat sulit dan mahal. Ketrampilan khusus jarang dimiliki Kebanyakan sistem yang dikembangkan melalui cara ini telah diimplementasikan oleh kelompok kecil yang memiliki ketrampilan yang tinggi dan motivasi yang kuat. Bab 1. Konsep Dasar Rekayasa Perangkat Lunak (TGW-WIN)
Yang Cocok dg Evolusioner z z z
Pengembangan sistem yang relatif kecil. Pengembangan sistem yang memiliki masa hidup yang relatif singkat. Pengembangan sistem atau bagian-bagian dari sistem yang besar dimana tidak memungkinkan untuk menyatakan spesifikasi secara rinci.
Bab 1. Konsep Dasar Rekayasa Perangkat Lunak (TGW-WIN)
2.6. Spiral BOEHM Model Determine objectives alternatives and constraints
Evaluate alternatives identify, resolve risks Risk analysis Risk analysis Risk analysis
REVIEW Requirements plan Life-cycle plan
Plan next phase
Prototype 3
Prototype 2 Risk analysis Prototype 1
Operational protoype
Simulations, models, benchmarks Concept of Operation
S/W requirements
Development plan
Requirement validation
Integration and test plan
Design V&V
Product design
Detailed design
Code Unit test
Integration test Acceptance test Develop, verify Service next-level product
Bab 1. Konsep Dasar Rekayasa Perangkat Lunak (TGW-WIN)
Karakteristik Spiral Boehm z z z z z
Model Boehm berbentuk spiral. Setiap loop mewakili sebuah tahap dari proses perangkat lunak. Tidak ada tahap yang tetap dalam model ini. Manajemen harus memutuskan bagaimana membentuk proyek kedalam tahap-tahap. Setiap loop dibagi dalam 4 sektor z
z z z
Pembuatan tujuan Tujuan, hambatan dalam proses ataupun produk serta resiko-resiko proyek ditentukan. Perkiraan dan pengurangan resiko Untuk setiap resiko yang telah diidentifikasi, akan dibuat analisis rincinya. Pengembangan dan validasi Setelah evaluasi resiko, sebuah model pengembangan untuk sistem dipilih. Perencanaan Jika diputuskan untuk melanjutkan pada loop spiral berikutnya maka proyek dibicarakan kembali dan rencana dibuat untuk tahap selanjutnya. Bab 1. Konsep Dasar Rekayasa Perangkat Lunak (TGW-WIN)
Karakteristik Spiral Boehm z
z z
z
Model Boehm berbentuk spiral, yang menggambarkan kebutuhan pengembangan proses yang berkesinambungan. Setiap loop mewakili sebuah tahap dari proses perangkat lunak. Tidak ada tahap yang tetap dalam model ini, sehingga Manajemen harus memutuskan bagaimana membentuk proyek kedalam tahap-tahap. Jumlah loop bisa disesuaikan berdasarkan kebutuhan.
Bab 1. Konsep Dasar Rekayasa Perangkat Lunak (TGW-WIN)
Karakteristik Spiral Boehm z
Setiap loop dibagi dalam 4 sektor seperti : z
z
z
z
Pembuatan tujuan Tujuan, hambatan dalam proses ataupun produk serta resiko-resiko proyek ditentukan. Perkiraan dan pengurangan resiko Untuk setiap resiko yang telah diidentifikasi, akan dibuat analisis rincinya. Pengembangan dan validasi Setelah evaluasi resiko, sebuah model pengembangan untuk sistem dipilih. Perencanaan Jika diputuskan untuk melanjutkan pada loop spiral berikutnya maka proyek dibicarakan kembali dan rencana dibuat untuk tahap selanjutnya.