12 April 2013

System Design - Use Case Diagram



Dalam pembuatan sebuah sistem terutama software diperlukan adanya sebuah design terlebih dahulu sebelum memulai tahap programming. Kenapa seperti itu? dikarenakan programmer hanya bertugas mengimplementasikan. Gampangnya sih gini... menurut pengalamanku dan beberapa orang teman sesama programmer, ketika kami diminta membuat sebuah aplikasi tapi tidak diberi tahu function yang mau dibuat apa aja dan mau dibikin kayak apa...kita tuh bingung. Dan ketika aplikasi selesai dibuat, ternyata user ga pingin seperti yang programmer bayangkan. Nah, untuk menjembatani antara user dan programmer, maka ada yang namanya System Designer yang membuat design yang diminta oleh user dan design tersebut bisa dibaca oleh para programmer.

Ada berbagai macam system design yang perlu dipersiapkan oleh designer nya, dan bukan dalam bentuk gambar seperti yang dibuat oleh arsitek lho...haha tapi bentuknya adalah diagram dalam berbagai bentuk dan fungsi. Untuk kali ini aku akan membahas hanya satu jenis diagram. dan aku akan membuat post lain yang berisi tentang diagram lainnya.

Use Case Diagram
Diagram ini merepresentasikan apa saja fungsi yang ada di dalam sistem dan siapa yang akan menggunakannya. Kata kunci nya adalah "Who" dan "What".
Teknik use case ini mengambil behavior dalam sistem. Jadi, semua yang ditulis sebagai fungsi atau kegunaan dalam sistem adalah dalam bentuk kata kerja.
Contoh : Administrator menghapus file
Dalam contoh di atas, Administrator berperan sebagai aktor dalam sistem dan "Menghapus file" adalah kegiatan yang dapat dilakukan oleh administrator yang juga merupakan salah satu fungsi dalam sistem.



Gambar di atas adalah contoh use case diagram. Dapet gambar di atas dari google. hehe Ini contoh paling simpel yang bisa aq dapetin. 

Jadi..coba kita analisis gambar di atas ya...
Aktor dalam sistem ada 5, yaitu :

  • User
  • Web Merchant
  • Bank Employee
  • Retail Institution
  • Bank Database

Tiap aktor bisa melakukan fungsi nya masing-masing. Seperti misalnya Bank Employee dan Bank Database bisa melakukan "Client Desktop Transaction" dimana Retail Institution tidak bisa melakukannya.

Seperti yang kita liat di atas, ada aktor yang di bawah aktor lainnya. Dalam kasus ini Web Merchant dan Bank Employee yang ada di bawah User. Nama hubungan ini adalah Generalization. Dilambangkan dengan panah penuh.
Maksudnya adalah User kan ada 2 yaitu Web Merchant dan Bank Employee, nah aktor User ini bisa melakukan "Transaction", "ATM Transaction", dan "Online Transaction", dimana aktor Web Merchant dan Bank Employee bisa melakukannya juga karena mreka juga User. Tapi, "Client Desktop Transaction" hanya bisa dilakukan oleh Bank Employee tapi tidak bisa dilakukan oleh Web Merchant.
Gitu maksudnya...

Kalo ada yang tanya...apa sih tulisan Extend sama Include itu ??
Aku bakalan jelasin secara singkat dan mudah dipahami oleh bahasa manusia. karena biasanya kalo cari di google maksudnya ini apa..penjelasannya ga manusiawi alias ga mudah untuk dipahami.hahaha

So, Extend itu gampangannya ya suatu fungsi yang terjadi karena fungsi lainnya ada. Contoh nya yang ada di bagian Login trus ada tulisan Extend Invalid Login.
Maksud dari ini adalah... Ketika seseorang melakukan Login, ada kemungkinan terjadi Invalid Login.

Sedangkan untuk Include ini maksudnya adalah fungsi yang terjadi ketika aktor menjalankan sebuah fungsi. Contohnya ada di Online Transaction Include Login. Ketika aktor melakukan "Online Transaction" secara otomatis seseorang harus melakukan "Login" bukan?

Jadi...itu tadi penjelasan tentang USe Case Diagram...kalau ada yang mau bikin use case diagram bias apakai Astah (trial - kalo mau beli juga ga masalah) atau StarUML (free)

Post selanjutnya aku coba untuk bikin tentang diagram lain yang biasanya dibuat oleh software designer.
Hope this post help you, guys... ^,^
If you have any questions, just comment in below and I will help you answer your questions... :)

Intan Web Developer

A Wife and PhD candidate to-be in National Taiwan University of Science and Technology. Dreamer, Writer, Traveller, and Tech Addict. Like to travel everywhere and experience anything.

No comments:

Post a Comment

Anda bisa memasukkan komentar tentang postingan di sini...Terima Kasih ^.^