Senin, 01 Oktober 2012

Resensi Buku “Guide to Software Engineering Body of Knowledge 2004 Version”


Pada tahun 1900-an, seiring dengan perkembangan komputer, bermunculan kaidah-kaidah atau konsep-konsep yang mendukung dalam pembuatan suatu software atau disebut rekayasa perangkat lunak. Masing-masing pengembang perangkat lunak ataupun praktisi memiliki atau menganut standarisasi tertentu. Hal ini mendorong lembaga seperti Institute of Electrical and Electronics Engineers (IEEE) Computer Society menerbitkan standarisasi rekayasa perangkat lunak dimana dapat diterima oleh dunia internasional.

Di tahun 1998, Industrial Advisory Board yaitu terdiri dari beberapa organisasi dimana IEEE Computer Society adalah salah satu anggotanya, mengatakan bahwa proyek Software Engineering Body of Knowledge (SWEBOK) telah selesai. Dua versi buku Swebok yang telah dikeluarkan yaitu pada tahun 1999 dan 2004. Versi Guide to the SWEBOK tahun 2004 disahkan oleh IAB dan diberikan kepada Gubernur IEEE Computer Society untuk disetujui.

Tujuan dari Proyek Swebok ini adalah:
  1. Untuk memperlihatkan kesamaan pandangan mengenai rekayasa perangkat lunak di seluruh dunia
  2. Menjelaskan posisi dan menentukan batas-batas rekayasa perangkat lunak terhadap ilmu lain seperti ilmu komputer, manajemen proyek, rekayasa komputer, dan matematika
  3. Menggolongkan muatan-muatan dari ilmu rekayasa perangkat lunak
  4. Menyediakan akses pokok terhadap Pengetahuan Umum Rekayasa Perangkat Lunak
  5. Menyediakan pondasi untuk pengembangan kurikulum dan sertifikasi/perizinan

Buku SWEBOK  menggambarkan pengetahuan secara umum tentang rekayasa perangkat lunak yang dibagi ke dalam sepuluh area pengetahuan (Knowledge Areas) atau disebut KAs.”  Ke-lima pertama KAs diperoleh dari waterfall life-cycle sequence pengembangan perangkat lunak dan yang lain diperoleh dari ilmu-ilmu yang relevan dengan rekayasa perangkat lunak. Ke-sepuluh KAs tersebut adalah :
  1. Software Requirements
  2. Software Design
  3. Software Construction
  4. Software Testing
  5. Software Maintenance
  6. Software Configuration Management
  7. Software Engineering Management
  8. Software Engineering Process
  9. Software Engineering Tools and Methods
  10. Software Quality

Buku Swebok 2004 terdiri dari 12 bab dimana sepuluh bab merupakan pembahasan masing-masing KA. Setiap bab KA terdiri dari deskripsi dari KA tersebut dan mendekomposisinya menjadi beberapa subarea, topik, dan sub-topik. Subarea terdiri dari beberapa topik dan setiap topik dapat terdiri dari beberapa sub-topik. Setiap topik atau sub topik disertai dengan penjelasannya dan beberapa referensi terkait. Materi referensi terpilih di Swebok adalah karena dianggap telah merepresentasikan knowledge yang terkait dengan topik atau sub-topik tersebut. Di akhir bab KA, buku ini menyertakan suatu tabel matrik antara topik dengan referensinya. Ini sangat membantu para profesional rekayasa perangkat lunak untuk langsung merujuk ke materi referensi tersebut.

Melalui teknik referensi yang digunakan oleh buku ini, menandakan bahwa standarisasi di dunia rekayasa perangkat lunak tidaklah didefinisikan secara tepat sekali atau mutlak. Walaupun demikian, body of knowledge mengenai rekayasa perangkat lunak dalam buku ini telah terdokumentasi secara formal dan merupakan kontribusi dari banyak institusi yang berkecimpung di dunia perangkat lunak. Selain dapat digunakan oleh pengembang rekayasa perangkat lunak, buku ini dapat digunakan dalam program akademik, program pelatihan dan pengembangan, sertifikasi spesialis, maupun hal pemberian lisensi profesional di bidang rekayasa perangkat lunak.

Universal Description Discovery and Integration


UDDI adalah singkatan dari Universal Description Discovery and Integration. Ini adalah mekanisme berbasis XML untuk mendaftarkan atau mengetahui lokasi dari aplikasi web service.

UDDI membantu memperluas dan menyederhanakan interaksi business-to-business (B2B). Toko bunga di Indonesia yang ingin terpasang di setiap pasar di dunia tetapi tidak tahu bagaimana, UDDI menyediakan cara untuk melakukan hal ini. UDDI menyediakan one-stop shopping untuk informasi tentang bisnis dan layanan elektronik.

UDDI dibangun di atas network transportation layer dan SOAP (messaging layer berbasis XML). Bahasa deskripsi layanan, seperti Web Services Description Language (WSDL) digunakan dalam menerangkan layanan web dan interface-nya.

Data di suatu registry UDDI dapat dikategorikan menjadi:
Technical Models
Bussiness
Bussiness Service
Service Binding
Setiap registry UDDI memiliki pengenal unik yang disebut Unique Universal Identifier (UUID).

Enterprise Service Bus


ESB Adalah singkatan dari Enterprise Service Bus. Ini merupakan suatu model arsitektur yang digunakan untuk mendisain dan mengimplementasikan komunikasi antara program aplikasi dalam Service Oriented Architecture (SOA).  ESB juga dapat dipandang sebagai layer yang menghubungkan antara front-end application dengan back-end application.


Relasinya dengan SOA, ESB dianggap sebagai platform yang merealisasikan SOA dalam hal interoperability. Dalam arsitektur yang komplek, ESB merupakan sebuah software yang terletak di antara aplikasi atau yang lebih dikenal dengan adaptor/broker. Broker ini memungkinkan komunikasi antara aplikasi tersebut. ESB secara ideal harus mampu mengganti semua kontak langsung antara software dengan aplikasi pada bus sehingga komunikasi berlangsung melalui ESB. Untuk mencapai tujuannya, ESB harus merangkum fungsi yang ditawarkan oleh service dalam cara yang dimengerti oleh service lain. 









Ada beberapa karakteristik ESB, di antaranya adalah:
Independensi sistim operasi dan bahasa pemrograman sehingga  dimungkinkan berkomunikasi 
  antara Java dengan .Net sebagai contoh.
Menggunakan XML sebagai bahasa komunikasi
Mendukung Web Service
Mendukung sistim dengan berperan sebagai adapter
Memiliki model keamanan untuk pelaksanaan verifikasi
Mengandung transformation service sehingga dapat berhubungan dengan berbagai format data
  seperti XLST dan Xquery
Mengandung data validation services
Dapat mengeksekusi aturan-aturan bisnis
Ada sebagai layer abstrak
Memiliki non-centralized policy