Unified Modeling Language 1 Unified Modeling Language n

  • Slides: 54
Download presentation
Unified Modeling Language 1

Unified Modeling Language 1

Unified Modeling Language n n Merupakan bahasa standard untuk membuat blueprint suatu software. UML

Unified Modeling Language n n Merupakan bahasa standard untuk membuat blueprint suatu software. UML bisa digunakan sebagai visualisasi, spesifikasi, konstruksi dan dokumentasi software. Grady Booch James Rumbaugh (Object. Modelling. Technique) Ivar Jacobson (OOS/w. Engineering) 2

Unified Modeling Lanugage n n Merupakan standard bahasa pemodelan untuk pembuatan object oriented software.

Unified Modeling Lanugage n n Merupakan standard bahasa pemodelan untuk pembuatan object oriented software. Merupakan kombinasi dari: ü Konsep Pemodelan Data (Entity Relationship Diagrams) ü Pemodelan Bisnis (Work Flow), ü Pemodelan Object, ü Pemodelan Komponen, 3

Unified Modeling Language n n Spesifikasi UML mendefinisikan sekumpulan diagram grafis sebagai tampilan dari

Unified Modeling Language n n Spesifikasi UML mendefinisikan sekumpulan diagram grafis sebagai tampilan dari beberapa level abstraksi. Dapat digunakan bersama oleh semua proses pada keseluruhan tahap siklus hidup (life cycle) pengembangan software serta pada implementasi ke beberapa teknologi yang berbeda. 4

Apa itu Visual Modeling? Order “Modeling captures essential parts of the system. ” Item

Apa itu Visual Modeling? Order “Modeling captures essential parts of the system. ” Item Dr. James Rumbaugh Ship via Business Process Visual Modeling adalah modeling yang menggunakan Notasi standard grafis Computer System 5

Visual Modeling Captures Business Process Use Case Analysis adalah suatu teknik untuk menangkap perspektif

Visual Modeling Captures Business Process Use Case Analysis adalah suatu teknik untuk menangkap perspektif user terhadap proses bisnis 6

Kegunaan UML ü ü ü Merepresentaasikan Element suatu sistem atau suatu domain dan Relationship

Kegunaan UML ü ü ü Merepresentaasikan Element suatu sistem atau suatu domain dan Relationship nya pada suatu Static Structure menggunakan class dan diagram object. Memodelkan Behavior object dengan state transition diagrams Menampilkan Arsitektur Implementasi Fisik (Physical Implementation Architecture) dengan Diagram Komponen dan Diagram Penyebaran (Deployment) Menampilkan Batas suatu sistem dan Fungsi utamanya menggunakan use cases dan actors Mengilustrasikan Realisasi Use Case dengan interaction diagrams 7

Block Pembentuk UML n Things n Relationships n Diagrams 8

Block Pembentuk UML n Things n Relationships n Diagrams 8

Things n Structural things ü n Behavioral things ü n interactions, state machines. Grouping

Things n Structural things ü n Behavioral things ü n interactions, state machines. Grouping things ü n classes, interfaces, collaborations, use cases, active classes, components, nodes. packages. Annotational things ü notes. 9

Structural Things Structural things adalah “kata benda” dari UML models. Kebanyakan terdiri dari bagian

Structural Things Structural things adalah “kata benda” dari UML models. Kebanyakan terdiri dari bagian model yang statik Merepresentasikan elemen secara fisik ataupun konseptual. 10

Structure Things: Classes dan Instances n Spesifikasi untuk satu atau lebih object yang berbeda

Structure Things: Classes dan Instances n Spesifikasi untuk satu atau lebih object yang berbeda dengan bentuk yang sama (Structure dan Behavior) instance phone 1: Telephone class busy = true Telephone busy : boolean off. Hook() on. Hook () ring() phone 2: Telephone busy = false off. Hook() on. Hook () ring() 11

Attributes n n Merepresentasikan Aspek data/struktur statik dari suatu class Attribut bisa diperoleh melalui

