Teknik Informatika S1 Object Oriented Analysis and Design Introduction to UML
Disusun Oleh: Egia Rosi Subhiyakto, M.Kom, M.CS Teknik Informatika UDINUS
[email protected] +6285740278021
SILABUS MATA KULIAH 1. Introduction to OOAD
2. Introduction to UML 3. 4. 5. 6. 7. 8. 9. 10.
Requirement and Use Case Analysis Software Architecture Software Architecture Modeling Design Patterns Design Implementation 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 and completely, the system in question.
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 modul software 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. “a collaboration realizes a Use Case” Use Case menentukan perilaku (fungsi) yang akan dilaksanakan (disediakan), dan kolaborasi benar-benar menerapkan perilaku itu.
Notation: 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
• State chart Diagram
• Object Diagram
• Activity Diagram
• Use Case Diagram
• Component Diagram
• Sequence Diagram
• Deployment Diagram
• Collaboration 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
pengolahan di run-time dan komponen yang hidup pada mereka.
node
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