• Tidak ada hasil yang ditemukan

BAB II DASAR TEORI Pengertian Framework

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB II DASAR TEORI Pengertian Framework"

Copied!
15
0
0

Teks penuh

(1)

II-1

BAB II

DASAR TEORI

Bab ini berisi uraian mengenai framework yang diawali dengan pengertian framework kemudian dilanjutkan dengan penjelasan mengenai karakteristik dan klasifikasi

framework, proses pengembangan framework, pemodelan framework dengan UML-F

dan cara mendokumentasikannya. Sistem informasi sekolah akan dijelaskan pada bagian akhir bab.

2.1. Pengertian Framework

Framework telah menjadi isu yang penting dewasa ini bagi industri perangkat lunak

ketika perkembangan perangkat lunak semakin kompleks. Teknik guna ulang perangkat lunak merupakan salah satu tujuan yang hendak dicapai dalam rekayasa perangkat lunak beberapa dekade belakangan ini. Tujuannya adalah penghematan dalam hal waktu dan biaya pengembangan. Framework merupakan teknologi yang menjanjikan dalam memperbaiki proses perancangan dan implementasi perangkat lunak dengan meningkatkan kualitas dari perangkat lunak yang dihasilkan.

Framework adalah sebuah aplikasi yang “tidak lengkap” yang dapat diguna ulang

untuk membuat bermacam-macam aplikasi [JOH88]. “Tidak lengkap” yang dimaksud adalah bahwa framework hanya berupa kumpulan beberapa kelas abstrak pada domain tertentu sehingga pengembang yang mengunakan framework harus melengkapi kelas abstrak tersebut menjadi perangkat lunak yang diinginkan.

Framework merupakan sebuah rancangan sistem yang dapat diguna ulang dan

mendeskripsikan bagaimana sistem tersebut didekomposisi ke dalam kumpulan objek yang saling berinteraksi. Sistem yang dimaksud dapat berupa keseluruhan aplikasi atau hanya merupakan sebuah subsistem. Framework mendeskripsikan baik itu komponen dari objek-objek maupun bagaimana objek-objek tersebut berinteraksi. Selain itu framework juga mendeskripsikan antarmuka tiap objek dan aliran kendali antar objek.

(2)

Framework mengambil keuntungan dari tiga karakteristik utama dalam pemrograman

berorientasi objek yaitu abstraksi data (data abstraction), polymorphism, dan pewarisan (inheritance). Seperti sebuah tipe data abstrak (abstract data type), sebuah kelas abstrak merepresentasikan antarmuka yang implementasinya dapat berubah. Polimorfisme adalah kemampuan yang dimiliki sebuah peubah (variable) atau parameter dari prosedur untuk menyimpan nilai dengan tipe yang bermacam-macam. Sedangkan pewarisan mempermudah dalam pembuatan komponen yang baru.

Framework dapat diibaratkan sebagai sebuah mesin yang membutuhkan tenaga

(power) agar dapat hidup. Gambar 2.1 mengilustrasikan bagaimana framework dapat bekerja. Tidak seperti mesin pada umumnya, mesin framework ini memiliki banyak

plug. Tiap plug tersebut merupakan hot spot dari framework, yaitu bagian yang dapat

diubah berupa kelas-kelas abstrak. Tiap Hot spot harus diberi tenaga agar mesin dapat bekerja. Sumber tenaga tersebut adalah kode dari aplikasi yang akan dibuat yang harus dihubungkan dengan hot spot. Kode aplikasi yang ditambahkan tersebut akan digunakan oleh kernel framework, yaitu bagian framework yang tidak berubah.

Gambar 2.1 – Framework Sebagai Sebuah Mesin [MAR01]

2.2. Karakteristik Framework

Keuntungan utama framework terlihat dari aspek pemodulan, guna ulang, perluasan, dan inversion of control yang merupakan karakteristik dari framework.

(3)

2.2.1. Pemodulan (Modularity)

Framework terdiri dari beberapa kelas abstrak dengan antarmuka tertentu. Detail

implementasi dapat dienkapsulasi dan efek perubahan implementasi dapat dilokalisasi. Lokalisasi juga dapat membantu memahami dan melakukan perawatan terhadap perangkat lunak.

