66
BAB V BAB V Modeling Modeling dan dan UML UML ( ( Unified Modelling Language Unified Modelling Language ) )

Bab 5 diagram uml dan prosess modeling 2010

Embed Size (px)

Citation preview

Page 1: Bab 5 diagram uml dan prosess modeling 2010

BAB V BAB V ModelingModeling dandan UMLUML

((Unified Modelling LanguageUnified Modelling Language))

Page 2: Bab 5 diagram uml dan prosess modeling 2010

Yang Yang akanakan dipelajaridipelajari

1.1. PengenalanPengenalan UMLUML

2.2. SejarahSejarah SingkatSingkat UMLUML

3.3. BagianBagian--bagianbagian UML.UML.–– View.View.

–– DiagramDiagram

4.4. LangkahLangkah--langkahlangkah PembuatanPembuatan UML.UML.

Page 3: Bab 5 diagram uml dan prosess modeling 2010

1. 1. PengenalanPengenalan UMLUML

a.a. ApaApa yang yang dimaksuddimaksud dengandengan UMLUML

b.b. TujuanTujuan UMLUML

c.c. MengapaMengapa melakukanmelakukan ModellingModelling

d.d. ApaApa yang yang dimaksuddimaksud dengandengan Visual Visual ModellingModelling

Page 4: Bab 5 diagram uml dan prosess modeling 2010

44

A. A. ApaApa ituitu UML?UML?

•• It is a notation; that is a set of diagrams and diagram elementsIt is a notation; that is a set of diagrams and diagram elementsthat may be that may be arranged to describe the design of a software system. arranged to describe the design of a software system.

•• UML is not a process, nor is it a method comprising a notation aUML is not a process, nor is it a method comprising a notation and a nd a process. process.

•• The The OMGOMG specification states:specification states:

The Unified Modeling Language (UML) is a graphical language for The Unified Modeling Language (UML) is a graphical language for visualizing, specifying, constructing, and documenting the artifvisualizing, specifying, constructing, and documenting the artifacts of a acts of a softwaresoftware--intensive system. The UML offers a standard way to write a intensive system. The UML offers a standard way to write a system's blueprints, including conceptual things such as businessystem's blueprints, including conceptual things such as business processes s processes and system functions as well as concrete things such as programmand system functions as well as concrete things such as programming ing language statements, database schemas, and reusable software language statements, database schemas, and reusable software components."components."

Page 5: Bab 5 diagram uml dan prosess modeling 2010

B. B. TujuanTujuan UMLUML

•• Provide users with a readyProvide users with a ready--toto--use, expressive visual use, expressive visual modeling language so they can develop and exchange modeling language so they can develop and exchange meaningful models. meaningful models.

•• Provide extensibility and specialization mechanisms to Provide extensibility and specialization mechanisms to extend the core concepts. extend the core concepts.

•• Be independent of particular programming languages Be independent of particular programming languages and development processes. and development processes.

•• Provide a formal basis for understanding the modeling Provide a formal basis for understanding the modeling language. language.

•• Encourage the growth of the OO tools market. Encourage the growth of the OO tools market. •• Support higherSupport higher--level development concepts such as level development concepts such as

collaborations, frameworks, patterns and components. collaborations, frameworks, patterns and components. •• Integrate best practices. Integrate best practices.

Page 6: Bab 5 diagram uml dan prosess modeling 2010

20102010--0505--2525

C. C. MengapaMengapa melakukanmelakukanModellingModelling

•• To easily communicate information between different To easily communicate information between different stakeholders in an unambiguous waystakeholders in an unambiguous way

•• To specify targetTo specify target--languagelanguage--independent designsindependent designs

•• To provide structure for problem solvingTo provide structure for problem solving

•• To provide To provide mechanisms(abstractionsmechanisms(abstractions, views, filtering, , views, filtering, structure) to manage complexitystructure) to manage complexity

•• To be able to easily experiment to explore multiple To be able to easily experiment to explore multiple solutionssolutions

Page 7: Bab 5 diagram uml dan prosess modeling 2010

Copyright © 1997 by Rational Software Corporation

Computer System

Business Process

Order

Item

Ship via

“ Modeling captures essential parts of the system.”

Dr. James Rumbaugh

Visual Modeling is modelingusing standard graphical notations

D. D. ApaApa yang yang dimaksuddimaksud dengandengan Visual Modeling?Visual Modeling?

Page 8: Bab 5 diagram uml dan prosess modeling 2010

Copyright © 1997 by Rational Software Corporation

Use Case Analysis is a technique to capture business process from user’s perspective

Visual Modeling Captures Visual Modeling Captures Business ProcessBusiness Process

Page 9: Bab 5 diagram uml dan prosess modeling 2010

Copyright © 1997 by Rational Software Corporation

