arsitektur dan notasi
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 PresentationTRANSCRIPT
![Page 1: Arsitektur dan Notasi](https://reader033.vdocuments.us/reader033/viewer/2022061612/568166a7550346895dda99b6/html5/thumbnails/1.jpg)
1
Arsitektur dan Notasi
Unified Modeling Language (UML)
![Page 2: Arsitektur dan Notasi](https://reader033.vdocuments.us/reader033/viewer/2022061612/568166a7550346895dda99b6/html5/thumbnails/2.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022061612/568166a7550346895dda99b6/html5/thumbnails/3.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022061612/568166a7550346895dda99b6/html5/thumbnails/4.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022061612/568166a7550346895dda99b6/html5/thumbnails/5.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022061612/568166a7550346895dda99b6/html5/thumbnails/6.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022061612/568166a7550346895dda99b6/html5/thumbnails/7.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022061612/568166a7550346895dda99b6/html5/thumbnails/8.jpg)
8
Class
![Page 9: Arsitektur dan Notasi](https://reader033.vdocuments.us/reader033/viewer/2022061612/568166a7550346895dda99b6/html5/thumbnails/9.jpg)
9
Object
Hampir sama dengan class, perbedaannya terletak pada nama yang digaris bawahi
![Page 10: Arsitektur dan Notasi](https://reader033.vdocuments.us/reader033/viewer/2022061612/568166a7550346895dda99b6/html5/thumbnails/10.jpg)
10
Interface
Digunakan untuk menggambarkan fungsi tanpa implementasi
![Page 11: Arsitektur dan Notasi](https://reader033.vdocuments.us/reader033/viewer/2022061612/568166a7550346895dda99b6/html5/thumbnails/11.jpg)
11
Collaboration
![Page 12: Arsitektur dan Notasi](https://reader033.vdocuments.us/reader033/viewer/2022061612/568166a7550346895dda99b6/html5/thumbnails/12.jpg)
12
Use Case
![Page 13: Arsitektur dan Notasi](https://reader033.vdocuments.us/reader033/viewer/2022061612/568166a7550346895dda99b6/html5/thumbnails/13.jpg)
13
Actor
![Page 14: Arsitektur dan Notasi](https://reader033.vdocuments.us/reader033/viewer/2022061612/568166a7550346895dda99b6/html5/thumbnails/14.jpg)
14
Initial and Final State
![Page 15: Arsitektur dan Notasi](https://reader033.vdocuments.us/reader033/viewer/2022061612/568166a7550346895dda99b6/html5/thumbnails/15.jpg)
15
Component
![Page 16: Arsitektur dan Notasi](https://reader033.vdocuments.us/reader033/viewer/2022061612/568166a7550346895dda99b6/html5/thumbnails/16.jpg)
16
Node
![Page 17: Arsitektur dan Notasi](https://reader033.vdocuments.us/reader033/viewer/2022061612/568166a7550346895dda99b6/html5/thumbnails/17.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022061612/568166a7550346895dda99b6/html5/thumbnails/18.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022061612/568166a7550346895dda99b6/html5/thumbnails/19.jpg)
19
II. Relationships
4 jenis• Dependensi • Asosiasi • Generalisasi• Realisasi
![Page 20: Arsitektur dan Notasi](https://reader033.vdocuments.us/reader033/viewer/2022061612/568166a7550346895dda99b6/html5/thumbnails/20.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022061612/568166a7550346895dda99b6/html5/thumbnails/21.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022061612/568166a7550346895dda99b6/html5/thumbnails/22.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022061612/568166a7550346895dda99b6/html5/thumbnails/23.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022061612/568166a7550346895dda99b6/html5/thumbnails/24.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022061612/568166a7550346895dda99b6/html5/thumbnails/25.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022061612/568166a7550346895dda99b6/html5/thumbnails/26.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022061612/568166a7550346895dda99b6/html5/thumbnails/27.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022061612/568166a7550346895dda99b6/html5/thumbnails/28.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022061612/568166a7550346895dda99b6/html5/thumbnails/29.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022061612/568166a7550346895dda99b6/html5/thumbnails/30.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022061612/568166a7550346895dda99b6/html5/thumbnails/31.jpg)
31
RegistrationForm
RegistrationManager
Course
Student
CourseOfferingProfessor
ScheduleAlgorithm
Diagram Kelas
![Page 32: Arsitektur dan Notasi](https://reader033.vdocuments.us/reader033/viewer/2022061612/568166a7550346895dda99b6/html5/thumbnails/32.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022061612/568166a7550346895dda99b6/html5/thumbnails/33.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022061612/568166a7550346895dda99b6/html5/thumbnails/34.jpg)
34
![Page 35: Arsitektur dan Notasi](https://reader033.vdocuments.us/reader033/viewer/2022061612/568166a7550346895dda99b6/html5/thumbnails/35.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022061612/568166a7550346895dda99b6/html5/thumbnails/36.jpg)
36
Diagram Aktivitas
SwimlanesPrepare for Speech
Decompress
Gesture()
Stream audio()Synch mouth()
Cleanup
![Page 37: Arsitektur dan Notasi](https://reader033.vdocuments.us/reader033/viewer/2022061612/568166a7550346895dda99b6/html5/thumbnails/37.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022061612/568166a7550346895dda99b6/html5/thumbnails/38.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022061612/568166a7550346895dda99b6/html5/thumbnails/39.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022061612/568166a7550346895dda99b6/html5/thumbnails/40.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022061612/568166a7550346895dda99b6/html5/thumbnails/41.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022061612/568166a7550346895dda99b6/html5/thumbnails/42.jpg)
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