Lompat ke konten Lompat ke sidebar Lompat ke footer

Model Proses Rekayasa Perangkat Lunak

 

Model Proses Rekayasa Perangkat Lunak

Pemodelan dalam suatu rekayasa perangkat lunak merupakan suatu hal yang dilakukan di tahapan awal. Di dalam suatu rekayasa dalam perangkat lunak sebenarnya masih memungkinkan tanpa melakukan suatu pemodelan. Namun hal itu tidak dapat lagi dilakukan dalam suatu industri perangkat lunak. Pemodelan delam perangkat lunak merupakan suatu yang harus dikerjakan di bagian awal dari rekayasa, dan pemodelan ini akan mempengaruhi perkerjaan-pekerjaan dalam rekayasa perangkat lunak tersebut.

Pada rekayasa perangkat lunak, banyak model yang telah dikembangkan untuk membantu proses pengembangan perangkat lunak. Model-model ini pada umumnya mengacu pada model proses pengembangan sistem yang disebut System Development Life Cycle (SDLC).

Setiap model yang dikembangkan mempunyai karakteristik sendiri. Namun secara umum ada persamaannya, yaitu :

  • Kebutuhan terhadap definisi masalah yang jelas. Input utama dari setiap model pengembangan perangkat lunak adalah pendefinisian masalah yang jelas. Semakin jelas akan semakin baik karena akan memudahkan dalam penyelesaian masalah. Oleh karena itu pemahaman masalah merupakan bagian penting dari model pengembangan perangkat lunak.

  • Tahapan-tahapan pengembangan yang teratur. Meskipun model-model pengembangan perangkat lunak memiliki pola yang berbeda-beda, biasanya model-model tersebut mengikuti pola umum analysis – design – coding – testing – maintenance.

  • Stakeholder berperan sangat penting dalam keseluruhan tahapan pengembangan. Stakeholder dalam rekayasa perangkat lunak dapat berupa pengguna, pemilik, pengembang, pemrogram dan orang-orang yang terlibat dalam rekayasa perangkat lunak tersebut.

  • Dokumentasi merupakan bagian penting dari pengembangan perangkat lunak. Masing-masing tahapan dalam model biasanya menghasilkan sejumlah tulisan, diagram, gambar atau bentuk-bentuk lain yang harus didokumentasi dan merupakan bagian tak terpisahkan dari perangkat lunak yang dihasilkan.

  • Keluaran dari proses pengembangan perangkat lunak harus bernilai ekonomis. Nilai dari sebuah perangkat lunak sebenarnya agak susah dirupiah- kan. Namun efek dari penggunaan perangkat lunak yang telah dikembangkan haruslah memberi nilai tambah bagi organisasi. Hal ini dapat Setiap model yang dikembangkan mempunyai karakteristik sendiri-sendiri.

Apa itu model proses rekayasa perangkat lunak? 

Model proses merupakan sebuah penjelasan yang di sederhanakan dari proses suatu perangkat lunak dan kemudian di perlihatkan dengan sudut penglihat yang berbeda. Model proses ini mencakup seluruh aktivitas yang masuk di dalam bagian proses dan benda dari perangkat lunak serta peran dari si pemakainya juga.

Model proses perangkat lunak masih menjadi object penelitian, tapi sekarang ada banyak model umum atau paradigma yang berbeda dari pengembangan perangkat lunak, antara lain:

Waterfall

Untuk Greader ketahui Model waterfall adalah suatu model yang mempunyai pengembangan perangkat lunak secara sistem. Jadi, dari model waterfall ini bisa melakukan kerjaan dari suatu sistem yang dikerjakan secara tersusun.

Model  Waterfall

Sebuah pendekatan pengembangan perangkat lunak sistematik dan sekuensial. Disebut juga “Classic Life Cycle”. Disebut waterfall (berarti air terjun) karena memang diagram tahapan prosesnya mirip dengan air terjun yang bertingkat.

Pada ini ada beberapa fase yang harus kita terapkan, yaitu:

  1. Analisi kebutuhan lalu pendefenisiannya
  2. Perancangan Sistem dan Perangkat lunaknya
  3. Implementasi dan unit testing
  4. Integrasi dan pengujian sistem
  5. Pengoprasian dan persawatan

Dimana sebuah proses akan kembali ke state sebulumnya agar tidak ada perubahan setelah proses menuju state di bawahnya sebab sangat sulit.

Setiap model pasti ada kekurangan dan kelebihan, dan berikut merupakan kekurangan dan kelebihan dari model Waterfall :

  • Kelebihannya

