Arsitektur dan Notasi

42
1 Arsitektur dan Notasi Unified Modeling Language (UML)

description

Arsitektur dan Notasi. Unified Modeling Language (UML). Arsitektur Sistem dan Sudut Pandang. UML adalah bahasa untuk Visualisasi Spesifikasi Konstruksi Dokumentasi UML bukan metode/metodologi berorientasi objek. system assembly configuration mgmt . Component Diagram. vocabulary - PowerPoint PPT Presentation

Transcript of Arsitektur dan Notasi

Page 1: Arsitektur dan Notasi

1

Arsitektur dan Notasi

Unified Modeling Language (UML)

Page 2: Arsitektur dan Notasi

2

Arsitektur Sistem dan Sudut Pandang

Deployment ViewProcess View

Design View Implementation View

Use Case View

vocabularyFunctionality

Class & Object Diagram

performancescalabilitythroughput

behavior

system assemblyconfiguration mgmt.Component Diagram

system topologydistributiondeliveryInstallationDeployment Diagram

• UML adalah bahasa untuk – Visualisasi– Spesifikasi– Konstruksi– Dokumentasi

• UML bukan metode/metodologi berorientasi objek

Page 3: Arsitektur dan Notasi

3

Model Konseptual

• Building block (blok pembangun)sintaks (dan semantik dari sintaks) dari bagian model dengan UML

• Rulesaturan untuk membangun model dari berbagai bagian model

• Common mechanismmekanisme pemodelan umum yang diterapkan di seluruh UML

Page 4: Arsitektur dan Notasi

4

Blok Pembangun pada UML

• Thingsabstraksi dari apa yang akan dimodelkan

• Relationshiphubungan antar abstraksi (things)

• Diagramsmengelompokkan kumpulan sejumlah abstraksi yang dihubungkan

Page 5: Arsitektur dan Notasi

5

• Structural (berpadanan dengan kata benda)merepresentasikan aspek statis sistem

• Behavioural (berpadanan dengan kata kerja)merepresentasikan aspek dinamis sistem

• Groupingmenyatakan pengelompokkan sejumlah abstraksi dengan organisasi tertentu

• Annotationalmemberikan keterangan atas suatu abstraksi

I. Things

Page 6: Arsitektur dan Notasi

6

Structural Things

Windoworiginsize

open( )close( )move( )

IWindow

Chain ofResponsibility

PlaceOrder

Event Mgrthreadtime

suspend( )flush( )stop( )

listbox

Class

Interface

Collaboration

Use Case

Active Class

Component

Node

WebServer

Page 7: Arsitektur dan Notasi

7

Structural Things• Class

deskripsi dari kumpulan objek dengan atribut, operasi, relasi, dan semantik yang sama

• Interfacekoleksi operasi yang menyatakan layanan dari kelas/komponen

• Collaborationmendefinisikan interaksi dan merupakan kumpulan peran dan elemen yang bekerja sama untuk menyediakan kelakuan kooperatif agregat

• Use casedeskripsi dari himpunan langkah aksi yang dilakukan sistem yang menghasilkan luaran kepada aktor tertentu

• Active ClassKelas yang mempunyai satu atau lebih proses / thread sehingga dapat memulai aktivitas kontrol

• ComponentBagian fisik sistem yang dapat diganti-ganti yang sesuai dan menyediakan realisasi interface tertentu

• NodeElemen fisik yang ada saat run time dan mewakili sumber daya komputasi (kemampuan memori dan pemroses)

Page 8: Arsitektur dan Notasi

8

Class

Page 9: Arsitektur dan Notasi

9

Object

Hampir sama dengan class, perbedaannya terletak pada nama yang digaris bawahi

Page 10: Arsitektur dan Notasi

10

Interface

Digunakan untuk menggambarkan fungsi tanpa implementasi

Page 11: Arsitektur dan Notasi

11

Collaboration

Page 12: Arsitektur dan Notasi

12

Use Case

Page 13: Arsitektur dan Notasi

13

Actor

Page 14: Arsitektur dan Notasi

14

Initial and Final State

Page 15: Arsitektur dan Notasi

15

Component

Page 16: Arsitektur dan Notasi

16

Node

Page 17: Arsitektur dan Notasi

17

Behavioral Things

Ada 2 macam:

Bagian dinamik dari model UMLBiasanya terhubung dengan model struktural. Ditulis dalam kata kerja.

Interaksikelakuan yang terdiri dari sekumpulan pesan yang saling dipertukarkan antar sekumpulan objek dalam konteks tertentu untuk mencapai tujuan tertentu

displayState Machinekelakuan yang menspesifikasikan urutan state dari objek atau interaksi yang terjadi selama hidup objek tersebut dalam menyikapi event dan tanggapannya terhadap event-event tersebut

WaitingIdle

Page 18: Arsitektur dan Notasi

18

Packages - Mekanisme untuk mengorganisasi elemen

- Konseptual, hanya ada pada waktu pengembangan- Berisi structural dan behavioral things- Dapat bersarang- Variasi package: framework, model, & subsystem.

Meeting Scheduler

Grouping & Annotational Things

flexible drop-out dates

NotesElemen UML (Note) yang digunakan untuk menerangkan elemen lain pada model

Page 19: Arsitektur dan Notasi

19

II. Relationships

4 jenis• Dependensi • Asosiasi • Generalisasi• Realisasi

Page 20: Arsitektur dan Notasi

20

Dependensimerupakan hubungan semantik antara 2 things sedemikian sehingga perubahan pada satu thing mengakibatkan perubahan pada thing lainnya

Relationships

0..1

employer

*

employee

Aggregasi jenis khusus dari asosiasi (menyatakan whole part)

Asosiasimerupakan hubungan struktural yang menggambarkan himpunan link antar objek

Page 21: Arsitektur dan Notasi

21

Relasi

GeneralisasiRelasi antar objek yang memiliki hubungan general-spesial

RealisasiRelasi semantik antara 2 elemen dimana 1 elemen melaksanakan apa yang diharapkan dari elemen lain. Biasanya antara antarmuka dan kelas yang merealisasikannya, atau pada use case dan kolaborasi yang merealisasikannya

Page 22: Arsitektur dan Notasi

22

III. Diagrams

Class Diagram; Object Diagram

Use case Diagram

Sequence Diagram; Collaboration Diagram

Statechart Diagram

Activity Diagram

Component Diagram

Deployment Diagram

• Representasi grafik dari sekumpulan elemen.• Direpresentasikan dalam sebuah graf dimana node adalah

thing dan busur adalah behavior• Ada 9 diagram:

Page 23: Arsitektur dan Notasi

23

Contoh: Sistem registrasi Universitas

The UTD wants to computerize its registration system– The Registrar sets up the curriculum for a semester

