Yani’s Weblog

it’s all about software engineering…

CD vs CBD

CD (component development) adalah istilah untuk pembangunan komponen S/W, sedangkan CBD (component-based development) adalah istilah untuk pembangunan S/W dengan cara integrasi dan komposisi komponen. Keduanya (CD dan CBD) berada dalam lingkup CBSE (component-based software engineering). CD akan menghasilkan komponen-komponen S/W yang nantinya siap digunakan dalam CBD.

Sekali lagi, sekarang bukan jamannya membuat S/W dari awal (tangan kosong). Jika perlu, kita bisa beli COTS (commercial of the shelf), komponen S/W yang komersial. Atau, kalian mau jualan komponen S/W ??

July 31, 2008 Posted by yaniwid | CBSE | | 2 Comments

Komponen S/W

Apa itu komponen S/W ? Definisi menurut Szyperski adalah sbb:

  • A software component is a unit of composition with contractually specified interfaces and explicit context dependencies only.
  • A software component can be deployed independently and is subject to composition by third party.

Dari definisi di atas, kita tahu bahwa komponen S/W harus bisa di-deploy secara independent, sehingga harus punya batas yang jelas dengan lingkungannya (komponen lain). Komponen S/W harus punya definisi interface yang jelas. Implementasi komponen harus ter-enkapsulasi dan tidak dapat diakses langsung tanpa melalui interface-nya. Komponen S/W belum siap pakai, tetapi harus dikomposisi dengan komponen atau sistem lain sehingga akhirnya menjadi produk jadi.

July 31, 2008 Posted by yaniwid | CBSE | | 15 Comments

Go2Bed…

July 31, 2008 Posted by yaniwid | fun | | No Comments Yet

OOA vs OOD

Di mana batas antara OOA dan OOD ? Cukup banyak yang menganggap bahwa OOA sebatas mengidentifikasi objek/kelas, lalu pada OOD akan dilengkapi dengan atribut dan method tiap kelas. Apakah cukup seperti itu ? Coba lihat lagi Analisis vs Perancangan…

Seharusnya, OOA berfokus pada identifikasi objek/kelas yang dapat menggambarkan domain problem. Kelas pada model analisis bisa juga sudah dilengkapi dengan atribut dan deskripsi tanggung-jawab (responsibilities) kelas.

Pada OOD, kita mulai membuat model design yang mengarah pada solusi yang siap diimplementasikan. Kita juga sudah mulai menetapkan lingkungan implementasi (bahasa pemrograman, DBMS, dl). Tiap kelas ditinjau lagi lebih detil. Suatu kelas mungkin sudah tersedia pada library bhs pemrograman yang akan digunakan. Atau, kita bisa menurunkannya (inherit) dari kelas yang sudah ada. Kita juga mulai melihat kebutuhan kelas-kelas antarmuka. Umumnya cukup banyak kelas-kelas GUI yang sudah tersedia. Mana yang akan kita gunakan. Interaksi antar objek/kelas lebih diperjelas, sehingga akhirnya diperoleh signature yang tepat dari setiap atribut dan method kelas.

Jadi, model analisis (hasil OOA) dan model design (hasil OOD) jelas akan berbeda…

July 29, 2008 Posted by yaniwid | introduction | | 3 Comments

Virtual Research Center

Virtual Research Center (VRC) adalah aplikasi pendukung kegiatan di suatu Pusat Penelitian. VRC versi awal dikembangkan untuk memenuhi kebutuhan PPTIK ITB. Berbagai fitur menarik sudah diimplementasikan pada aplikasi ini seperti: online proposal submition, online reviewing, online monitoring, dan menyediakan workspace untuk setiap tim peneliti.

Di bawah VRC, kami mengembangkan framework (yang kami sebut virtual office framework) yang punya fitur dasar user management, module management, news, agenda, calendar, forum, dan dukungan untuk membuat konten dalam dua bahasa. Framework ini sendiri, sudah digunakan ulang untuk membangun beberapa aplikasi lainnya.

Sayangnya, aplikasi ini belum bisa digunakan secara penuh, karena VRC mendukung proses bisnis penelitian yang saat ini belum bisa diberlakukan di ITB.

