Metodologi adalah :
Kesatuan metode-metode , prosedur-prosedur, konsep-konsep pekerjaan, aturan-aturan dan postulat-postulat yg digunakan oleh suatu ilmu pengetahuan , seni, atau disiplin lainnya.
Metode adalah :
Suatu cara / teknik yg sistematik untuk mengerjakan sesuatu.
Metodologi pengembangan sistem yang ada biasanya dibuat atau diusulkan oleh :
Ø Penulis buku
Ø Peneliti
Ø Konsultan
Ø Systems house
Ø Pabrik software
Metodologi pengembangan sistem diklasifikasikan menjadi 3 golongan yaitu :
Ø Functional decomposition methodologies ( metodologi Pemecahan fungsional )
Ø Data oriented methodologies ( metodologi orientasi data )
Ø Prescriptive methodologies
Ø Functional decomposition methodologies ( metodologi Pemecahan fungsional )
Menekankan pada pemecahan dari sistem ke dalam subsistem subsistem yg lebih kecil, sehingga lebih mudah dipahami, dirancang dan diterapkan. Yang termasuk metodologi ini :
Ø HIPO (Hierarchy Input Process Output )
Ø Stepwise refinement (SR) atau Iterative Stepwise Refinement ( ISR)
Ø Information hiding
PENGEMBANGAN SISTEM
Pengembangan Sistem dapat berarti menyusun suatu sistem yg baru untuk menggantikan sistem yg lama secara keseluruhan atau memperbaiki sistem yg telah ada.
Sebab Perlunya pengembangan Sistem :
1. Adanya permasalahan (problem) yang timbul pada sistem yang lama.
Permasalahan yang timbul dapat berupa :
ü Ketidakberesan
ü Pertumbuhan Organisasi
2. Untuk meraih kesempatan (opportunities)
3. Adanya instruksi-instruksi (directives)
PRINSIP PENGEMBANGAN SISTEM
Prinsip Pengembangan Sistem :
1. Sistem yang dikembangkan adalah untuk manajemen.
2. Sistem yang dikembangkan adalah investasi modal yang besar.
3. Sistem yang dikembangkan memerlukan orang yang terdidik
4. Tahapan kerja dan tugas yang harus dilakukan dalam proses pengembangan sistem
5. Proses Pengembangan Sistem tidak harus urut
6. Jangan Takut membatalkan proyek
7. Dokumentasi harus ada untuk pedoman dalam pengembangan sistem
TAHAPAN PENGEMBANGAN SISTEM
Tahapan Utama Siklus hidup Pengembangan Sistem terdiri dari:
1. Perencanaan Sistem (systems planning )
2. Analisis Sistem (systems analysis )
3. Perancangan Sistem (systems design )
4. Seleksi Sistem (systems selection )
5. Implementasi & pemeliharaan sistem (system implementation & maintenance )
Tahapan - tahapan diatas sebenarnya merupakan tahapan didalam pengembangan sistem teknik (engineering systems ).
Siklus hidup pengembangan sistem dengan langkah - langkah utamanya adalah sebagai berikut :
Gambar 1:siklus pengembangan sistem
JENIS-JENIS MODEL PENGEMBANGAN SISTEM
1. Prototype
Prototyping merupakan salah satu metode pengembangan perangkat lunak yang banyak digunakan. Dengan metode prototyping ini pengembang dan pelanggan dapat saling berinteraksi selama proses pembuatan sistem.
Sehingga terjadi seorang pelanggan hanya mendefinisikan secara umum apa yang dikehendakinya tanpa menyebutkan secara detal output apa saja yang dibutuhkan, pemrosesan dan data-data apa saja yang dibutuhkan. Sebaliknya disisi pengembang kurang memperhatikan efesiensi algoritma, kemampuan sistem operasi dan interface yang menghubungkan manusia dan komputer.
Untuk mengatasi ketidakserasian antara pelanggan dan pengembang , maka harus dibutuhakan kerjasama yanga baik diantara keduanya sehingga pengembang akan mengetahui dengan benar apa yang diinginkan pelanggan dengan tidak mengesampingkan segi-segi teknis dan pelanggan akan mengetahui proses-proses dalm menyelasaikan sistem yang diinginkan. Dengan demikian akan menghasilkan sistem sesuai dengan jadwal waktu penyelesaian yang telah ditentukan.
Kunci agar model prototype ini berhasil dengan baik adalah dengan mendefinisikan aturan-aturan main pada saat awal, yaitu pelanggan dan pengembang harus setuju bahwa prototype dibangun untuk mendefinisikan kebutuhan. Prototype akan dihilangkan sebagian atau seluruhnya dan perangkat lunak aktual aktual direkayasa dengan kualitas dan implementasi yang sudah ditentukan
Tahapan-tahapan Prototyping
Tahapan-tahapan dalam Prototyping adalah sebagai berikut:
1. Pengumpulan kebutuhan
Pelanggan dan pengembang bersama-sama mendefinisikan format seluruh perangkat lunak, mengidentifikasikan semua kebutuhan, dan garis besar sistem yang akan dibuat.
2. Membangun prototyping
Membangun prototyping dengan membuat perancangan sementara yang berfokus pada penyajian kepada pelanggan (misalnya dengan membuat input dan format output)
3. Evaluasi prototyping
Evaluasi ini dilakukan oleh pelanggan apakah prototyping yang sudah dibangun sudah sesuai dengan keinginann pelanggan. Jika sudah sesuai maka langkah 4 akan diambil. Jika tidak prototyping direvisi dengan mengulangu langkah 1, 2 , dan 3.
4. Mengkodekan sistem
Dalam tahap ini prototyping yang sudah di sepakati diterjemahkan ke dalam bahasa pemrograman yang sesuai
5. Menguji sistem
Setelah sistem sudah menjadi suatu perangkat lunak yang siap pakai, harus dites dahulu sebelum digunakan. Pengujian ini dilakukan dengan White Box, Black Box, Basis Path, pengujian arsitektur dan lain-lain
6. Evaluasi Sistem
Pelanggan mengevaluasi apakah sistem yang sudah jadi sudah sesuai dengan yang diharapkan . Jika ya, langkah 7 dilakukan; jika tidak, ulangi langkah 4 dan 5.
7. Menggunakan sistem
Perangkat lunak yang telah diuji dan diterima pelanggan siap untuk digunakan.
Keunggulan prototyping :
1. Adanya komunikasi yang baik antara pengembang dan pelanggan
2. Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan pelanggan
3. Pelanggan berperan aktif dalam pengembangan sistem
4. Lebih menghemat waktu dalam pengembangan sistem
5. Penerapan menjadi lebih mudah karena pemakai mengetahui apa yang diharapkannya.
6. Menghasilkan syarat yang lebih baik dari produksi yang dihasilkan oleh metode ‘spesifikasi tulisan’.
7. User dapat mempertimbangkan sedikit perubahan selama masih bentuk prototipe.
8. Memberikan hasil yang lebih akurat dari pada perkiraan sebelumnya, karena fungsi yang diinginkan dan kerumitannya sudah dapat diketahui dengan baik.
9. User merasa puas. Pertama, user dapat mengenal melalui komputer. Dengan melakukan prototipe (dengan analisis yang sudah ada), user belajar mengenai komputer dan aplikasi yang akan dibuatkan untuknya. Kedua, user terlibat langsung dari awal dan memotivasi
semangat untuk mendukung analisis selama proyek berlangsung.
Gambar 2: Tahap-tahap metode prototyping
Kelemahan prototyping :
1. Pelanggan kadang tidak melihat atau menyadari bahwa perangkat lunak yang ada belum mencantumkan kualitas perangkat lunak secara keseluruhan dan juga belum memikirkan kemampuan pemeliharaan untuk jangja waktu lama.
2. Pengembang biasanya ingin cepat menyelesaikan proyek. Sehingga menggunakan algoritma dan bahasa pemrograman yang sederhana untuk membuat prototyping lebih cepat selesai tanpa memikirkan lebih lanjut bahwa program tersebut hanya merupakan cetak biru sistem .
3. Hubungan pelanggan dengan komputer yang disediakan mungkin tidak mencerminkan teknik perancangan yang baik
Waktu Penggunaan
Metode ini sering digunakan pada dunia riil. Karena metode ini secara keseluruhan akan mengacu kepada kepuasan user. Bisa dikatakan bahwa metode ini merupakan metode waterfall yang dilakukan secara berulang-ulang.
2. Waterfall model
Waterfall model, yang sering disebut juga classic life cycle atau Sekuensial Linear, menyampaikan suatu pendekatan yang berurutan untukpengembangan perangkat lunak. Pengembangan dimulai dariperencanaan sistem (rekayasa sistem), analisa kebutuhan, desain,penulisan program, pengujian dan perawatan sistem. Sekuensial modeladalah paradigma tertua dalam rekayasa perangkat lunak. Namun, padadua dekade terakhir dengan banyaknya kritik terhadap model proses initelah memunculkan keraguan dari para pengguna model ini mengenai kehandalan model proses ini.
Gambar 3: Tahap-tahap metode waterfall model
Tahapan-tahapan Waterfall model adalah:
1. Rekayasa dan pemodelan system/informasi (SystemEngineering)
Kerja dimulai dengan membangun syarat dari semua elemen sistemdan mengalokasikan beberapa subset dari kebutuhan ke perangkatlunak tersebut. Pandangan system ini penting ketika perangkatlunak harus berhubungan dengan elemen-elemen yang lain sepertiperangkat lunak, manusia, dan database. Rekayasa informasimencakup juga pengumpulan kebutuhan pada tingkat bisnisstrategis dan tingkat area bisnis.
2. Analisis kebutuhan perangkat lunak. (Analysis)
Proses pengumpulan kebutuhan diintensifkan dan difokuskan,khususnya pada perangkat lunak. Untuk memahami sifat programyang dibangun, perekayasa perangkat lunak (analisis) harusmemahami domain informasi, tingkah laku, unjuk kerja, dan antarmuka (interface) yang diperlukan. Kebutuhan baik untuk systemmaupun perangkat lunak didokumentasikan dan dilihat lagi denganpelanggan.
3. Desain (Design)
Desain perangkat lunak sebenarnya adalah proses multi langkahyang berfokus pada empat attribute sebuah program yang berbeda;strktur data, arsitektur perangkat lunak,representasi interface dandetail (algoritma) procedural. Proses desain menerjemahkan syarat/kebutuhan kedalam sebuah representasi perangakat lunak yangdapat diperkirakan demi kualitas sebelum dimulai pemunculankode. Sebagai mana persyaratan, desain didokumentasikan danmenjadi bagian dari konfigurasi perangkat lunak.
4. Generasi Kode (Coding).
Disain harus diterjemahkan kedalam bentuk mesin yang bisadibaca. langkah pembuatan kode melakukan tugas ini. Jika desaindilakukan dengan cara yang lengkap, pembuatan kode dapatdiselesaikan secara mekanis.
5. Pengujian (Testing) .
Sekali kode dibuat, pengujian program dimulai. Proses pengujianberfokus pada logika internal perangkat lunak, memastikan bahwapernyataan sudah diuji, dan pada eksterna fungsional – yaitumengarahkan pengujian untuk menemukan keslahan-kesalahan danmemastikan bahwa input yang dibatasi akan mamberikan hasilactual yang sesuai dengan hasil yang dibutuhkan.
6. Pemeliharaan (Maintenance).
Perangkat lunak akan mengalami perubahan setelah disampaikankepada pelanggan (perkecualian yang mungkin adalah perangkatlunak yang dilekatkan) perubahan akan terjadi karena kesalahan-kesalahan ditentukan, karena perangkat lunak harus disesuaikanuntuk mengakomodasi perubahan-perubahan didalam lingkungan eksternalnya ( contohnya perubahan yang dibutuhkan karenaperangkat pheriperal system operasi yang baru), atau karenapelanggan membutuhkan perkembangan fungsional atau unjukkerja. Pemeliharaan perangkat lunak mengaplikasikan lagi setiapfase program sebelumnya dan tidak membuat yang baru lagi.
Keunggulan Waterfall model
1. Mudah aplikasikan
2. Memberikan template tentang metode analisis, desain, pengkodean, pengujian, dan pemeliharaan
3. software yang dikembangkan dengan metode ini biasanya menghasilkan kualitas yang baik.
4. Document pengembangan sistem sangat terorganisir, karena setiap fase harus terselesaikan dengan lengkap sebelum melangkah ke fase berikutnya.
Kelemahan Waterfall model
1. Jarang sekali proyek riil mengikuti aliran sekuensial yang dianjurkan model karena model ini bisa melakukan itersi tidak langsung . Hal ini berakibat ada perubahan yang diragukan pada saat proyek berjalan.
2. Pelanggan sulit untuk menyatakan kebutuhan secara eksplisit sehingga sulit untuk megakomodasi ketidakpastian pada saat awal proyek.
3. Sebuah kesalahan jika tidak diketahui dari awal akan menjadi masalah besar karena harus mengulang dari awal.
4. membutuhkan keahlian yang baik atau yang telah berpengalaman dalam mengembangkan perangkat lunak, dalam arti metode ini kurang cocok bagi pemula.
5. Diperlukan majaemen yang baik, karena proses pengembangan tidak dapat berulang sebelum menghasilkan suatu produk, yaitu aplikasi. Jadi apabila dalam suatu proses seperti perancangan tidak selesai tepat waktu, maka akan mempengaruhi keseluruhan proses pengembangan perangkat lunak.
6. Iterasi sering terjadi menyebabkan masalah baru
7. Client kesulitan untuk menyatakan semua ke inginannya secara eksplisit diawal tahap pengembangan
8. Hasil software yang dikembangkan baru akan diketahui lama setelah proyek pengembangan dimulai
Waktu Penggunaan:
Waterfall model sering digunakan penganalisa sistem pada umumnya. Untuk proyek pembuatan sistem baru. Inti dari metode waterfall adalah pengerjaan dari suatu sistem dilakukan secara berurutan atau secara linear. Jadi jika langkah satu belum dikerjakan maka tidak akan bisa melakukan pengerjaan langkah 2, 3 dan seterusnya. Secara otomatis tahapan ke-3 akan bisa dilakukan jika tahap ke-1 dan ke-2 sudah dilakukan.
Contoh kasus:
Sebuah perusahaan pemasaran dibidang agribisnis membutuhkansoftware yang dapat mengolah data penjualan, distrbusi, suplai, serta halyang berhubungan dengan persedian barang. Perusahaan ini telah berdiricukup lama dengan pengelolaan administrasi yang cukup baik namunmasih secara secara konvensional. Dalam perkembangannya, sistemkonvensional yang digunakan selama ini tidak mampu lagi mengelolaseluruh urusan serta data yang dibutuhkan dalam pengelolaanadministrasi tersebut. Perusahaan ini berencana akanmengimplementasikan seluruh kegiatan dan urusan administrasinya kedalam sebuah software yang terintegrasi ke seluruh bagian dalamperusahaan tersebut. Untuk mewujudkan rencana tersebut, perusahaanitu menawarkan proyek pembuatan software ini kepada konsultan bidangIT. Pada tahap pertama konsultan yang ditunjuk ini menganalisa danmengkaji semua elemen-elemen yang terkait dalam proyek pembuatansoftware tesebut. Selanjutnya perusahaan meberikan semua informasidan data yang akan digunakan dan dibutuhkan dalam software ini.Konsultan kemudian menganalisis system database dan mendefinisikankebutuhan yang harus dipenuhi oleh system yang akan dibangun. Setelahseruruh kebutuhan selsai dikumpulkan secara lengkap, maka hal lain yangsangat penting yang akan dirancang adalah antarmuka dari sebuahsystem agar dapat dimplementasikan dengan mudah. Dengan selesainyapembuatn desain antarmuka dari system tersebut, langkah selnajutnyakonsultan memterjemahkan desain tersebut kedalam coding-coding padasuatu bahasa pemrograman. Setelah pengkodean selesai maka dilakukanuji coba terhadap system yang telah dibuat. Bila pada system terjadikesalahan maka system yang telah dibuat akan danalisis kembali sampaipada tahap pengujian. Bila system telah dirasa sempurna dan sesuaidengan permintaan, maka system diserahkan kepada perusahaan dansiap diimplementasikan dalam sistem administrasi perusahaan itu. Dalamperjalanannya, dibutuhkan perawatan terhadap system yang telahdibangun karena akan ada kemungkinanan perubahan system yangdisebabkan kesalahan-kesalahan yang ditemukan dikumudian hari.pada tahap awal dan akhir dari model ini:Model sekuensial linier(clasic life cycle/waterfall model),terdiri dari tahapan perencanaan sistem (rekayasa sistem), analisakebutuhan, desain, penulisan program, pengujian dan perawatan sistem.
Metodologi yang banyak digunakan untuk membangun perangkat lunak bisnis, dimana tahap awal merupakan anlisa terhadap kebutuhan bisnis saat ini, kemudian pengumpulan data
digunakan sebagai bahan perancangan sampai terbentuknya suatu perangkat lunak aplikasi yang membantu dalam pengambilan keputusan manajer.
Gambar 4: Tahap-tahap metode RAD Mode
Tahapan Model RAD
1. Bussiness Modelling
Tahap ini digunakan untuk mencari aliran informasi yang dapat menjawab pertanyaan berikut:
Ø Informasi apa yang menegndalikan proses bisnis?
Ø Informasi apa yang dimunculkan?
Ø Di mana informasi digunakan ? dan
Ø Siapa yang memprosenya ?
2. Data Modelling
Tahap ini menjelaskan objek data yang dibutuhkan dalam proyek. Karakteristik (atribut) masing-masing data diidentifikasikan dan hubungan anta objek didefinisikan.
3. Process Modelling
Aliran informasi pada fase data modelling ditransformasikan untuk mendapatkan aliran informasi yang diperlukan pada implementasi fungsi bisnis. Pemrosesan diciptakan untuk menambah, memodifikasi, menghapus, atu mendapatkan kembali objek data tertentu.
4. Aplication Generation
Selain menggunakan bahasa pemrograman generasi ketiga, RAD juga memakai komponen program yang telah ada atau menciptakan komponen yang bisa dipakai lagi.
5. Testing and Turnover
Karena menggunakan kembali komponen yang telah ada, maka akan mengurangi waktu pengujian. Tetapi komponen baru harus diuji dan semua interface harus dilatih secara penuh.
Keunggulan Model RAD:
1. Setiap fungsi mayor dapat dimodulkan dalam waktu tertentu kurang dari 3 bulan dan dapat dibicarakan oleh tim RAD yang terpisah dan kemudian diintegrasikan sehingga waktunya lebih efisien
2. RAD mengikuti tahap pengembangan sistem seperti umumnya, tetapi mempunyai kemampuan untuk menggunakan kembali komponen yang ada sehingga pengembang tidak perlu membuat dari awal lagi dan waktu yang lebih singkat
Kelemahan Model RAD :
1. Model yang besar (skala proyek), membutuhkan resources yg baik dan solid
2. Membutuhkan komitmen pengembang dan user yang sama agar cepat selesai sesuai dengan rencana.
Waktu Penggunaan
Metode RAD digunakan untuk membangun perangkat lunak bisnis, proyek yang tidak memerlukan kinerja tinggi dan yang membutuhkan waktu singkat dalam pembuatan software.
4. Component Based Model
Dalam metode component based development ini, menitik beratkan pada penggunaan kembali dari komponen-komponen yang dibangun dalam sebuah aplikasi. Komponen di sini, dapat berupa fungsi tertentu atau sebuah kelompok yang berhubungan
dengan fungsi tertentu.
Gambar 5: Tahap-tahap metode Based Model
Tahapan Component Based Model
1. Identifikasi
identifikasi class-class yang akan digunakan kembali dengan menguji class tersebut dengan data yang akan dimanipulasi dengan aplikasi/software dan algoritma yang baru.
2. Class
Class yang dibuat pada proyek sebelumnya disimpan dalam class library, sehingga bisa langsung diambil dari library yang sudah ada. Jika ternyata ada kebutuhan class baru, maka class baru dibuat dengan metode berorientasi objek.
3. Membangun
Software dengan class-class yang sudah ditentukan atau class baru yang dibuat, integrasikan.
Keunggulan Component Based Model:
1. Lebih memungkinkan untuk mengurangi beban biaya dan waktu pengembangan.
2. Menggunakan model reuse, pada komponen yang sudah mewakili kebutuhan umum
Kelemahan Component Based Model:
1. Model ini bersifat iteratif atau berulang-ulang prosesnya.
2. Sistem yang tidak bisa dimodularisasi tidak cocok untuk model ini.
Waktu Penggunaan
Dalam metode ini, menitik beratkan pada penggunaan kembali dari komponen-komponen yang dibangun dalam sebuah aplikasi, pada model ini juga menggunakan pemrograman berorientasi objek, dimana banyak class yang dibangun dan menjadi komponen dalam suatu software. Class-class tersebut bersifat reusable artinya bisa digunakan kembali. Model ini bersifat iteratif atau berulang-ulang prosesnya.
5. Extreme Programming
Model proses ini diciptakan dan dikembangkan oleh Kent Beck. Model ini adalah model proses yang terbaru dalam dunia rekayasa perangkat lunak dan mencoba menjawab kesulitan dalam pengembangan software yang rumit dan sulit dalam implementasi.
Tahapan Extreme Programing (XP)
1. Coding
2. Pengujian
3. Mendengarkan
4. Merancang
Gambar 6: Tahap-tahap metode Extreme Programming
Keunggulan Extreme Programming :
1. Communication/Komunikasi : Komunikasi dalam XP dibangun dengan melakukan pemrograman berpasangan (pair programming). Developer didampingi oleh pihak klien dalam melakukan coding dan unit testing sehingga klien bisa terlibat langsung dalam pemrograman sambil berkomunikasi dengan developer. Selain itu perkiraan beban tugas juga diperhitungkan.
2. Simplicity/ sederhana: Menekankan pada kesederhanaan dalam pengkodean: “What is the simplest thing that could possibly work?” Lebih baik melakukan hal yang sederhana dan mengembangkannya besok jika diperlukan. Komunikasi yang lebih banyak mempermudah, dan rancangan yang sederhana mengurangi penjelasan.
3. Feedback / Masukan/Tanggapan: Setiap feed back ditanggapi dengan melakukan tes, unit test atau system integration dan jangan menunda karena biaya akan membengkak (uang, tenaga, waktu).
4. Courage / Berani: Banyak ide baru dan berani mencobanya, berani mengerjakan kembali dan setiap kali kesalahan ditemukan, langsung diperbaiki.
Kelemahan Extreme Programming:
1. Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.
2. Tidak bisa membuat kode yang detail di awal (prinsip simplicity dan juga anjuran untuk melakukan apa yang diperlukan hari itu juga)
6. V-Shaped Model
V-Shaped Model sering disebut sebagai pengembangan dari teknik waterfall. V-Shaped Model untuk verifikasi dan validasi dan merupakan model standar yang bayak dipakai di negara-
negara Eropa seperti standar untuk proyek pertahanan dan administrasi federal di Jerman.
Gambar 7: Tahap-tahap metode V-Shaped Model
Tahapan V-Shaped Model
Tahapan V-Shaped Model membentuk seperti huruf V sehingga urutan tahapannya ada yang sejajar tetapi berlangsung secara urut dan membentuk huruf V, berikut tahapan dari V-Shaped ModelI :
1. System Test Planning : Requirements yang setara dengan System Testing
2. Integration Test Planning : High Level Design yang setara dengan Integration Testing
3. Unit Test Planning : Low Level Design yang setara dengan Unit Testing
4. Implementation
Kelebihan V-Shaped Model
1. Kemudahan penggunaannya
2. Dilakukannya verifikasi dan validasi pada tahap-tahap awal pengembangannya, sehingga user dapat terlibat dalam pembuatannya
3. Setiap output mampu di test pada tahap awal dan
4. Mudah dimonitor karena memiliki milestones yang jelas
Kelemahan V-Shaped Model
1. Tidak dapat digunakan untuk permasalahan yang terjadi secara bersamaan
2. Tidak dapat digunakan untuk perubahan-perubahan besar dalam persyaratan
3. Tidak bisa menganalisis resiko
Waktu Penggunaan
Model ini umumnya digunakan pada sistem yang menuntut kehandalan tinggi, pada sistem yang semua persyaratannya diketahui, dan bisa dimodifikasi untuk menyesuaikan dengan perubahan setelah fase analisis, serta solusi dan teknologinya telah jelas diketahui.
7. Dynamic Software Development Method (DSDM)
Dynamic Software Development Method (DSDM) pada dasarnya merupakan suatu metodelogi pengembangan perangkat lunak yang didasarkan pada metodelogi RAD.
Tahapan Dynamic Software Development Method (DSDM)
1. Feasibility study
2. Business study – prioritized requirements
3. Functional model iteration
4. Risk analysis
5. Time-box plan
6. Design and build iteration
7. Implementation
Gambar 8: Tahap-tahap metode Dynamic Software Development Method (DSDM)
Kelebihan Dynamic Software Development Method (DSDM)
1. Menyajikan kerangka kerja (framework) untuk membangun dan memelihara sistem dalam waktu yang terbatas melalui penggunaan prototyping yang incremental dalam lingkungan yang terkondisikan
2. Membangun software dengan cepat
3. DSDM dapat dikombinasikan dengan XP menghasilkan kombinasi model proses yang mengikuti DSDM dan praktek yang sejalan dengan XP
Kelemahan Dynamic Software Development Method (DSDM)
1. Setiap iterasi bergantung pada prototype sebelumya
2. Menentukan scope dari suatu prototype proyek tidak pernah selesai
3. Dokumentasi sering kali tidak lengkap fokus pada pembuatan prototype
4. Isu-isu mengenai system backup and recovery, system performance dan system security kurang/tidak diperhatikan dan sering terlupakan
Waktu Penggunaan
Dynamic Sofware Development Method (DSDM) digunakan untuk proyek yang membutuhkan waktu singkat dan tidak memerlukan kinerja tinggi, ini karena DSDM berdasar pada model RAD.
8. Model Spiral
Model spiral merupakan model proses perangkat lunak yang memadukan wujud pengulangan dari model prototyping dengan aspek pengendalian dan sistematika dari linear
sequential model.
Gambar 9: Tahap-tahap metode Spiral Model
Tahapan Model Spiral
1. Komunikasi pelanggan
Untuk membangun komunikasi antara pelanggan dan kebutuhan yang diinginkan oleh pelanggan.
2. Perencanaan
Untuk mendefinisikan sumber daya, ketepatan waktu, dan proyek informasi lain yg berhubungan.
3. Analisis Resiko
Untuk menafsirkan resiko manajemen dan teknis.
4. Perekayasaan
Untuk membangun satu atau lebih representasi dari apikasi tersebut.
5. Konstruksi dan peluncuran
Untuk mengkonstruksi, menguji, memasang, dan memberi pelayanan kepada pemakai.
6. Evaluasi Pelanggan
Untuk mendapatkan umpan balik dari pelanggan.
Kelebihan Model Spiral
1. Untuk pengembangan sistem dan perangkat lunak skala besar
2. Pengembang dan pemakai dapat lebih mudah memahami dan bereaksi terhadap resiko setiap tingkat evolusi karena perangkat lunak terus bekerja selama proses
Kelemahan Model Spiral
1. Sulit untuk meyakinkan pemakai (saat situasi kontrak) bahwa penggunaan pendekatan ini akan dapat dikendalikan
2. Memerlukan tenaga ahli untuk memperkirakan resiko, dan harus mengandalkannya supaya sukses
3. Belum terbukti apakah metode ini cukup efisien karena usianya yang relatif baru
Waktu Penggunaan
Metode spiral digunakan untuk penciptaan prototipe yang tepat, proyek yang beresiko tinggi, persyaratan yang komplek, bagi pengguna yang tidak yakin akan kebutuhan mereka, serta perubahan signifikan yang diharapkan (research dan exploration).
9. Model Incremental
Model Incremental merupakan kombinasi linear sequential model dan filosofi pengulangan
dari prototyping model.
Gambar 10: Tahap-tahap metode Incremental Model
Tahapan Model Incremental
1. Requirement
2. Specification
3. Architecture Design
Kelebihan Model Incremental
1. Biasanya digunakan bila pembuat software tidak banyak/kekurangan pembuat
2. Mampu mengakomodasi perubahan kebutuhan customer
Kelemahan Model Incremental
1. Hanya akan berhasil jika tidak ada staffing untuk penerapan secara menyeluruh
2. Penambahan staf dilakukan jika hasil incremental akan dikembangkan lebih lanjut
3. Hanya digunakan untuk proyek dengan skala kecil
Waktu Penggunaan
Metode Incremental banyak digunakan untuk proyek dengan teknologi terbaru, proyek yang membutuhkan jadwal pengembangan yang panjang, untuk kebutuhan yang memerlukan fungsi dasar, serta resiko, pendanaan, jadwal, kompleksitas program, atau kebutuhan untuk realisasi kemanfaatannya.
10. Model Agile
Model Agile merupakan suatu metode konvensional untuk membangun berbagai jenis perangkat lunak dan berbagai macam tipe proyek pengembangan perangkat lunak, yang dapat melakukan pengiriman atau penyampaian hasil dari implementasi sistem melalui perangkat lunak dengan cepat.
Tahapan Agile Model
1. Perencanaan
2. Requirements analysis
Ø Design
Ø Coding
Ø Testing
Ø Dokumentasi
Gambar 11: Tahap-tahap metode
Agile Model
Kelebihan Agile Model
1. Meningkatkan rasio kepuasan pelanggan
2. Bisa melakukan review pelanggan mengenai software yang dibuat lebih awal
3. Mengurangi resiko kegagalan implementasi software dari non-teknis
4. Besar kerugian baik secara material atau imaterial tidak terlalu besar jiak terjadi kegagalan
Kelemahan Agile Model
Dokumentasi harus cukup detail agar fase selanjutnya dapat berjalan dengan baik
Waktu Penggunaan
Metode Agile digunakan untuk proyek yang memberikan kepuasan pelanggan karena resiko kegagalan yang kecil dan lebih cepat dalam penyelesaian software serta perubahan yang cepat dari software yang dibangun untuk meningkatkan kualitas software yang lebih baik.
11. Model Joint Application Development (JAD)
Joint Application Development (JAD) merupakan sebuah teknik yang berfokus pada
keterlibatan dan komitmen pengguna dalam menentukan kebutuhan dan merancang (desain) aplikasi.
Gambar 12: Tahap-tahap metode JAD Model
Tahapan Model JAD
1. Requirement
Perencanaan-perencanaan kebutuhan apa saja yang dibutuhkan dalam perancangan suatu sistem. Sistem yang terlibat dalam teknik JAD adalah sponsor, business users, system analyst (tim developer), system experts, fasilitator.
2. Design
JAD didesain untuk mendapatkan informasi yang spesifik, biasanya melalui pertanyaan closed-ended.
3. Implementasi
Tahapan untuk mewujudkan sistem secara fisik. Tahapan ini meliputi kegiatan untuk mempersiapkan sesi JAD dan menjalankan JAD.
4. Verification
Tahapan pengujian dari performa sistem, apakah sistem sudah sesuai dengan kebutuhan dan bekerja dengan baik. Selain itu juga pengujian bagi pemakai apakah mudah digunakan (user friendly) terhadap pemakai.
5. Maintenance
Tahapan akhir dalam fase JAD yang digunakan untuk pemeliharaan sistem.
Kelebihan Model JAD
1. Penerapan JAD jika pengembang dan user bekerjasama dalam satu tim akan sangat mendukung penerapan prototyping
2. Penentuan keperluan oleh sekumpulan pemegang saham
3. Melibatkan kerjasama tim proyek, pengguna dan pengurusan
4. Memberikan dukungan yang besar dan penerimaan sistem yang baru dapat menghasilkan sistem dengan kualitas yang lebih tinggi
5. Dapat mengurangi scope creep hingga 50%
6. Keterlibatan banyak user akan memudahkan proses implementasi sistem baru dengan biaya training yang lebih rendah
Kelemahan Model JAD
1. Dana yang diperlukan untuk membangun sistem lebih mahal
2. Dalam analisa sistem akan memakan waktu yang lebih lama, karena sangat sulit untuk mendapatkan waktu dan ketersediaan user dalam forum diskusi JAD
3. Pendekatan JAD memiliki banyak masalah yang disebabkan oleh proses kelompok membuat seseorang yang mendominasi forum, sedangkan yang lainnya akan menjadi “penonton” saja dan tidak memberikan kontribusi dalam pembahasan (analisa sistem)
Waktu Penggunaan
Model JAD digunakan untuk proyek yang mmbutuhkan teknik analisis dan perancangan sistem dengan menekankan pengembangan partisipasi antara system owners, users, designer, dan builders.
Selain 11 model metode pengembangan system diatas masih banyak lagi jenis-jenis model pengembangan system lainnya yang mungkin belum di ketahui detailnya mengenai tahapan, kelebihan, kelemahan, dan penggunaan waktunya.
Beberapa model metode pengembangan sistem yang lain :
- CODE AND FIX
- OUT-SOURCING
- IN-SOURCING
- CO-SOURCING
METODOLOGI PENGEMBANGAN SISTEM