Attributes n n Merepresentasikan Aspek data/struktur statik dari suatu class Attribut bisa diperoleh melalui pemeriksaan definisi class, problem requirements, dan juga melalui domain knowledge Setiap course offering memiliki number, location dan time Course. Offering number location time 12

Operations n n Merepresentasikan Behavior suatu class Operations bisa diperoleh dari pemeriksaan diagram interaksi

Operations n n Merepresentasikan Behavior suatu class Operations bisa diperoleh dari pemeriksaan diagram interaksi registration form registration manager Registration. Manager add. Course(joe, math 01) add. Course(Student, Course) 13

Different Levels of Specifying Classes Hak akses: ‘+’= public, ‘ - ’= private, ‘#’

Different Levels of Specifying Classes Hak akses: ‘+’= public, ‘ - ’= private, ‘#’ = protected 14

Structural Things (lanjutan) n Use case Ø Ø Ø menspesifikasikan behavior suatu sistem atau

Structural Things (lanjutan) n Use case Ø Ø Ø menspesifikasikan behavior suatu sistem atau bagian sistem merupakan deskripsi dari himpunan barisan aksi, termasuk variannya untuk memperoleh hasil yang bisa diobservasi oleh actor contoh: Place Order 15

Structural Things n Actor merepresentasikan peranan pemakai use case ketika berinteraksi dengan use case

Structural Things n Actor merepresentasikan peranan pemakai use case ketika berinteraksi dengan use case tersebut. Contoh: Student Maintain Schedule 16

Structural Things n Interface Ø Ø Ø Interface adalah koleksi operation yang menspesifikasikan service

Structural Things n Interface Ø Ø Ø Interface adalah koleksi operation yang menspesifikasikan service suatu class atau component. Tidak menspesifikasikan struktur (artinya tidak memiliki attribute) Contoh: <<interface>> URL_Stream. Handler ISpelling open. Connection() Parse URL() set. URL() to. External. Form() operation 17

Structural Things n Collaboration adalah sekumpulan class, interface, dan elemen lain yang saling bekerja

Structural Things n Collaboration adalah sekumpulan class, interface, dan elemen lain yang saling bekerja sama untuk menghasilkan behavior yang lebih besar dari keseluruhan part nya. Ø Ø Contoh: Chain of Responsibility 18

Structural Things n Active class Ø Ø Active class adalah class dari object yang

Structural Things n Active class Ø Ø Active class adalah class dari object yang memiliki satu atau lebih proses atau thread yang bisa memulai aktivitas control. Contoh: Blackboard. Controller name attributes current. Knowledge. Source operation Signals Blackboard. Is. Solved has. AHint signals 19

Structural Things Component component adalah bagian fisik sistem yang bisa diganti dan menyedikan sekumpulan

Structural Things Component component adalah bagian fisik sistem yang bisa diganti dan menyedikan sekumpulan realization sebagai interface. 20

Structural Things n Node adalah elemen fisik yang ada pada saat run time yang

Structural Things n Node adalah elemen fisik yang ada pada saat run time yang mereperesentasikan suatu sumber komputasi. 21

Behavioral Things Behavioral things adalah bagian UML model yang dinamis dan merupakan bagian ‘kata

Behavioral Things Behavioral things adalah bagian UML model yang dinamis dan merupakan bagian ‘kata kerja’ pada model yang merepresentasikan behavior waktu dan ruang. 22

Behavioral Things (cont’d) n Interaction Ø n Interaction adalah behavior yang terdiri dari pertukaran

Behavioral Things (cont’d) n Interaction Ø n Interaction adalah behavior yang terdiri dari pertukaran pesan (message) antar object pada konteks tertentu untuk memperoleh suatu tujuan. State machine Ø State machine adalah behavior yang menspesifikasikan barisan aliran state suatu object atau interaksi selama proses berlangsung 23

Grouping dan Annotational Things Grouping things adalah bagian organisasi model UML. n Package Ø

Grouping dan Annotational Things Grouping things adalah bagian organisasi model UML. n Package Ø A package adalah mekanisme yang bertujuan umum untuk mengorganisasikan elemen ke dalam group. Package name Business rules Extra compartment may be used to show contents 24