2.2.2. Guna ulang (Reuse)

Framework merupakan satu dari beberapa teknik guna ulang [KRU92]. Framework

mengguna ulang analisis, rancangan dan juga kode implementasi. 1. Analisis

Guna ulang analisis medeskripsikan berbagai jenis objek yang penting dan menyediakan kosakata yang membahas domain masalah yang dihadapi.

2. Rancangan.

Guna ulang rancangan (design) dapat dilihat dalam bentuk pola (pattern). Pola (pattern) merepresentasikan kumpulan solusi yang sama yang digunakan untuk menyelesaikan permasalahan dalam pengembangan perangkat lunak dalam konteks tertentu.

3. Kode implementasi.

Framework mengguna ulang kode karena akan mempermudah membangun

sebuah aplikasi dari komponen-komponen pustaka yang tersedia. Alasan lain

framework mengguna ulang kode karena sebuah komponen baru dapat dengan

mudah diturunkan dari superclass yang abstrak.

Guna ulang analisis dan rancangan lebih penting dari guna ulang terhadap kode karena inti dari guna ulang sebuah perangkat lunak adalah rancangan tingkat tinggi (high-level design) berupa solusi intelektual yang diberikan bukan kode implementasi.

2.2.3. Perluasan (Extensibility)

Aspek perluasan diperlukan untuk mengubah fitur dan layanan pada aplikasi baru yang dibuat sesuai dengan kebutuhan. Untuk aspek perluasan, ada lokasi pada sebuah

framework di mana fitur aplikasi yang dibuat dihubungkan dengan framework. Lokasi

(4)

Hook pada sebuah framework berada pada hot spot, yaitu bagian framework yang

dapat berubah. Hot spot merupakan kelas-kelas abstrak atau metode-metode yang harus diimplementasikan. Framework bukanlah program yang dapat dieksekusi (executable). Untuk menghasilkan program yang dapat dieksekusi, developer harus menginstansiasi framework dengan mengimplementasikan kode-kode untuk aplikasi pada setiap hot spot. Setelah setiap hot spot diinstansiasi barulah framework dapat menggunakan kelas-kelas tersebut.

Tetapi ada juga bagian-bagian tertentu dari framework yang tidak dapat diubah. Bagian tersebut merupakan kernel dari framework, atau dapat juga diebut frozen spot

framework. Tidak seperti hot spot, frozen spot merupakan kumpulan kode yang telah

diimplementasikan pada framework yang kemudian akan memanggil satu atau lebih

hot spot yang telah diimplementasikan oleh pengembang aplikasi yang menggunakan framework. Kernel tidak akan berubah, konstan dan merupakan bagian yang selalu

ada pada setiap instansiasi framework. 2.2.4. Inversion of Control

Pada umumnya, developer yang mengembangkan aplikasi menggunakan pustaka (library) dengan menulis program utama yang memanggil komponen-komponen tersebut ketika dibutuhkan. Developer memutuskan kapan memanggil komponen tersebut dan bertanggung jawab terhadap struktur dan kendali program secara keseluruhan. Hal tersebut berbeda dengan framework di mana yang diguna ulang adalah program utamanya. Developer memutuskan apa saja yang ditambahkan pada program utama tersebut. Yang terpenting dalam hal ini adalah bahwa kode yang dibuat oleh developer dipanggil oleh kode framework yang digunakan. Framework menentukan struktur dan kendali program secara keseluruhan. Perbedaan tersebut dapat dilihat pada Tabel 2.1 dan Gambar 2.2.

Tabel 2.1 – Perbedaan Framework dengan Library

Aspek Library Framework

Bagian aplikasi yang dikembangkan

program utama (main

program)

subkelas dan komponen

Alur kendali ditentukan pengembang aplikasi

ditentukan framework (pengembang framework) kode buatan pengembang

aplikasi (custom code)

custom code memanggil library code

framework code memanggil custom code

(5)

2.3. Klasifikasi Framework

Framework dapat diklasifikasikan berdasarkan beberapa aspek seperti lingkup, teknik

