A. Model Prototype
Prototyping adalah salah satu pendekatan dalam rekayasa perangkat lunak yang secara langsung mendemonstrasikan bagaimana sebuah perangkat lunak atau komponen-komponen perangkat lunak akan bekerja dalam lingkungan sebuah tahapan konstruksi aktual di lakukan ( Howard 1997)
Metode prototyping adalah sistem yang menggambarkan hal-hal penting dari sistem informasi yang akan datang . Prototype sistem informasi bukanlah merupakan sesuatu yang lengkap, tetapi sesutau yang harus dimodifikasi kembali, dikembangkan, ditambahkan atau di gabungkan dengan sistem informasi yang lain bila perlu.
Prototyping Model dapat di kalsifikasikan menjadi beberapa tipe seperti gambar di bawah ini :
Tahapan-tahapan secara ringkas dapat dijelaskan sebagai berikut:
Jenis-Jenis Prototyping
Adapun Keunggulan dan Kelemahan dalam Model Prototype
Keunggulan Prototype :
Kelemahan Prototype:
Prototyping adalah salah satu pendekatan dalam rekayasa perangkat lunak yang secara langsung mendemonstrasikan bagaimana sebuah perangkat lunak atau komponen-komponen perangkat lunak akan bekerja dalam lingkungan sebuah tahapan konstruksi aktual di lakukan ( Howard 1997)
Metode prototyping adalah sistem yang menggambarkan hal-hal penting dari sistem informasi yang akan datang . Prototype sistem informasi bukanlah merupakan sesuatu yang lengkap, tetapi sesutau yang harus dimodifikasi kembali, dikembangkan, ditambahkan atau di gabungkan dengan sistem informasi yang lain bila perlu.
Prototyping Model dapat di kalsifikasikan menjadi beberapa tipe seperti gambar di bawah ini :
- Reusable prototype : Prototype yang akan di transformasikan menjadi produk final.
- Throwaway prototype : Prototype yang akan di buang begitu selesai menjalankan maksud nya
- Input/Output prototype : Prototype yang terbatas antar muka pengguna ( user interface ).
- Processing prototype : Prototype yang meliputi perawatan file dasar dan proses-proses transaksi
- System prototype : Prototype yang berupa model lengkap dari perangkat lunak.
- Identifikasi kandidat prototyping. Kandidat dalam kasus ini meliputi user interface (menu, dialog, input dan output), file-file transaksi utama, dan fungsi-fungsi pemrosesan sederhana.
- Rancang bangun prototype dengan bantuan software seperti word processor, spreadsheet, database, pengolah grafik, dan software CASE (Computer-Aided System Engineering).
- Uji prototype untuk memastikan prototype dapat dengan mudah dijalankan untuk tujuan demonstrasi.
- Siapkan prototype USD (User’s System Diagram) untuk mengidentifikasi bagian-bagian dari perangkat lunak yang di-prototype-kan.
- Evaluasi dengan pengguna untuk mengevaluasi prototype, dan melakukan perubahan jika diperlukan.
- Transformasikan prototype menjadi perangkat lunak yang beroperasi penuh dengan melakukan penghilangan kode-kode yang tidak dibutuhkan, penambahan program-program yang memang dibutuhkan, dan perbaikan serta pengujian perangkat lunak secara berulang.
Jenis-Jenis Prototyping
- Feasibility prototyping - digunakan untuk menguji kelayakan dari teknologi yang akan di gunakan untuk sistem informasi yang akan di susun.
- Requirement prototyping - digunakan untuk mengetahui kebutuhan aktivitas bisnis user.
- Desain prototyping - digunakan untuk mendorong perancangan sistem inforamsi yang akan di gunakan.
- Implementation prototyping - merupakan lanjutan dari rancangan prorotype, prototype ini langung di susun sebagai satu sistem informasi yang akan di gunakan.
Adapun Keunggulan dan Kelemahan dalam Model Prototype
Keunggulan Prototype :
- User dapat berpartisipasi aktif
- Penentuan lebih mudah di wujudkan
- Mempersingkat waktu perkembangan SI
Kelemahan Prototype:
- Proses analisis dan perancangan terlalu singkat.
- Mengesampingkan alternatif pemecahan masalah
- Bisanya kurang fleksible dalam menghadapi erubahan.
- Prototype yang di hasilkan tidak selamanya dirubah
- Prototype terlalu cepat selesai.
B. Model RAD
Rapid Aplication Model (RAD) adalah sebuah proses perkembangan perangkat lunak sekuensial linier yang menekankan siklus perkembangan yang sangat pendek. Model RAD ini merupakan sebuah adaptasi “kecepatan tinggi” dari model sekuensial linier dimana perkembangan cepat dicapai dengan menggunakan pendekatan konstruksi berbasis komponen. Jika kebutuhan dipahami dengan baik, proses RAD memungkinkan tim pengembangan menciptakan “sistem fungsional yang utuh” dalam periode waktu yang sangat pendek (kira-kira 60 sampai 90 hari).
RAD merupakan incremental software process yang menekankan pada siklus development yang singkat. Model ini mengunakan pembuatan berdasarkan komponen, menekankan penggunaan kembali code dan code generation. Jika requirement telah diketahui dengan pasti dan scope project mendesak, RAD proses memungkinkan team development untuk sistem fungsional keseluruhan dalam periode waktu yang sangat singkat (misalnya 60-90 hari). RAD model dapat digunakan untuk project yang dapat dipisah, misalnya ada 1 project besar, dibagi 3, dikerjakan oleh team yang berbeda-beda (dari analisis sampai testing) kemudian diintegrasikan. Jika menggunkan RAD model, kualitas team harus solid dan punya disiplin tinggi.
Model RAD mengadopsi model waterfall dan pembangunan dalam waktu singkat yang dicapai dengan menerapkan :
- Component based construction ( pemrograman berbasis komponen bukan prosedural).
- Penekanan pada penggunaan ulang (reuse) komponen perangkat lunak yang telah ada.
- Pembangkitan kode program otomatis/semi otomatis.
- Multiple team (banyak tim), tiap tim menyelesaikan satu tugas yang selevel tapi tidak sama. Banyaknya tim tergantung dari area dan kompleksitasnya sistem yang dibangun.
Sistem dibagi-bagi menjadi beberapa modul dan dikerjakan beberapa tim dalam waktu yang hampir bersamaan dalam waktu yang sudah ditentukan. Model ini melibatkan banyak tim, dan setiap tim mengerjakan tugas yang selevel, namun berbeda. Sesuai dengan pembagian modul sistem.
Kelemahan RAD
- Model RAD memerlukan sumber daya yang cukup besar, terutama untuk proyek dengan skala besar.
- Model ini cocok untuk proyek dengan skala besar.
- Model RAD memerlukan komitmen yang kuat antara pengembang dan pemesssan, bahkan keduanya bisa tergabung dalam 1 tim.
- Kinerja dari perangkat lunak yang dihasilkan dapat menjadi masalah manakala kebutuhan-kebutuhan diawal proses tidak dapat dimodulkan, sehingga pendekatan dengan model ini kurang bagus.
- Sistem yang tidak bisa dimodularisasi tidak cocok untuk model ini.
- Penghalusan dan penggabungan dari beberapa tim di akhir proses sangat diperlukan dan ini memerlukan kerja keras.
- Proyek bisa gagal karena waktu yang disepakati tidak dipenuhi
- Risiko teknis yang tinggi juga kurang cocok untuk model ini.
Kelebihan RAD
- Fleksibilitas yang lebih besar
- Sangat mengurangi manual coding
- Peningkatan keterlibatan pengguna
- Mungkin lebih sedikit cacat
- Mungkin dikurangi biaya
- Singkat siklus pengembangan
C. Model Skuensial Linier ( Waterfall )
Model sekuensial linear disebut juga model waterfall atau air terjun. Model ini peertama kali muncul pada tahun1970 yang diperkenalkan oleh WinstonW.Royce. walaupun sudah dikenal dalam waktu yang lama dan sering di anggap kuno tetapi model ini paling banyak dipakai dalam industri perangkat lunak.
Model sekuensial linear berisi rangkaian proses yang disajikan secara terpisah, yaitu analisis kebutuhan,perancangan,pemgkodean,pemgujian, seta implementasi dan pemeliharaan. Setelah setiap proses dilakukan, proses tersebut ditutup dan pengembangan dilanjutkan pada proses berikutnya.
Untuk mengatasi kekurangna-kekurangan tersebut, dibuatlah model sekuensial linear yang dimodifikasis. Keunggulan model ini dibandingkan model sekuensial linear biasa adalah model ini memungkinkan tahap-tahap yang telah dilalui ditinjau kembali sehinnga jika ternyata terjadi kesalahan atau kekurangan dalam menentukan kebutuhan di tahap awal, bisa dilakukan perbaikan atau peambahan lagi.
Model sekuensial linier melingkupi aktivitas – aktivitas sebagai berikut :
- Rekayasa dan pemodelan sistem/informasi
- Analisis kebutuhan Software
- Desain
- Generasi Kode
- Pengujian
- Pemeliharaan
Kelemahan Model Waterfall ( Skuensial Linier )
- Jarang sekali proyek nyata mengikuti aliran sekuensial yang dianjurkan oleh model. Meskipun model linier bisa mengakomodasi iterasi, model ini melakukannya dengan cara tidak langsung. Sebagai hasilnya, perubahan – perubahan dapat menyebabkan keraguan pada saat tim proyek berjalan.
- Kadang – kadang sulit bagi pelanggan untuk menyatakan semua kebutuhannya secara eksplisit. Model linier sekuensial memerlukan halini dan mengalami kesulitan untuk mengakomodasi ketidakpastiannatural yang ada pada bagian awal beberapa proyek.
- Pelanggan harus bersifat sabar. Sebuah versi kerja dari program – program kerja itu tidak akan diperoleh sampai akhir waktu proyek dilalui. Sebuah kesalahan besar, jika tidak terdeteksi sampai program yang bekerja tersebut dikaji ulang, bisa menjadi petaka.
- Pengembang sering melakukan penundan yang tidak perlu. Sifat alami dari siklus kehidupan klasik membawa kepada blocking state di mana banyak anggota tim proyek harus menunggu tim yang lain untuk melengkapi tugas yang saling memiliki ketergantungan. Blocking state cenderung menjadi lebih lazim pada awal dan akhir sebuah proses sekuensial linier.
- software yang dikembangkan dengan metode ini biasanya menghasilkan kualitas yang baik.
- Document pengembangan sistem sangat terorganisir, karena setiap fase harus terselesaikan dengan lengkap sebelum melangkah ke fase berikutnya
- Memberikan template tentang metode analisis, desain, pengkodean, pengujian, dan pemeliharaan.
Fase Model Air Terjun ( Waterfall ) :
- Analisis kebutuhan dan pendefinisiannya.
- Perancangan sistem dan perangkat lunak
- Implementasi dan unit testing
- Integrasi dan pengujian sistem
- Pengoperasian dan perawatan
Kapan Waterfall Model Digunakan?
- Ketika semua persyaratan sudah dipahami dengan baik di awal pengembangan.
- Definisi produk stabil dan tidak ada perubahan saat pengembangan untuk alasan apapun seperti perubahan eksternal, perubahan tujuan, perubahan anggaran atau perubahan teknologi. Untuk itu, teknologi yang digunakan pun harus sudah dipahami dengan baik.
- Menghasilkan produk baru, atau versi baru dari produk yang sudah ada. Sebenarnya, jika menghasilkan versi baru maka sudah masuk incremental development, yang setiap tahapnya sama dengan Waterfall kemudian diulang-ulang.
- Porting produk yang sudah ada ke dalam platform baru.
Sumber :
0 komentar:
Posting Komentar