Jumat, 14 Agustus 2015

model process perangakat lunak

Assalamualaikum…..
    Pada post kali ini ane akan menjelaskan Tentang Model Proses perangkat lunak , berserta kelebihan dan kekuranga nya:
 1. RAD( Rapid Appliaction Development),
2. Macam-macam Evolutionty Software Process,
3. Componet based Development,
4. formal Method Model, dan
5.  4th Generation

******
Ya pertama-tama ane akan menjelaskan tentang RAD~~~~~

Rapid application development (RAD)
    [rapid prototyping] adalah model proses pembangunan perangkat lunak yang tergolong dalam teknik incremental (bertingkat). RAD menekankan pada siklus pembangunan pendek, singkat, dan cepat. Waktu yang singkat adalah batasan yang penting untuk model ini.
Rapid application development menggunakan metode iteratif (berulang) dalam mengembangkan sistem dimana working model (model bekerja) sistem dikonstruksikan di awal tahap pengembangan dengan tujuan menetapkan kebutuhan (requirement) user dan selanjutnya disingkirkan. Working model digunakan kadang-kadang saja sebagai basis desain dan implementasi sistem final.
Kelebihan:
-          Menghemat waktu dalam proses pengembangan
-          Lebih fleksibel dalam hal pengembangan desain
-          Mampu meminimalisasi kan kesalahan – kesalahan
-          Dan masih banyak lagi.
Kekurangan:
-          Menggunakan banyak biaya dibandingkan dengan bekerja sendiri
-          Mengalami Kesulitan dalam melakukan pengukuran
-          Kesalahan sering terjadi karena lebih memilih kecepatan dibandingkan dengan kualitas serta biaya yang dikeluarkan
-          Untuk proyek skala besar kurang cocok untuk model ini

******
Selanjutnya Evolutionty Software Process dan berserta teman teman ya~~~~~

Evolutionanty software Process Model terdiri dari:
1. Incerement model
    Model ini merupakan hasil kombinasi elemen-elemen dari model waterfall yang diaplikasikan secara berulang. Elemen-elemen tersebut dikerjakan hingga menghasilkan produk dengan spesifikasi tertentu kemudian proses dimulai dari awal kembali hingga muncul hasil yang spesifikasinya lebih lengkap dari sebelumnya dan tentunya memenuhi kebutuhan pemakai.
Kelebihan model :
-          mampu mengakomodasi perubahan secara fleksibel, dengan waktu yang relatif singkat dan tidak dibutuhkan anggota/tim yang banyak untuk menjalankannya.
-          Bersifat interatif atau perulangan.
-          prioritas tinggi pada pelayanan system adalah yang paling diuji.
-          Produk yang dihasilkan semakin lama semakin lengkap, hingga versi akhir dari sebuah produk akan dianggap paling lengkap dan sempurna karena mengalami perbaikan yang berkesinambungan.
-          Model ini cocok jika jumlah anggota tim pengembangan/pembangunan software terbatas
-          Pelanggan dapat memakai inkremen yang pertama sebagai bentuk prototype dan mendapatkan pengalaman yang dapat menginformasikan persyaratan untuk inkremen system berikutny
-          Resiko untuk kegagalan proyek secara keseluruhan lebih rendah. Walaupun masalah dapat ditemukan pada beberapa inkremen, bias saja beberapa inkremen diserahkan dengan sukses kepada pelanggan

Kekurangan model :
-          tidak cocok untuk proyek berukuran besar (lebih dari 200.000 baris coding),dan sulit untuk memetakan kebutuhan pemakai ke dalam rencana spesifikasi tiap-tiap hasil dari increament.
-          Adanya kesulitan untuk memetakan persyaratan pelanggan pada inkremen dengan ukuran yang benar
-          Butuh waktu yang relatif lebih lama untuk menghasilkan produk yang lengkap.

2. Model spiral
    Model spiral pada awalnya diusulkan oleh Boehm, adalah model proses perangkat lunak evolusioner yang merangkai sifat iteratif dari prototype dengan cara kontrol dan aspeksistematis model sequensial linier.
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 .
-          Menggunakan prototipe sebagai mekanisme pengurangan resiko dan pada setiap keadaan di dalam evolusi produk.
-          Tetap mengikuti langkah-langkah dalam siklus kehidupan klasik dan memasukkannya ke dalam kerangka kerja iteratif .
-          Membutuhkan pertimbangan langsung terhadp resiko teknis sehingga mengurangi resiko sebelum menjadi permaslahan yang serius.
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

3. WINWIN Spiral Model
    model yang memungkinkan user dan pengembang melakukan komunikasi dalam tahap pengembangan, dimana bisa memberikan win-win solution, seperti user(pengguna) bisa mengemukakan sebagian besar dan atau keseluruhan kebutuhannya sedangkan pengembang bisa mengembangkan perangkat lunak sesuai dengan kebutuhan usertersebut dalam cakupan waktu dan biaya yang sudah dispesifikasikan.
