Unified Modeling Language
UML Things Relationship Diagram Architecture View Use Case View Design View Process View Implementation View Deployment View Syukriya al-Asyik ADBO - Pertemuan 3 2
UML adalah bahasa graphical untuk visualisasi, spesifikasi, konstruksi dan dokumentasi artifact system software [Booch]. Spesifikasi: menunjukkan spesifikasi dari semua keputusan penting analisis, desain dan implementasi Konstruksi: Forward Engineering & Reverse Engineering Dokumentasi: Project Planning, Release management Syukriya al-Asyik ADBO - Pertemuan 3 3
Things Relationship Diagram Syukriya al-Asyik ADBO - Pertemuan 3 4
1. Class 2. Interface Syukriya al-AsyikADBO - Pertemuan 3 5
3. Collaboration 4. Use-case Syukriya al-AsyikADBO - Pertemuan 3 6
5. Active Class 6. Component Syukriya al-AsyikADBO - Pertemuan 3 7
7. Node Syukriya al-Asyik ADBO - Pertemuan 3 8 WebServer
Interaction : perilaku dari sekumpulan object yang terdiri dari sekumpulan pertukaran pesan dalam sebuah context utama untuk menyelesaikan sebuah tujuan khusus State Machine : perilaku yang menentukan urutan state-state sebuah object atau sebuah interaksi yang terjadi selama masa hidupnya dalam merespon event Syukriya al-AsyikADBO - Pertemuan 3 9 display Waiting Idle
Dependency Association Aggregation Syukriya al-AsyikADBO - Pertemuan 3 10 Panah dan label sifatnya optional
Generalization Realization Syukriya al-Asyik ADBO - Pertemuan 3 11
Polymorphisme adalah kemampuan untuk menyembunyikan implementasi-implementasi yang berbeda didalam sebuah interface tunggal. Syukriya al-Asyik ADBO - Pertemuan 3 12
Syukriya al-Asyik ADBO - Pertemuan 3 13
Interface adalah pewujudan dari polymorphisme Syukriya al-Asyik ADBO - Pertemuan 3 14
Syukriya al-Asyik ADBO - Pertemuan 3 15
Package adalahmekanisme untuk menyusun elemen- elemen menjadi kelompok-kelompok. Syukriya al-Asyik ADBO - Pertemuan 3 16
Subsystem adalah kombinasi dari package dan class Subsystem merealisasikan satu atau lebih interface, dimana interface sebagai pendefinisi perilakunya. Syukriya al-Asyik ADBO - Pertemuan 3 17
Component adalah bagian system yang dapat di-replace dan hampir independent. Component ini melaksanakan fungsi yang jelas dalam suatu arsitektur. Sebuah component bisa berupa: Sebuah component source code Sebuah component run time Sebuah component executable Syukriya al-Asyik ADBO - Pertemuan 3 18
Component adalah realisasi phisic dari sebuah abstraksi dalam desain Subsystem dapat digunakan untuk merepresentasikan component dalam sebuah desain Syukriya al-Asyik ADBO - Pertemuan 3 19
Association adalah hubungan semantic antara dua atau lebih classifier yang menetapkan hubungan antar instance Association adalah hubungan structural yang menetapkan bahwa suatu object terhubung dengan object lain Syukriya al-Asyik ADBO - Pertemuan 3 20
Multiplicity adalah jumlah instance dari sebuh class yang berhubungan dengan satu instance class lain Untuk masing-masing association, ada dua keputusan multiplicity yang harus dibuat. Contoh: Untuk masing-masing instance professor, ada beberapa course yang bisa ditawarkan Untuk masing-masing instance penawaran course, mungkin ada nol atau satu professor sebagai pengajarnya Syukriya al-Asyik ADBO - Pertemuan 3 21
Syukriya al-Asyik ADBO - Pertemuan 3 22
Sebuah aggregation adalah bentuk khusus association yang memodelkan hubungan whole-part antara sebuah aggregation(aggregation) dengan bagiannya. Syukriya al-Asyik ADBO - Pertemuan 3 23
Dependency adalah hubungan antara dua elemen dimana jika sebuah elemen mengalami perubahan akan menyebabkan perubahan pada elemen yang lain Syukriya al-Asyik ADBO - Pertemuan 3 24
Generalization adalah hubungan diantara class-class dimana suatu class membagi struktur dan atau behaviour dengan class yang lain Mendefinisikan hirarki abstraksi dimana sebuah subclass mewarisi sifat dari satu atau lebih superclass → single inheritance, multiple inheritance Syukriya al-Asyik ADBO - Pertemuan 3 25
Syukriya al-Asyik ADBO - Pertemuan 3 26
Syukriya al-Asyik ADBO - Pertemuan 3 27
Sebuah subclass mewarisi atribut,operation dan relationship superclassnya. Sebuah subclass bisa : Menambah atribut, operation dan relationship Mendefinisikan ulang operation-operation Atribut, operation, dan relationship umum diperlihatkan pada level tertinggi didalam hirarki Syukriya al-Asyik ADBO - Pertemuan 3 28
Sebuah classifier bertugas sesuai dengan perjanjian yang disetujui classifier lain. Realization dapat ditemui antara interface dan classifier yang merealisasikannya. Syukriya al-Asyik ADBO - Pertemuan 3 29
Stereotype mendefinisikan elemen model baru dalam model elemen yang lain. Syukriya al-Asyik ADBO - Pertemuan 3 30
Diagram adalah representasi graphic dari sekumpulan elemen. Direpresentasikan oleh graph yang terhubung dimana vertices merupakan thing sedangkan arcs adalah behaviour Diagram yang umum : Use case Diagram Sequence Diagram; Collaboration Diagram Class Diagram; Object Diagram Statechart Diagram Activity Diagram Component Diagram Deployment Diagram Syukriya al-Asyik ADBO - Pertemuan 3 31
Use case diagram Syukriya al-Asyik ADBO - Pertemuan 3 32 Student Registrar Professor Register for Courses Maintain Curriculum Request Course Roster Billing System Set Course Offerings
Relationship uses dan extend dalam use case diagram Syukriya al-Asyik ADBO - Pertemuan 3 33 Register for courses > Logon validation > Maintain curriculum Register for Distance Learning courses >
Use Case Realizations Syukriya al-Asyik ADBO - Pertemuan 3 34
Use case Diagram Sequence Diagram; Collaboration Diagram Class Diagram; Object Diagram Statechart Diagram Activity Diagram Component Diagram Deployment Diagram Syukriya al-Asyik ADBO - Pertemuan 3 35
Sequence Diagram Syukriya al-Asyik ADBO - Pertemuan 3 36 : 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
Collaboration Diagram Syukriya al-Asyik ADBO - Pertemuan 3 37 : Registrar course form : CourseForm theManager : CurriculumManager aCourse : Course 1: set course info 2: process 3: add course 4: new course
Use case Diagram Sequence Diagram; Collaboration Diagram Class Diagram; Object Diagram Statechart Diagram Activity Diagram Component Diagram Deployment Diagram Syukriya al-Asyik ADBO - Pertemuan 3 38
Elemen-elemen pemodelan UML dalam class diagrams Class-class dengan struktur dan behaviournya Hubungan Association, aggregation, dependency, dan inheritance Penanda multiplicity dan navigation Nama-nama Role/ tugas Syukriya al-Asyik ADBO - Pertemuan 3 39
Class diagram Syukriya al-Asyik ADBO - Pertemuan 3 40 RegistrationForm RegistrationManager Course Student CourseOffering Professor addStudent(Course, StudentInfo) name numberCredits open() addStudent(StudentInfo) major location open() addStudent(StudentInfo) tenureStatus ScheduleAlgorithm name RegistrationUser
Use case Diagram Sequence Diagram; Collaboration Diagram Class Diagram; Object Diagram Statechart Diagram Activity Diagram Component Diagram Deployment Diagram Syukriya al-Asyik ADBO - Pertemuan 3 41
Statechart Diagram Syukriya al-Asyik ADBO - Pertemuan 3 42 Cancelled InitializationOpen Closed Add student / Set count = 0 Add student[ Count < 10 ] Cancel course [ Count = 10 ] ^Course Report.Create report
Use case Diagram Sequence Diagram; Collaboration Diagram Class Diagram; Object Diagram Statechart Diagram Activity Diagram Component Diagram Deployment Diagram Syukriya al-Asyik ADBO - Pertemuan 3 43
Isye Arieshanti ADBO - Pertemuan 3 44
Use case Diagram Sequence Diagram; Collaboration Diagram Class Diagram; Object Diagram Statechart Diagram Activity Diagram Component Diagram Deployment Diagram Syukriya al-Asyik ADBO - Pertemuan 3 45
Syukriya al-Asyik ADBO - Pertemuan 3 46 Course Offering Student Professor Course.dll Course People.dll User Register.exe Billing.exe Billing System Registrar.exe Courses.dll People.dll
Use case Diagram Sequence Diagram; Collaboration Diagram Class Diagram; Object Diagram Statechart Diagram Activity Diagram Component Diagram Deployment Diagram Syukriya al-Asyik ADBO - Pertemuan 3 47
Syukriya al-Asyik ADBO - Pertemuan 3 48 Registration Database Library Dorm Main Building
Pendekatan iterative Ada guidance untuk aktivitas dan produk Process yang memfokuskan pada arsitektur Use case sebagai acuan analisa dan desain Model-model yang merupakan abstraksi system Syukriya al-Asyik ADBO - Pertemuan 3 49
RUP memiliki 4 fase Inception : mendefinisikan scope project Elaboration : merencanakan project, menentukan fitur, garis besar arsitektur Construction : membangun project Transition : menyerahkan produk ke end user Syukriya al-Asyik ADBO - Pertemuan 3 50
Syukriya al-Asyik ADBO - Pertemuan 3 51
Syukriya al-Asyik ADBO - Pertemuan 3 52
Use Case View Analisa use case adalah teknik untuk meng-capture proses bisnis dari prespektif user. Aspek statis di-capture dalam use case diagram Aspek dinamis di-capture dalam interaction diagram, statechart diagram dan activity diagram Design View Meliputi class-class, interface, dan collaboration yang mendefinisikan vocabulary system Mendukung kebutuhan fungsional system Aspek statis di-capture dalam class diagram dan object diagram Aspek dinamis di-capture dalam interaction diagram, statechart diagram dan activity diagram Syukriya al-Asyik ADBO - Pertemuan 3 53
Process View Meliputi thread dan pendefinisian proses-proses concurency dan syncronization Menunjukkan performance, scalability dan throughput Aspek statis dan dinamis di-capture dengan design view, tetapi lebih menekankan pada activ class Implementation View Meliputi komponen dan file yang digunakan untuk menghimpun dan me-release system physic Menunjukkan configuration management Aspek statis di-capture dalam component diagram Aspek dinamis di-capture dalam interaction diagram, statechart diagram dan activity diagram Syukriya al-Asyik ADBO - Pertemuan 3 54
Deployment View Meliputi node yang membentuk topologi hardware system Menunjukkan pendistribusian, delivery, dan pengistallan Aspek statis di-capture dalam deployment diagram Aspek dinamis di-capture dalam interaction diagram, statechart diagram, activity diagram Syukriya al-Asyik ADBO - Pertemuan 3 55
Tujuan: Untuk merubah analisa kebutuhan menjadi desain system Untuk mengembangkan arsitektur system yang kuat Untuk menyesuaikan desain agar sesuai dengan lingkungan implementasi, dan mendesain untuk perormance Syukriya al-Asyik ADBO - Pertemuan 3 56
Analisa Fokus pada pemahaman masalah Penyempurnaan desain Perilaku System structure Functional requirement Small model Desain Fokus pada pemahaman solusi Operation dan Attribute Performance Mendekati code nyata Object Lifecycle Non-functional requirement Large model Syukriya al-Asyik ADBO - Pertemuan 3 57
Syukriya al-Asyik ADBO - Pertemuan 3 58