Visual Modeling is a Visual Modeling is a Communication ToolCommunication Tool

Use visual modeling to capture business objects and logic

Use visual modeling to analyze and design your application

Page 10: Bab 5 diagram uml dan prosess modeling 2010

Copyright © 1997 by Rational Software Corporation

Visual Modeling Visual Modeling

Manages ComplexityManages Complexity

Page 11: Bab 5 diagram uml dan prosess modeling 2010

Copyright © 1997 by Rational Software Corporation

User Interface(Visual Basic,

Java)Business Logic

(C++, Java)

Database Server(C++ & SQL)

Model your systemindependent of

implementation language

Visual Modeling Defines Visual Modeling Defines Software ArchitectureSoftware Architecture

Page 12: Bab 5 diagram uml dan prosess modeling 2010

Copyright © 1997 by Rational Software Corporation

Multiple Systems

Visual Modeling Visual Modeling Promotes ReusePromotes Reuse

ReusableComponents

Page 13: Bab 5 diagram uml dan prosess modeling 2010

2. SEJARAH UML2. SEJARAH UML

•• In 1965 the first objectIn 1965 the first object--oriented (OO) oriented (OO) programming language, programming language, SimulaSimula I, was I, was introduced.introduced.

•• Almost immediately interest in OO design Almost immediately interest in OO design began to rapidly grow.began to rapidly grow.

•• This led to the emergence of numerous This led to the emergence of numerous competing OO design methods.competing OO design methods.

Page 14: Bab 5 diagram uml dan prosess modeling 2010

Copyright © 1997 by Rational Software Corporation

SejarahSejarah SingkatSingkat UMLUML

Nov ‘97 UML approved by the OMG

Page 15: Bab 5 diagram uml dan prosess modeling 2010

Modeling with UML versi 2.0• Pemodelan dengan UML ada 13 diagram yang terbagi menjadi 3 kategori yaitu• Structure diagram

Menggambarkan elemen dari spesifikasi yang mengabai kan time– Class diagram– Object diagram – Component Diagram– Deployment Diagram– Composite structure diagram– Package diagram

• Behavior diagramMenggambarkan cirri-ciri behavior/methode/function da ri sebuah system ataubusiness process

– Use case Diagram– Activity Diagram– State Machine Diagram

• Interaction diagramBagian dari behavior diagram yang menggambarkan object interactions

– Communication– Interaction Overview– Sequence– Timing

Page 16: Bab 5 diagram uml dan prosess modeling 2010

From the primordial oozeFrom the primordial ooze……

•• With all these design methods came With all these design methods came numerous modeling languages.numerous modeling languages.

•• By the early 90By the early 90’’s there were 50+ distinct s there were 50+ distinct OO modeling languages.OO modeling languages.

•• Darwinian forces in the marketplace led to Darwinian forces in the marketplace led to three dominate methods, each having its three dominate methods, each having its own modeling language.own modeling language.

Page 17: Bab 5 diagram uml dan prosess modeling 2010

The Big ThreeThe Big Three

•• ObjectObject--oriented Analysis & Design oriented Analysis & Design (OOAD) (OOAD) –– Grady Grady BoochBooch

•• The Object Modeling Technique (OMT) The Object Modeling Technique (OMT) ––Jim Jim RumbaughRumbaugh

•• The ObjectThe Object--oriented Software Engineering oriented Software Engineering method (OOSE) method (OOSE) –– IvarIvar JacobsonJacobson

•• Each one had its strengths and Each one had its strengths and weaknesses.weaknesses.

Page 18: Bab 5 diagram uml dan prosess modeling 2010

BoochBooch (OOAD)(OOAD)

•• Very complexVery complex•• The modeling language contained a The modeling language contained a

formidable number of diagrams and formidable number of diagrams and resulting symbolsresulting symbols

•• Allowed for effective lowAllowed for effective low--level design and level design and its fine grain detail was even useful for its fine grain detail was even useful for documenting code.documenting code.

•• Good at OO design, weak at OO analysisGood at OO design, weak at OO analysis

Page 19: Bab 5 diagram uml dan prosess modeling 2010

RumbaughRumbaugh (OMT)(OMT)

•• OMT had a simpler modeling languageOMT had a simpler modeling language

•• It was better at higherIt was better at higher--level designs than level designs than BoochBooch Method.Method.

•• Good at OO analysis, weak at OO designGood at OO analysis, weak at OO design

Page 20: Bab 5 diagram uml dan prosess modeling 2010

OO Analysis vs. OO DesignOO Analysis vs. OO Design

•• Analysis refers to understanding the Analysis refers to understanding the problem.problem.

•• Design refers to coming up with the Design refers to coming up with the solution.solution.

