Rekayasa Perangkat Lunak Model Proses PL Pertemuan 3 Khairul Anwar Hafizd khairul.anwarhafizd@gmail.com
Pertanyaan Umum Mengenai Perangkat Lunak Masalah apa yang akan dipecahkan ? Karakteristik apakah yang dipakai untuk memecahkan masalah tersebut ?
Fase Perangkat Lunak Secara Umum Kebutuhan atau requirement merupakan kunci dari sistem dan perangkat lunak yang didefinisikan Definisi
Fase Perangkat Lunak Pengembangan Mendefinisikan bagaimana data dikonstruksikan, fungsi diimplementasikan, bagaimana pengujian dilakukan Pengembangan
Fase Perangkat Lunak Pemeliharaan Berfokus pada perubahan (change) yang dihubungkan dengan koreksi kesalahan penyesuaian yang dibutuhkan ketika lingkungan perangkat lunak berkembang. Pemeliharaan
Fase Pengembangan Analisis Perancangan Pengujian Implementasi
Proses Rekayasa Perangkat Lunak Proses Manajemen Proyek Proses Pengembangan Perangkat Lunak
Model Proses Perangkat Lunak 1. Model Waterfall
Model Waterfall Analisis : Pengumpulan Kebutuhan Desain : Struktur Data, Arsitektur, Representasi Interface, dan Detail Kode : Desain diterjemahkan dengan membuat kode program Tes : Pengujian program internal, maupun eksternal.
Keunggulan Kualitas dari sistem yang dihasilkan akan baik. Document pengembangan system terorganisir. Cocok jika kebutuhan sudah diketahui dengan baik.
Kelemahan Kesalahan kecil akan menjadi masalah besar jika tidak diketahui sejak awal Pelanggan sulit menyatakan kebutuhan secara eksplisit Waktu tidak efisien, menunggu tahap sebelumnya baru bisa lanjut.
Model Proses Perangkat Lunak 2. Model Prototipe
Model Prototipe Berfungsi sebagai mekanisme untuk mengidentifikasi kebutuhan perangkat lunak “Perancangan Kilat” untuk menyajikan aspek perangkat lunak dan digunakan untuk menyaring kebutuhan.
Keunggulan Adanya komunikasi antara pengembang dan pelanggan Pengembang dapat bekerja lebih baik Pelanggan berperan aktif dalam pengembangan Lebih menghemat waktu
Kelemahan Pelanggan tidak paham bahwa perangkat lunak yang ada belum mencantumkan kualitas dan pemeliharaan untuk jangka waktu lama. Pengembang biasanya ingin cepat, menyelesaikan proyek sehingga menggunakan alogaritma dan bahasa yang sederhana agar lebih cepat, tanpa memikirkan program tersebut merupakan blue print system.
Model Proses Perangkat Lunak 3. Rapid Application Development (RAD)
Model RAD Menekankan siklus pengembangan yang sangat pendek. Pengembangan cepat dicapai dengan pendekatan konstruksi berbasis komponen.
Keunggulan Lebih fleksibel karena pengembang dapat melakukan proses desain ulang pada saat yang bersamaan. Bisa mengurangi penulisan kode yang kompleks karena menggunakan wizard. Tampilan yang lebih standar dan nyaman dengan bantuan software-software pendukung.
Kelemahan Lebih banyak terjadi kesalahan apabila hanya mengutamakan kecepatan pembuatan. Fasilitas-fasilitas banyak yang dikurangi karena terbatasnya waktu yang tersedia. Sistem sulit diaplikasikan di tempat yang lain. Fasilitas yang tidak perlu terkadang harus disertakan, karena menggunakan komponen yang sudah jadi.
Model Proses Perangkat Lunak 4. Model Evolusioner Inkremental
Evolusioner Inkremental Model inkremental menggabungkan elemen-elemen model sekuensial linier (diimplementasikan secara berulang) dengan filosofi prototype interatif.
Keunggulan Pelanggan tidak perlu menunggu sampai seluruh system dikirim untuk mengambil keuntungan dari system tersebut. Resiko untuk kegagalan proyek secara keseluruhan lebih rendah
Kelemahan Inkremen harus relative lebih kecil (tidak lebih dari 20.000 baris kode) dan setiap inkremen harus menyediakan sebagian dari fungsional system Adanya kesulitan untuk memetakan persyaratan pelanggan pada inkremen dengan ukuran yang benar
Model Proses Perangkat Lunak 5. Model Evolusioner Spiral
Evolusioner Spiral Merangkai sifat metode iteratif dengan cara kontrol dan aspek sistematis dari model sekuensial linear (Waterfall)
Keunggulan Model ini sangat baik digunakan untuk sistem dan software yang besar. Adanya analisa resiko pada mekanisme untuk memperkecil resiko. Adanya prototyping sehingga memudahkan komunikasi dengan konsumen
Kelemahan Memerlukan waktu yang cukup lama untuk mengembangkan software. Sistem pengendalian yang kurang baik
Model Proses Perangkat Lunak 6. Model Evolusioner Rakitan Komponen
Evolusioner Rakitan Komponen Paradigma orientasi obyek menekankan pembuatan kelas yang mengenkapsulasi data dan algoritma yang digunakan untuk manipulasi data. Jika didesain dan dibuat dengan benar kelas orientasi obyek dapat digunakan kembali meski dengan berbagai aplikasi dan arsitektur yang berbasis komputer.
Keunggulan Model rakitan komponen membawa kepada penggunaan kembali perangkat lunak (reusability). Kelas kelas yang dihasilkan dapat dipakai dan digunakan kembali
Kelemahan Memerlukan waktu yang cukup lama untuk mengembangkan software. Masih banyak kinerja kelas yang perlu diuji ulang ketika adanya perpasangan antar kelas
Model Proses Perangkat Lunak 7. Model Evolusioner Perkembangan Konkuren
Evolusioner Perkembangan Konkuren Fokus Pada aktivitas dan kejadian dalam rekayasa perangkat lunak Dikendalikan oleh kebutuhan para pemakai, keputusan manajemen, dan hasil pengkajian
Model Proses Perangkat Lunak 8. Model Formal Metode formal memungkinkan perekayasa perangkat lunak untuk mengkhususkan, mengembangkan, dan memverifikasi system berbasis computer dengan menggunakan notasi matematis yang tepat. Diterapkan pada perangkat lunak yang penting dan kompleks. Semisal untuk perangkat medis atau pengendali pesawat tempur
Keunggulan Dapat memverifikasi program sehingga memungkinkan perekayasa perangkat lunak untuk menemukan dan memperbaiki kesalahan yang mungkin saja tidak terdeteksi dengan menggunakan analisis matematika
Kelemahan Pengembangan model formal banyak memakan waktu dan mahal. Sulit untuk menggunakan model – model sebagai sebuah mekanisme komunikasi bagi pemakai yang secara teknik belum canggih.
Model Proses Perangkat Lunak 9. Model 4th Generation Pemodelan ini menggunakan alat bantu perangkat lunak, yakni bahasa pemrograman 4GT, yang memungkinkan pengembang sistem menspesifikasi karakteristik perangkat lunak dimana alat bantu ini akan menghasilkan kode sumber berdasarkan spesifikasi secara otomatis. Empat tahapan dalam pemodelan ini adalah pengumpulan kebutuhan-kebutuhan, penyusunan strategi perancangan, implementasi dengan 4GT, dan uji coba.
Keunggulan Penggunaan perangkat 4GT tidak membutuhkan pengetahuan bahasa pemograman, karena kode computer (source code) dapat dibangkitkan oleh system 4GT. 4GT mengurangi waktu pengembangan perangkat lunak dan meningkatkan produktivitas manusia yang mengembangkannya.
Kelemahan Kode computer yang dihasilkan tidak efisien dan perawatan system perangkat lunak besar yang dikembangkan menggunakan 4GT masih menjadi tanda Tanya. Penggunaan 4GT masih terbatas pada aplikasi system informasi bisnis, khususnya analisis informasi dan pelaporan yang mengacu pada database besar.
Model Proses Perangkat Lunak 10. Model Extreme Programming
Extreme Programming Extreme Programming (XP) adalah sebuah pendekatan atau model pengembangan perangkat lunak yang mencoba menyederhanakan berbagai tahapan dalam proses pengembangan tersebut sehingga menjadi lebih adaptif dan fleksibel.
Keunggulan Proses pendek dan cepat, mengutamakan aspek teknik, memisahkan unsur bisnis dengan unsur teknis dan pertemuan intensif antara klien dengan developer Setiap developer menyelesaikan sebuah unit atau bagian dari perangkat lunak maka hasil tersebut harus segera dipresentasikan dan didiskusikan dengan klien
Kelemahan Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima. Tidak bisa membuat kode yang detail di awal (prinsip simplicity dan juga anjuran untuk melakukan apa yang diperlukan hari itu juga).