Review of Process Model SE 3773 – Manajemen Proyek Teknologi Informasi *Imelda Atastina*
Beberapa Model Proses RPL • Linear Sequential Model • Evolutionary Software Process Model – Incremental Model – Spiral Model
• RAD • Prototyping Model • Component Based Software Engineering (CBSE) • Extreme Model (Optional) IMD - SE 3773 MPTI
2
Linear Sequential Model • Disebut juga Waterfall Model • Model klasik yang menganggap proses pembangunan perangkat lunak merupakan tahapan yang bersifat sistematis dan berurutan
IMD - SE 3773 MPTI
3
Waterfall versi Pressman
IMD - SE 3773 MPTI
4
Waterfall versi Sommerville
IMD - SE 3773 MPTI
5
Model Waterfall • Requirements analysis and definition Tahap mengumpulkan semua kebutuhan (requirements) selengkap mungkin, kemudian dianalisis sehingga dapat didefinisikan kebutuhan yang harus dipenuhi oleh program yang akan dibangun. Fase ini harus dikerjakan secara rinci dan selengkap mungkin agar dapat menghasilkan desain yang lengkap. • System and software design Tahap merancang sesuai definisi kebutuhan yang telah dilakukan pada tahap Requirements analysis and definition. Jadi perancangan dikerjakan setelah tahap pertama dianggap selesai.
IMD - SE 3773 MPTI
6
Model Waterfall (2) • Implementation and unit testing Tahap menerjemahkan rancangan ke dalam program dalam bentuk kode-kode dengan menggunakan bahasa pemrograman yang sudah ditentukan. Program yang dibangun langsung diuji unit per unit. • Integration and system testing Merupakan tahap penyatuan unit-unit program, baru kemudian diuji secara keseluruhan (system testing) • Operation and maintenance Merupakan tahap mengoperasikan program dilingkungannya dan melakukan pemeliharaan. Pemeliharaan dapat berupa penyesuaian atau perubahan karena adaptasi dengan situasi sebenarnya.
IMD - SE 3773 MPTI
7
Sifat Model Waterfall • Kesulitan mengakomodasi perubahan karena sistem ini kaku • Setiap fase harus dilakukan secara berurutan • Cocok ketika kebutuhan dikumpulkan secara lengkap sehingga perubahan bisa ditekan sekecil mungkin. Tapi pada kenyataannya jarang sekali konsumen/pengguna yang bisa memberikankebutuhan secara lengkap, perubahan kebutuhan adalah sesuatu yang wajar terjadi. • Waterfall pada umumnya digunakan untuk rekayasa sistem yang besar dimana proyek dikerjakan di beberapa tempat berbeda, dan dibagi menjadi beberapa bagian sub-proyek. IMD - SE 3773 MPTI
8
Evolutionary Software Process Model • Bersifat iteratif • Hasil proses merupakan produk yang semakin lama semakin lengkap, hingga versi akhir dari sebuah produk yang dianggap paling lengkap dan sempurna • Model yang termasuk pada Evolutionary Software Process Model adalah : – Incremental Model – Spiral Model IMD - SE 3773 MPTI
9
Incremental Model
IMD - SE 3773 MPTI
10
Incremental Model(2) • Merupakan kombinasi dari waterfall model, yaitu dengan melakukan tahap-tahap waterfall model secara iteratif • Hasil/produk dari iterasi 1 menjadi dasar perbaikan untuk iterasi 2, demikian seterusnya hingga produk dianggap sempurna IMD - SE 3773 MPTI
11
Sifat Incremental Model • Model ini cocok jika anggota tim pengembang perangkat lunak sangat terbatas dan proyek berukuran kecil ( tidak lebih dari 200.000 baris coding) • Mampu mengakomodasi perubahan secara fleksibel. • Produk yang dihasilkan pada increment pertama bukanlah prototype, tetapi merupakan produk yang sudah bisa berfungsi dengan spesifikasi dasar. • Mungkin terjadi kesulitan untuk memetakan kebutuhan pengguna ke dalam rencana spesifikasi masing-masing hasil increment IMD - SE 3773 MPTI
12
Spiral Model
IMD - SE 3773 MPTI
13
Spiral Model (2) • Setiap loop mewakili satu fase dari software process. • Loop paling dalam berfokus pada kelayakan dari sistem, loop selanjutnya berfokus tentang definisi dari kebutuhan, loop berikutnya berkaitan dengan desain sistem dan seterusnya IMD - SE 3773 MPTI
14
Sektor dalam Spiral Model Setiap loop dalam Spiral Model terdiri atas beberapa sektor, yaitu : • Objective settings (menentukan tujuan): menentukan tujuan dari fase yang ditentukan. Batasan-batasan pada proses dan produk sudah diketahui. Perencanaan sudah disiapkan. Resiko dari proyek sudah diketahui. Alternatif strategi sudah disiapkan berdasarkan resiko-resiko yang diketahui, dan sudah direncanakan. • Risk assessment and reduction (Penanganan dan pengurangan resiko): setiap resiko dianalisis secara detil pada sektor ini. Langkah-langkah penanganan dilakukan, misalnya membuat prototype untuk mengetahui ketidakcocokan kebutuhan. IMD - SE 3773 MPTI
15
Sektor dalam Spiral Model(2) • Development and Validation (Pembangunan dan pengujian): Setelah evaluasi resiko, maka model pengembangan sistem dipilih. Misalnya jika resiko user interface dominan, maka membuat prototype User Interface. Jika bagian keamanan yang bermasalah, maka menggunakan model formal dengan perhitungan matematis, dan jika masalahnya adalah integrasi sistem model waterfall lebih cocok. • Planning: Proyek dievaluasi atau ditinjau-ulang dan diputuskan untuk terus ke fase loop selanjutnya atau tidak. Jika melanjutkan ke fase berikutnya rencana untuk loop selanjutnya. IMD - SE 3773 MPTI
16
RAD (Rapid Application Development) • Menekankan proses pembangunan perangkat lunak dalam waktu singkat. • Pembangunan perangkat lunak yang singkat dicapai dengan menerapkan component based construction • Waktu yang singkat merupakan tantangan yang dijawab melalui model ini • Sistem dibagi menjadi beberapa modul dan dikerjakan dalam waktu yang hampir bersamaan dalam batas waktu yang telah ditentukan IMD - SE 3773 MPTI
17
RAD (2)
IMD - SE 3773 MPTI
18
Fase-fase dalam RAD • Business modelling mendefinisikan kebutuhan sistem Fase menjawab pertanyaan-pertanyaan sbb: – Informasi apa yang mengendalikan proses bisnis? – Informasi apa yang dihasilkan? – Siapa yang menghasilkan informasi? Kemana informasi itu diberikan? – Siapa yang mengolah informasi? kebutuhan dari sistem
• Data modellinganalisis kebutuhan dan data Fase menyusun aliran informasi yang sudah didefinisikan, menjadi sekumpulan objek data. Pada fase ini pula ditentukan karakteristik/atribut dan hubungan antar objek-objek tersebut IMD - SE 3773 MPTI
19
Fase-fase dalam RAD(2) • Process Modelling Objek data yang sudah didefinisikan diubah menjadi aliran informasi yang diperlukan untuk menjalankan fungsifungsi bisnis. • Application Generation RAD menggunakan component program yang sudah ada atau membuat component yang bisa digunakan lagi, selama diperlukan. • Testing and Turnover Karena menggunakan component yang sudah ada, maka kebanyakan component sudah melalui uji atau testing. Namun component baru dan interface harus tetap diuji. IMD - SE 3773 MPTI
20
Sifat RAD • Tidak cocok untuk proyek skala besar • Proyek bisa gagal karena waktu yang disepakati tidak dipenuhi • Sistem yang tidak dapat dimodularisasi tidak cocok untuk model ini • Sistem dengan resiko teknis yang tinggi juga kurang cocok untuk model ini
IMD - SE 3773 MPTI
21
Model Prototyping
IMD - SE 3773 MPTI
22
Tahapan-tahapan Model Prototyping • Pengumpulan kebutuhan Developer dan klien bertemu untuk menentukan tujuan umum, kebutuhan yang diketahui dan gambaran bagianbagian yang akan dibutuhkan berikutnya. Detil kebutuhan mungkin tidak dibicarakan disini, pada awal pengumpulan kebutuhan • Perancangan Perancangan dilakukan cepat dan rancangan mewakili semua aspek software yang diketahui, dan rancangan ini menjadi dasar pembuatan prototype. • Evaluasi prototype Pada tahap ini, klien mengevaluasi prototype yang dibuat dan digunakan untuk memperjelas kebutuhan software. IMD - SE 3773 MPTI
23
Manfaat Model Prototyping • Dapat digunakan saat klien tidak dapat memberikan spesifikasi kebutuhannya dengan jelas • Dapat digunakan saat developer masih meragukan akan efisiensi dari algoritma yang digunakan, atau tingkat adaptasi terhadap sistem operasi dimana PL akan digunakan, ataupun masih meragukan rancangan user interface • Memudahkan komunikasi antara developer dan klien karena kedua belah pihak mendapat gambaran yang lebih nyata dan jelas
IMD - SE 3773 MPTI
24
Kekurangan Model Prototyping • Dalam membuat prototype banyak hal yang diabaikan seperti efisiensi, kualitas, kemudahan dipelihara/dikembangkan, dan kecocokan dengan lingkungan yang sebenarnya. Jika klien merasa cocok dengan prototype yang disajikan dan berkeras terhadap produk tersebut, maka developer harus kerja keras untuk mewujudkan produk tersebut menjadi lebih baik, sesuai kualitas yang seharusnya. • Developer biasanya melakukan kompromi dalam beberapa hal karena harus membuat prototype dalam waktu singkat. Misalnya sistem operasi yang tidak sesuai, bahasa pemrograman yang berbeda, atau algoritma yang lebih sederhana. IMD - SE 3773 MPTI
25
CBSE • Component-Based Software Engineering (CBSE) adalah proses yang menekankan perancangan dan pembangunan software dengan menggunakan komponen software yang sudah ada. • Model ini bersifat iteratif
IMD - SE 3773 MPTI
26
Tahapan CBSE CBSE terdiri dari dua bagian yang terjadi secara paralel yaitu software engineering (component-based development) dan domain engineering
IMD - SE 3773 MPTI
27
Component Based Development Model
IMD - SE 3773 MPTI
28
Domain Engineering Hal-hal yang dilakukan pada tahapan domain engineering: • Menciptakan model domain bagi aplikasi yang akan digunakan untuk menganalisis kebutuhan pengguna. • Identifikasi, pembangunan, pengelompokan dan pengalokasikan komponen-komponen software supaya bisa digunakan pada sistem yang ada dan yang akan datang. IMD - SE 3773 MPTI
29
Software Engineering • Hal-hal yang dilakukan pada tahap software engineering (component-based development) adalah : • Melakukan analisis terhadap domain model yang sudah ditetapkan • Menentukan spesifikasi dan merancang berdasarkan model struktur dan spesifikasi sistem. • Melakukan pembangunan software dengan menggunakan komponen-komponen yang sudah ditetapkan berdasarkan analisis dan rancangan yang dihasilkan sebelumnya hingga akhirnya menghasilkan software. IMD - SE 3773 MPTI
30