yang digunakan dalam pengembangan [JOH88], dan tingkat generalitas framework. 2.3.1. Lingkup

Berdasarkan lingkupnya, framework dapat dibagi menjadi tiga yaitu:

1. System infrastructure framework

Framework ini menyederhanakan pengembangan infrastruktur untuk sistem

yang portable dan efisien seperti untuk sistem operasi [CAM93] dan

framework untuk sistem komunikasi [SCI97] dan juga pengembangan

antarmuka pengguna dan kakas pemroses bahasa. System infrastructure

framework digunakan dalam lingkungan internal organisasi dan tidak dijual

secara langsung ke konsumen.

2. Middleware integration framework

Framework jenis ini umumnya digunakan dalam proses integrasi aplikasi dan

komponen yang terdistribusi. Middleware integration framework dirancang untuk meningkatkan kemampuan pengembang perangkat lunak dalam memodulkan, mengguna ulang, dan memperluas infrastruktur perangkat lunak agar dapat bekerja pada lingkungan terdistribusi.

Framework

Custom Code Custom Code

Custom Code Custom Code

Component Component

Library Component Component

Custom Code

(6)

3. Enterprise application framework

Framework ini ditujukan pada domain aplikasi yang luas dan merupakan dasar

aktivitas bisnis perusahaan [FAH99]. Dibandingkan system infrastructure dan

middleware integration framework, enterprise application framework

membutuhkan biaya yang besar untuk mengembangkannya ataupun membelinya dari vendor. Namun enterprise application framework dapat memberikan pengembalian investasi (return on investment) karena framework ini mendukung pengembangan aplikasi untuk pengguna akhir (end user) dan produk secara langsung. Sedangkan system infrasturcture dan middleware

integration framework fokus pada proses pengembangan perangkat lunak

untuk keperluan internal perusahaan. 2.3.2. Teknik Pengembangan

Ralph E. Johnson mengklasifikasikan framework menjadi dua berdasarkan teknik pengembangnya yaitu white-box framework atau dikenal dengan architecture-driven

framework dan black-box framework yang dikenal dengan data-driven framework

[JOH88].

1. White-box framework

Instansiasi framework ini hanya dapat dilakukan dengan menciptakan kelas-kelas baru. Kelas-kelas-kelas tersebut beserta kode implementasinya dapat ditambahkan dengan pewarisan atau komposisi. Arsitektur white-box

framework harus terdokumentasi dengan baik karena pengetahuan yang

mendalam mengenai detail arsitektur framework sangat diperlukan untuk mengembangkan aplikasi sesuai dengan keinginan pengembang. Gambar 2.3 memperlihatkan white-box framework.

(7)

2. Black-box framework

Black-box framework menyembunyikan struktur internalnya. Pengguna hanya

mengetahui deskripsi umum penggunaan framework dan hot spot yang disediakan. Mekanisme yang disediakan untuk instansiasi framework ini hanya dengan komposisi sehingga pengguna tidak harus mempelajari detail internal

framework. Gambar 2.4 memperlihatkan black-box framework.

Gambar 2.4 – Black Box Framework [CHE04]

2.3.3. Tingkat Generalitas

Berdasarkan tingkat generalitasnya, framework dibagi menjadi dua yaitu horizontal

framework dan vertikal framework.

1. Horizontal framework

Framework ini bersifat lebih umum sehingga dapat digunakan untuk

membangun berbagai tipe aplikasi. Namun pengembang biasanya dihadapkan pada fitur-fitur yang tidak diinginkan sehingga banyak fitur framework yang tidak digunakan. Horizontal framework dapat digunakan untuk mengembangkan antarmuka pengguna sebuah aplikasi pada area yang cukup luas di industri perangkat lunak. Contoh framework ini adalah GUI toolkit. Ilustrasi horizontal framework dapat dilihat pada Gambar 2.5.

(8)

2. Vertikal framework

Vertikal framework atau dikenal juga dengan application framewok ditujukan untuk pembangunan aplikasi yang spesifik pada domain masalah tertentu. Contohnya adalah framework untuk analisis statistik data ekonomi di mana

framework ini digunakan khusus untuk aplikasi keuangan. Vertical framework

