Arsitektur dan Notasi
Post on 24-Feb-2016
105 Views
Preview:
DESCRIPTION
Transcript
1
Arsitektur dan Notasi
Unified Modeling Language (UML)
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
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
4
Blok Pembangun pada UML
• Thingsabstraksi dari apa yang akan dimodelkan
• Relationshiphubungan antar abstraksi (things)
• Diagramsmengelompokkan kumpulan sejumlah abstraksi yang dihubungkan
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
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
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)
8
Class
9
Object
Hampir sama dengan class, perbedaannya terletak pada nama yang digaris bawahi
10
Interface
Digunakan untuk menggambarkan fungsi tanpa implementasi
11
Collaboration
12
Use Case
13
Actor
14
Initial and Final State
15
Component
16
Node
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
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
19
II. Relationships
4 jenis• Dependensi • Asosiasi • Generalisasi• Realisasi
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
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
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:
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
24
Student
RegistrarProfessor
Billing System
• Aktor adalah seseorang atau sesuatu yang berinteraksi dengan sistem yang dikembangkan
Contoh: Sistem registrasi Universitas
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
26
• Use case diagrams
Student
Registrar
Professor
Maintain Schedule
Maintain Curriculum
Request Course Roster
Billing System
Set Course Offerings
Contoh: Sistem registrasi Universitas
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
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
29
: Registrar
course form : CourseForm
theManager : CurriculumManageraCourse :
Course
1: set course info2: process
3: add course
4: new course
Collaboration Diagram
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
31
RegistrationForm
RegistrationManager
Course
Student
CourseOfferingProfessor
ScheduleAlgorithm
Diagram Kelas
32
RegistrationForm
RegistrationManager
addStudent(Course, StudentInfo)Course
namenumberCredits
open()addStudent(StudentInfo)
Studentnamemajor
CourseOfferinglocation
open()addStudent(StudentInfo)
ProfessornametenureStatus
ScheduleAlgorithm
Diagram Kelas
33
Menunjukkan sekumpulan objek dan relasinya
Harry (Student)
Name: “Harry Mat”Major: CS
Sue (Professor)
Name: “Sue Becker”tenureStatus: true
Diagram Objek
34
35
Statechart Diagram
• Terdiri dari status, transisi, kejadian, dan aktivitas
Idle
CoolingatTemp
tooHot(desTemp)
Heating
tooCold(desTemp)
atTemp
tooCold(desTemp)
tooHot(desTemp)
36
Diagram Aktivitas
SwimlanesPrepare for Speech
Decompress
Gesture()
Stream audio()Synch mouth()
Cleanup
37
Diagram Komponen
<< file >>{version=4.1}
Signal.h
<< file >>
Interp.cpp
<< file >>{version=4.1}
Signal.cpp
<< file >>
Irq.h<< file >>
Device.cpp
38
Deployment Diagram
• Deployment diagram menunjukkan konfigurasi perangkat keras dan komponen-komponen PL yang ada di dalamnya
ServerAplikasi
ServerBasisdata
PC Klien
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
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
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)
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
top related