Senin, 07 Juni 2010

Iconix Process pada Rekayasa Perangkat Lunak

Sebelum mempraktekkan ICONIX process ini, ada baiknya rekan-rekan memahami terlebih dahulu mengenai teori UML (Unified Language Modelling). Karena ICONIX process ini membutuhkan pemahaman akan konsep tersebut.

Di dalam teori software egineering, setiap aspek pada UML adalah penting untuk digunakan. Namun pada praktiknya seolah-olah tak terdapat cukup waktu untuk melakukan modelling, analysis, dan design. Seolah-olah seperti ada tekanan dari pihak manajemen untuk segera memulai coding karena progress dari sebuah software-project tergantung dari seberapa banyak code yang telah dihasilkan. Oleh karena itu digunakan ICONIX Process yang merupakan sebuah pendekatan yang minimalis dan efisien, yang terfokus pada daerah yang berada di antara use case dan code .

ICONIX Process sejatinya berada di antara Rational Unified Process (RUP) yang proses perancangannya sangat banyak dan pendekatan Extreme Programming (XP) yang proses perancangannya sangat sedikit . ICONIX process dikendalikan oleh use case seperti halnya RUP, namun tanpa banyak tambahan untuk pentabelan. ICONIX process juga sangat sedikit prosesnya dan ketat seperti halnya XP, namun tidak mengabaikan analisis dan desain seperti pada XP. Proses ini membuat penggunaan UML menjadi efisien karena tetap terfokus pada requirement.





Pada ICONIX process terdapat dua model yaitu model dynamic yang mendefinisikan behavior dan model static yang mendefinisikan struktur. Langkah-langkah yang dilakukan pada ICONIX process, antara lain (Rosenberg, 2007) :

Requirement Analysis
Mengumpulkan informasi tentang sistem yang akan dibangun, salah satunya dengan membuat daftar requirement (high-level requirement).
Mengidentifikasi domain object pada dunia nyata beserta relasi generalisasi dan agregasi diantara objek-objek tersebut. Kemudian membuat high-level class diagram atau domain model guna menghindari adanya keambiguan penggunaan istilah.
Membuat GUI prototyping dari sistem yang diusulkan.
Mengidentifikasi use case dengan menggunakan use case diagram. Hal ini dilakukan berdasarkan domain model dan GUI prototyping. Kemudian mengalokasikan functional requirement pada use case dan domain object. Hal ini dilakukan dengan mendeskripsikan basic course dan alternate course dari tiap use case (use case text). Basic course mempresentasikan mainstream, sedangkan alternate course merupakan jalur yang jarang digunakan (less frequently path) dan jalur untuk kondisi error.
Mengorganisir use case ke dalam grup, dan meng-capture informasi ini ke dalam package diagram.
Melakukan Requirement Review (Milestone 1).
Analysis/Preliminary Design
Melakukan robustness analysis untuk setiap use case, dengan cara : memastikan bahwa tidak terdapat keambiguan pada use case text, mengidentifikasi first cut dari objek yang menyelesaikan setiap skenario, dan meng-update domain model jika ditemukan objek atau atribut yang baru.
Menyelesaikan update pada analysis-level class diagram.
Melakukan Preliminary Design Review (Milestone 2).
Detailed Design
Membagi domain model ke dalam class diagram sebanyak yang dibutuhkan.
Mengalokasikan behavior dengan cara menggambar sequence diagram untuk setiap use case, dengan cara : membangkitkan kerangka sequence diagram berdasarkan boundary dan entity objek pada robustness diagram; mengidentifikasi message yang perlu di-pass antara objek, objek, dan metode asosiasi yang perlu di-invoke. Menggambarkan sequence diagramnya beserta use case text di sebelah kiri dan informasi desain pada sebelah kanan; meng-update class diagram dengan atribut dan operasi yang baru; dan membangkitkan sebagian unit test untuk semua controller yang terdapat pada robustness diagram.
Memperbaharui static model dengan menambahkan informasi detailed design.
Melakukan review pada desain untuk memastikan bahwa desain telah memenuhi semua requirement melalui Critical Design Review (Milestone 3).
Implementation
Membangkitkan domain classes.
Melakukan coding dan testing untuk setiap controller pada robustness diagram, dengan cara : menuliskan source code, mengimplemetasikan unit test, dan menjalankan test.
Melakukan system dan user-acceptance testing berdasarkan use case dengan teknik black-box test case.
Melakukan Delivery (Milestone 4).
Sumber : Rosenberg, Doug., & Stephen, Matt. 2007. Use Case Driven Object Modelling with UML. New York : Apress.

Tidak ada komentar:

Posting Komentar

terima kasi yah
madridista89

Daftar Blog Saya

Entri Populer