UNIFIED MODELLING LANGUAGE UNIFIED MODELLING LANGUAGE n n

  • Slides: 54
Download presentation
UNIFIED MODELLING LANGUAGE

UNIFIED MODELLING LANGUAGE

UNIFIED MODELLING LANGUAGE n n n Unified Modelling Language (UML) adalah sebuah "bahasa" yang

UNIFIED MODELLING LANGUAGE n n n Unified Modelling Language (UML) adalah sebuah "bahasa" yang telah menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem informasi atau piranti lunak. UML menawarkan sebuah standar untuk merancang model sebuah sistem. Seperti bahasa-bahasa lainnya, UML mendefinisikan notasi dan syntax/semantik.

UNIFIED MODELLING LANGUAGE n n n Notasi UML merupakan sekumpulan bentuk khusus untuk menggambarkan

UNIFIED MODELLING LANGUAGE n n n Notasi UML merupakan sekumpulan bentuk khusus untuk menggambarkan berbagai diagram piranti lunak. Setiap bentuk memiliki makna tertentu, dan UML syntax mendefinisikan bagaimana bentuk tersebut dapat dikombinasikan. Notasi UML terutama diturunkan dari 3 notasi yang telah ada sebelumnya: Grady Booch OOD (Object-Oriented Design), Jim Rumbaugh OMT (Object Modeling Technique), dan Ivar Jacobson OOSE (Object-Oriented Software Engineering).

UML Derivative OMT OOD OOSE

UML Derivative OMT OOD OOSE

Analysis and Design Process Zachman Framework System requirements legend Use Case Model Class Diagram

Analysis and Design Process Zachman Framework System requirements legend Use Case Model Class Diagram Structural Behavioral Activity/Sequence Diagram State Chart Component Diagram Deployment Diagram

Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Yang ditekankan adalah “apa”

Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”. n Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan sistem. n

USE CASE n n n Use case dibuat berdasar keperluan actor, merupakan “apa” yang

USE CASE n n n 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 kata kerja Nama use case boleh terdiri dari beberapa kata dan tidak boleh ada 2 use case yang memiliki nama yang sama

ACTOR n n n n Actor menggambarkan orang, system atau external entitas / stakeholder

ACTOR n n n n Actor menggambarkan orang, system atau external entitas / stakeholder yang menyediakan atau menerima informasi dari system Actor menggambarkan sebuah tugas/peran dan bukannya posisi sebuah jabatan Actor memberi input atau menerima informasi dari system Actor biasanya menggunakan Kata benda Tidak boleh ada komunikasi langsung antar actor Indikasi <<system>> untuk sebuah actor yang merupakan sebuah system Adanya actor bernama “Time” yang mengindikasikan scheduled events (suatu kejadian yang terjadi secara periodik/bulanan) Letakkan actor utama anda pada pojok kiri atas dari diagram

Association n Associations bukan menggambarkan aliran data/informasi Associations digunakan untuk menggambarkan bagaimana actor terlibat

Association n Associations bukan menggambarkan aliran data/informasi Associations digunakan untuk menggambarkan bagaimana actor terlibat dalam use case Ada 4 jenis relasi yang bisa timbul pada use case diagram 1. 2. 3. 4. Association antara actor dan use case Association antara use case Generalization/Inheritance antara actors

Association antara actor dan use case n n n Ujung panah pada association antara

Association antara actor dan use case n n n Ujung panah pada association antara actor dan use case mengindikasikan siapa/apa yang meminta interaksi dan bukannya mengindikasikan aliran data Sebaiknya gunakan Garis tanpa panah untuk association antara actor dan use case yang menggunakan panah terbuka untuk mengindikasikan bila actor berinteraksi secara pasif dengan system anda

Association antara use case n <<include>> termasuk didalam use case lain (required) / (diharuskan)

Association antara use case n <<include>> termasuk didalam use case lain (required) / (diharuskan) ¨ Pemanggilan use case oleh use case lain, contohnya adalah pemanggilan sebuah fungsi program ¨ Tanda panah terbuka harus terarah ke sub use case ¨ Gambarkan association include secara horizontal <<include>> Register for courses <<include>> Maintain curriculum Logon validation

Association antara use case (Lanjut) n <<extend>> perluasan dari use case lain jika kondisi

Association antara use case (Lanjut) n <<extend>> perluasan dari use case lain jika kondisi atau syarat terpenuhi Kurangi penggunaan association Extend ini, terlalu banyak pemakaian association ini membuat diagram sulit dipahami. ¨ Tanda panah terbuka harus terarah ke parent/base use case ¨ Gambarkan association extend secara vertical ¨

Generalization/inheritance antara use case n Generalization/inheritance digambarkan dengan sebuah garis berpanah tertutup pada salah

Generalization/inheritance antara use case n Generalization/inheritance digambarkan dengan sebuah garis berpanah tertutup pada salah satu ujungnya yang menunjukkan lebih umum n n Gambarkan generalization/inheritance antara use case secara vertical dengan inheriting use case dibawah base/parent use case Generalization/inheritance dipakai ketika ada sebuah keadaan yang lain sendiri/perlakuan khusus (single condition)

n Generalization/inheritance antara actor Gambarkan generalization/inheritance antara actors secara vertical dengan inheriting actor dibawah

n Generalization/inheritance antara actor Gambarkan generalization/inheritance antara actors secara vertical dengan inheriting actor dibawah base/parent use case

Use case System boundary boxes n n n Digambarkan dengan kotak disekitar use case,

Use case System boundary boxes n n n Digambarkan dengan kotak disekitar use case, untuk menggambarkan jangkauan system anda (scope of of your system). Biasanya digunakan apabila memberikan beberapa alternative system yang dapat dijadikan pilihan System boundary boxes dalam penggunaannya optional

Latihan Use Case Diagram ! PT. Nusantara adalah sebuah perusahaan yang bergerak dibidang penjualan

Latihan Use Case Diagram ! PT. Nusantara adalah sebuah perusahaan yang bergerak dibidang penjualan Tunai barang-barang elektronik. Semua transaksi di perusahaan masih dilakukan secara manual. Berikut ini adalah kegiatan yang dilakukan oleh bagian Penjualan dalam melaksanakan transaksi penjualan Barang di dalam perusahaan. 1. Pemesanan barang Setiap kali Bagian penjualan akan menjual barang ia selalu menerima surat pesanan dari pelanggan. Berdasarkan Surat pesanan tersebut bagian penjualan kemudian mencatat dan merekamnya kedalam Arsip Surat Pesanan. Berdasarkan Arsip surat pesanan tersebut, bagian penjualan membuatkan Faktur dan Surat Jalan yang dikirimkan kepada Pelanggan sebagai bukti bahwa barang yang dipesan sudah terealisasi dan rangkapnya disimpan sebagai Arsip Faktur dan Arsip Surat Jalan. 2. Pembuatan Kwitansi Apabila Faktur dan Surat Jalan sudah sampai ditempat pelanggan, maka pelanggan megirimkan Pembayaran yang kemudian oleh bagian penjualan dibuatkan Kwitansi yang dibuat berdasarkan Arsip Faktur yang kemudian diserahkan kepada pelanggan sebagai bukti pembayaran dan rangkapnya disimpan kedalam Arsip Kwitans 3. Pembuatan Laporan Setiap akhir bulan Bagian Penjualan selalu membuat Laporan Penjualan berdasarkan Arsip Faktur dan Laporan Pesanan berdasarkan Arsip Pesanan dan Laporan Pengiriman berdasarkan Arsip Surat Jalan yang ditujukan kepada Kepala Bagian Penjualan Diminta : n. Buatlah Use case diagram dari data diatas !

Rent Vehicle Customer Communication Relationships Gold Card Customer Regular Customer Menyusun asuransi tambahan Generalizes

Rent Vehicle Customer Communication Relationships Gold Card Customer Regular Customer Menyusun asuransi tambahan Generalizes Relationships

Use Case Relationships

Use Case Relationships

Contoh: Use Case Diagram

Contoh: Use Case Diagram

STUDI KASUS USE CASE DIAGRAM n n Koperasi UHAMKA adalah sebuah koperasi yang mengelola

STUDI KASUS USE CASE DIAGRAM n n Koperasi UHAMKA adalah sebuah koperasi yang mengelola simpan pinjam bagi para anggotanya, berikut ini adalah kegiatan yang dilakukan oleh bagian Kredit dalam menangani pemberian pinjaman bagi para anggotanya. Setiap kali bagian kredit akan memberikan pinjaman kepada Anggota maka Anggota diharuskan mengisi Formulir Permohonan Pinjaman yang berisi Nomor FPP, Tanggal Permohonan, Nomor Anggota, Nama Anggota, Jumlah Permohonan dan Keperluan. Yang kemudian oleh Bagian Kredit dicatat dan disimpan kedalam Arsip FPP. Berdasarkan Arsip FPP tersebut Bagian Kredit membuat Bukti Peminjaman yang diberikan kepada Anggota yang berisi No. BP, tgl BP, Nomor Anggota, Nama Anggota, Jumlah Realisasi, Lama Angsuran, Jumlah Angsuran dan Bunga.

n n Setiap Bulan Anggota diharuskan membayar Angsuran sejumlah Angsuran yang disepakati pada saat

n n Setiap Bulan Anggota diharuskan membayar Angsuran sejumlah Angsuran yang disepakati pada saat Peminjaman yang kemudian oleh bagian Kredit dicatat dan direkam kedalam Arsip Angsuran. Berdasarkan Arsip Angsuran tersebut bagian Kredit membuat Bukti Angsuran yang diberikan kepada Anggota yang berisi No. BA, Tanggal BA, No. BP, Jumlah Angsur dan Bunga Pada akhir bulan Bagian Kredit selalu membuat Laporan Peminjaman dan Laporan Angsuran yang diberikan Kepada Ketua Koperasi.

Class Diagram n Class adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek

Class Diagram n Class adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan desain berorientasi objek. n Class menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi). n Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain.

Class Diagram Class memiliki tiga area pokok : n 1. Nama (dan stereotype) 2.

Class Diagram Class memiliki tiga area pokok : n 1. Nama (dan stereotype) 2. Atribut 3. Metoda Atribut dan metoda dapat memiliki salah satu sifat berikut : n Private, tidak dapat dipanggil dari luar class yang bersangkutan n Protected, hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak yang mewarisinya n Public, dapat dipanggil oleh siapa saja

Object-Oriented Approach n Objects are abstractions of real-world or system entities Reality Domain Model

Object-Oriented Approach n Objects are abstractions of real-world or system entities Reality Domain Model Domain bus models vehicle car models cup models Intro | Classes | Relations | Generalization | Guidelines

Object-Oriented Approach n n Object adalah gambaran dari entity, baik dunia nyata atau konsep

Object-Oriented Approach n n Object adalah gambaran dari entity, baik dunia nyata atau konsep dengan batasan dan pengertian yang tepat. Object bisa mewakili sesuatu yang nyata seperti komputer, mobil dll. Object juga dapat berupa konsep seperti proses kimia, transaksi bank, permintaan pembelian, dll. Setiap object dalam sistem memiliki tiga karakteristik yaitu State (status), Behaviour (sifat) dan Indentity (identitas).

Classes n Kelas A adalah template untuk yang sebenarnya, inmemory, contoh Class Name Attributes

Classes n Kelas A adalah template untuk yang sebenarnya, inmemory, contoh Class Name Attributes Operations

Class Diagram Format and association: Class Name Attributes Role name Association name 1 Role

Class Diagram Format and association: Class Name Attributes Role name Association name 1 Role name 1. . * Class Name Navigability Attributes Operations (Methods) Multiplicity Notation 1 0. . * 1. . * 0. . 1 : : One and only one None or more One or more None or one

Relationships of Class There three types of relationship : 1. Apakah-a (Generalisasi, Realisasi: Warisan)

Relationships of Class There three types of relationship : 1. Apakah-a (Generalisasi, Realisasi: Warisan) Memiliki-a (Association) Lainnya (Association, Ketergantungan) Association (Aggregation, Composition) Aggregation (One of associations) Composition (One of associations) Generalization Realization Dependency

Multiplicity of Class

Multiplicity of Class

Pembuatan Class Transfer ATM Card User Withdrawal Bank

Pembuatan Class Transfer ATM Card User Withdrawal Bank

Contoh Class Diagram Aggregation : Aggregation Indicator Multiplicity 1 1 Company 1 Owner Person

Contoh Class Diagram Aggregation : Aggregation Indicator Multiplicity 1 1 Company 1 Owner Person Role 1. . * Employee Company owner: Person employee[]: Person Detail of the class Person

Contoh Class Diagram Composition : Car 1 1 1 handle Handle 1 1 engine

Contoh Class Diagram Composition : Car 1 1 1 handle Handle 1 1 engine Engine Car handle: Handle engine[]: Engine tire[4]: Tire Detail of the class 4 tire Tire

Class Inheritance & Specialization Class name Methods Is a specialization of or Inherits from

Class Inheritance & Specialization Class name Methods Is a specialization of or Inherits from Class: Furniture Attribute A 1 Method A 1 Class: Chairs [Attribute A 1] Attribute B 1 [Method A 1] Method B 1 Class: Executive Chairs [Attribute A 1] [Attribute B 1] Attribute C 1 [Method A 1] Method B 1 (overriding) Method C 1 Attributes