Software atau perangkat lunak yang memakai model ini biasanya dapat menghasilkan kualitas yang cukup baik.

Dokumentasi dari pengembangan sistem ini sangat terarah. Karena pada setiap bagiannya diselesaikan terlebih dahulu sebelum ke bagian selanjutnya.

  • Kekurangannya

Perubahan sulit di lakukan karena karakter yang kaku. Karena sifat kakunya inilah model ini mungkin bisa pas ketika kebutuhan yang akan dikumpulkan lengkap, sehingga perubahan bisa diperkecil.

Model RAD

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).

  • Kelebihan Penggunaan Model RAD

Dimungkinkan dalam proses pembuatan membutuhkan waktu yang sangat singkat (60-90 hari).

Menghemat biaya, karena penekannya adalah penggunaan komponen-komponen yang sudah ada.

RAD menggunakan kembali komponen-komponen yang sudah ada, maka beberapa komponen program sudah diuji sehingga kita dapat melakukan penghematan waktu dalam uji coba

  • Kekurangan Penggunaan Model RAD

Seperti semua proses model yang lain, pendekatan RAD memiliki kekurangan-kekurangan sebagi berikut :

  • 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 yang memiliki komitmen di dalam aktifitas rapid-fire yang diperlukan untuk melengkapi sebuah sistem, di dalam kerangka waktu yang sangat diperpendek. Jika komitmen tersebut tidak ada, proyek RAD akan gagal. RAD menekankan perkembangan komponen program yang bisa dipakai kembali. Reusable menjadi batu pertama teknologi objek dan ditemui di dalam proses rakitan komponen

  • Tidak semua aplikasi sesuai untuk RAD. Bila sistem tidak dapat dimodulkan dengan teratur, pembangunan komponen penting pada RAD akan menjadi sangat problematis.

  • RAD menjadi tidak sesuai jika risiko teknisnya tingggi. Hal ini terjadi bila sebuah aplikasi baru memforsir teknologi baru atau bila perangkat lunak baru membutuhkan tingkat interoperabilitas yang tinggi dengan program komputer yang ada.

Model Prototype

Model Prototype

Metode prototyping adalah sistem informasi yang menggambarkan hal-hal penting dari sistem informasi yang akan datang. Prototipe sistem informasi bukanlah merupakan sesuatu yang lengkap, tetapi sesuatu yang harus dimodifikasi kembali, dikembangkan, ditambahkan atau digabungkan dengan sistem informasi yang lain bila perlu.

Jenis-Jenis Prototyping

Feasibility prototyping – digunakan untuk menguji kelayakan dari teknologi yang akan digunakan untuk system informasi yang akan disusun.

Requirement prototyping – digunakan untuk mengetahui kebutuhan aktivitas bisnis user.

Desain Prototyping –  digunakan untuk mendorong perancangan system informasi yang akan digunakan.

Implementation prototyping – merupakan lanjytan dari rancangan protipe, prototype ini langsung disusun sebagai suatu system informasi yang akan digunakan.

Adapun keunggulan dan kelemahan dalam model prototype:

  • Keunggulan Prototyping:

User dapat berpartisipasi aktif

Penentuan kebutuhan lebih mudah diwujudkan

Mempersingkat waktu pengembangan SI

  • Kelemahan Prototyping :

Proses analisis dan perancangan terlalu singkat

Mengesampingkan alternatif pemecahan masalah

Bisanya kurang fleksible dalam mengahadapi perubahan

Prototype yang dihasilkan tidak selamanya mudah dirubah

Prototype terlalu cepat selesai

Model Spiral

Model Spiral

Model ini cukup baru ditemukan,yaitu tahun 1988 oleh Barry Boehm. Spiral adalah salah satu bentuk evolusi yang menggunakan metode iterasi natural yang dimiliki oleh model prototyping dan digabungkan dengan aspek sistematis yang dikembangkan model waterfall.

Spiral model dibagi menjadi beberapa framework aktivitas, yang disebut dengan task regions. Kebanyakan aktivitas2 tersebut dibagi antara 3 sampai 6 aktivitas. Berikut adalah aktivitas-aktivitas yang dilakukan dalam spiral model :

Customer communication. Aktivitas yang dibutuhkan untuk membangun komunikasi yang efektif antara developer dengan user / customer terutama mengenai kebutuhan dari customer.

Planning. Aktivitas perencanaan ini dibutuhkan untuk menentukan sumberdaya, perkiraan waktu pengerjaan, dan informasi lainnya yang dibutuhkan untuk pengembangan software.

