MODEL PROSES RPL

MODEL PROSES REKAYASA PERANGKAT LUNAK

Dalam proses pengembangan perangkat lunak, telah banyak digunakan model-model pengembangan yang bertujuan untuk mempermudah dalam hal pengembangan perangkat lunak itu sendiri. Dengan memanfaatkan model pengembangan perangkat lunak itu mengacu pada model proses pengembangan sistem yaitu System Development Life Cycle (SDLC).

Dari setiap model proses pengembangan sistem tersebut, memiliki karakteristik-karakteristik tersendiri, tetapi pada dasarnya semua model proses pengembangan sistem terdapat kesamaan karakteristiknya, diantaranya:
  1. Kebutuhan terhadap definisi masalah yang jelas. Input utama dari setiap model pengembangan perangkat lunak adalah pendefinisian masalah yang jelas.
  2. Tahapan-tahapan pengembangan yang teratur, yaitu mengikuti pola umum analysis – design – coding – testing – maintenance.
  3. Stakeholder berperan sangat penting dalam keseluruhan tahapan pengembangan.
  4. Dokumentasi merupakan bagian penting dari pengembangan perangkat lunak.
  5. Keluaran dari proses pengembangan perangkat lunak harus bernilai ekonomis.
Terdapat bermacam-macam model pengembangan perangkat lunak, diantaranya : The Waterfall Model, Joint Application Development (JAD), Information Engineering (IE), Rapid Application Development (RAD) termasuk di dalamnya Prototyping, Unified Process (UP), Structural Analysis and Design (SAD) dan Framework for the Application of System thinking (FAST).


Waterfall model

Model pengembangan yang sering digunakan dalam pengembangan perangkat lunak yaitu waterfall model. Disebut waterfall (air terjun) karena diagram tahapan prosesnya mirip dengan air terjun yang bertingkat. Dan Inti dari metode waterfall adalah pengerjaan dari suatu sistem dilakukan secara berurutan atau secara linear. Seperti terlihat pada gambar berikut :


Keterangan :
  1. Tahap investigasi dilakukan untuk menentukan apakah terjadi suatu masalah atau adakah peluang suatu sistem informasi dikembangkan. Melakukan studi kelayakan dengan tujuan untuk mengetahui apakah sistem yang dibuat sudah memenuhi standar kelayakan atau merupakan solusi yang layak.
  2. Tahap analisis bertujuan untuk mencari kebutuhan pengguna dan organisasi serta menganalisa kondisi yang ada (sebelum diterapkan sistem informasi yang baru).
  3. Tahap disain bertujuan menentukan spesifikasi detil dari komponen-komponen sistem informasi (manusia, hardware, software, network dan data) dan produkproduk informasi yang sesuai dengan hasil tahap analisis.
  4. Tahap implementasi merupakan tahapan untuk mendapatkan atau mengembangkan hardware dan software (pengkodean program), melakukan pengujian, pelatihan dan perpindahan ke sistem baru.
  5. Tahapan perawatan (maintenance) dilakukan ketika sistem informasi sudah dioperasikan

Kelebihan model Waterfall
  •  Kualitas dari sistem yang dihasilkan akan baik, karena dilakukan secara bertahap.
  • Document pengembangan sistem sangat terorganisir.

Kekurangan model Waterfall
  • Diperlukan majemen yang baik, karena setiap langkah harus diselesaikan sebelum mengerjakan tahapan selanjutnya.
  • Kesalahan kecil akan menjadi masalah besar jika tidak diketahui sejak awal pengembangan.
  • Perubahan sulit dilakukan karena sifatnya yang kaku.
  • Pelanggan sulit menyatakan kebutuhan secara eksplisit sehingga tidak dapat mengakomodasi ketidakpastian pada saat awal pengembangan. Pemakai harus sabar untuk dapat melihat produk awal dari program.

Prototyping model

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 lingkungannya sebelum tahapan konstruksi aktual dilakukan (Howard, 1997).

Keterangna :
  • Reusable prototype : Prototype yang akan ditransformasikan menjadi produk final.
  • Throwaway prototype : Prototype yang akan dibuang begitu selesai menjalankan maksudnya.
  •  Input/output prototype : Prototype yang terbatas pada 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.

