04 Analisis Berorientasi Objek Muhammad Rifqi, S.Kom, M.Kom TEKNIK Ilmu Komputer
Definisi Aktifiti Diagram Activity diagram merupakan cara lain dalam memodelkan aliran kejadian. Kita gunakan Activity Diagram untuk menggambarkan workflow / aliran kerja proses bisnis 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.
LAMBANG USE CASE Aktor Usecase Relasi Aktif Catatan Relasi Pasif Generalisasi <<include>> Include <<extend>> extend
Definisi Activity diagram merupakan cara lain dalam memodelkan aliran kejadian. Kita gunakan Activity Diagram untuk menggambarkan workflow / aliran kerja proses bisnis 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.
1.1 Workflow / Aliran Kerja Use Case dimulai dengan melakukan pendaftaran bagi pasien yang belum terdaftar Setelah dilakukan diagnosa oleh dokter maka hasil diagnosa akan dientri ke sistem Dst..
Jika kita perhatikan workflow diatas dengan yang menggunakan teks memang bermanfaat, namun jika logika aliran kerja telah komplek maka kita akan kesulitan. Oleh karena itu untuk lebih memudahkan dalam memahami aliran kerja tersebut kita gunakan activity diagram.
1.2 Activity / Aktifitas Activity secara sederhana dapat diartikan sebagai langkah dalam. Pada UML disimbolkan sebagai berikut : Kita dapat menambahkan langkah-langkah yang lebih detil kedalam activity dengan menggunakan action. Action adalah langkah-langkah yang lebih kecil dalam suatu acitvity
Action dapat berupa : Saat sedang memasuki aktifitas. Aksi Entry (entri action). Terjadi segera saat aktifitas dimulai. Ditandai dengan kata “entry” Ketika sedang meninggalkan aktifitas. Aksi exit (exit action). Terjadi ketika meninggalkan aktifitas dan ditandai dengan kata “exit” Ketika sedang berada dalam aktifitas. Aksi ini terjadi saat didalam aktifitas.Ditandai dengan kata “do” Kejadian Spesifik. Terjadi jika dan hanya jika kejadian spesifik terjadi.ditandai dengan kata “event”
Aksi-aksi diatas adalah opsional, tetapi dapat memberikan informasi rinci yang membantu pengembang Jika aksi diikutkan didalam aktifitas/activity dapat ditampilkan seperti gambar berikut :
Activity Decomposition Untuk menyederhanakan diagram, seringkali dilakukan dekomposisi aktivitas Contoh: Proses Pengiriman
1.3 Start dan End State Start memulai aliran End mengakhiri aliran Setiap activity diagram harus mempunyai start state untuk memulai dan diakhiri dengan end state. End state adalah opsional dan bisa lebih dari satu dalam satu diagram
1.4 Objek dan Aliran Objek Objek Entitas yang dipergunakan dalam aliran. Objek dapat digunakan atau dirubah dalam aliran. Pada diagram, objek dihubungkan ke aktifitas dengan menggunakan aliran objek(object now) Aliran objek digambarkan dengan garis panah putus-putus.
Jika garis panah mempunyai arah dari aktifitas ke objek berarti ia memperbaharui nilai objek tersebut. Jika arah panah dari objek ke aktifitas berarti ia sedang menggunakan objek.
Objek Flow
1.5 Transition Menunjukkan bagaimana aliran kontrol bergerak dari aktifitas ke aktifitas lainnya. Digambarkan dengan anak panah dengan nama yang menunjukkan nama kejadiannya.
Kejadian (event) memicu terjadinya transisi kondisi (guard condition) mengontrol ata atau tidak ada transisi yang terjadi
1.6 Sinkronisasi Digunakan untuk menunjukkan bahwa dua atau lebih cabang dari aliran terjadi secara paralel Sinkronisasi Horisontal dan Vertikal Synch. Bar (Join) Splitting Bar (Fork)
Transisi
Signal Tanda untuk memulai sebuah aktivitas tidak harus melalui pemanggilan fungsi, tetapi juga bisa melalui sinyal, misalnya sinyal waktu atau kejadian lain yang bisa menjadi trigger. Sebuah time event tanpa aliran masuk, memberikan artiaktifasi secara berkala.
9 Swimlane Swimlane Swimlane Swimlane Developers Testers Markers Swimlane Swimlane Swimlane 9 Application/Department/Group/Role Boundaries
Toolbar Activity Diagram
Activity pendaftaran pasien baru
UNIFIED MODELLING LANGUAGE 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 Notasi UML merupakan sekumpulan bentuk khusus untuk menggambarkan berbagai diagram piranti lunak. Setiap bentuk memiliki makna tertentu, dan UML syntax mendefinisikan bagaimana bentuk-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).
ARTIFACT UML (BAGAN YANG TERDAPAT PADA UML) Langkah – Langkah UML Use Case Diagram Actor A Use Case 1 Use Case 2 Actor B Document FileManager GraphicFile File Repository DocumentList FileList Customer name addr withdraw() fetch() send() receive() <<entity>> Forward Engineering(Code Generation) and Reverse Engineering Executable System User Interface Definition Domain Expert Use Case 3 Source Code edit, compile, debug, link Use-Case Diagram Class Diagram Collaboration Diagram Sequence Diagram Component Diagram State Diagram Package Diagram Deployment Diagram Class Activity diagram Package Diagram Class Diagram StateChart Diagram Collaboration Diagram Sequence Diagram Deployment Diagram Componen Diagram
LAMBANG USE CASE Aktor Usecase Relasi Aktif Catatan Relasi Pasif Generalisasi <<include>> Include <<extend>> extend
UML Derivative OMT OOSE OOD
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
System Development
Use case diagram Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”. Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan sistem.
Use Case Modeling: Core Elements
Use Case Modeling: Core Relationships <<extend>>
Use Case Modeling: Core Relationships (cont’d) <<include>>
Generalizes Relationships Communication Relationships Customer Rent Vehicle Communication Relationships Gold Card Customer Regular Customer Menyusun asuransi tambahan Generalizes Relationships
Contoh: Use Case Diagram
Contoh: Use Case Diagram
Contoh: Use Case Diagram Studi kasus ATM System Use Case Use Case Actor (People) Use Case Actor (Systems)
Use Case Relationships
Contoh: Use Case Diagram
Class Diagram Class adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Class menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi). Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain.
Class Diagram Class memiliki tiga area pokok : 1. Nama (dan stereotype) 2. Atribut 3. Metoda Atribut dan metoda dapat memiliki salah satu sifat berikut : Private, tidak dapat dipanggil dari luar class yang bersangkutan Protected, hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak yang mewarisinya Public, dapat dipanggil oleh siapa saja
Object-Oriented Approach Objects are abstractions of real-world or system entities Reality Domain Model Domain vehicle car bus cup models Intro | Classes | Relations | Generalization | Guidelines
Object-Oriented Approach Object adalah gambaran dari entity, baik dunia nyata atau konsep dengan batasanbatasan 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 A class is a template for actual, in-memory, instances Class Name Attributes Operations
Class Diagram Format and association: Class Name Class Name Role name Association name Role name Navigability Attributes Attributes 1 1..* Operations (Methods) Operations (Methods) Multiplicity Multiplicity Notation 1 : One and only one 0..* : None or more 1..* : One or more 0..1 : None or one
Relationships of Class There three types of relationship : Is-a (Generalization, Realization: Inheritance) Has-a (Association) Others (Association , Dependency) Association (Aggregation, Composition) Aggregation (One of associations) Composition (One of associations) Generalization Realization Dependency
Multiplicity of Class
Pembuatan Class Transfer Withdrawal ATM ATM Card User Bank
Contoh Class Diagram Aggregation : Aggregation Indicator Multiplicity 1 1 Person Company 1 Owner Role 1..* Person Employee Company owner:Person employee[]:Person Detail of the class
Contoh Class Diagram Composition : 1 1 Handle Car handle 1 1 1 Engine handle:Handle engine[]:Engine tire[4]:Tire 4 Tire tire Detail of the class
Class Inheritance & Specialization Class: Furniture Attribute A1 Method A1 Class name Attributes Methods Class: Chairs [Attribute A1] Attribute B1 [Method A1] Method B1 Is a specialization of or Inherits from Class: Executive Chairs [Attribute A1] [Attribute B1] Attribute C1 [Method A1] Method B1 (overriding) Method C1
Contoh Class Diagram (Studi Kasus ATM)
Contoh Class Diagram (Pembelian Barang)
Contoh Class Diagram (Sistem Akademik)
StateChart Diagram Statechart diagram menggambarkan transisi dan perubahan keadaan (dari satu state ke state lainnya) Pada umumnya statechart diagram menggambarkan class tertentu (satu class dapat memiliki lebih dari satu statechart diagram).
StateChart Diagram 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 Class Open Process
Activity Diagram 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 Initial activity Transition Activity-B start stop Decision [Option A] [Option B] Activity-C Activity-D The bar shows that one activity leads to several that occur in parallel or in an unpredictable order.
Activity Diagrams Example Check User PWD User Info is set User chooses menu option ..... Ask to repeat PWD PWD wrong 3rd time Access declined Get new CD data Get search criteria ...... PWD wrong 1st & 2nd time
Activity Diagrams Example
Studi kasus ATM
Sequence Diagram 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). 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: Event name Event (number) 3 min. Event Notes on what´s happening {constraints} Event Event Event Outside the system Outside the system
Sequence diagram notation (2) (This isn´t a SW object) object: :Class object: Event (message name) object: Event Notes on what´s happening Event Event {constraints} Event (message name) Outside the system Outside the system X
Sequence Diagram for Authenticate User’s ATM
Sequence Diagram for Withdrawal Transaction in ATM
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) • MagicDraw (www.nomagic.com/magicdrawuml) • Visual Object Modeller (www.visualobject.com) Edraw UML Diagram
Muhammad Rifqi, S.Kom, M.Kom