•• DonDon’’t confuse with broader use of word t confuse with broader use of word ““designdesign””

•• Text replaces Text replaces ““designdesign”” with with ““resolutionresolution””

Page 21: Bab 5 diagram uml dan prosess modeling 2010

Jacobson (OOSE)Jacobson (OOSE)

•• Major feature was Major feature was ““use classesuse classes””•• Use classes model how a system interacts Use classes model how a system interacts

with users (which might be other systems with users (which might be other systems or end users)or end users)

•• Viewing things from the userViewing things from the user’’s perspective s perspective drove the design process drove the design process

•• This made it good at very highThis made it good at very high--level level design.design.

Page 22: Bab 5 diagram uml dan prosess modeling 2010

In SummaryIn Summary

•• BoochBooch (OOAD) good at low(OOAD) good at low--level designlevel design

•• Jacobson (OOSE) good at highJacobson (OOSE) good at high--level level designdesign

•• RumbaughRumbaugh (OMT) good at the middle (OMT) good at the middle groundground

Page 23: Bab 5 diagram uml dan prosess modeling 2010

Coming TogetherComing Together

•• BoochBooch’’ss and and RumbaughRumbaugh’’ss methods methods seemed to be evolving in a similar seemed to be evolving in a similar directiondirection

•• In 1994 they joined forces in effort to In 1994 they joined forces in effort to merge their two methodsmerge their two methods

•• They both wanted to include use cases, so They both wanted to include use cases, so soon Jacobson joined themsoon Jacobson joined them

Page 24: Bab 5 diagram uml dan prosess modeling 2010

The The ‘‘UU’’ in UMLin UML

•• It became too difficult to successfully It became too difficult to successfully merge all three methods.merge all three methods.

•• At same time, the software engineering At same time, the software engineering community wanted an effective and community wanted an effective and standardized modeling languagestandardized modeling language

•• The three then focused their efforts on The three then focused their efforts on unifyingunifying their three modeling languagestheir three modeling languages

Page 25: Bab 5 diagram uml dan prosess modeling 2010

UML Was BornUML Was Born

•• In 1996 the Unified Modeling Language In 1996 the Unified Modeling Language was introduced as UML 0.9 and then 0.91was introduced as UML 0.9 and then 0.91

•• Input was obtained from many, including Input was obtained from many, including TI, IBM, Microsoft, Oracle, and HP.TI, IBM, Microsoft, Oracle, and HP.

•• This led to UML 1.0 in 1997This led to UML 1.0 in 1997

•• Eventually, the semantics and flexibility Eventually, the semantics and flexibility was improved resulting in UML 2.0 in 2003was improved resulting in UML 2.0 in 2003

Page 26: Bab 5 diagram uml dan prosess modeling 2010

3. 3. BangunanBangunan DasarDasar UMLUML

1.1. SesuatuSesuatu (Things)(Things)

2.2. RelasiRelasi (Relationship)(Relationship)

3.3. DiagramDiagram

Page 27: Bab 5 diagram uml dan prosess modeling 2010

UML - Elements

centreX:Int

centreY:Int=0

Circle

draw()

move(Int X, Int Y)

centreX:Int

centreY:Int=0

CircleA:Circle

draw()

move(Int X, Int Y)

Class Object

<<interface>>TypeWriter

keyStroke()

Interface

Borrow

Use-case

Actor

Shapes

Component

Page 28: Bab 5 diagram uml dan prosess modeling 2010

UML - Relationships

• Dependency

• Association

• Generalization

• Realization

Page 29: Bab 5 diagram uml dan prosess modeling 2010

ThingsThings

AdaAda 4 4 MacamMacam Things Things dalamdalam UML :UML :

a.a.Structural ThingsStructural Things

b.b.Behavioral ThingsBehavioral Things

c.c.Grouping ThingsGrouping Things

d.d.AnnotationalAnnotational ThingsThings

Page 30: Bab 5 diagram uml dan prosess modeling 2010

A. Structural ThingsA. Structural Things

•• MerupakanMerupakan BagianBagian yang yang bersifatbersifat statisstatisdalamdalam model UMLmodel UML

•• DapatDapat berupaberupa elemenelemen--elemenelemen yang yang bersifatbersifat fisikfisik maupunmaupun konseptualkonseptual

•• AdaAda 7 7 macammacam structural things, structural things, yaituyaituKelasKelas, , AntarmukaAntarmuka, , KolaborasiKolaborasi, Use Case, , Use Case, KelasKelas AktifAktif, , KomponenKomponen dandan SimpulSimpul

Page 31: Bab 5 diagram uml dan prosess modeling 2010

Copyright © 1997 by Rational Software Corporation

Actors• An actor is someone or some thing that

must interact with the system under development

Student

Registrar

Professor

Billing System