Kelebihan :
-          Sama sama adanya kesepakatan developer dengan customer.
-          Terdapat kepuasan dan keuntungan antara developer dengan customer karena aplikasi yang dijalankan dengan negoisasi sesuai kesepakatan.
-          Sangat efektif untuk digunakan karena kesepakatan antara developer dengan customer sama-sama disepakati sehingga tidak akan menimbulkan ketidak puasan customer

Kekurangan :
-          Membutuhkan waktu yang cukup lama 
-          Seringkali pada awalnya customer dengan developer mengalamikecekcokkan pada saat negoisasi

******
Lalu ada Component-based development ~~~~~~

Component-based development
    sangat berkaitan dengan teknologi berorientasi objek. Pada pemrograman berorientasi objek, 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.
Secara umum proses yang terjadi dalam model ini adalah:
1. 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 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. Bangun software dengan class-class yang sudah ditentukan atau class baru yang dibuat, integrasikan.

Kelebihan :
-          Mampu mengurangi siklus waktu pengembangan software, 70%.
-          biaya produksi berkurang sampai 84% karena pembangunan komponen berkurang.
-          Pembangunan software dengan menggunakan komponen yang sudah tersedia dapat menggunakan komponen COTS (Commercial off-the-shelf) – yang bisa didapatkan dengan membeli atau komponen yang sudah dibangun sebelumnya secara internal
-          Menggunakan model reuse, pada komponen yang sudah mewakili kebutuhan umum
Kekurangan :
-          Model ini bersifat iteratif atau berulang-ulang prosesnya.
-          Sistem yang tidak bisa dimodularisasi tidak cocok untuk model ini.
    Component-Based Software Engineering (CBSE) adalah proses yang menekankan perancangan dan pembangunan software dengan menggunakan komponen software yang sudah ada. CBSE terdiri dari dua bagian yang terjadi secara paralel yaitu software engineering (component-based development) dan domain engineering .

1. software engineering (component-based development) ialah melakukan analisis terhadap domain model yang sudah ditetapkan kemudian menentukan spesifikasi dan merancang berdasarkan model struktur dan spesifikasi sistem, kemudian melakukan pembangunan software dengan menggunakan komponen-komponen yang sudah ditetapkan berdasarkan analisis dan rancangan yang dihasilkan sebelumnya hingga akhirnya menghasilkan software.
2. domain engineering ialah  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.

******
Setelah Component-based development ada Formal Method Model ~~~~

Formal Method Model
    Pada model ini, yang digunakan disini adalah notasi matematika yang terperinci dan penuh ketelitian dalam mengidentifikasi desain dan menguji sistem yang berbasis komputer.
Metode ini sering dipakai untuk spesifikasi yang detail, rancangan dan verifikasi pada bagian-bagian sistem yang penting (bersifat kritikal) seperti pada sistem avionic dan aerospace, serta pada sistem keamanan yang kritikal pada monitor jantung, ATM (Anjungan Tunai Mandiri) dan pada perbankan.dan secara khusus, metode formal sangat cocok dijalankan pada sistem yang kompleks.

Kelebihan model :
-          pengurangan waktu
-           peningkatan produktivitas yang besar.
Kekurangan model :
-          kemungkinan akan sulit memanfaatkan alat bantu/peralatan/tools 4GT dibandingkan dengan menggunakan bahasa pemrograman yang konvensional, selain itu terdapat juga masalah dalam hal kode sumber yang tidak efisien.
-          Di samping itu, pemeliharaan sistem software besar yang dikembangkan oleh 4GT juga masih sedang dalam proses pengkajian.
-          Dan juga bebrapa kerugian lainya Biaya Tinggi, Kompleks, dan Tidak Umum untuk Proyek Software pada umumnya

******
Selanjutnya dan yang terahkir 4th Generation~~~~~

4th Generation
    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 menggunakanperangkat 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 :
-          Pengurangan waktu dan peningkatan produktivitas secara besar
-          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.
-          Tool yang menggunakan metode pengembangan perangkat lunak 4GL bisa meng-generate sistem dari output yang dihasilkan oleh CASE tools.
Kekurangan :
-          Penggunaan perangkat bantu (tools) dibandingkan dengan bahasa pemrograman, dan juga kode sumber yang dihasilkannya tidak efisien.
-          Untuk usaha yang besar, dibutuhkan pengembangan strategi desain untuk sistem, walau digunakan bahasa 4GL.
-          Penggunaan 4GT tanpa perencanaan matang (untuk proyek besar) akan menyebabkan kesulitan yang sama (kualitas dan pemeliharaan yang jelek, ketidakpuasan pelanggan) seperti dengan metode konvensional.
-          4GL tidak selalu berhasil menghasilkan sistem yang diinginkan.


Sekian dari saya mohon maaf jika ada yang kurang .{ jika kurang mengerti silakan berguru ke embah google }
wassalamualaikum.....

1 komentar:

  1. elsa, gua minta sesuatu
    lu upload ke blog lu dong, tentang yang di pelajari di sekolah tapi waktu praktek aja

    GC ya gua minta nya

    BalasHapus