ModularitasSistem harus dibagi menjadi modul-modul kecil yang memiliki tanggung jawab spesifik agar mudah diperbaiki dan diperbarui.
Loose Coupling & High Cohesion
Loose Coupling: Komponen dalam sistem harus seminimal mungkin bergantung satu sama lain, sehingga perubahan dalam satu bagian tidak merusak keseluruhan sistem.
-
High Cohesion: Setiap modul harus memiliki satu tanggung jawab utama untuk meningkatkan keterbacaan dan pemeliharaan kode.
Separation of Concerns (SoC), memisahkan berbagai aspek sistem agar lebih mudah dikelola, seperti memisahkan lapisan presentasi, bisnis, dan data dalam aplikasi.
Scalability & Performance Consideration, sistem harus dapat menangani peningkatan jumlah pengguna tanpa mengalami degradasi performa.
Security, keamanan harus dipertimbangkan sejak awal pengembangan, bukan hanya sebagai fitur tambahan setelah sistem selesai dibuat.
Jenis-Jenis Software Architecture
Terdapat berbagai pola arsitektur perangkat lunak yang sering digunakan dalam industri, antara lain: