Breaking News

Selasa, 13 Maret 2018

Proses Pengembangan Perangkat Lunak Beserta Kelebihan Dan Kekuranganya || Tugas RPL 2


Proses Pengembangan Perangkat Lunak (Software Development Process) adalah suatu penerapan struktur pada pengembangan suatu Perangkat Lunak (Software), yang bertujuan untuk mengembangkan sistem dan memberikan panduan untuk menyukseskan proyek pengembangan sistem melalui tahapan-tahapan tertentu.
Pemodelan Perangkat Lunak banyak macamnya, berikut 5 model Pengembangan Perangkat Lunak yang akan saya jelaskan sebagai berikut;
1.       Model  Waterfall
2.       Model Prototype
3.       Model RAD
4.       Model Spiral
5.       Fourth Generation Techniques (4GT)

1. Model  Waterfall

Hasil gambar untuk proses pengembangan perangkat lunak waterfall
Merupakan pengembangan model pengembangan perangkat lunak paling tua, dan paling banyak dipakai. Model ini mengusulkan sebuah pendekatan perkembangan perangkat lunak yang sistematik dan sekunsial yang dimulai pada tingkat dan kemajuan sistem pada seluruh tahapan analisis, desain , kode, pengujian, dan pemeliharaan.
Berikut Merupakan Tahapan – tahapan Pengembangan  Model Waterfall :

Rekayasa dan pemodelan sistem/informasi (communicating)
Langkah pertama dimulai dengan membangun keseluruhan elemen sistem dan memilah bagian-bagian mana yang akan dijadikan bahan pengembangan perangkat lunak, dengan memperhatikan hubungannya dengan ketentuan Hardware, User, dan Database.

Analisis kebutuhan perangkat lunak
Pada proses ini, dilakukan penganalisaan dan pengumpulan kebutuhan sistem yang meliputi Domain informasi,   Hasil penganalisaan dan pengumpulan tersebut didokumentasikan dan diperlihatkan kembali kepada pelanggan.

Desain
Pada proses Desain, dilakukan penerjemahan syarat kebutuhan sebuah perancangan perangkat lunak yang dapat diperkirakan sebelum dibuatnya proses pengkodean (coding). Proses ini berfokus pada  struktur data, arsitektur perangkat lunak, representasi interface, dan detail algoritma prosedural.

Pengkodean
Pengkodean merupakan proses menterjemahkan perancangan desain ke bentuk yang dapat dimengerti oleh mesin, dengan menggunakan bahasa pemrograman.

Pengujian
Setelah Proses Pengkodean selesai, dilanjutkan dengan proses pengujian pada program perangkat lunak, baik Pengujian logika internal, maupun Pengujian eksternal fungsional untuk memeriksa segala kemungkinan terjadinya kesalahan dan memeriksa apakah hasil dari pengembangan tersebut sesuai dengan hasil yang diinginkan.

Pemeliharaan
Proses Pemeliharaan erupakan bagian paling akhir dari siklus pengembangan dan dilakukan setelah perangkat lunak dipergunakan.

Kekurangan Model Waterfall

Terjadinya pembagian proyek menjadi tahap-tahap yang tidak fleksibel, karena komitmen harus dilakukan pada tahap awal proses.
Hal ini mengakibatkan sulitnya untuk merespon perubahan kebutuhan pengguna (user).
Model air terjun harus digunakan hanya ketika persyaratan dipahami dengan baik.

Kelebihan Model Waterfall

Bisa digunakan jika suatu persyaratan untuk membuat suatu software sudah dipahami dengan baik dan sudah lengkap semua persyaratan yang ada.

2. Model Prototype

 Gambar terkait
 Prototyping perangkat lunak (software prototyping) atau siklus hidup menggunakan protoyping (life cycle using prototyping) adalah salah satu metode siklus hidup sistem yang didasarkan pada konsep model bekerja (working model). Tujuannya adalah mengembangkan model menjadi sistem final. Artinya sistem akan dikembangkan lebih cepat dari pada metode tradisional dan biayanya menjadi lebih rendah. Ada banyak cara untuk memprotoyping, begitu pula dengan penggunaannya. Ciri khas dari metodologi ini adalah pengembang sistem (system developer), klien, dan pengguna dapat melihat dan melakukan eksperimen dengan bagian dari sistem komputer dari sejak awal proses pengembangan.

Pengumpulan kebutuhan

Pelanggan dan pengembang bersama-sama mendefinisikan format seluruh perangkat lunak, mengidentifikasikan semua kebutuhan, dan garis besar sistem yang akan dibuat.