Tahap-tahap dalam prototyping boleh dikata merupakan tahap-tahap yang dipercepat, yaitu tahap yang dikerjakan (diselesaikan) dimulai dari tahap yang paling mudah. Tahapan pelaksanaan dari model prototyping ini dapat digambarkan seperti berikut ini :


Tahapan-tahapan secara ringkas dapat dijelaskan sebagai berikut:
  1. Identifikasi kandidat prototyping. Kandidat dalam kasus ini meliputi user interface (menu, dialog, input dan output), file-file transaksi utama, dan fungsifungsi pemrosesan sederhana.
  2. Rancang bangun prototype dengan bantuan software seperti word processor, spreadsheet, database, pengolah grafik, dan software CASE (Computer-Aided System Engineering).
  3. Uji prototype untuk memastikan prototype dapat dengan mudah dijalankan untuk tujuan demonstrasi.
  4. Siapkan prototype USD (User’s System Diagram) untuk mengidentifikasi bagianbagian dari perangkat lunak yang di-prototype-kan.
  5. Evaluasi dengan pengguna untuk mengevaluasi prototype dan melakukan perubahan jika diperlukan.
  6. ransformasikan prototype menjadi perangkat lunak yang beroperasi penuh dengan melakukan penghilangan kode-kode yang tidak dibutuhkan, penambahan program-program yang memang dibutuhkan dan perbaikan dan pengujian perangkat lunak secara berulang. 

Incremental Model

Incremental Model merupakan gabungan antara model linear sekuensial dan prototyping. Setiap linear sekuen menghasilkan produk yang deliveriables. Seperti terlihat pada gambar :


Keterangan:
  • Kombinasikan elemet-element dari waterfall dengan sifat iterasi/perulangan.
  • Element-element dalam waterfall dikerjakan dengan hasil berupa produk dengan spesifikasi tertentu, kemudian proses dimulai dari fase pertama hingga akhir.
  • Produk hasil increment pertama biasanya produk inti (core product), yaitu produk yang memenuhi kebutuhan dasar.
  • Model ini cocok jika jumlah anggota tim pengembang/pembangun PL.
  • Mampu mengakomodasi perubahan secara fleksibel. tidak cukup.
  • Produk yang dihasilkan pada increment pertama bukanlah prototype, tapi produk yang sudah bisa berfungsi dengan spesifikasi dasar.

Kelebihan :
  • Sumber daya (personel) dapat bekerja dengan maksimal (optimal).
  • Pengguna dapat langsung menggunakan bagian yang sudah selesai di buat (dikerjakan).
  • Karena dikerjakan bertahap, maka pengguna tidak merasa kesulitan (trauma), meskipun ada perubahan sistem.
  • Investasi pengguna dapat dimaksimalkan.

Kekurangan :
  • Tidak cocok untuk projek yang besar (Coding diatas 200.000 baris).
  • Kesulitan memetakan kebutuhan pengguna kemasing-masing hasil increments.
  • Dapat menjadi build and Fix Model, karena kemampuannya untuk selalu mendapat perubahan selama proses rekayasa berlangsung.

Unified Process dan Unified Modeling Language

Unified Process (UP) atau kadang disebut sebagai Unified Software Development Process (USDP) adalah kerangka proses pengembangan yang bersifat use-case-driven, berpusat pada arsitektur perangkat lunak, interatif dan tumbuhkembang (Alhir, 2005). Dalam metode ini ada empat tahap pengembangan yaitu inception, elaboration, construction dan transition. 

Keterangan :
  • Inception. Tahapan ini merupakan tahapan paling awal dimana aktivitas penilaian terhadap sebuah proyek perangkat lunak dilakukan.
  • Elaboration. Tujuan dari tahap ini adalah untuk mendapatkan gambaran umum kebutuhan, persyaratan dan fungsi-fungsi utama perangkat lunak.
  • Construction. Tujuan dari tahapan ini adalah membangun perangkat lunak sampai dengan saat perangkat lunak tersebut siap digunakan.
  • Transition. Tahap ini difokuskan pada bagaimana menyampaikan perangkat lunak yang sudah jadi pada pengguna.
