Vclass Ke-2 M12 : Aspect Oriented Software

 

Aspect Oriented Software


1. Aspect-Oriented Software (AOS)

Aspect-Oriented Software adalah pendekatan dalam pengembangan perangkat lunak yang dirancang untuk mengatasi cross-cutting concerns—yaitu aspek-aspek dalam sistem yang memengaruhi banyak bagian kode, seperti logging, keamanan, atau penanganan error. Teknik ini memungkinkan pemisahan concerns tersebut ke dalam modul-modul yang disebut aspects.

Kegunaan AOS:
  • Pemisahan Tanggung Jawab: Memisahkan kode utama (core logic) dari aspek-aspek pendukung sehingga kode lebih terorganisasi dan mudah dipahami.
  • Meningkatkan Pemeliharaan: Mengurangi duplikasi kode (code duplication) sehingga lebih mudah untuk melakukan perubahan.

  • Mengurangi Kompleksitas: Mengisolasi fitur cross-cutting agar tidak mengganggu alur utama pengembangan.

  • Efisiensi Pengembangan: Mempercepat pengembangan karena aspek-aspek umum dapat digunakan kembali di berbagai bagian aplikasi.


2. Peran Stakeholder dalam Pengembangan Perangkat Lunak

Stakeholder memiliki peran yang sangat penting dalam pengembangan perangkat lunak karena mereka adalah pihak-pihak yang memiliki kepentingan terhadap hasil akhir perangkat lunak. Peran mereka meliputi:
  • Memberikan Kebutuhan dan Persyaratan: Stakeholder membantu tim pengembang memahami kebutuhan dan tujuan bisnis perangkat lunak yang akan dibangun.
  • Pengambilan Keputusan: Stakeholder terlibat dalam menetapkan prioritas fitur, anggaran, dan jadwal pengembangan.
  • Evaluasi dan Umpan Balik: Stakeholder memberikan evaluasi selama pengembangan dan memberikan umpan balik untuk memastikan perangkat lunak sesuai dengan harapan.
  • Pendanaan: Stakeholder sering bertanggung jawab atas penyediaan sumber daya finansial yang diperlukan untuk proyek.
  • Validasi dan Verifikasi: Stakeholder membantu memastikan perangkat lunak memenuhi standar kualitas dan siap digunakan.

3. Concerns dalam Pengembangan Perangkat Lunak

Dalam konteks perangkat lunak, concerns merujuk pada kebutuhan, tanggung jawab, atau aspek spesifik yang perlu diatasi atau diterapkan dalam suatu sistem perangkat lunak.
Jenis Concerns:
  • Core Concerns: Fungsi utama perangkat lunak, seperti fitur-fitur inti yang mendefinisikan sistem.
  • Cross-Cutting Concerns: Aspek yang melibatkan banyak komponen atau modul dalam sistem, seperti keamanan, logging, dan pengelolaan transaksi.

Pentingnya Concerns:
  • Membantu tim pengembang memahami dan memprioritaskan berbagai aspek yang harus diakomodasi dalam perangkat lunak.
  • Mendukung arsitektur perangkat lunak yang modular, fleksibel, dan mudah dipelihara.
  • Menghindari konflik antara berbagai kebutuhan atau fitur selama proses pengembangan.





Komentar