Pemodelan
dalam suatu rekayasa perangkat lunak merupakan suatu hal yang dilakukan di
tahapan awal. Di dalam suatu rekayasa dalam perangkat lunak sebenarnya masih
memungkinkan tanpa melakukan suatu pemodelan. Namun hal itu tidak dapat lagi
dilakukan dalam suatu industri perangkat lunak. Pemodelan delam perangkat lunak
merupakan suatu yang harus dikerjakan di bagian awal dari rekayasa, dan
pemodelan ini akan mempengaruhi perkerjaan-pekerjaan dalam rekayasa perangkat
lunak tersebut.
Di
dalam suatu industri dikenal berbagai macam proses, demikian juga halnya dengan
industri perangkat lunak. Perbedaan proses yang digunakan akan menguraikan
aktivitas-aktivitas proses dalam cara-cara yang berlainan. Perusahaan yang
berbeda menggunakan proses yang berbeda untuk menghasilkan produk yang sama.
Tipe produk yang berbeda mungkin dihasilkan oleh sebuah perusahaan dengan
menggunakan proses yang berbeda. Namun beberapa proses lebih cocok dari lainnya
untuk beberapa tipe aplikasi. Jika proses yang salah digunakan akan mengurangi
kualitas kegunaan produk yang dikembangkan.
Pada
rekayasa perangkat lunak, banyak model yang telah dikembangkan untuk membantu
proses pengembangan perangkat lunak. Model-model ini pada umumnya mengacu pada
model proses pengembangan sistem yang disebut System Development Life Cycle (SDLC) seperti terlihat pada
gambar dibawah ini,
Setiap
model yang dikembangkan mempunyai karakteristik sendiri. Namun secara umum ada
persamaannya, yaitu :
- Kebutuhan terhadap definisi
masalah yang jelas. Input utama dari setiap model pengembangan perangkat
lunak adalah pendefinisian masalah yang jelas. Semakin jelas akan semakin
baik karena akan memudahkan dalam penyelesaian masalah. Oleh karena itu
pemahaman masalah merupakan bagian penting dari model pengembangan perangkat
lunak.
- Tahapan-tahapan pengembangan
yang teratur. Meskipun model-model pengembangan perangkat lunak memiliki
pola yang berbeda-beda, biasanya model-model tersebut mengikuti pola umum
analysis – design – coding – testing – maintenance.
- Stakeholder berperan sangat
penting dalam keseluruhan tahapan pengembangan. Stakeholder dalam rekayasa
perangkat lunak dapat berupa pengguna, pemilik, pengembang, pemrogram dan
orang-orang yang terlibat dalam rekayasa perangkat lunak tersebut.
- Dokumentasi merupakan bagian
penting dari pengembangan perangkat lunak. Masing-masing tahapan dalam
model biasanya menghasilkan sejumlah tulisan, diagram, gambar atau
bentuk-bentuk lain yang harus didokumentasi dan merupakan bagian tak
terpisahkan dari perangkat lunak yang dihasilkan.
- Keluaran dari proses
pengembangan perangkat lunak harus bernilai ekonomis. Nilai dari sebuah
perangkat lunak sebenarnya agak susah dirupiah- kan. Namun efek dari
penggunaan perangkat lunak yang telah dikembangkan haruslah memberi nilai
tambah bagi organisasi. Hal ini dapat Setiap model yang dikembangkan
mempunyai karakteristik sendiri-sendiri.
Model proses perangkat lunak masih
menjadi object penelitian, tapi sekarang ada banyak model umum atau paradigma
yang berbeda dari pengembangan perangkat lunak, antara lain: