UML mendukung pengembangan aplikasi Relationships Objek-objek Objek-objek Business Sistem untuk skala yang luas ORDBMS Oracle Kelas application partitioning Komponen Microsoft Skenario CORBA OMG Use Cases ActiveX/COM Microsoft Business Process Transition: So! Who should use UML? Everybody who is doing software development. Core Message: UML supports object and component-based technology. Key Point 1: UML is an expressive language that can be used to describe pretty much everything about software application. - object technology: objet, class, relationships, scenario, Use Case - component-based development: component, ActiveX/COM, CORBA - large scale system, application partitioning 11
Pengertian UML Unified Modelling Language (UML) adalah sebuah "bahasa" yg telah menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak. UML menawarkan sebuah standar untuk merancang model sebuah sistem. Dengan menggunakan UML kita dapat membuat model untuk semua jenis aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun.
Konsep Dasar UML 1. Menguasai pembuatan diagram UML 2. Menguasai langkah-langkah dalam analisa dan pengembangan dengan UML
UML mendefinisikan diagram-diagram sebagai berikut: use case diagram class diagram statechart diagram activity diagram sequence diagram collaboration diagram component diagram deployment diagram
USE CASE DIAGRAM Sebuah Use Case menggambarkan suatu urutan interaksi antara satu atau lebih aktor dan sistem. Menekankan pada “apa” yang diperbuat sistem, bukan “bagaimana”. Model elements : Use Case dan Actor.
• Sebuah Use Case adalah situasi dimana sistem Anda digunakan untuk memenuhi satu atau lebih kebutuhan pemakai Anda. • Use Case merupakan awal yang sangat baik untuk setiap fase pengembangan berbasis objek, design, testing, dan dokumentasi. • Use Case menggambarkan kebutuhan sistem dari sudut pandang di luar sistem. • Use Case menentukan nilai yang diberikan sistem kepada pemakainya.
• Use Cases hanya menetapkan apa yang seharusnya dikerjakan oleh sistem, yaitu kebutuhan fungsional sistem. • Use Case tidak untuk menentukan kebutuhan nonfungsional, misalnya: sasaran kinerja, bahasa pemrograman, dsb. • Use Case class digunakan untuk memodelkan dan menyatakan unit fungsi/layanan yang disediakan oleh sistem (or bagian sistem: subsistem atau class) ke pemakai.
Use Case - Use Case Diagram Use case dibuat berdasar keperluan actor, merupakan “apa” yang dikerjakan system, bukan “bagaimana” system mengerjakannya Use case diberi nama yang menyatakan apa hal yang dicapai dari hasil interaksinya dengan actor. Use case dinotasikan dengan gambar (horizontal ellipse) Use case biasanya menggunakan verb Nama use case boleh terdiri dari beberapa kata dan tidak boleh ada 2 use case yang memiliki nama yang sama Sebuah use case bisa mempunyai dokumentasi Gunakan dengan lambang dibawah ini dan ditarik dengan garis putus tanpa panah
Use Case - Use Case Diagram
Karakteristik Use Case: Use Cases adalah interaksi atau dialog antara sistem dan actor, termasuk pertukaran pesan dan tindakan yang dilakukan oleh sistem. Use Cases diprakarsai oleh actor dan mungkin melibatkan peran actor lain. Use Cases harus menyediakan nilai minimal kepada satu actor. Use Cases bisa memiliki perluasan yang mendefinisikan tindakan khusus dalam interaksi atau Use Case lain mungkin disisipkan.
Actor memiliki karakteristik seperti berikut: Actor adalah eksternal terhadap sistem. Actor berinteraksi dengan sistem. Actor memanfaatkan fungsi yang disediakan sistem, termasuk fungsi aplikasi dan pemeliharaan. Actors bisa saja menyediakan fungsi ke sistem. Actors bisa menerima informasi yang disediakan sistem. Actors bisa menyediakan informasi ke sistem. Actor class memiliki objek actor yang menyatakan actor tertentu. Actors sebaiknya diberi nama menggunakan kata Benda
Actor - Use Case Diagram Actor menggambarkan orang, system atau external entitas / stakeholder yang menyediakan atau menerima informasi dari system Actor memberi input atau menerima informasi dari system Actor biasanya menggunakan Noun Actor digambarkan dengan gambar stick figure atau dengan gambar visual atau atau dll Tidak boleh ada komunikasi langsung antar actor (Actors don’t interact with one another ) Indikasi <<system>> untuk sebuah actor yang merupakan sebuah system Adanya actor bernama “Time” yang mengindikasikan scheduled events (suatu kejadian yang terjadi secara periodik/bulanan)
Primary actor (aktor utama) memprakarsai sebuah use case Primary actor (aktor utama) memprakarsai sebuah use case. Jadi, suatu primary aktor memegang peran sebagai proaktif dan yang memulai aksi dalam sistem. Aktor lainnya yang berperan sebagai secondary aktor bisa saja terlibat dalam use case dengan menerima output dan memberikan input. Setidaknya satu actor harus mendapatkan nilai dari use case. Biasanya adalah primary aktor (actor utama). Berikut adalah gambar yang menjelaskan primary actor dan secondary actor:
Terdapat beberapa hal penting yang harus diperhatikan dalam penulisan actor dalam sebuah use case. Perhatikan gambar berikut :
Ketika menuliskan actor dalam sebuah use case, primary actor selalu ditempatkan di sebelah kiri dan secondary actor selalu ditempatkan di sebelah kanan. Hal ini berkaitan dengan bagaimana cara kita membaca sebuah use case (Budaya Barat cenderung membaca dari kiri ke kanan dan dari atas ke bawah). Pada gambar tersebut kita dapat melihat perbedaan bahwa aktivitas membeli dan membayar barang merupakan aktivitas utama konsumen (primary actor). Sedangkan kasir (secondary actor) adalah pelaku yang dilibatkan dalam aktivitas primary actor. Selain itu, setiap actor minimalkan dilibatkan oleh satu use case dan setiap use case minimal dilibatkan oleh satu actor.Actor biasanya menggunakan kata benda (noun)
• Tidak boleh ada komunikasi langsung antar actor, seperti:
• Aktor tidak boleh digambarkan di tengah-tengah use case, seperti:
Actor menggambarkan sebuah tugas/peran dan bukannya sebuah posisi atau jabatan. Contoh: Teller adalah menggunakan peran/tugas sedangkan Teller senior dan Teller Junior adalah menggunakan jabatan.