Fase desain dalam SDLC adalah tahapan di mana kamu membuat model cara kerja aplikasi software. Ada beberapa aspek yang diperhatikan dalam tahapan desain, antara lain:
Communications. Mendefinisikan metode atau cara aplikasi berkomunikasi dengan aset lainnya seperti server pusat atau aplikasi lainnya
Programming. Tidak hanya menentukan bahasa pemrograman tapi juga termasuk metode pemecahan masalah dan tugas-tugas yang ada dalam aplikasi.
Architecture. Menentukan bahasa pemrograman, praktik dalam industri, desain keseluruhan dan penggunaan template tertentu
User Interface. Mendefinisikan bagaimana cara pelanggan berinteraksi dengan software dan bagaimana software tersebut dapat merespon input yang ada
Platforms. Mendefinisikan platform di mana software akan dijalankan. Misalnya versi android, ios, linux atau game konsol
Security. Mendefinisikan langkah-langkah untuk mengamankan aplikasi. misalnya membuat perlindungan kata sandi, enkripsi SSL traffic atau membuat penyimpanan kredensial pengguna yang aman.
4. Software development
Fase ini adalah tahap di mana program ditulis. Biasanya jika proyek tersebut kecil maka program dapat ditulis oleh satu developer. Namun, jika proyek besar bisa dipecah dan dikerjakan oleh beberapa tim. Pada fase ini bisa juga digunakan aplikasi Access Control atau Source Code Management untuk membantu developer melacak perubahan pada kode dan memastikan kompatibilitas antar proyek tim yang berbeda sehingga sasaran terpenuhi.
5. Testing
Beberapa pengujian yang biasanya dilakukan seperti security testing yang diotomatiskan, atau pengujian untuk penerapan yang kompleks. Pengujian harus memastikan setiap fungsi dapat bekerja dengan benar dan lancar sehingga dapat mengurangi kemungkinan adanya keterlambatan dalam pemrosesan, bug dan gangguan yang ditemui pengguna.
6. Deployment
Pada fase ini aplikasi sudah tersedia pada pelanggan untuk digunakan. Meski begitu tahapan ini bisa jadi lebih rumit. Contohnya beberapa perusahaan mungkin perlu melakukan pembaruan database ke aplikasi yang baru dikembangkan sehingga memakan lebih banyak waktu dan tenaga.
7. Oprations and maintenace
Pada titik ini sebetulnya aplikasi benar-benar sudah selesai dan bisa digunakan di lapangan. Namun, tahapan operasi dan pemeliharaan masih dianggap penting. Sebab, dalam tahapan ini pengguna bisa jadi menemukan bug yang tidak ditemukan selama pengujian sehingga kesalahan perlu diatasi. Dari sini bisa jadi akan memunculkan siklus software development life cycle yang baru untuk memperbaiki bug, menentukan rencana pengembangan berulang, atau tambahan fitur dalam rilis mendatang.