kurang umum, tetapi memiliki utilitas yang lebih baik serta memberikan solusi yang lebih lengkap. Oleh karena itu, framework ini lebih banyak digunakan dalam mengembangkan aplikasi. Gambar 2.6 mengilustrasikan vertikal

framework.

portion of framework used

generality portion of application

portion of framework used

generality portion of application

Gambar 2.5 – Horizontal Framework [ROG97]

(9)

2.4. Proses Pengembangan Framework

Sebelum membahas mengenai bagaimana proses pengembangan framework, ada beberapa hal yang harus diperhatikan seperti usaha pengembangan, proses belajar, kemampuan integritas, kemampuan perawatan, dan kurangnya standar.

1. Usaha pengembangan.

Mengembangkan perangkat lunak yang kompleks cukup sulit, terlebih lagi mengembangkan framework yang dapat diguna ulang untuk domain aplikasi yang kompleks. Oleh karena itu, dibutuhkan kemampuan dan pengalaman yang baik dari pengembang untuk menghasilkan framework yang baik.

2. Proses belajar.

Mempelajari penggunaan framework secara efektif tidak mudah. Sebagai contoh, dibutuhkan waktu 6-12 bulan untuk dapat menggunakan framework antar muka pengguna (GUI framework), seperti MFCs atau MacApp [FAM99]. Umumnya, mentoring dan pelatihan dibutuhkan untuk mengajarkan pada pengembang aplikasi bagaimana cara menggunakan framework dengan efektif.

3. Kemampuan integritas.

Masalah integrasi muncul pada beberapa tingkatan, mulai dari abstraksi, sampai masalah dokumentasi, konkurensi, dan arsitektur pendistribusian. Sebagai contoh, karena inversion of control merupakan fitur yang penting dalam framework, akan sangat sulit untuk mengintegrasikan sebuah

framework dengan framework lain agar dapat bekerja sama.

4. Kemampuan perawatan.

Aplikasi akan terus berubah dari waktu ke waktu. Oleh karena itu framework pun harus berubah. Diperlukan perawatan yang rutin terhadap framework. Ada beberapa aktivitas dalam perawatan framework seperti penambahan fungsionalitas, pengurangan fungsionalitas, dan generalitas. Untuk melakukan hal tersebut, diperlukan pemahaman yang mendalam terhadap komponen-komponen framework dan hubungan antar komponen-komponen tersebut.

(10)

5. Kurangnya standar.

Sampai saat ini tidak ada standar yang diterima secara luas dalam perancangan, implementasi, dan pendokumentasian framework.

Pengembangan framework berbeda dengan pengembangan perangkat lunak pada umumnya. Perbedaan yang paling mendasar adalah framework harus mencakup semua permasalahan pada domain tertentu, di mana aplikasi hanya menfokuskan pada permasalahan yang ditentukan pada aktifitas pengumpulan kebutuhan (requirement

gathering). Selain itu, metodologi-metodologi pengembangan perangkat lunak yang

digunakan untuk mengembangkan aplikasi belum cukup untuk digunakan dalam membangun framework karena metodologi-metodologi tersebut tidak menyertakan perancangan hook framework yang menyediakan aspek fleksibilitas dan perluasan

framework.

Beberapa metodologi telah diusulkan untuk pembangunan framework. Akan tetapi, sampai sekarang belum ada metodologi yang diterima sebagai standar pembangunan

framework. Metodologi-metodologi tersebut pada intinya dapat dikelompokkan

menjadi aktivitas-aktivitas yang meliputi analisis (analysis), perancangan (design), implementasi (implementation), dan pengujian (testing) [FRO98]. Aktivitas-aktivitas tersebut seperti metodologi pengembangan perangkat lunak, tetapi tiap aktivitas disesuaikan untuk pengembangan framework.

2.4.1. Analisis

Tujuan aktivitas ini adalah mendeskripsikan domain yang harus dilingkupi oleh

framework. Untuk mendapatkan kebutuhan framework dan identifikasi permasalahan,