Analysis risk. Aktivitas analisis resiko ini dijalankan untuk menganalisis baik resiko secara teknikal maupun secara manajerial. Tahap inilah yang mungkin tidak ada pada model proses yang juga menggunakan metode iterasi, tetapi hanya dilakukan pada spiral model.

Engineering. Aktivitas yang dibutuhkan untuk membangun 1 atau lebih representasi dari aplikasi secara teknikal.

Construction & Release. Aktivitas yang dibutuhkan untuk develop software, testing, instalasi dan penyediaan user / costumer support seperti training penggunaan software serta dokumentasi seperti buku manual penggunaan software.

Customer evaluation. Aktivitas yang dibutuhkan untuk mendapatkan feedback dari user / customer berdasarkan evaluasi mereka selama representasi software pada tahap engineering maupun pada implementasi selama instalasi software pada tahap construction and release.

Adapun beberapa Kelebihan dan Kelemahan Model Spiral yang ada:

  • Kelebihan model Spiral :

Dapat disesuaikan agar perangkat lunak bisa dipakai selama hidup  perangkat lunak komputer.

Lebih cocok untuk pengembangan sistem dan perangkat lunak skala besar

Pengembang dan pemakai dapat lebih mudah memahami dan bereaksi terhadap resiko setiap   tingkat evolusi karena perangkat lunak terus bekerja selama proses

  • Kelemahan model Spiral:

Sulit untuk menyakinkan pelanggan bahwa pendekatan evolusioner ini bisa dikontrol.

Memerlukan penaksiran resiko yang masuk akal dan akan menjadi masalah yang serius jika resiko mayor tidak ditemukan dan diatur.

Butuh waktu lama untuk menerapkan paradigma ini menuju kepastian yang absolute.

Model 4GT (Fourt Generation Techniques)

Model 4GT (Fourt Generation Techniques)

Saat ini pengembangan perangkat lunak yang mendukung 4GT, berisi tool-tool berikut:

  1. Bahasa non prosedural untuk query basis data;
  2. Report generation;
  3. Data manipulation ;
  4. Interaksi layar ;
  5. Kemampuan grafik level tinggi ;
  6. Kemampuan spreadsheet .

Tiap tool ini ada tapi hanya untuk sauatu aplikasi khusus. Metode pengembangan perangkat lunak 4GT menggunakan perangkat bantu (tools) yang akan membuat kode sumber secara otomatis berdasarkan spesifikasi dari pengembang perangkat lunak. Hanya digunakan untuk menggunakan perangkat lunak yang menggunakan bahasa khusus atau notasi grafik yang diselesaikan dengan syarat yang dimengerti pemakai. Cakupan aktivitas 4GT meliputi:

  1. Pengumpulan kebutuhan, idealnya pelanggan akan menjelaskan kebutuhan yang akan ditranslasikan ke prototype operasional.
  2. Translasi kebutuhan menjadi prototype operasional, atau langsung melakukan implementasi secara langsung dengan menggunakan bahasa generasi keempat (4GL) jika aplikasi relatif kecil.
  3. Untuk aplikasi yang cukup besar, dibutuhkan strategi perancangan sistem walaupun 4GL akan digunakan.
  4. Pengujian.
  5. Membuat dokumentasi.
  6. Melaksanakan seluruh aktivitas untuk mengintegrasikan solusi-solusi yang membutuhkan paradigma rekayasa perangkat lunak lainnya.

Kelebihan dari metode pengembangan perangkat lunak ini diantaranya :

  1. Pengurangan waktu dan peningkatan produktivitas secara besar
  2. Karena 4GT menggunakan 4GL yang merupakan bahasa pemrograman yang  khusus dirancang dengan tujuan tertentu (spesifik), maka untuk permasalahan yang tertentu dengan 4GL tertentu pula sangat tepat menggunakan 4GT.
  3. Tool yang menggunakan metode pengembangan perangkat lunak 4GL bisa meng-generate sistem dari output yang dihasilkan oleh CASE tools.

Untuk aplikasi yang kecil, adalah mungkin untuk langsung berpindah dari pengumpulan kebutuhan ke implementasi dengan menggunakan metode 4GL. Tapi untuk aplikasi yang besar, dibutuhkan pengembangan strategi desain untuk sistem, walau digunakan 4GL. Penggunaan 4GL tanpa perencanaan yang matang (untuk proyek skala besar) akan meyebabkan kesulitan yang sama (kualitas dan pemeliharaan yang jelek, ketidakpuasan pelanggan) seperti dengan metode pengembangan perangkat lunak model konvensional.

Posting Komentar untuk "Model Proses Rekayasa Perangkat Lunak"