Thanks buat anggota tim pengembang (para mahasiswa di Lab RPL) yang sudah mencoba mengimplementasikan ide-ide menarik…

July 28, 2008 Posted by yaniwid | project | | 5 Comments

Business Process Modeler

Ridwan (2003) mencoba membuat sebuah editor model proses bisnis. Dari model proses bisnis yang dibuat dalam notasi BPMN (Business Process Modeling Notation) ini, selanjutnya dapat dibangkitkan representasinya dalam dokumen XML, yang berformat WS-BPEL. File WS-BPEL ini nantinya bisa dieksekusi oleh BPEL engine yang sudah ada.

Effort yang cukup besar pada TA Ridwan adalah memetakan model proses bisnis menjadi WS-BPEL, serta membuat editor yang cukup friendly. Apalagi, aplikasi ini dibuat berbasis web. Konsep Ajax digunakan untuk membuat editor yang punya fitur drag-and-drop. Untuk implementasi konsep ini, digunakan framework ZeroKode.

Masih sederhana, but it’s a good start:-)

July 28, 2008 Posted by yaniwid | final project | | 6 Comments

Five Surgeons

Five surgeons were taking a coffee break and were discussing their work.

The first said, “I think accountants are the easiest to operate on. You open them up and everything inside is numbered.”

The second said, “I think librarians are the easiest to operate on. You open them up and everything inside is in alphabetical order.”

The Third said, “I like to operate on electricians. You open them up and everything inside is color-coded.”

The fourth one said, “I like to operate on lawyers. They’re heartless, spineless, gutless, and their heads and their butts are interchangeable.”

Fifth surgeon said, “I like Engineers…they always understand when you have a few parts left over at the end…”

(Dari Jokes for Engineers)

July 25, 2008 Posted by yaniwid | fun | | No Comments Yet

Umbrella Activities

Melengkapi common process framework, ada aktivitas-aktivitas lain yang masuk kategori umbrella activities sebagai berikut:

  1. Software project tracking and control
  2. Risk management
  3. Software quality assurance
  4. Formal technical reviews
  5. Measurement
  6. Software configuration management
  7. Reusability management
  8. Work product preparation and production

Aktivitas di atas tidak kalah pentingnya -meskipun kadang terlupakan- untuk dilaksanakan agar S/W project berjalan lancar dan sukses…

July 25, 2008 Posted by yaniwid | introduction, software process | | No Comments Yet

Common Process Framework

Berikut adalah proses atau aktivitas yang harus ada kalau kita ingin mendefinisikan model proses atau metode baru untuk pembangunan S/W:

  1. Communication; aktivitas untuk berkolaborasi dengan customer untuk mendapatkan S/W requirement
  2. Planning; aktivitas untuk membuat engineering work plan, mendeskripsikan resiko, mendaftar seluruh kebutuhan sumberdaya dan hasil yang harus dicapai, dan mendefinisikan jadwal kerja
  3. Modeling; aktivitas untuk membuat model yang dapat membantu developers dan customers untuk lebih memahami kebutuhan S/W dan hasil design-nya
  4. Construction; aktivitas untuk membuat kode program dan mengujinya
  5. Deployment; aktivitas untuk delivere S/W agar dievaluasi dan diperoleh feedback dari customer

July 25, 2008 Posted by yaniwid | introduction, software process | | No Comments Yet

Area Riset S/W Engineering

Masih dari minitutorial-nya Mary Shaw:

Fokus utama S/W Engineering research adalah mencari cara yang lebih baik untuk membangun dan mengevaluasi S/W. Membangun S/W mencakup seluruh aktivitas sintesis untuk membuat (create) dan memodifikasi S/W, termasuk kode program, dokumen design, dan lain-lain. Evaluasi mencakup seluruh aktivitas analisis yang berhubungan dengan memprediksi, menetapkan (determines), dan memperkirakan (estimates) properti suatu sistem S/W, baik properti fungsional maupun non-fungsional.

Software engineering research berusaha menjawab pertanyaan mengenai metode untuk development atau analisis, detil perancangan atau evaluasi aspek tertentu, generalisasi terhadap kelas sistem atau teknik tertentu, dan lain-lain…

Tulisan ini memperkuat tulisan sebelumnya disini

July 24, 2008 Posted by yaniwid | research | | No Comments Yet