-
System / Information Engineering and Modeling.
Permodelan ini diawali dengan mencari kebutuhan dari keseluruhan sistem
yang akan diaplikasikan ke dalam bentuk software. Hal ini sangat
penting, mengingat software harus dapat berinteraksi dengan
elemen-elemen yang lain seperti hardware, database, dsb. Tahap ini
sering disebut dengan Project Definition.
-
Software Requirements Analysis.
Proses pencarian kebutuhan diintensifkan dan difokuskan pada software.
Untuk mengetahui sifat dari program yang akan dibuat, maka para software
engineer harus mengerti tentang domain informasi dari software,
misalnya fungsi yang dibutuhkan, user interface, dsb. Dari 2 aktivitas
tersebut (pencarian kebutuhan sistem dan software) harus
didokumentasikan dan ditunjukkan kepada pelanggan.
-
Design. Proses ini digunakan untuk
mengubah kebutuhan-kebutuhan diatas menjadi representasi ke dalam bentuk
“blueprint” software sebelum coding dimulai. Desain harus dapat
mengimplementasikan kebutuhan yang telah disebutkan pada tahap
sebelumnya. Seperti 2 aktivitas sebelumnya, maka proses ini juga harus
didokumentasikan sebagai konfigurasi dari software.
-
Coding. Untuk dapat dimengerti oleh
mesin, dalam hal ini adalah komputer, maka desain tadi harus diubah
bentuknya menjadi bentuk yang dapat dimengerti oleh mesin, yaitu ke
dalam bahasa pemrograman melalui proses coding. Tahap ini merupakan
implementasi dari tahap design yang secara teknis nantinya dikerjakan
oleh programmer.
-
Testing / Verification. Sesuatu yang
dibuat haruslah diujicobakan. Demikian juga dengan software. Semua
fungsi-fungsi software harus diujicobakan, agar software bebas dari
error, dan hasilnya harus benar-benar sesuai dengan kebutuhan yang sudah
didefinisikan sebelumnya.
- Maintenance. Pemeliharaan suatu software diperlukan, termasuk di dalamnya adalah pengembangan, karena software yang dibuat tidak selamanya hanya seperti itu. Ketika dijalankan mungkin saja masih ada errors kecil yang tidak ditemukan sebelumnya, atau ada penambahan fitur-fitur yang belum ada pada software tersebut. Pengembangan diperlukan ketika adanya perubahan dari eksternal perusahaan seperti ketika ada pergantian sistem operasi, atau perangkat lainnya.