Tolong jelaskan mengenai Arsitektur perangkat lunak

Arsitektur perangkat lunak adalah struktur sistem dari suatu program atau sistem komputer yang terdiri dari komponen-komponen perangkat lunak, ciri yang tampak secara eksternal dari komponen-komponen tersebut, serta hubungan antar komponen tersebut. Istilah ini juga merujuk pada dokumentasi arsitektur perangkat lunak suatu sistem.