Membangun prototyping

Membangun prototyping dengan membuat perancangan sementara yang berfokus pada penyajian kepada pelanggan (misalnya dengan membuat input dan format output).

Evaluasi protoptyping

Evaluasi ini dilakukan oleh pelanggan, apakah prototyping yang sudah dibangun sudah sesuai dengan keinginan pelanggan atau belum. Jika sudah sesuai, maka langkah selanjutnya akan diambil. Namun jika tidak, prototyping direvisi dengan mengulang langkah-langkah sebelumnya.

Mengkodekan sistem

Dalam tahap ini prototyping yang sudah di sepakati diterjemahkan ke dalam bahasa pemrograman yang sesuai.

Menguji sistem

Setelah sistem sudah menjadi suatu perangkat lunak yang siap pakai, kemudian dilakukan proses Pengujian. Pengujian ini dilakukan dengan White Box, Black Box, Basis Path, pengujian arsitektur, dll.

Evaluasi Sistem

Pelanggan mengevaluasi apakah perangkat lunak yang sudah jadi sudah sesuai dengan yang diharapkan . Jika ya, maka proses akan dilanjutkan ke tahap selanjutnya, namun jika perangkat lunak yang sudah jadi tidak/belum sesuai dengan apa yang diharapkan, maka tahapan sebelumnya akan diulang.

Kekurangan Model  Prototype

Proses analisis dan perancangan terlalu singkat.
Biasanya kurang fleksibel dalam mengahadapi perubahan.
Walaupun pemakai melihat berbagai perbaikan dari setiap versi prototype, tetapi pemakai mungkin tidak menyadari bahwa versi tersebut dibuat tanpa memperhatikan kualitas dan pemeliharaan jangka panjang.
Pengembang kadang-kadang membuat kompromi implementasi dengan menggunakan sistem operasi yang tidak relevan dan algoritma yang tidak efisien.

Kelebihan Model Prototype

Pelanggan berpartisipasi aktif dalam pengembangan sistem, sehingga hasil produk pengembangan akan semakin mudah disesuaikan dengan keinginan dan kebutuhan pelanggan.
Penentuan kebutuhan lebih mudah diwujudkan.
Mempersingkat waktu pengembangan produk perangkat lunak.
Adanya komunikasi yang baik antara pengembang dan pelanggan.
Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan pelanggan.
Lebih menghemat waktu dalam pengembangan sistem.
Penerapan menjadi lebih mudah karena pelanggan mengetahui apa yang diharapkannya.


3. Model RAD

Gambar terkait

 RAD (Rapid Application Development) Adalah metodologi pengembangan perangkat lunak (SDLC) yang menggunakan pengabungan antara Prototype Model dengan Iterative Model. Prototipe adalah model kerja yang secara fungsional setara dengan komponen produk.

Business Modeling (Bisnis Model)
Fase ini untuk perancangan dasar dari pengembangan produk berdasarkan informasi dan distribusi informasi antar saluran bisnis. Analisis bisnis yang lengkap dilakukan untuk menemukan informasi penting untuk bisnis, bagaimana hal itu dapat diperoleh, bagaimana dan kapan informasi diproses dan faktor apa yang mendorong arus informasi yang berhasil

Data Modeling (Data Model)
Fase ini untuk menganalisa informasi yang sudah dikumpulan dari fase Business Modeling. semua kumpulan data diidentifikasi dan didefinisikan  secara rinci untuk mencari model bisnis yang tepat.

Process Modeling (Proses Pemodelan)
Fase ini untuk untuk menetapkan arus informasi bisnis yang diperlukan untuk mencapai tujuan bisnis yang spesifik sesuai model bisnis. perubahan atau penyempurnaan pada kumpulan objek data didefinisikan dalam fase ini. Deskripsi proses untuk menambahkan, menghapus, mengambil atau memodifikasi objek data diberikan.

Application Generation (Generasi Aplikasi)
Fase ini untuk Sistem yang sebenarnya dibangun dan pengkodean dilakukan dengan menggunakan automatic tools i untuk mengubah model proses dan data menjadi prototype yang aktual

Testing and Turnover
Fase ini untuk pengujian keseluruhan sistem yang dibangun semua komponen perlu diuji secara menyeluruh dengan cakupan uji yang lengkap. Dengan pengujian yang lengkap dapat mengurangi risiko cacat sistem.

Kekurangan RAD (Rapid Application Development)

Ketergantungan pada anggota bisnis tim untuk mengidentifikasi persyaratan bisnis
Hanya sistem yang bisa di modularized yang bisa dibangun menggunakan RAD
Membutuhkan developer / designer yang berpengalaman
Ketergantungan pada keterampilan model
Kompleksitas manajemen
Tidak dapat diterapkan pada proyek yang kecil / murah

Kelebihan RAD (Rapid Application Development)

Mudah mengakomodasi peruabahan sistem
Progress development bisa di ukur
Waktu iterasi bisa di perpendek menggunakan RAD Tools
Mengurangi waktu development
Mudah dalam menentukan dasar sistem
Mempermudah feedback customer
Cocok untuk proyek yang membutuhkan waktu pengembangan yang lebih pendek.
Cocok untuk sistem yang berbasis komponen dan terukur.


4. Model Spiral

 Hasil gambar untuk proses pengembangan perangkat lunak spiral
pengembangan perangkat lunak dengan model spiral adalah proses pengembangan perangkat lunak yang digambarkan sebagai sebuah spiral, dimana tiap putaran menggabungkan tahap yang berbeda dalam prosesnya. Perpindahan dari satu spiral ke putaran lain, berarti mengulang semua tahapan dari proses pengembangan perangkat lunak.
Tiap putaran dalam spiral model mewakili sebuah fase dari proses pengembangan perangkat lunak. Dengan demikian, putaran paling dalam/ terdekat mungkin bersangkutan dengan kelayakan sistem, putaran selanjutnya dengan definisi kebutuhan, putaran selanjutnya dengan perancangan sistem, dan seterusnya.

Setiap loop (putaran) dalam spiral model dibagi menjadi 4 sektor, yaitu:

Objective Setting (Penetapan Tujuan)
Menetapkan tujuan spesifik untuk projek.Kendala pada proses dan produk diidentifikasi, rencana , pengelolaan yang lebih rinci dibuat.Resiko dalam projek direncanakan. Strategi alternatif, bergantung pada resiko-resiko yang sudah didefinisikan dan direncanakan.

Risk Assesment and Reduction (Penilaian dan pengurangan resiko)
Melakukan analisis detail mengenai tiap resiko projek yang sudah diidentifikasikan. Mendeskripsikan langkah untuk mengurangi resiko. Misalnya jika ada resiko bahwa requirement tidak pantas atau kurang, maka akan dibuat prototype sistem.

Development and Validation (Pengembangan dan Validasi)
Setelah evaluasi resiko, akan dipilih model pengembangan sistem. Misalnya, pembuatan prototype lembaran (throwaway) akan menjadi pendekatan pengembangan yang paling baik jika resiko user interface lebih besar atau dominan. Jika resiko utama yang diidentifikasi adalah integrasi subsistem, maka waterfall model mungkin adalah model pembangunan terbaik untuk digunakan.

Planning (Perencanaan)
Proyek di review dan dibuat keputusan apakah akan dilanjutkan dengan putaran spiral selanjutnya. Jika diputuskan untuk dilanjutkan, rencana akan disusun untuk fase selanjutnya dari proyek.

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

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.


5. Fourth Generation Techniques (4GT)

 
Istilah Fourth Generation Techniques (4GT) yaitu seperangkat peralatan software yang fungsinya sebagai perangkat pembantu untuk memudahkan seorang pengembang software mengaplikasikan karakteristik software tersebut, dari situ akan menghasilkan source code dan object code yang secara otomatis sesuai dengan persyaratan khusus yang dibuat oleh pengembang software tersebut.

Pengumpulan kebutuhan
Tahap ini merupakan tahap pengumpulan serangkaian kebutuhan. Customer menjelaskan kebutuhan-kebutuhan kemudian akan diterjemahkan ke dalam prototype. Tetapi jika customer merasa tidak yakin dengan apa yang diperlukan, maka prototype tidak akan dikerjakan oleh 4GT.
Merancang Strategi
        Tahap ini dibutuhkan untuk proyek besar yakni dengan menterjemahkan kebutuhan menjadi prototype operasional agar tidak timbul masalah yang sama jika dibuat dengan model konvensional.
Implementasi
        Tahap ini memungkinkan pengembang software menjelaskan hasil yang diinginkan, kemudian selanjutnya diterjemahkan dalam bentuk source code dan object code secara otomatis.
Produksi
        Tahap terakhir ini adalah mengubah implementasi 4GT ke dalam hasil akhir berupa produk.

Kekurangan Fourth Generation Techniques (4GT)

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.

Kelebihan Fourth Generation Techniques (4GT)

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.


Tidak ada komentar:

Posting Komentar

Designed By