Apa itu Aspect ?
Unit program terkecil yang saat ini digunakan pada paradigma pemrograman prosedural atau berorientasi objek umumnya berupa prosedur dan kelas. Pendekatan tersebut tepat untuk digunakan pada persoalan dimana sistem hanya dibangun dari komponen – komponen fungsional. Namun, pendekatan tersebut tidak dapat digunakan untuk mengimplementasikan aspek – aspek khusus (special concerns) pada sistem. Misalnya aliran data pada sistem terdistribusi, pemulihan (failure recovery), persistensi (persistence), sinkronisasi proses (process synchronization), dan lain – lain. Aspek – aspek khusus tersebut biasanya akan langsung diimplementasikan sebagai barisan kode program yang mungkin tersebar (terduplikasi) pada kelompok kode program yang mewakili komponen – komponen fungsional.
Paradigma atau pendekatan pemrograman tersebut di atas belum mendukung aktivitas separation of concerns yang baik pada fase perancangan dan implementasi, sehingga menyebabkan program yang dihasilkan lebih sulit untuk dikembangkan, dipahami, dan dipelihara.
Pemrograman berorientasi aspek (Aspect Oriented Programming/AOP) merupakan paradigma pemrograman yang relatif baru, diperkenalkan sebagai hasil dari penelitian yang dilakukan oleh Gregor Kiczales di Xerox ‘s Palo Alto Research Center (PARC). Paradigma ini dikembangkan sebagai salah satu solusi untuk persoalan separating crosscutting concerns pada kode program. Dengan pendekatan pemrograman berorientasi aspek ini, persoalan didekomposisi menjadi kumpulan kelas (class) dan aspek (aspect). Kelas mewakili komponen – komponen yang memiliki peran fungsional dalam domain persoalan sistem perangkat lunak yang akan dikembangkan. Sedangkan aspek mewakili komponen – komponen yang tidak dapat didefinisikan sebagai komponen fungsional, namun keberadaannya tetap memiliki pengaruh pada performansi dan semantik sistem secara keseluruhan.
3 Comments »
Leave a comment
-
Archives
- December 2009 (8)
- November 2009 (5)
- October 2009 (15)
- September 2009 (12)
- August 2009 (5)
- July 2009 (4)
- June 2009 (7)
- May 2009 (14)
- April 2009 (7)
- March 2009 (7)
- February 2009 (18)
- January 2009 (15)
-
Categories
- analysis
- aspect oriented
- CBSE
- critical system
- design
- digital learning
- e-business
- ecosystem
- final project
- fun
- health informatics
- introduction
- lecture
- maintenance
- method
- oop
- others
- programming
- project
- project management
- quality
- real time system
- requirement
- research
- service computing
- soa
- software architecture
- software developer
- software metrics
- software process
- software product
- software quality
- software standard
- technology
- testing
- tools
- Uncategorized
- webE
-
RSS
Entries RSS
Comments RSS
Wew, ilmu baru nih,.
Tapi perlu diberi batasan juga, khawatirnya malah terlalu banyak modifikasi ketika akan melakukan suatu perubahan pada sistem,.
masih bingung.. apakah aspek lebih ditujukan ke developer atau designer.. tampak lebih tepat dijadikan metodologi dalam implementasi supaya bisa pakai test-first dan diotomatisasi.
dengan catatan, perancangnya mau memikirkan sampai ke tahap aspek kode. bukan sekedar penarik garis besar yang tidak suka menulis kode.
dan tampaknya, aspek masih hanya menguntungkan untuk ranah yang sudah baku (mis. PL berbasis komponen).
ada tidak ya bu? metodologi untuk ranah yang sifatnya eksperimental (akan banyak perubahan radikal pada satu modul) yang lebih teratur (tanpa perlu replace modul dengan modul baru)?
@Dwinanto:
Justru dengan aspek, modifikasi akan lebih mudah, karena dilokasir di kode aspect tersebut. Memang tidak perlu semua aspek kita buat kodenya. Cukup yang dibutuhkan saja. Yang tadinya tersebar di banyak kelas, jadi cukup hanya satu saja.
@Peb:
Yang berkembang awalnya memang AOP (aspect oriented programming). Solusi yang dikembangkan para programmer agar memudahkan penanganan crosscutting concerns. Kemudian, mulailah dikembangkan AOSD (aspect oriented software development) yang mencakup metode analisis dan design-nya…