pengembang framework dapat mengacu pada aplikasi yang telah dikembangkan, pada pakar-pakar di domain permasalahan tersebut, atau standar yang telah ada pada domain tersebut. Untuk menggambarkan kebutuhan fungsional framework, digunakan

use case model yang berisi diagram use case, definisi tiap use case, skenario use case,

dan definisi aktor.

Identifikasi terhadap hot spot mulai dilakukan pada tahap ini. Eksplorasi terhadap aplikasi-aplikasi yang telah ada membantu dalam mengidentifikasi bagian-bagian mana yang berubah dari satu aplikasi ke aplikasi lainnya dan bagian mana yang tetap. Hasil dari aktivitas ini adalah model analisis domain yang berisi kebutuhan

(11)

2.4.2. Perancangan

Model analisis merupakan masukan yang penting dari tahap ini. Framework yang akan dibangun dibentuk sedemikian sehingga memenuhi semua kebutuhan yang telah terdefinisi, termasuk di dalamnya kebutuhan non fungsional dan berbagai constraints lain.

Proses perancangan menentukan struktur dari abstraksi, hot spot dan frozen spot

framework. Hooks pada framework juga harus ditentukan dan dirancang. Hook

memperlihatkan cara framework diadaptasi menjadi sebuah aplikasi dan merupakan bagian yang penting dalam framework.

Hasil dari aktivitas ini adalah model perancangan yang mencakup perancangan kelas dan realisasi use case tahap perancangan.

2.4.3. Implementasi

Tahap ini memfokuskan pada implementasi kode (coding) kelas-kelas abstrak dan konkret framework dari hasil perancangan yang telah dilakukan. Tujuan utama dari implementasi adalah untuk merealisasikan arsitektur dan sistem secara keseluruhan. Pembuatan dokumentasi framework juga mulai dilakukan pada tahap ini.

2.4.4. Pengujian

Ada dua tipe pengujian yang dilakukan terhadap framework. Pertama, framework harus diuji secara terpisah tanpa aplikasi yang menyertainya. Hal ini bertujuan untuk mengidentifikasi error yang masih terjadi pada framework dan mencegah terjadinya

error yang disebabkan oleh aplikasi. Kerusakan pada framework akan diteruskan pada

aplikasi yang dibangun. Oleh karena itu, pengujian framework secara terpisah perlu dilakukan.

Kedua, pengujian yang sesungguhnya yaitu ketika framework telah digunakan untuk membangun aplikasi. Pada proses ini diuji hook dari framework yang merupakan lokasi di mana interaksi antara framework dengan aplikasi yang dibangun terjadi. Penggunaan framework juga membantu mengetahui bagian mana saja dari framework yang belum lengkap dan memperlihatkan bagian-bagian pada framework yang harus lebih fleksibel atau yang seharusnya mudah digunakan.

(12)

2.5. UML-F

Penggunaan notasi UML standar yang digunakan pada pembangunan aplikasi tidak memadai untuk memodelkan framework. Diagram yang ada pada UML saat ini tidak dapat menjelaskan bagian mana dari framework yang dapat berubah dan apa

constraint pada saat instansiasi. Untungnya, UML menyediakan mekanisme untuk

menambahkan dan mendefinisikan label atau tanda yang dibutuhkan pada elemen model UML. Penambahan-penambahan tersebut menghasilkan sebuah UML baru yang disebut UML-F [FON00]. UML-F mendukung pembangunan framework.

UML menyediakan mekanisme ekstensi pada stereotype, tagged value, dan

constraint. UML-F menggunakan tagged value sebagai mekanisme ekstensi pada

UML. UML diagram diperluas dengan menambahkan tag {variable}, {extensible},

{app-class}, {static}, dan {dynamic}. OCL (Object Constraint Language)

ditambahkan tag {for all new method} dan tag {optional} ditambahkan pada sequence

diagram. Penjelasan mengenai tag tersebut dapat dilihat pada Tabel 2.2. Tabel 2.2 – Ekstensi UML-F

No. Nama Ekstensi Jenis Ekstensi Bagian UML yang diterapkan

Deskripsi

1. {app-class} boolean Class Kelas yang hanya ada pada

instansiasi framework. Kelas-kelas pada aplikasi baru didefinisikan selama proses instansiasi