Page 32: Bab 5 diagram uml dan prosess modeling 2010

7 7 macammacam structural things (1)structural things (1)

KelasKelas

-- HimpunanHimpunan daridari objekobjek--objekobjek yang yang berbagiberbagi

atributatribut sertaserta operasioperasi yang yang samasama

-- DigambarkanDigambarkan dengandengan empatempat--persegipersegi--

panjangpanjang yang yang memuatmemuat namanama, , atributatribut, ,

sertaserta operasioperasi yang yang dimilikinyadimilikinya

Page 33: Bab 5 diagram uml dan prosess modeling 2010

7 7 macammacam structural things (2)structural things (2)AntarmukaAntarmuka (Interfaces)(Interfaces)

-- KumpulanKumpulan daridari operasioperasi--operasioperasi yang yang menspesifikasimenspesifikasi

layananlayanan (service) (service) suatusuatu kelaskelas atauatau komponen/objekkomponen/objek

-- MendeskripsikanMendeskripsikan perilakuperilaku yang yang tampaktampak daridari luarluar daridari

suatusuatu elemenelemen

-- JarangJarang berdiriberdiri sendirisendiri..

-- BiasanyaBiasanya dilampirkandilampirkan padapada kelaskelas atauatau komponenkomponenyang yang merealisasikanmerealisasikan antarmukaantarmuka

-- secarasecara grafisgrafis digambarkandigambarkan dengandengan lingkaranlingkaran kecilkecildengandengan namanyanamanya didahuluididahului dengandengan garisgaris tegaktegak (|)(|)

Page 34: Bab 5 diagram uml dan prosess modeling 2010

7 7 macammacam structural things (3)structural things (3)

KolaborasiKolaborasi (Collaboration)(Collaboration)

-- MendefinisikanMendefinisikan interaksiinteraksi aturanaturan--aturanaturan dandan elemenelemenlain yang lain yang bekerjasamabekerjasama untukuntuk menyediakanmenyediakan perilakuperilakuyang yang lebihlebih besarbesar daridari jumlahjumlah daridari elemenelemen--elemennyaelemennya((sinergisinergi))

-- MerepresentasikanMerepresentasikan polapola implementasiimplementasi yang yang memperbaikimemperbaiki sistemsistem

-- secarasecara grafisgrafis digambarkandigambarkan dengandengan elipsielipsi bergarisbergarisputusputus--putusputus yang yang memuatmemuat namanama kolaborasikolaborasi ituitu..

Page 35: Bab 5 diagram uml dan prosess modeling 2010

7 7 macammacam structural things (4)structural things (4)

Use CaseUse Case

-- DeskripsiDeskripsi daridari urutanurutan aksiaksi--aksiaksi yang yang ditampilkanditampilkan sistemsistem yang yang menghasilkanmenghasilkansuatusuatu hasilhasil yang yang terukurterukur bagibagi suatusuatu actoractor

-- DigunakanDigunakan untukuntuk menstrukturkanmenstrukturkanperilakuperilaku padapada suatusuatu modelmodel

-- DigambarkanDigambarkan dengandengan elipselips tegastegas yang yang berisiberisi namanyanamanya

Page 36: Bab 5 diagram uml dan prosess modeling 2010

7 7 macammacam structural things (5)structural things (5)

KelasKelas AktifAktif (Active Class)(Active Class)

-- KelasKelas dimanadimana ObjekObjek--objekobjek yang yang dimilikinyadimilikinya memilikimemilikisatusatu atauatau lebihlebih prosesproses dandan lebihlebih jauhjauh menginisialisasimenginisialisasisuatusuatu objekobjek kendalikendali..

-- MerupakanMerupakan kelaskelas biasabiasa namunnamun objekobjek--objekobjek yang yang dimilikinyadimilikinya menampilkanmenampilkan elemenelemen--elemenelemen yang yang memilikimemilikiperilakuperilaku konkurenkonkuren..

-- secarasecara grafisgrafis digambarkandigambarkan sepertiseperti kelaskelas biasabiasa tetapitetapidengandengan batasbatas yang yang lebihlebih tebaltebal, yang , yang memuatmemuat namanama, , atributatribut, , sertaserta operasioperasi yang yang dimilikinyadimilikinya..

Page 37: Bab 5 diagram uml dan prosess modeling 2010

7 7 macammacam structural things (6)structural things (6)

KomponenKomponen (Component)(Component)

--BagianBagian fisikfisik dandan bagianbagian yang yang dapatdapat digantikandigantikan padapadasuatusuatu sistemsistem..

-- SecaraSecara grafisgrafis digambarkandigambarkan dengandengan empatempat--persegipersegi--panjangpanjang sepertiseperti kelaskelas tetapitetapi ditambahiditambahi tab.tab.

Page 38: Bab 5 diagram uml dan prosess modeling 2010

7 7 macammacam structural things (7)structural things (7)

SimpulSimpul (Node)(Node)

-- ElemenElemen fisikfisik yang yang eksiseksis saatsaat aplikasiaplikasi dijalankandijalankan dandanmencerminkanmencerminkan suatusuatu sumbersumber dayadaya komputasikomputasi..

-- KumpulanKumpulan komponenkomponen mungkinmungkin hadirhadir dalamdalam simpulsimpuldandan mungkinmungkin jugajuga berpindahberpindah--pindahpindah daridari suatusuatu simpulsimpulkeke simpulsimpul yang lain.yang lain.

-- secarasecara grafisgrafis digambarkandigambarkan sebagaisebagai kubuskubus yang yang berisiberisinamanyanamanya..

Page 39: Bab 5 diagram uml dan prosess modeling 2010

B. Behavioral ThingsB. Behavioral Things

-- MerupakanMerupakan bagianbagian yang yang dinamisdinamis padapadamodel UMLmodel UML

-- MencerminkanMencerminkan perilakuperilaku sepanjangsepanjang ruangruangdandan waktuwaktu..

-- AdaAda 2 2 macammacam behavioral things :behavioral things :

1. 1. InteraksiInteraksi

2. State2. State

Page 40: Bab 5 diagram uml dan prosess modeling 2010

Behavioral ThingsBehavioral Things

InteraksiInteraksi

-- SuatuSuatu perilakuperilaku yang yang mencakupmencakup himpunanhimpunanpesanpesan--pesanpesan yang yang diperlukandiperlukan untukuntukmenyelesaikanmenyelesaikan suatusuatu fungsifungsi tertentutertentu

-- TerdiriTerdiri daridari pesanpesan--pesanpesan, , urutanurutan aksiaksi ((perilakuperilakuyang yang dihasilkandihasilkan oleholeh sebuahsebuah pesanpesan), link ), link ((hubunganhubungan antarantar objekobjek--objekobjek))

-- SecaraSecara grafisgrafis, , pesanpesan digambarkandigambarkan dengandengantandatanda panahpanah tegastegas yang yang seringsering memuatmemuat namanamaoperasinyaoperasinya

Page 41: Bab 5 diagram uml dan prosess modeling 2010

Behavioral ThingsBehavioral ThingsStateState

-- PerilakuPerilaku yang yang menspesifikasimenspesifikasi unsurunsur kedudukankedudukan suatusuatuobjekobjek atauatau interaksiinteraksi--interaksiinteraksi sepanjangsepanjang waktuwaktu dalamdalammenanggapimenanggapi eventevent--event yang event yang terjaditerjadi..