• One course may have multiple course offerings– Students select four (4) primary courses and two (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 set their preferred course offerings and

receive their course offering rosters after students register– Users of the registration system are assigned passwords which are

used at logon validation

Page 24: Arsitektur dan Notasi

24

Student

RegistrarProfessor

Billing System

• Aktor adalah seseorang atau sesuatu yang berinteraksi dengan sistem yang dikembangkan

Contoh: Sistem registrasi Universitas

Page 25: Arsitektur dan Notasi

25

Maintain ScheduleMaintain Curriculum Request Course Roster

Sebuah use case menunjukkan perilaku sistem Aktor:

– Registrar -- mengelola kurikulum– Professor – menentukan MK yang akan ditawarkan dan meminta

daftar MK – Student – mengelola jadwal– Billing System – menerima informasi tagihan

Contoh: Sistem registrasi Universitas

Page 26: Arsitektur dan Notasi

26

• Use case diagrams

Student

Registrar

Professor

Maintain Schedule

Maintain Curriculum

Request Course Roster

Billing System

Set Course Offerings

Contoh: Sistem registrasi Universitas

Page 27: Arsitektur dan Notasi

27

Realisasi Use Case

• Inside view dari sistem digambarkan dengan diagram interaksi• Diagram interaksi menggambarkan bagaimana use case direalisasikan

sebagai interaksi antar sekumpulan objek dengan mempertukarkan message. Diagram interaksi menggambarkan dynamic view dari sistem

• Ada 2 jenis:– Diagram sekuens– Diagram kolaborasi

Diagram use case menggambarkan outside view dari sistem

Page 28: Arsitektur dan Notasi

28

Diagram Sekuens

: Student registration form

registration manager

math 101

1: fill in info

2: submit

3: add course(Sue, math 01)

4: are you open?5: are you open?

6: add (Sue)7: add (Sue)

math 101 section 1

Page 29: Arsitektur dan Notasi

29

: Registrar

course form : CourseForm

theManager : CurriculumManageraCourse :

Course

1: set course info2: process

3: add course

4: new course

Collaboration Diagram

Page 30: Arsitektur dan Notasi

30

Diagram Kelas

• Sebuah diagram kelas menunjukkan keberadaan kelas-kelas dan relasinya

• Elemen-elemen diagram kelas: kelas, relasi, multiplicity, dan role names

• Sebuah kelas adalah abstraksi dari sekumpulan objek yang memiliki struktur yang sama, perilaku yang sama, relasi yang sama dan semantik yang sama

• Beberapa kelas muncul pada diagram sekuens atau diagram kolaborasi

• Harus dibuat standar penamaan kelas, misalnya: kelas ditulis dalam kata benda dengan huruf kapital di awal kata

Page 31: Arsitektur dan Notasi

31

RegistrationForm

RegistrationManager

Course

Student

CourseOfferingProfessor

ScheduleAlgorithm

Diagram Kelas

Page 32: Arsitektur dan Notasi

32

RegistrationForm

RegistrationManager

addStudent(Course, StudentInfo)Course

namenumberCredits

open()addStudent(StudentInfo)

Studentnamemajor

CourseOfferinglocation

open()addStudent(StudentInfo)

ProfessornametenureStatus

ScheduleAlgorithm

Diagram Kelas

Page 33: Arsitektur dan Notasi

33

Menunjukkan sekumpulan objek dan relasinya

Harry (Student)

Name: “Harry Mat”Major: CS

Sue (Professor)

Name: “Sue Becker”tenureStatus: true

Diagram Objek

Page 34: Arsitektur dan Notasi

34

Page 35: Arsitektur dan Notasi

35

Statechart Diagram

• Terdiri dari status, transisi, kejadian, dan aktivitas

Idle

CoolingatTemp

tooHot(desTemp)

Heating

tooCold(desTemp)

atTemp

tooCold(desTemp)

tooHot(desTemp)

Page 36: Arsitektur dan Notasi

36

Diagram Aktivitas

SwimlanesPrepare for Speech

Decompress

Gesture()

Stream audio()Synch mouth()

Cleanup

Page 37: Arsitektur dan Notasi

37

Diagram Komponen

<< file >>{version=4.1}

Signal.h

<< file >>

Interp.cpp

<< file >>{version=4.1}

Signal.cpp

<< file >>

Irq.h<< file >>

Device.cpp

Page 38: Arsitektur dan Notasi

38

Deployment Diagram

• Deployment diagram menunjukkan konfigurasi perangkat keras dan komponen-komponen PL yang ada di dalamnya

ServerAplikasi

ServerBasisdata

PC Klien

Page 39: Arsitektur dan Notasi

39

Rules diperlukan untuk mendefinisikan well-formed modelUML memiliki aturan-aturan untuk:

- Penamaaan: bagaimana memberi nama pada kelas, relasi, dan diagram- Scope: Konteks yang dapat memberikan makna yang lebih spesifik bagi thing {akan dibahas pada diagram kelas}- Visibility: berkaitan dengan akses sebuah elemen oleh elemen lain- Integrity: bagaimana things berelasi secara konsisten- Eksekusi: Bagaimana transformasi diagram

Rules

Page 40: Arsitektur dan Notasi

40

• Spesifikasi: Untuk setiap model perlu didefinisikan penjelasan tentang sintaks dan semantik dari model

• Adornment: Notasi-notasi pada UML mudah dan lengkap, sehingga model yang didefinisikan bisa dibaca dengan jelas

• Common division: selalu terdapat pasangan notasi/istilah/konsep untuk memodelkan sistem, mis.kelas dan objek, komponen dan instan komponen, use case dan realisasi use case, antarmuka dan implementasi, dan lain-lain

• Extensibility: memberi keleluasaan untuk memperluas bahasa secara terkontrol

Common Mechanism

Page 41: Arsitektur dan Notasi

41

Stereotypes digunakan untuk mengklasifikasikan dan memperluas asosiasi,relasi pewarisan, kelas, dan komponen

• Nama ditulis dalam <<stereotype>>• Contoh:

– Class stereotypes: boundary, control, entity, utility, exception– Inheritance stereotypes: uses and extends– Component stereotypes: subsystem

Extensibility

Tagged values — mendefinisikan informasi pada elemen

Constraints — memperluas semantik dari blok pembangun UML

• {if Order.customer.credit.Rating is “poor” then Order.isPrepaid must be true}

anObject:ClassA{location=server)

Page 42: Arsitektur dan Notasi

42

Penggunaan Notasi UML

– Menggambarkan batasan sistem dan fungsi-fungsi utamanya dengan diagram use case

– Buat realisasi use case dengan diagram interaksi– Gambarkan struktur statik sistem dengan diagram kelas – Modelkan perilaku objek dengan state transition diagram– Gambarkan arsitektur implementasi dengan diagram

komponen dan deployment– Perluas fungsionalitas dengan stereotypes