framewrok.

2. {variable} boolean Method Method harus diimplementasikan

ketika proses instansiasi

framework.

3. {extensible} boolean Class Antarmuka kelas bergantung pada

instansiasi framework. Method baru bisa ditambahkan untuk menambah fungsionalitas kelas.

4. {static} boolean Extensible interface,

Variable method, dan Extensible Class

Informasi yang belum lengkap ditambahkan saat kompilasi aplikasi.

5. {dynamic} boolean Extensible interface,

Variable method, dan Extensible Class

Informasi yang belum lengkap ditambahkan saat aplikasi berjalan.

(13)

No. Nama Ekstensi Jenis Ekstensi Bagian UML yang diterapkan

Deskripsi

6. {incomplete} boolean Generalization dan

Realization

Sub kelas baru harus ditambahkan pada relasi generalisasi atau realisasi.

7. {for all new methods}

boolean OCL Constrain Menandakan bahwa OCL

constraint ditujukan pada semua method baru.

8. {optional} boolean Events Menandakan bahwa event yang

ada bersifat opsional.

2.6. Dokumentasi Framework

Salah satu aktivitas yang paling penting dalam pengembangan framework yaitu pembuatan dokumentasi. Tanpa dokumentasi yang jelas, lengkap dan benar,

framework tidak akan dapat digunakan oleh pengembang aplikasi yang tidak terlibat

dalam perancangan framework tersebut. Dokumentasi framework memiliki tiga tujuan utama yang menjelaskan [JOH92]:

1. Tujuan pembuatan framework

2. Bagaimana menggunakan framework 3. Detail rancangan framework

Ada banyak metode yang diusulkan untuk mendokumentasikan framework akan tetapi sampai sekarang belum ada standar yang digunakan dalam pembuatan dokumentasi. Beberapa metode yang diusulkan antara lain cookbook dan recipe, example, design

patterns, framework overview, reference manual, dan design notebook.

2.5.1. Cookbook dan Recipe

Recipe mendeskripsikan bagaimana menyelesaikan masalah-masalah yang khas dan

sering muncul selama mengembangkan aplikasi. Informasi direpresentasikan dalam bahasan yang tidak formal dan mudah dimengerti serta dilengkapi dengan gambar dan kode sumber. Walaupun tidak formal, recipe biasanya memiliki struktur seperti

(14)

bagian yang menjelaskan tujuan, langkah-langkah menggunakan recipe, referensi ke

recipe yang lain, dan contoh-contoh kode sumber.

Cookbook merupakan kumpulan dari recipe. Panduan untuk mencari recipe yang

dibutuhkan disediakan oleh cookbook baik itu berupa daftar isi maupun dengan menjadikan recipe yang pertama sebagai gambaran (overview) dari keseluruhan

cookbook. Cookbook digunakan pada framework seperti MVC (Model-View-Controller), MacApp, HotDraw, ET++, MET++, dan CommonPoint. Banyak

pengembang aplikasi berhasil mempelajari framework dari cookbook dan kode sumber framework tersebut.

2.5.2. Examples

Kode sumber dari beberapa contoh aplikasi yang dikembangkan menggunakan

framework sering digunakan sebagai dokumentasi yang disediakan untuk

pengembang aplikasi. Biasanya dokumentasi jenis ini dibuat selama pengembangan

framework yaitu pada saat inisiasi framework. Akan tetapi dokumentasi ini terlalu

sulit untuk pengembang aplikasi pemula [SPA96], pengenalan pada hot spot dari

framework harus ditambahkan dari mulai bentuk guna ulang yang paling sederhana

hingga bentuk yang lebih rumit. 2.5.3. Design Pattern

Design pattern memberikan solusi untuk permasalahan-permasalahan yang muncul

dalam perancangan. Design patterns merupakan meta knowledge tentang bagaimana menggabungkan fleksibilitas dalam sebuah framework.