Annotational things (Note) note adalah penjelasan dari bagian UML model untuk memberikan keterangan, ilustrasi

Annotational things (Note) note adalah penjelasan dari bagian UML model untuk memberikan keterangan, ilustrasi dan catatan tentang elemen suatu model. Note note Consider the use of the broker design pattern here. 25

Relationships Association Ø Association adalah hubungan dua arah antar class. Hubungan tersebut digambarkan sebagai

Relationships Association Ø Association adalah hubungan dua arah antar class. Hubungan tersebut digambarkan sebagai garis yang menghubungakan class tersebut. 26

Relationships n Aggregation Ø Adalah bentuk hubungan yang lebih kuat antara whole dan part.

Relationships n Aggregation Ø Adalah bentuk hubungan yang lebih kuat antara whole dan part. Dinyatakan dengan garis yang menghubungkan class tersebut dimana pada ujung (whole) terdapat gambar diamond. Part Aggregate has School 1 Department 1. . * 27

Relationship n Dependency adalah relationship yang menyatakan ketergantungan yaitu perubahan yang terjadi pada suatu

Relationship n Dependency adalah relationship yang menyatakan ketergantungan yaitu perubahan yang terjadi pada suatu ‘thing’ akan mempengaruhi yang lainnya (yang memakai thing tsb. ), tetapi tidak perlu untuk sebaliknya Client name Supplier 28

Relationships n Generalization adalah suatu hubungan antara general thing (superclass atau parent) dan thing

Relationships n Generalization adalah suatu hubungan antara general thing (superclass atau parent) dan thing lainnya yang lebih spesifik. Kadang disebut sebagai hubungan ''is a kind of''. Superclass Subclass 29

Relationship n Realization adalah hubangan semantic antar classifiers, dimana satu classifier menspesifikasikan suatu kontrak

Relationship n Realization adalah hubangan semantic antar classifiers, dimana satu classifier menspesifikasikan suatu kontrak dengan classifier lainnya agar classifier tersebut menjamin untuk melaksanakan tugas interface. Terdapat antar Interface dan Class; serta antara use cases dan collaboation yang merealisasikannya. Realization << Interface>> IRule. Agent Account. Business. Rule Add. Rule() change. Rule() explain. Action() 30

Class Diagram n Menampilkan entitas suatu sistem dan general relationship-nya Person client 0. .

Class Diagram n Menampilkan entitas suatu sistem dan general relationship-nya Person client 0. . * creditor 0. . * Financial Institution owner 0. . * generalization association Bank Trust Company residence 0. . * House 31

Object Diagram n Captures instances dan links 32

Object Diagram n Captures instances dan links 32

Use Case Diagram Use case diagram menunjukkan suatu kelompok use case dan actors serta

Use Case Diagram Use case diagram menunjukkan suatu kelompok use case dan actors serta relationships nya. Ø 33

Sequence Diagram n Captures dynamic behavior (timeoriented) 34

Sequence Diagram n Captures dynamic behavior (timeoriented) 34

Collaboration Diagram n Captures dynamic behavior (messageoriented) 35

Collaboration Diagram n Captures dynamic behavior (messageoriented) 35

Statechart Diagram n Statechart diagram menampilkan suatu state machine, yang terdiri dari states, transitions,

Statechart Diagram n Statechart diagram menampilkan suatu state machine, yang terdiri dari states, transitions, events, dan activities. 36

Activity Diagram n Captures dynamic behavior (activity-oriented) 37

Activity Diagram n Captures dynamic behavior (activity-oriented) 37

Component Diagram Ø Component diagram menunjukkan organisasi dan dependencies pada sekumpulan component. 38

Component Diagram Ø Component diagram menunjukkan organisasi dan dependencies pada sekumpulan component. 38

Deployment Diagram n Deployment diagram menunjukkan konfigurasi node pemroses run time dan komponen yang

Deployment Diagram n Deployment diagram menunjukkan konfigurasi node pemroses run time dan komponen yang ada. 39

Contoh n The ESU University wants to computerize their registration system ü The Registrar

