UML – Iconix Process #3 Tutorial

Belum juga habis secangkir kopi hitam dan sebungkus “solar salt barn twelve”, rasanya sudah kepingin menari kan jemari diatas keyboard.

Seperti paragraf terakhir pada tutorial uml sebelumnya kali ini kita membahas tentang Tahapan Iconix Process dalam Use Case Driven Object.

Gambar Iconix Process

Dari gambar diatas jelas terlihat bahwa pada iconix process terbagi menjadi dua blok proses yaitu Dynamic dan Static. Sekilas kita lihat bahwa pemodelan di mulai dengan membuat GUI Storyboard. Dan pada blok proses Static sebenarnya tidaklah murni statik dikarenakan di dalamnya dimungkinkan adanya perubahan model yaitu terdapat proses Updated Domain Model. Updat domain model sendiri dilakukan setelah terjadinya perubahan pada blok proses dynamic. Dengan kata lain Domain Model dapat berubah selama terjadi perubahan pada blok proses Dynamic.

Untuk mempersingkat, berikut tahapan/urutan yang harus ada pada Iconix Process:

  • Domain Model
  • Primary Use Case (Optional)
  • GUI Storyboard
  • Use Case Narasi
  • Diagram Robustness
  • Diagram Sequence
  • Diagram Class

Untuk membuat/merancang pemodelan sistem menggunakan UML dibutuhakan UML Tool Software. Teradapat beberapa software yang bisa digunakan diantaranya:

Demi menunjang kelancaran pemodelan sistem, kita wajib meng-install salah satu software tool diatas.

Pembahasan selanjutnya : Domain Model

 

UML – Use Case Driven Object – Iconix Process #2 Tutorial

Kali ini kita membahas salah satu metode yang terdapat dalam UML, yaitu Use Case Driven Object.

Use case driven object berarti menggunakan use case untuk mendorong untuk mengerjakan pembangunan atau pembuatan perangkat lunak (software), mulai dari pengumpulan awal dan penentuan kebutuhan sampai proses pembuatan program.

Pemilihan metode ini dilakukan karena use case sangat sesuai untuk meng identifikasi kebutuhan serta melakukan analisa, desain, dan implementasi.

Iconix bukanlah sebuah metode, tetapi alur proses dari metode use case driven object. Proses berawal dari pendefinisian kebutuhan sistem secara spesifik. Identifikasi kebutuhan sistem hanya dapat diperoleh dengan cara komunikasi yang inten  dengan stake holder.

Iconix Proses

Iconix Proses

Diagram Iconix Process

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
  1. Mengumpulkan informasi tentang sistem yang akan dibangun, salah satunya dengan membuat daftar requirement (high-level requirement).
  2. 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.
  3. Membuat GUIprototyping dari sistem yang diusulkan.
  4. Mengidentifikasi use case dengan menggunakan use case  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.
  5. Mengorganisir use case ke dalam grup, dan meng-capture informasi ini ke dalam package 
  6. Melakukan Requirement Review (Milestone 1).
  • Analysis/Preliminary Design
  1. 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.
  2. Menyelesaikan update pada analysis-level class 
  3. Melakukan Preliminary Design Review (Milestone 2).
  • Detailed Design
  1. Membagi domain model ke dalam class diagram sebanyak yang dibutuhkan.
  2. 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- 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.
  3. Memperbaharui static model dengan menambahkan informasi detailed design.
  4. Melakukan review pada desain untuk memastikan bahwa desain telah memenuhi semua requirement melalui Critical Design Review (Milestone 3).
  • Implementation
  1. Membangkitkan domain classes.
  2. Melakukan coding dan testing untuk setiap controller pada robustness diagram, dengan cara :   menuliskan source code,mengimplemetasikan unit test, dan menjalankan.
  3. Melakukan system dan user-acceptance testing berdasarkan use case dengan teknik black-box test case.
  4. Melakukan Delivery (Milestone 4)

Santai dulu … silahkan rebus air 200 ml, ambil gelas, masukkan gula pasir sesuai selera, jangan lupa masukkan bubuk kopi dan tuangkan air yang direbus tadi setelah mendidih kedalam gelas yang telah terisi gula pasir dan bubuk kopi, aduk secara merata.

