Agi Putra Kharisma, S.T., M.T. Pengembangan Berorientasi Penggunaan Ulang
Bingkai Kerja (BK) Apa itu BK? Mengapa BK?
Bagaimana menggunakan BK? Bagaimana mempelajari BK? Bagaimana memilih BK?
Bagaimana membuat BK?
Apa Itu Bingkai Kerja (BK)? Bingkai kerja framework Bingkai rangka
Jenis bingkai kerja: Bingkai kerja aplikasi (application framework) Bingkai kerja arsitektural
Ilustrasi
Definisi Bingkai Kerja Secara sederhana, bingkai kerja adalah sekumpulan objek
(partisipan) yang saling berinteraksi untuk menghasilkan sekumpulan fungsionalitas, yaitu domain dari bingkai kerja tersebut. BK adalah reusable design suatu sistem yang mendeskripsikan bagaimana sistem didekomposisi menjadi sekumpulan objek yang berinteraksi. Sistem dapat berupa aplikasi utuh atau dapat pula berupa subsistem. BK juga dapat me-reuse implementasi, tetapi hal tersebut tidak sepenting me-reuse internal interface yang disediakan oleh BK (pada umumnya berupa kelas abstrak).
Jenis Bingkai Kerja Aplikasi Berdasarkan lingkup: BK infrastruktur sistem BK integrasi middleware BK aplikasi enterprise Berdasarkan teknik penggunaan (extend): Kotak putih
Penambahan fungsionalitas dengan menggunakan fitur bahasa pemrograman OO, misalnya inheritance, overriding, dsb.
Kotak hitam Penambahan fungsionalitas dengan menggunakan interface untuk komposisi objek. Contoh: menggunakan pola perancangan Strategy dan Functor. Kotak abu-abu
Mengapa Menggunakan BK? Kelebihan dan Kekurangan Menggunakan BK: Usaha pengembangan (development effort) Lamanya belajar (learning curve) Kemudahan integrasi (integratability) Kemudahan pemeliharaan (maintainability) Efisiensi
Sifat/Karakteristik Bingkai Kerja Fungsionalitas pada objek/partisipan BK tidak selalu
lengkap, tetapi ada bagian yang harus dilengkapi oleh pengguna BK. BK hanya mengekspos bagian yang akan diubah/disesuaikan/dilengkapi oleh pengguna BK, sedangkan bagian lainnya tidak diekspos. Inversion Of Control/Dependency Injection/Hollywood Principle.
Hollywood Principle
Dependency Injection (DI)
Inversion of Control (IoC)
Hubungan DI dan IoC?
Ilustrasi Bagaimana BK Mengontrol Partisipannya
Bingkai Kerja Arsitektural Merupakan bingkai kerja aplikasi yang fokus terhadap
struktur sistem yang meng-komposisi komponen PL, external properties dari komponen tersebut, dan relasi antar komponen. Jenis struktur: Struktur modul (module structure)
Struktur konseptual (conceptual structure) Struktur proses (process structure)
Struktur pemanggilan (calls structure) Struktur fisikal (physical structures)
Bagaimana Menggunakan BK? Pada umumnya, aplikasi yang dibangun dengan BK terdiri
dari 3 bagian, yaitu: BK, sub-kelas konkret, dan lainnya. Adapun siklus hidup penggunaan ulang bingkai kerja: Tentukan kebutuhan perangkat lunak yang akan dibuat dengan memerhatikan reusable artifact yang tersedia. 2. Cari dan kumpulkan reusable artifact yang kira – kira relevan dengan kebuthan. 3. Periksa potensi penggunaan ulang pada reusable artifacts yang terkumpul. 4. Pilih kandidat yang dinilai paling sesuai dengan kebutuhan, kemudian gunakan/lakukan adaptasi sesuai kebutuhan. 5. Lakukan integrasi ke aplikasi yang dikembangkan. 1.
Bagaimana Mempelajari Untuk Menggunakan BK? Mempelajari suatu BK cenderung lebih sulit daripada
pustaka kelas (class library) biasa, karena kita tidak dapat mempelajari suatu kelas tanpa memerhatikan kelas lainnya. Cara mempelajari adalah dengan membaca dokumentasi, buku, dan mencoba contoh – contoh yang diberikan. Yang perlu diketahui untuk menggunakan suatu BK adalah: Apa tujuan dari BK tersebut Bagaimana cara menggunakan BK tersebut Bagaimana cara kerja BK tersebut
Bagaimana Mengevaluasi BK Supaya Tidak Salah Memilih? Ada kalanya memilih suatu BK menjadi sangat sulit. Bagaimana mengetahui suatu BK sudah sesuai dengan
kebutuhan kita? Membuat daftar pilihan (check list) terhadap fitur yang
harus disediakan oleh BK yang akan digunakan. Mengetahui extendability BK yang akan digunakan, karena fitur dari suatu BK pada umumnya perlu dilengkapi untuk memenuhi kebutuhan. Mengetahui kebutuhan lain seperti reliability, performance, vendor supports, dsb.
Bagaimana Membuat BK? BK adalah produk dari domain engineering. Pendekatan yang digunakan: Top-down
Domain analysis design realization
Bottom-up
Diawali dengan membuat aplikasi – aplikasi dalam domain yang sama, kemudian menentukan bagian yang sama dan bagian yang berbeda.
Bottom-Up vs Top-Down
Gaya Arsitekural (Architectural Style) Abstraksi dari arsitektur – arsitektur yang memiliki
kemiripan. Gaya arsitektural adalah classes of similarly patterned software architecture. Gaya arsitektural dikarakteristikkan menggunakan: Tipe komponen Pola komunikasi antar komponen Batasan semantik (semantic constraint) Kumpulan konektor
Contoh Gaya Arsitektural: REST
Contoh Domain Permasalahan BK
Artistic drawing, music composition, and mechanical CAD Compilers for different programming languages and target machines Financial modeling applications Earth system modeling applications Decision support systems Multimedia framework - Media playback and authoring CSS framework Ajax framework / JavaScript framework Web application framework Middleware Cactus Framework - High performance scientific computing Application framework - General GUI applications Enterprise Architecture framework Oracle Application Development Framework
Contoh – contoh BK
Tambahan: IDEAL CHALK Merupakan kumpulan prinsip dalam OOP yang
disarankan dan diangap baik. Dapat membantu penggunaan ulang. http://www.codeproject.com/Articles/337454/IDEALCHALK-mnemonic-acronym-and-mnemonic-imagesf