Dalam pengembangan perangkat lunak dengan menggunakan UP, maka tidak lepas dari penggunaan notasi-notasi yang biasa disebut sebagai UML (Unified Modeling Language).


Spiral Model

Pada model pengembangan perangkat lunak ini, proses dari pengembangan digambarkan sebagai spiral dimana setiap loop mewakili setiap proses, dan setiap Loop dibagi menjadi beberapa sector :


  • Objective settings (menentukan tujuan): menentukan tujuan dari fase yang ditentukan. Batasan-batasan pada proses dan produk sudah diketahui.
  • Risk assessment and reduction (Penanganan dan pengurangan resiko): setiap resiko dianalisis secara detil pada sektor ini.
  • Development and Validation (Pembangunan dan pengujian): Setelah evaluasi resiko, maka model pengembangan sistem dipilih.
  • Planning: Proyek dievaluasi atau ditinjau-ulang dan diputuskan untuk terus ke fase loop selanjutnya atau tidak.

Tetapi pembagian sector-sector itu tidak dapat diterapkan pada model spiral berikut :

                             

  • Customer communication: membangun komunikasi yang baik dengan pengguna/customer.
  • Planning: mendefinisikan sesumber, batas waktu, informasi-informasi lain seputar proyek.
  • Risk analysis: identifikasi resiko managemen dan teknis.
  • Engineering: pembangunan contoh-contoh aplikasi, misalnya prototype.
  • Construction and release : pembangunan, test, install dan support.
  • Customer evaluation: mendapatkan feedback dari pengguna berdasarkan evaluasi PL.
Model spiral menjadi model yang sangat realitis untuk pengembangan perangkat lunak skala besar. Karena setiap resiko sangat dipertimbangkan, karena dapat menimbulkan kegagalan sistem.

Model Rapid Aplication Development (RAD)


Adalah sebuah model proses perkembangan software sekuensial linier yang menekankan siklus perkembangan yang sangat pendek. Model RAD ini merupakan sebuah adaptasi “kecepatan tinggi” dari model sekuensial linier di mana perkembangan cepat dicapai dengan menggunakan pendekatan kontruksi 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).


Fase-fase pendekatan RAD meliputi Bussiness modeling, Data modeling, Prosess modeling, Application generation, Testing and turnover.

Keunggulan model RAD adalah :
  • 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.
  • 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.

Kekurangan model RAD adalah :
  • Bagi proyek yang besar tetapi berskala, RAD memerlukan sumber daya manusia yang memadai untuk menciptakan jumlah tim RAD yang baik.
  • RAD menuntut pengembangan dan pelanggan memiliki komitmen di dalam aktivitas rapid-fire yang diperlukan untuk melengkapi sebuah sistem, di dalam kerangka waktu yang sangat diperpendek. Jika komitmen tersebut tidak ada, proyek RAD akan gagal.

Transformasi Formal

Metode ini berbasiskan pada transformasi spesifikasi secara matematik melalui representasi yang berbeda untuk suatu program yang dapat dieksekusi. Trasformasi menyatakan spesifikasi program Menggunakan pendekatan ‘Cleanroom’ untuk pengembangan PL.

Metode ini mempunyai keterbatasan dalam pemakaiannya. Keunggulannya adalah mengurangi jumlah kesalahan pada sistem sehingga penggunaan utamanya adalah pada sistem yang kritis. Hal ini menjadi efektif dari segi biaya.
Pemakaian model pengembangan formal memerlukan tingkat kerahasian sebelum digunakan.

Permasalahan dalam model pengembangan metode formal :
  • Memerlukan keahlian khusus dan pelatihan untuk mengaplikasikannya.
  • Sulit menentukan beberapa aspek dari suatu sistem seperti user interface.

Tidak ada komentar:

Posting Komentar

Standard Internasional ISO 27001 dan Manfaat Keamanan Informasi Informasi sebagai Aset Penting Informasi adalah salah satu aset pen...