Kopi Hitam siap saji. Ambil sebatang rokok, nyalakan dan nikmati dulu selagi sempat dan bisa.

Pembahasan selanjutnya : Tahapan Iconix Process dalam Use Case Driven Object.

http://blog.unitomo.ac.id/lambang/2017/12/07/1-uml-unified-modeling-language/

http://blog.unitomo.ac.id/lambang/2017/12/13/uml-iconix-process-3-tutorial/

UML (Unified Modeling Language) #1 Tutorial

UML adalah sebuah bahasa yang berdasar pada grafik/gambar untuk memvisualisasi, menspesifikasikan, membangun, dan pendokumentasian dari sebuah sistem pengembangan software berbasis OO (Object-Oriented).

UML tidak hanya merupakan sebuah bahasa pemograman visual saja, namun juga dapat secara langsung dihubungkan ke berbagai bahasa pemograman, seperti JAVA, C++, Visual Basic, atau bahkan dihubungkan secara langsung ke dalam sebuah object-oriented database.

Salah satu dari tahapan SDLC atau software development life cycle, adalah desain. Desain bertujuan agar software yang akan dibuat dapat memenuhi kebutuhan user dan handal. Oleh karena itu, desain menjadi tahapan penting dalam proses pembuatan software. Dalam mendesain software, kita perlu mentransformasikan kebutuhan user, baik secara fungsional maupun non fungsional ke dalam model.

Model adalah sebuah abstraksi dari hal nyata. Model merupakan penyederhanaan dari sistem yang sebenarnya sehingga desain dari sebuah sistem dapat dimengerti oleh pihak lain. Untuk memodelkan sesuatu, tentu diperlukan bahasa pemodelan. Bahasa pemodelan dapat berupa pseudo-code, code, gambar, diagram, atau deskripsi yang menggambarkan sebuah sistem. Disinilah UML berperan sebagai bahasa pemodelan.

Mengapa harus menggunakan UML?

Jawabannya adalah untuk menghindari ambiguitas, penggunaan kata yang terlalu banyak dan detail yang tidak penting (jika pemodelan menggunakan kode maupun pseudocode) sehingga menyebabkan kesalahpahaman.

Pemodelan menggunakan UML memiliki keuntungan, yaitu :

  • UML adalah bahasa formal. Setiap elemen dari UML memiliki makna tersendiri sehingga tidak akan terjadi kesalahpahaman.
  • UML singkat / ringkas. UML memiliki notasi yang jelas dan tidak berbelit-belit.
  • UML komprehensif atau menyeluruh. UML dapat menggambarkan aspek-aspek penting dalam sistem.
  • UML dapat menghandle sistem yang besar maupun kecil.
  • UML memiliki banyak pengguna. Sehingga tersedia banyak tutorial tentang cara penggunaannya.
  • UML adalah bahasa standar. Sehingga UML tidak terikat dengan produk tertentu.

Berikut merupakan daftar diagram UML secara umum dan penjelasannya :

  • Use Case: Menggambarkan tentang interaksi antara sistem dan pengguna atau sistem lain. Sangat berguna untuk memetakan requirement atau kebutuhan dari suatu sistem.
  • Activity: Menggambarkan tentang aktivitas sekuensial maupun paralel dari sistem.
  • Class: Mengambarkan class, tipe, interface dan hubungan antar ketiganya.
  • Object: Menggambarkan instance objek dari class yang telah didefinisikan di class diagram.
  • Sequence: Menggambarkan interaksi antar objek dimana urutan dari interaksi tersebut merupakan hal penting.
  • Communication: Menggambarkan cara objek beriteraksi dan koneksi yang dibutuhkan untuk melakukan interaksi.
  • Timing: Menggambarkan interaksi antar objek dimana waktu merupakan hal yang penting.
  • Component: Menggambarkan komponen penting dalam sistem dan interface yang digunakan untuk saling berinteraksi.
  • Package : Menggambarkan hirarki dari sekelompok class dan component.
  • State Machine:  Menggambarkan status dari objek selama masa aktifnya dan event yang dapat merubah state dari objek tersebut.
  • Deployment: Menggambarkan bagaimana sistem dideploy di dunia nyata.