Deskripsi sebuah design pattern menjelaskan masalah dan hubungannya, solusi dari masalah tersebut, dan diskusi mengenai konsekuensi ketika menggunakan solusi yang disediakan. Permasalahan biasanya diilustrasikan dalam contoh yang konkret. Solusi menjelaskan objek-objek dan kelas-kelas yang berpartisipasi dalam sebuah rancangan (design) beserta tanggung jawab dan kerjasama antara kelas dan objek tersebut. Sebuah diagram kolaborasi dapat juga digunakan untuk merepresentasikan masalah yang serupa. Contoh penggunaan solusi yang digunakan pada situasi yang nyata juga biasanya disertakan dalam design pattern. Selain itu, analisis keuntungan dan kerugian ketika menggunakan pola (pattern) merupakan bagian penting yang harus ada dalam deskripsi design pattern.

(15)

2.5.4. Framework Overview

Penjelasan mengenai gambaran umum dari framework merupakan langkah awal membantu pengembang aplikasi dalam mengguna ulang framework. Framework

overview berisi batasan framework yang dibuat, apa saja yang dicakup oleh framework dan apa saja yang tidak, serta memberikan informasi mengenai bagian

mana yang tidak dapat diubah dan bagian yang fleksibel dalam framework.

Overview bisa juga menjadi recipe pertama pada sebuah cookbook. Jika framework

dikembangkan secara in-house, overview framework disajikan dalam bentuk presentasi oleh pengembang framework pada pengembang aplikasi.

2.5.5. Reference Manual

Reference manual untuk sebuah sistem berorientasi objek terdiri dari deskripsi tiap

kelas, serta deskripsi dari peubah-peubah global, konstanta-konstanta, dan tipe-tipe. Secara umum, deskripsi sebuah kelas menjelaskan tujuan dan tanggung jawab kelas, peran (role) dari tiap data member, dan informasi tiap metode. Deskripsi metode menjelaskan fungsi, status awal dan status akhir metode tersebut.

Untuk dokumentasi framework, deskripsi-deskripsi tersebut dapat ditambahkan informasi mengenai peranan kelas atau metode dalam menyediakan fleksibilitas untuk

hot spot, apakah kelas tersebut dapat dibuat subkelasnya atau sebuah metode dapat di-override. Akan tetapi reference manual bukan merupakan sumber yang baik untuk

mempelajari sebuah framework. 2.5.6. Design Notebook

Design notebook berisi kumpulan informasi yang berkaitan dengan rancangan

perangkat keras. Informasi berisi latar belakang teori, analisis dari situasi, dan diskusi mengenai engineering trade-off.

Gambar

Gambar 2.1 – Framework Sebagai Sebuah Mesin [MAR01]
Tabel 2.1 – Perbedaan Framework dengan Library
Gambar 2.2 – Perbedaan Framework dengan Library
Gambar 2.3 – White Box Framework [CHE04]
+4

Referensi

Dokumen terkait

Termometer klinis digital adalah termometer yang digunakan untuk mengukur suhu badan yang banyak dimanfaatkan di bidang kedokteran yang mana nilai suhunya

Rotor adalah bagian dari mesin yang berputar juga berbentuk silinder. Celah udara adalah ruangan antara stator

Seleksi digunakan untuk memilih individu-individu mana saja yang akan dipilih untuk proses kawin silang dan mutasi. Seleksi digunakan untuk mendapatkan calon yang

Berdasarkan beberapa penelitian yang telah dilakukan pada tabel 2.1, menyebutkan beberapa penggunaan domain dan kontrol dan framework COBIT yang digunakan untuk

Jadi melalui penggunaan metode kooperatif tentunya dapat mempermudah siswa pada waktu memahami materi pelajaran dan juga dapat membantu siswa untuk mengembangkan

Mengguyurkan air hangat ke daerah perineum juga dapat membantu relaksasi (ukur dulu jumlah cairan yang akan digunakan, bila harus dilakukan pengukuran keseimbangan

Skala di definisikan sebagai perbandingan antara ukuran pada gambar dengan ukuran sebenarnya. Selain itu, skala juga bisa digunakan untuk mengubah satuan suatu nilai

Karena mekanisme dari gaya yang dihasilkan oleh kedua benda langit itu sama, maka kita dapat mengembangkan teori pembangkit pasut dengan hanya memperhitungkan gaya tarik bulan