Teknik Informatika S1 Object Oriented Analysis and Design Introduction to UML Disusun Oleh: Egia Rosi Subhiyakto, M.Kom, M.CS Teknik Informatika UDINUS egia@dsn.dinus.ac.id +6285740278021
SILABUS MATA KULIAH 1. Introduction to OOAD 2. Introduction to UML 3. Requirement and Use Case 4. Analysis 5. Software Architecture 6. Software Architecture Modeling 7. Design Patterns 8. Design 9. Implementation 10. Testing
Evolution of OO Development Methods
History of OOAD leading to UML
History of UML
More on UML... Specifying - UML provides the means to model precisely, unambiguously the system in question. and completely, Constructing - models built with UML have a design dimension to it; these are Language independent and can be implemented in any programming language.
More on UML... Documenting - every software project involves a lot of documentation - from the inception phase to the deliverables. Documentation is (among others) for: Requirements Design Tests
Model Konseptual UML Building Blocks Things Relationships Diagrams Rules Common Mechanisms Specifications Adornments Common Divisions Extensibility Mechanisms
Structural Things(contd.) Active Class - a class whose instance is an active object; objek aktif adalah obyek yang memiliki proses atau thread (unit eksekusi) Notation: Component - bagian fisik (biasanya memanifestasikan dirinya sebagai bagian dari perangkat lunak) dari sistem. Notation:
Structural Things(contd.) Node - elemen fisik yang ada pada saat run-time dan merupakan sumber daya komputasi (biasanya, sumber daya perangkat keras). Notation:
Behavioral Things Verba model UML; Biasanya bagian yang dinamis dari sistem yang bersangkutan. Interaction - beberapa perilaku dibentuk oleh pertukaran pesan antara objek-objek; pertukaran pesan adalah dengan tujuan untuk mencapai beberapa tujuan. Notation:
Behavioral Things (contd.) State machine - a behavior that specifies the sequence of states an object goes through, during its lifetime. A state is a condition or situation during the lifetime of an object during which it exhibits certain characteristics and/ or performs some function. Notation:
Grouping Things Bagian organisasi dari model UML; memberikan tingkat yang lebih tinggi dari abstraksi (granularity). Package - tujuan umum yang terdiri dari elemen UML - struktural, perilaku atau bahkan pengelompokan. Package adalah pengelompokan konseptual dari sistem dan tidak perlu harus dilaksanakan sebagai modulsoftware kohesif. Notation:
An notational Things Bagian yang jelas dari model UML; menambahkan informasi/ makna pada elemen model. Note - notasi grafis untuk memasang kendala dan/ atau komentar untuk elemen model. Notation:
Relationships Mengartikulasikan makna hubungan antara hal-hal. Dependency - hubungan semantik di mana perubahan dalam satu hal (hal independen) menyebabkan perubahan dalam semantik hal lainnya (hal dependen). Notation: Arrow-head points to the independent thing Association - hubungan struktural yang menggambarkan hubungan antara dua hal. Notation:
Relationships (contd.) Generalisation - hubungan antara hal umum (disebut "orang tua" atau "superclass") dan jenis yang lebih spesifik hal itu (disebut "anak" atau "subclass"), sehingga subclass dapat menggantikan superclass. Notation: Arrow-head points to the superclass
Relationships (contd.) Realization - hubungan semantik antara dua hal di mana dalam satu menentukan perilaku yang akan dilakukan, dan yang lainnya melakukan perilaku. Notation: a collaboration realizes a Use Case Use Case menentukan perilaku (fungsi) yang akan dilaksanakan (disediakan), dan kolaborasi benar-benar menerapkan perilaku itu. Arrow-head points to the thing being realized
Diagrams Presentasi grafis dari model. Direpresentasikan sebagai sebuah graf terhubung - simpul (hal) yang terhubung oleh busur (hubungan). UML mencakup sembilan diagram - masing menangkap dimensi yang berbeda dari arsitektur perangkat lunak sistem. Class Diagram Object Diagram Use Case Diagram Sequence Diagram Collaboration Diagram State chart Diagram Activity Diagram Component Diagram Deployment Diagram
More on Diagrams... Class Diagram - diagram yang paling umum ditemukan di OOAD, menunjukkan satu set kelas, interface, kolaborasi dan hubungan mereka. Model pandangan statis dari sistem. Object Diagram - snapshot dari diagram kelas; model contoh dari hal-hal yang terkandung dalam diagram kelas. Use Case Diagram - menunjukkan satu set Use Case" (set fungsi yang dilakukan oleh sistem), "aktor" (biasanya, orang/ sistem yang berinteraksi dengan sistem ini [masalah-domain]) dan hubungan mereka. Models WHAT the system is expected to do.
More on Diagrams... Sequence Diagram - model aliran kontrol dengan waktu pemesanan; menggambarkan interaksi antara berbagai objek dengan pesan berlalu, dengan dimensi temporal untuk itu. Collaboration Diagram - model interaksi antara objek, tanpa dimensi temporal; hanya menggambarkan pesan lewat antara objek. State chart Diagram - shows the different state machines and the events that leads to each of these state machines. State chart diagrams show the flow of control from state to state.
More on Diagrams... Activity Diagram - menunjukkan aliran dari kegiatan kegiatan; suatu "kegiatan" adalah eksekusi non-atom yang sedang berlangsung dalam state machine. Component Diagram - menunjukkan kemasan fisik perangkat lunak dalam hal komponen dan dependensi di antara mereka. Deployment Diagram - menunjukkan konfigurasi node pengolahan di run-time dan komponen yang hidup pada mereka.
Dimensions......of Software Architecture
Diagrams and Process
Diagrams and Process Use Case Diagrams
Diagrams and Process Class & Package Diagrams
Diagrams and Process Interaction Diagrams (Scenarios)
Diagrams and Process Activity Diagrams (Workflow, Interclass Behavior)
Diagrams and Process State Transition Diagrams (Intraclass Behavior)
Texts and Process Source Code
Diagrams and Process Deployment Diagrams
Modeling Why Modeling? Business Process Computer System Modeling menangkap bagian penting dari sistem (James Rumbaugh)
UML 2.0 Diagram
TERIMA KASIH