-- PenggambaranPenggambaran suatusuatu state state memuatmemuat beberapabeberapa unsurunsuryaituyaitu state state ituitu sendirisendiri, , transisitransisi ((perubahanperubahan daridari suatusuatustate state keke state state lainnyalainnya), event (), event (suatusuatu keadaankeadaan yang yang memicumemicu sebuahsebuah transisitransisi, , sertaserta aktivitasaktivitas ((tanggapantanggapanterhadapterhadap transisitransisi))

-- DigambarkanDigambarkan sebagaisebagai empatempat--persegipersegi--panjangpanjang yang yang sudutsudut--sudutnyasudutnya melengkungmelengkung, yang , yang memuatmemuat namanyanamanya((sertaserta substatesubstate didalamnyadidalamnya, , jikajika adaada))

Page 42: Bab 5 diagram uml dan prosess modeling 2010

C. Grouping ThingsC. Grouping Things

-- BagianBagian pengorganisasipengorganisasi dalamdalam UMLUML

-- DalamDalam penggambaranpenggambaran model UML yang model UML yang rumitrumit kadangkadang diperlukandiperlukan penggambaranpenggambaranpaketpaket yang yang menyederhanakanmenyederhanakan modelmodel

-- PaketPaket bergunaberguna bagibagi pengelompokkanpengelompokkansesuatusesuatu, , misalnyamisalnya modelmodel--model model sertasertasubsistemsubsistem--subsistemsubsistem..

Page 43: Bab 5 diagram uml dan prosess modeling 2010

D. D. AnnotationalAnnotational ThingsThings

-- BagianBagian yang yang memperjelasmemperjelas model UMLmodel UML

-- DapatDapat berupaberupa komentarkomentar yang yang memperjelasmemperjelasfungsifungsi sertaserta ciriciri--ciriciri tiaptiap elemenelemen dalamdalammodel UMLmodel UML

Page 44: Bab 5 diagram uml dan prosess modeling 2010

RELATIONSHIPRELATIONSHIP

-- HubunganHubungan--hubunganhubungan yang yang terjaditerjadiantarelemenantarelemen dalamdalam UMLUML

-- AdaAda 4 4 macammacam relationship relationship dalamdalam UML, UML, yaituyaitu Dependency, Dependency, AsosiasiAsosiasi, , GeneralisasiGeneralisasi, , RealisasiRealisasi

Page 45: Bab 5 diagram uml dan prosess modeling 2010

Copyright © 1997 by Rational Software Corporation

Relationships• Relationships provide a pathway for communication

between objects• Sequence and/or collaboration diagrams are

examined to determine what links between objects need to exist to accomplish the behavior -- if two objects need to “talk” there must be a link between them

• Three types of relationships are:– Association– Aggregation– Dependency

Page 46: Bab 5 diagram uml dan prosess modeling 2010

Copyright © 1997 by Rational Software Corporation

Relationships• An association is a bi-directional connection between classes

– An association is shown as a line connecting the related classes

• An aggregation is a stronger form of relationship where the relationship is between a whole and its parts

– An aggregation is shown as a line connecting the related classes with a diamond next to the class representing the whole

• A dependency relationship is a weaker form of relationship showing a relationship between a client and a supplier where the client does not have semantic knowledge of the supplier

• A dependency is shown as a dashed line pointing from the client to the supplier

Page 47: Bab 5 diagram uml dan prosess modeling 2010

Copyright © 1997 by Rational Software Corporation

Registration Manager

Math 101: Course

3: add student(joe)

RegistrationManager

Course

Finding Relationships

• Relationships are discovered by examining interaction diagrams– If two objects must “talk” there must be a

pathway for communication

Page 48: Bab 5 diagram uml dan prosess modeling 2010

Copyright © 1997 by Rational Software Corporation

Relationships

RegistrationForm

RegistrationManager

Course

Student

CourseOfferingProfessor

addStudent(Course, StudentInfo)

namenumberCredits

open()addStudent(StudentInfo)name

major

location

open()addStudent(StudentInfo)

nametenureStatus

ScheduleAlgorithm

Page 49: Bab 5 diagram uml dan prosess modeling 2010

Copyright © 1997 by Rational Software Corporation

Multiplicity and Navigation• Multiplicity defines how many objects participate in a

relationships– Multiplicity is the number of instances of one

class related to ONE instance of the other class– For each association and aggregation, there are

two multiplicity decisions to make: one for each end of the relationship

• Although associations and aggregations are bi-directional by default, it is often desirable to restrict navigation to one direction

• If navigation is restricted, an arrowhead is added to indicate the direction of the navigation

Page 50: Bab 5 diagram uml dan prosess modeling 2010

Copyright © 1997 by Rational Software Corporation

Multiplicity and Navigation

RegistrationForm

RegistrationManager

Course

Student

CourseOfferingProfessor

addStudent(Course, StudentInfo)

namenumberCredits

open()addStudent(StudentInfo)

major

location

open()addStudent(StudentInfo)

tenureStatus

ScheduleAlgorithm

10..*

0..*

1

1

1..*4

3..10

0..41

Page 51: Bab 5 diagram uml dan prosess modeling 2010

Copyright © 1997 by Rational Software Corporation

Inheritance

• Inheritance is a relationships between a superclass and its subclasses

• There are two ways to find inheritance:– Generalization– Specialization

• Common attributes, operations, and/or relationships are shown at the highest applicable level in the hierarchy

Page 52: Bab 5 diagram uml dan prosess modeling 2010

Copyright © 1997 by Rational Software Corporation

Inheritance

RegistrationForm

RegistrationManager

Course

Student

CourseOfferingProfessor

addStudent(Course, StudentInfo)

namenumberCredits

open()addStudent(StudentInfo)

major

location

open()addStudent(StudentInfo)

tenureStatus

ScheduleAlgorithm

name

RegistrationUser

Page 53: Bab 5 diagram uml dan prosess modeling 2010

Dependency (Dependency (KebergantunganKebergantungan))

-- HubunganHubungan dimanadimana perubahanperubahan yang yang terjaditerjadipadapada suatusuatu elemenelemen independenindependen (mandiri) (mandiri) akanakan mempengaruhimempengaruhi elemenelemen yang yang bergantungbergantung padanyapadanya ((elemenelemen yang yang tidaktidakmandiri mandiri –– independenindependen).).

-- SecaraSecara grafisgrafis digambarkandigambarkan dengandengan tandatandapanahpanah putusputus--putusputus..

Page 54: Bab 5 diagram uml dan prosess modeling 2010

AsosiasiAsosiasi

-- MenghubungkanMenghubungkan antaraantara objekobjek satusatudengandengan objekobjek yang yang lainnyalainnya; ; bagaimanabagaimanahubunganhubungan suatusuatu objekobjek dengandengan objekobjeklainnyalainnya..

-- SuatuSuatu bentukbentuk asosiasiasosiasi adalahadalah agregasiagregasiyang yang menampilkanmenampilkan hubunganhubungan suatusuatu objekobjekdengandengan bagianbagian--bagiannyabagiannya..

-- SecaraSecara grafisgrafis digambarkandigambarkan dengandengan garisgaristegastegas tanpatanpa tandatanda panahpanah..

Page 55: Bab 5 diagram uml dan prosess modeling 2010

GeneralisasiGeneralisasi

-- HubunganHubungan dimanadimana objekobjek anakanak (descendent) (descendent) berbagiberbagi perilakuperilaku dandan strukturstruktur data data daridari objekobjekyang yang adaada diatasnyadiatasnya ((objekobjek indukinduk –– ancestor).ancestor).

-- ArahArah daridari atasatas keke bawahbawah ((daridari objekobjek indukinduk kekeobjekobjek anakanak disebutdisebut spesialisasispesialisasi))

-- ArahArah daridari bawahbawah keke atasatas disebutdisebut generalisasigeneralisasi

-- SecaraSecara grafisgrafis digambarkandigambarkan sebagaisebagai garisgaris yang yang ujungnyaujungnya berkepalaberkepala panahpanah ((atauatau bentukbentuksegitigasegitiga) yang ) yang kosongkosong, yang , yang mengarahmengarah keke objekobjekindukinduk..

Page 56: Bab 5 diagram uml dan prosess modeling 2010

RealisasiRealisasi

-- OperasiOperasi yang yang benarbenar--benarbenar dilakukandilakukan oleholehsuatusuatu objekobjek

-- SecaraSecara grafisgrafis digambarkandigambarkan dengandengan tandatandapanahpanah bergarisbergaris putusputus--putusputus dengandengankepalakepala panahpanah kosongkosong..

Page 57: Bab 5 diagram uml dan prosess modeling 2010

DiagramDiagram

AdaAda 9 9 jenisjenis diagram, diagram, yaituyaitu ::1.1. Diagram Diagram KelasKelas

2.2. Diagram Diagram ObjekObjek

3.3. Use Case Diagram Use Case Diagram

4.4. Sequence DiagramSequence Diagram

5.5. Collaboration DiagramCollaboration Diagram

6.6. StatechartStatechart DiagramDiagram

7.7. Activity DiagramActivity Diagram

8.8. Component DiagramComponent Diagram

9.9. Deployment DiagramDeployment Diagram

Page 58: Bab 5 diagram uml dan prosess modeling 2010

5858/31/31

View View PadaPada UMLUML

• The system architecture is “the organizational structure of the system, including its decomposition into parts, their connectivity, interaction, mechanisms and the guiding principles that inform the design of a system.”[Rumbaugh 1998]

• There is a typical “4+1 views” architecture of a system defined by UML:– Logical view, captures the vocabulary of the problem domain using classes and

objects– Process view, depicts the threads and processes of the system as active

classes– Implementation view, shows the physical code base of the system in terms of

components

– Deployment view, models the physical deployment of components onto computational nodes

– Use case view, captures the requirements of the system using a set of use cases. This is the view “+1” to which all other views connect.

Page 59: Bab 5 diagram uml dan prosess modeling 2010

E. Categories of UML Diagrams

Static (Structural) Dynamic

Logical

Model

•Class Diagram

•Object Diagram

•Use Case Diagram

•Sequence Diagram

•Collaboration Diagram

•State Chart Diagram

•Activity Diagram

Physical Model

•Component Diagram

•Deployment Diagram

• Berdasarkan model, UML �Logikal & Physical• Berdasarkan sifatnya, UML � Static(structural) &

Dinamic (Behaviour)

Page 60: Bab 5 diagram uml dan prosess modeling 2010
Page 61: Bab 5 diagram uml dan prosess modeling 2010

LangkahLangkah--langkahlangkahPenggunaanPenggunaan UML (1)UML (1)

•• BuatlahBuatlah daftardaftar business process business process daridari level level tertinggitertinggi untukuntukmendefinisikanmendefinisikan aktivitasaktivitas dandan prosesproses yang yang mungkinmungkin munculmuncul. .

•• PetakanPetakan use case use case untukuntuk tiaptiap business process business process untukuntuk mendefinisikanmendefinisikandengandengan tepattepat fungsionalitasfungsionalitas yang yang harusharus disediakandisediakan oleholeh sistemsistem. . KemudianKemudian perhalusperhalus use case diagram use case diagram dandan lengkapilengkapi dengandenganrequirement, constraints requirement, constraints dandan catatancatatan--catatancatatan lain. lain.

•• BuatlahBuatlah deployment diagram deployment diagram secarasecara kasarkasar untukuntuk mendefinisikanmendefinisikanarsitekturarsitektur fisikfisik sistemsistem. .

•• DefinisikanDefinisikan requirement lain (nonrequirement lain (non--fungsionalfungsional, security , security dandansebagainyasebagainya) yang ) yang jugajuga harusharus disediakandisediakan oleholeh sistemsistem. .

•• BerdasarkanBerdasarkan use case diagram, use case diagram, mulailahmulailah membuatmembuat activity diagram. activity diagram.

Page 62: Bab 5 diagram uml dan prosess modeling 2010

LangkahLangkah--langkahlangkahPenggunaanPenggunaan UML (2)UML (2)

•• DefinisikanDefinisikan objekobjek--objekobjek level level atasatas (package (package atauatau domain) domain) dandan buatlahbuatlahsequence sequence dan/ataudan/atau collaboration diagram collaboration diagram untukuntuk tiaptiap aliralir pekerjaanpekerjaan. . JikaJikasebuahsebuah use case use case memilikimemiliki kemungkinankemungkinan aliralir normal normal dandan error, error, buatlahbuatlah satusatudiagram diagram untukuntuk masingmasing--masingmasing aliralir. .

•• BuarlahBuarlah rancanganrancangan user interface model yang user interface model yang menyediakanmenyediakan antarmukaantarmuka bagibagipenggunapengguna untukuntuk menjalankanmenjalankan skenarioskenario use case. use case.

•• BerdasarkanBerdasarkan modelmodel--model yang model yang sudahsudah adaada, , buatlahbuatlah class diagram. class diagram. SetiapSetiappackage package atauatau domain domain dipecahdipecah menjadimenjadi hirarkihirarki class class lengkaplengkap dengandengan atributatributdandan metodanyametodanya. . AkanAkan lebihlebih baikbaik jikajika untukuntuk setiapsetiap class class dibuatdibuat unit test unit test untukuntuk mengujimenguji fungsionalitasfungsionalitas class class dandan interaksiinteraksi dengandengan class lain. class lain.

•• SetelahSetelah class diagram class diagram dibuatdibuat, , kitakita dapatdapat melihatmelihat kemungkinankemungkinanpengelompokanpengelompokan class class menjadimenjadi komponenkomponen--komponenkomponen. . KarenaKarena ituitu buatlahbuatlahcomponent diagram component diagram padapada tahaptahap iniini. . JugaJuga, , definisikandefinisikan testes integrasiintegrasi untukuntuksetiapsetiap komponenkomponen meyakinkanmeyakinkan iaia berinteraksiberinteraksi dengandengan baikbaik. .

Page 63: Bab 5 diagram uml dan prosess modeling 2010

LangkahLangkah--langkahlangkahPenggunaanPenggunaan UML (3)UML (3)

•• PerhalusPerhalus deployment diagram yang deployment diagram yang sudahsudah dibuatdibuat. . DetilkanDetilkankemampuankemampuan dandan requirement requirement pirantipiranti lunaklunak, , sistemsistem operasioperasi, , jaringanjaringan, , dandan sebagainyasebagainya. . PetakanPetakan komponenkomponen keke dalamdalam node. node.

•• MulailahMulailah membangunmembangun sistemsistem. . AdaAda duadua pendekatanpendekatan yang yang dapatdapatdigunakandigunakan-- PendekatanPendekatan use case, use case, dengandengan mengmeng--assign assign setiapsetiap use case use case kepadakepada timtim pengembangpengembang tertentutertentu untukuntuk mengembangkanmengembangkan unit code unit code yang yang lengkaplengkap dengandengan testes..-- PendekatanPendekatan komponenkomponen, , yaituyaitu mengmeng--assign assign setiapsetiap komponenkomponenkepadakepada timtim pengembangpengembang tertentutertentu. .

•• LakukanLakukan ujiuji modulmodul dandan ujiuji integrasiintegrasi sertaserta perbaikiperbaiki model model bersertabersertacodenyacodenya. Model . Model harusharus selaluselalu sesuaisesuai dengandengan code yang code yang aktualaktual

•• PirantiPiranti lunaklunak siapsiap dirilisdirilis. .

Page 64: Bab 5 diagram uml dan prosess modeling 2010

Copyright © 1997 by Rational Software Corporation

Extending the UML

• Stereotypes can be used to extend the UML notational elements

• Stereotypes may be used to classify and extend associations, inheritance relationships, classes, and components

• Examples:– Class stereotypes: boundary, control, entity,

utility, exception– Inheritance stereotypes: uses and extends

– Component stereotypes: subsystem

Page 65: Bab 5 diagram uml dan prosess modeling 2010
Page 66: Bab 5 diagram uml dan prosess modeling 2010