480 likes | 987 Views
Pertemuan 2. Rekayasa Perangkat Lunak Proses Rekayasa Perangkat Lunak. A hmad Farisi, S. Kom. Pertanyaan Umum Mengenai Perangkat Lunak. Masalah Apa Yang Akan Dipecahkan ? Karakteristik apakah yang dipakai untuk memecahkan masalah tersebut ?. Fase Perangkat Lunak Secara Umum. Definisi.
E N D
Pertemuan 2 Rekayasa Perangkat LunakProsesRekayasaPerangkatLunak Ahmad Farisi, S. Kom
Pertanyaan Umum Mengenai Perangkat Lunak MasalahApa Yang AkanDipecahkan ? Karakteristikapakahyang dipakaiuntukmemecahkanmasalahtersebut ?
Fase Perangkat LunakSecara Umum Definisi Kebutuhanatau requirementmerupakankuncidarisistemdanperangkatlunak yang didefinisikan
Fase Perangkat Lunak SecaraUmum Pengembangan Mendefinisikanbagaimana data dikonstruksikan, fungsidiimplementasikan, bagaimanapengujiandilakukan
Fase Perangkat Lunak SecaraUmum Pemeliharaan Berfokuspadaperubahan (change) yang dihubungkandengankoreksikesalahanpenyesuaian yang dibutuhkanketikalingkunganperangkatlunakberkembang.
FASE PENGEMBANGAN Analisis Perancangan Pengujian Implementasi
Proses Rekayasa Perangkat Lunak ProsesManajemenProyek ProsesPengembangan PerangkatLunak
Model Proses Perangkat Lunak 1. Model Sekuensial Linear (Waterfall)
Model Sekuensial Linear Analisis : PengumpulanKebutuhan Desain : Struktur Data, Arsitektur, Representasi Interface, dan Detail Kode : Desainditerjemahkandenganmembuatkode program Tes : Pengujian program internal, maupuneksternal.
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 Berfungsisebagaimekanismeuntukmengidentifikasikebutuhanperangkatlunak “PerancanganKilat” untukmenyajikanaspekperangkatlunakdandigunakanuntukmenyaringkebutuhan.
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 Menekankansikluspengembangan yang sangatpendek. Pengembangancepatdicapaidenganpendekatankonstruksiberbasiskomponen.
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 EvolusionerInkremental
Evolusioner Inkremental Model inkrementalmenggabungkanelemen-elemen model sekuensial linier (diimplementasikansecaraberulang) denganfilosofi 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 Merangkaisifatmetodeiteratifdengancarakontroldanaspeksistematisdari 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 EvolusionerRakitanKomponen
Evolusioner Rakitan Komponen Paradigmaorientasiobyekmenekankanpembuatankelas yang mengenkapsulasi data danalgoritma yang digunakanuntukmanipulasi data. Jikadidesaindandibuatdenganbenarkelasorientasiobyekdapatdigunakankembalimeskidenganberbagaiaplikasidanarsitektur yang berbasiskomputer.
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 EvolusionerPerkembanganKonkuren
Evolusioner Perkembangan Konkuren FokusPadaaktivitasdankejadiandalamrekayasaperangkatlunak Dikendalikanolehkebutuhanparapemakai, keputusanmanajemen, danhasilpengkajian
Model Proses Perangkat Lunak 8. Model Formal Metode formal memungkinkanperekayasaperangkatlunakuntukmengkhususkan, mengembangkan, danmemverifikasi system berbasis computer denganmenggunakannotasimatematis yang tepat. Diterapkanpadaperangkatlunak yang pentingdankompleks. Semisaluntukperangkatmedisataupengendalipesawattempur
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).