Contoh n The ESU University wants to computerize their registration system ü The Registrar sets up the curriculum for a semester Ø One course may have multiple course offerings ü Students select 4 primary courses and 2 alternate courses ü Once a student registers for a semester, the billing system is notified so the student may be billed for the semester ü Students may use the system to add/drop courses for a period of time after registration ü Professors use the system to receive their course offering rosters ü Users of the registration system are assigned passwords which are used at logon validation 40

Actors n Actor pada sistem: Registrar Professor Student Billing System 41

Actors n Actor pada sistem: Registrar Professor Student Billing System 41

Use Cases n Actors are examined to determine their needs ü Registrar maintain the

Use Cases n Actors are examined to determine their needs ü Registrar maintain the curriculum ü Professor request roster ü Student maintain schedule ü Billing System receive billing information from registration Maintain Curriculum Request Course Roster Maintain Schedule 42

Use Case Diagram Use case diagrams are created to visualize the relationships between actors

Use Case Diagram Use case diagrams are created to visualize the relationships between actors and use cases Request Course Roster Professor Student Maintain Schedule Billing System Maintain Curriculum Registrar Copyright © 1997 by Rational Software Corporation 43

Sequence Diagram 44

Sequence Diagram 44

Collaboration Diagram 1: set course info 2: process course form : Course. Form 3:

Collaboration Diagram 1: set course info 2: process course form : Course. Form 3: add course : Registrar the. Manager : Curriculum. Manager a. Course : Course 4: new course 45

Classes Schedule. Algorithm Registration. Form Registration. Manager Course Student Professor Course. Offering 46

Classes Schedule. Algorithm Registration. Form Registration. Manager Course Student Professor Course. Offering 46

Classes Schedule. Algorithm Registration. Form Registration. Manager add. Student(Course, Student. Info) Course name number.

Classes Schedule. Algorithm Registration. Form Registration. Manager add. Student(Course, Student. Info) Course name number. Credits Student open() add. Student(Student. Info) name major Professor name tenure. Status Course. Offering location open() add. Student(Student. Info) 47

Relationships Schedule. Algorithm Registration. Form Registration. Manager add. Student(Course, Student. Info) Course name number.

Relationships Schedule. Algorithm Registration. Form Registration. Manager add. Student(Course, Student. Info) Course name number. Credits Student open() add. Student(Student. Info) name major Professor name tenure. Status Course. Offering location open() add. Student(Student. Info) 48

Multiplicity and Navigation Schedule. Algorithm Registration. Form 0. . * 1 Registration. Manager add.

Multiplicity and Navigation Schedule. Algorithm Registration. Form 0. . * 1 Registration. Manager add. Student(Course, Student. Info) Course 1 0. . * Student name number. Credits open() add. Student(Student. Info) major 1 3. . 10 Professor tenure. Status 4 1 1. . * Course. Offering location 0. . 4 open() add. Student(Student. Info) 49

Inheritance Schedule. Algorithm Registration. Form Registration. Manager add. Student(Course, Student. Info) Course name number.

Inheritance Schedule. Algorithm Registration. Form Registration. Manager add. Student(Course, Student. Info) Course name number. Credits Registration. User name Student open() add. Student(Student. Info) major Professor tenure. Status Course. Offering location open() add. Student(Student. Info) 50

State Transition Diagram Add student[ count < 10 ] Initialization Add Student / Set

State Transition Diagram Add student[ count < 10 ] Initialization Add Student / Set count = 0 do: Initialize course Open entry: Register student exit: Increment count Cancel [ count = 10 ] Canceled do: Notify registered students Cancel Closed do: Finalize course 51

Component Diagram Register. exe Billing System People. dll User Course. dll Course Student Course

Component Diagram Register. exe Billing System People. dll User Course. dll Course Student Course Professor Course Offering 52

Deployment Diagram Registration Database Main Building Library Dorm 53

Deployment Diagram Registration Database Main Building Library Dorm 53

Pustaka n Munawar, Pemodelan Visual dengan UML, Yogyakarta : Graha Ilmu, 2005 54

Pustaka n Munawar, Pemodelan Visual dengan UML, Yogyakarta : Graha Ilmu, 2005 54