Proses Perangkat Lunak
sekumpulan aktifitas yang memiliki tujuan untuk pengembangan ataupun evolusi perangkat lunak, di mana setiap aktifitas bersifat saling terkait (koheren) untuk menspesifikasikan merancang, implementasi dan pengujian sistem perangkat lunak.aktifitas generic dalam semua proses perangkat lunak adalah
- Initial proses perangkat lunak yang ditandai sebagai ad hoc
- Repeatable Proses-proses manajemen proyek dasar dibangun untuk menelusuri masalah biaya, jadwal dan fungsionalitas
- Defiend Proses perangkat lunak, baik untuk aktifitas manajemen atau perekayasaan didokumentasi, distandarkan dan diintregrasi kedalam proses perangkat lunak organisasi besar
- Management Pengukuran detail terhadap proses perangkat lunak dan kualitas produksi dikumpulkan.
- Optimizing Pertambahan proses yang terus menerus dimungkinkan oleh umpan balik kuantitatif dari proses dan dari gagasan inovatif pengujian serta teknologi
Pengembangan Perangkat Lunak
Pengembangan perangkat lunak adalah suatu proses dimana kebutuhan pemakai diterjemahkan menjadi produk perangkat lunak.Berdasarkan pengertian tersebut, secara umum dapat dikatakan bahwa proses pengembangan perangkat lunak mengikuti tahap-tahap:
- Menentukan APA yang harus dikerjakan oleh perangkat lunak dalam suatu rentang waktu tertentu
- Mendefinikan BAGAIMANA perangkat lunak dibuat, mencakup arsitektur perangkat lunaknya, antarmuka internal, algoritma, dan sebagainya
- Penerapan (penulisan program) dan pengujian unit-unit program
- Validasi perangkat lunak secara keseluruhan (pengujian sistem)
Pemodelan Proses Perangkat Lunak
Model proses Perangkat Lunak merupakan suatu representasi proses perangkat lunak yang disederhanakan, dipresentasikan dan perspektif khusus. Contoh perspektif proses:- Perspektif Alur-kerja (workflow)-barisan kegiatan
- Perspektif Alur Data (data flow) - alur informasi
- Perspektif Peran - siapa melakukan apa
Model Sekuensial Linier (Waterfall)
Aktifitas model sekuensial linier meliputi:- Rekayasa dan Pemodelan Sistem / Informasi
- Analsis Kebutuhan Perangkat Lunak
- Desain
- Generasi kode
- Pengujian (tes)
- Pemeliharaan
Keuntungan : Sederhana, langkah secara terurut, fokus dan mudah diikuti
Kekurangan :
- Tidak fleksibel sebab proyek yang nyata jarang mengikuti aliran yang terurut untuk menyusun model
- Sangat sulit untuk costumer terhadap menghadapi semua kebutuhan yang eksplisit
- Costumer harus memiliki kesabaran untuk menunggu keabsahan produk software dalam fase
- Yang terlambat
- Costumer tercakup dalam awal proyek
- Pembuat sering ditunda secara tidak berhubungan diantara fase
Model Prototipe
Model prototpe ini dimulai dengan mengumpulkan kebutuhan. Pengembang dan pelanggan bertemu dan mendenfinisikan obyektif keseluruhan dari perangkat lunak, dan mengidentifikasikan segala kebutuhan yang diketahui.Prototipe bisa menjadi paradigma yang efektif bagi rekayasa perangkat lunak. Kuncinya adalah mendefinisikan aturan-aturan main pada saat awal, yaitu pelanggan dan pengembang keduanya harus setuju bahwa "prototype di bangun untuk berfungsi sebagai mekanisme pendefinisian kebutuhan
Keuntungan :
- Mudah dan cepat identifikasi kebutuhan costumer
- Costumer mengecek prototipe di awal tingkatan dan menyediakan input dan umpan baliknya
Model RAD
Rapid application Development (RAD) adalah sebuah model proses perkembangan perangkat lunak sekuensial linier yang menekankan siklus perkembangan yang sangat pendekPendekata RAD melingkupi fase-fase berikut:
- Pemodelan Data
- Pemodelan Bisnis
- Pemodelan Aplikasi
- Pengujian dan Turnover
- Waktu pembuatan yang pendek
- Pengurangan biaya supaya software digunakan kembali dan konstruksi dasar komponen
- RAD butuh developer dan pelanggan yang diijinkan untuk menyusun
- Pembuatan software adalah spesifik proyek, dan tidak boleh dimodulkann secara baik
Model Proses Perangkat Lunak Evolusioner
Model proses klasik tidak dirancang untuk mengirim sistem yang produktif sehingga asumsiya pada :- Sistem yang akan dikirimkan setelah urutan linear diselesaikan
- Costumer mengetahui yang mereka inginkan di tingkatan awal
- Banyaknya kebutuhan perubahan selama latihan pembuatan
- Banyaknya aktifitas iterasi dan bekerja sebab evolusi alami dari produksi software
- the incremental model
- the spiral model
- the component assembely model
- the concurrent development model