Secara umum, UML digunakan sebagai berikut :

Sketsa : UML hanya digunakan untuk pembuatan sketsa yang menyampaikan poin-poin penting.

Blueprint : UML digunakan untuk menyediakan spesifikasi dari sistem menggunakan UML diagram. Diagram ini kemudian dapat digenerate menggunakan UML tool. Pendekatan ini umumnya berkaitan dengan software dan biasanya menggunakanforward atau reverse engineering untuk menjaga model tetap sinkron dengan kode.

Bahasa pemrograman : UML digunakan langsung dari model menjadi executable code (tidak hanya sebagian code seperti pada forward engineering). Hal ini berarti setiap aspek detail dari sistem akan dimodelkan. Keuntungan dari pendekatan ini adalah model dapat digunakan untuk menggenerate code ke berbagai environtment.

Pendekatan yang akan dipakai tergantung pada tipe aplikasi dan metode dalam proses pengembangan software yang digunakan (ex: waterfall, interation, dan lain-lain).
Sebagai contoh, pada industri tertentu seperti kesehatan, proyek software menggunakan pendekatan UML sebagai blueprint. Hal ini karena software harus berkualitas tinggi. Kualitas merupakan hal penting pada industri ini karena kesalahan kecil dapat menyebabkan efek yang fatal.

Seperti yang telah disebutkan, metode dalam proses pengembangan software juga berpengaruh pada pendekatan yang akan digunakan dalam UML.

Sekian dulu pengantar tutorial UML ini, untuk tutorial selanjutnya akan dibahas tentang salah satu metode dari UML yaitu Metode Use Case Driven Object – Iconix Process.

http://blog.unitomo.ac.id/lambang/2017/12/12/uml-use-case-driven-object-iconix-process-2-tutorial/

http://blog.unitomo.ac.id/lambang/2017/12/13/uml-iconix-process-3-tutorial/

Mahasiswa Sering “NGILANG”

Semenjak saya terlibat dalam pembimbing ataupun penguji Tugas Akhir (TA)/ Skripsi, sering kali menjumpai mahasiswa setelah sidang proposal Tugas Akhir menghilang tanpa kabar. Meski sudah diberitahukan kepada mereka bahwa batas pengumpulan revisi proposal selama dua minggu.

Besok, hari Rabu tanggal 06 Desember 2017 adalah batas akhir pengumpulan revisi proposal Tugas Akhir periode tanggal 22 Nopember 2017.  Hingga detik ini ada dua mahasiswa yang mengajukan revisi, itupun masih belum sesuai dengan berita acara catatan revisi. Sedangkan mahasiswa yang lain, tidak diketahui keberadaannya.

Ada beberapa alasan mengapa mahasiswa tidak segera melakukan revisinya.

“Saya nggak PeDe, pak. Nggak yakin dengan TA saya, nggak yakin dapat memperoleh data-data yang dibutuhkan.”

“Nggak yakin mampu menyelesaikan TA menggunakan metode itu.”

“Yang penting maju sidang proposal TA dulu, kan sudah di Acc sama Dospem, revisi dipikir belakangan aja.”

Sebenarnya dan seharusnya tahapan Proposal TA minimal adalah 40% – 50% dari pengerjaan TA itu sendiri. Itupun jika benar benar Proposal TA dikerjakan dengan cara yang Benar dengan proses bimbingan yang benar pula.

Jadi saat Proposal TA diajukan:
– Literature review sudah banyak
– State of Art pembangunan teori nya sudah kuat
– Novelty nya jelas
– Metode nya berlandaskan teori yang kuat
– dan Konseptual Model nya pun detail dan kokoh dalam referensi.

Sehingga seusai Ujian Proposal, mahasiswa dapat percaya diri untuk langsung melangkah ke tahapan Pengambilan Data. (Dikutip dari ungkapan Bpk Tony Dwi Susanto, M.Sc., Ph.D. (President of AIS-Indonesia chapter (AISINDO) )