Contoh Class Diagram (Studi Kasus ATM)

Contoh Class Diagram (Studi Kasus ATM)

Contoh Class Diagram (Pembelian Barang)

Contoh Class Diagram (Pembelian Barang)

Contoh Class Diagram (Sistem Akademik)

Contoh Class Diagram (Sistem Akademik)

State. Chart Diagram Statechart diagram menggambarkan transisi dan perubahan keadaan (dari satu state ke

State. Chart Diagram Statechart diagram menggambarkan transisi dan perubahan keadaan (dari satu state ke state lainnya) n Pada umumnya statechart diagram menggambarkan class tertentu (satu class dapat memiliki lebih dari satu statechart diagram). n

State. Chart Diagram n n Dalam UML, state digambarkan berbentuk segiempat dengan sudut membulat

State. Chart Diagram n n Dalam UML, state digambarkan berbentuk segiempat dengan sudut membulat dan memiliki nama sesuai kondisinya saat itu. Transisi antar state umumnya memiliki kondisi guard yang merupakan syarat terjadinya transisi yang bersangkutan, dituliskan dalam kurung siku. Action yang dilakukan sebagai akibat dari event tertentu dituliskan dengan diawali garis miring. Titik awal dan akhir digambarkan berbentuk lingkaran berwarna penuh dan berwarna setengah.

State Diagram : Authentication Process

State Diagram : Authentication Process

State Diagram Class Open Process

State Diagram Class Open Process

Activity Diagram n n Activity diagrams menggambarkan berbagai alir aktivitas dalam sistem yang sedang

Activity Diagram n n Activity diagrams menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi. Activity diagram merupakan state diagram khusus, di mana sebagian besar state adalah action dan sebagian besar transisi di-trigger oleh selesainya state sebelumnya (internal processing). Oleh karena itu activity diagram tidak menggambarkan behaviour internal sebuah sistem (dan interaksi antar subsistem) secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum.

Activity Diagrams Format start Initial activity Decision Transition [Option A] stop Activity-B Activity-C Activity-D

Activity Diagrams Format start Initial activity Decision Transition [Option A] stop Activity-B Activity-C Activity-D [Option B] The bar shows that one activity leads to several that occur in parallel or in an unpredictable order.

Activity Diagrams Example Check User PWD wrong 3 rd time Access declined PWD wrong

Activity Diagrams Example Check User PWD wrong 3 rd time Access declined PWD wrong 1 st & 2 nd time User Info is set Ask to repeat PWD Get new CD data User chooses menu option Get search criteria. . .

Activity Diagrams Example

Activity Diagrams Example

Studi kasus ATM

Studi kasus ATM

Sequence Diagram n Sequence diagram menggambarkan interaksi antar objek di dalam dan di sekitar

Sequence Diagram n Sequence diagram menggambarkan interaksi antar objek di dalam dan di sekitar sistem (termasuk pengguna, display, dan sebagainya) berupa message yang digambarkan terhadap waktu. Sequence diagram terdiri atar dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait). n Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan output tertentu. Diawali dari apa yang men-trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan

Sequence diagram notation (Reihenfolge-Diagramm) (This is not an object) object: Class : Class object:

Sequence diagram notation (Reihenfolge-Diagramm) (This is not an object) object: Class : Class object: Event name Event (number) Notes on what´s happening Event {constraints} 3 min. Event Outside the system

Sequence diagram notation (2) (This isn´t a SW object) object: : Class object: Event

Sequence diagram notation (2) (This isn´t a SW object) object: : Class object: Event (message name) object: Notes on what´s happening Outside the system Event {constraints} Event (message name) Outside the system X

Sequence Diagram for Authenticate User’s ATM

Sequence Diagram for Authenticate User’s ATM

Sequence Diagram for Withdrawal Transaction in ATM

Sequence Diagram for Withdrawal Transaction in ATM

Tool Yang Mendukung UML • Rational Rose (www. rational. com) • Together (www. togethersoft.

Tool Yang Mendukung UML • Rational Rose (www. rational. com) • Together (www. togethersoft. com) • Object Domain (www. objectdomain. com) • Jvision (www. object-insight. com) • Objecteering (www. objecteering. com) • Magic. Draw (www. nomagic. com/magicdrawuml) • Visual Object Modeller (www. visualobject. com) • Edraw UML Diagram