1 / 42

Pertemuan 7 Unified Modelling Language (UML)

Pertemuan 7 Unified Modelling Language (UML). Tim Asisten Praktikum Rekayasa Perangkat Lunak 09/10 Departemen Ilmu komputer FMIPA, IPB. Apa itu UML ???.

tadeo
Download Presentation

Pertemuan 7 Unified Modelling Language (UML)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Pertemuan 7Unified Modelling Language(UML) Tim AsistenPraktikum RekayasaPerangkatLunak 09/10 DepartemenIlmukomputer FMIPA, IPB

  2. Apaitu UML ??? • UML adalahkeluarganotasigrafis yang didukungolehmeta‐model tunggal yang membantupendeskripsian dan desain sistemperangkat lunak khususnyasistemyangdibangunmenggunakan OOP

  3. Mengapaperlu ‘model’ ??? • Mengaturkompleksitas. • Fasilitaskomunikasi. • Model : • Kemudahandalamvisualisasiseluruhsistem. • Membandingansegalakemungkinan yang ada • Perancangan

  4. Mengapa UML ??? • Menspesifikasi, memvisualisasi, danmendokumentasikanmodel –model sistemperangkatlunakitusendiri • Current and new systems • Structure dan design • Behavior dan interaction • Notasiyang tidakambigudankonsisten • Dokumentasi

  5. UML 2.0 • Structure diagram

  6. UML 2.0 • Behaviour diagram

  7. Class Diagram • Class diagrammenjelaskanjenis‐jenisobjekdalamsistemdanberbagaijenishubunganstatisyang terdapat di antara objek‐objek tersebut. • Teknikpemodelanpokok yang berjalanhampirpadasemuametodeberorientasiobjek • Notasi terkaya dalam UML

  8. Elemenpentingdalamclass diagram • Class • Attributes • Operations • Relationships • Associations • Generalization • Dependency • Realization • Constraint Rules and Notes

  9. Classes • Classmerupakandeskripsisekumpulanobjek yang memilikiattributes, operations, relationships dan behavior yang sama.

  10. Association • Hubungansemantikantaraduaataulebihclassyang menentukankoneksiantarainstance ‐instance yang dimilikiclasstersebut. • Hubunganstruktural → menerangkanbahwaobjek‐objekdari suatu class terhubung dengan objek‐objek dari kelas lain (atau bisa juga kelas yang sama). • Association antara dua class menandakan bahwa objek‐objek di suatu sisi pada associationtersebut “mengenali” objek‐objekpadasisi lain association, dandapatmengirimkanmessage.

  11. Cont….

  12. Cont….

  13. Cont….

  14. Cont…..

  15. Aggregation • Bentukkhususassociation yang memodelkanhubunganwhole‐partantaraaggregate (the whole) danbagian‐bagiannya. • Object anggotadapatexist tanpakelasyang melingkupinya. →Memodelkanhubungan “has”

  16. Cont…. • “CPU merupakanbagiandaricomputer” • “Sebuahcar memilikiengine dandoorsebagaibagiannya”

  17. AggregationvsAttribute • Attribute : menggambarkanproperty of object. contoh : harga, berat, warnadarisuatu laptop. • Aggregation : menggambarkanassemblies of object. Contoh : CPU dan monitor merupakanbagian (penyusun) dari laptop.

  18. AggregationvsAssociation • Apakahcompanymerupakanagregasidariemployees ATAUKAH company merupakanbentukasosiasidiantaraemployees ???

  19. Composition • Bentuk kuat dari aggregation. • Hubungan“is a part of / is a” • Objekanggotatidakdapatexist diluarkelasyang melingkupinya. • Multiplicitypada whole harus 0 atau 1 • Waktuhiduppartbergantungpadawhole • Composite(whole) harus me‐managepembuatandanpenghancuranpart‐nya.

  20. Cont….

  21. Generalization • Hubungan ‘is kind of’ • Generalizationmenangkapsimilaritiesantarabeberapaclassdalamsebuahsuperclass.

  22. Cont….

  23. Realization • Mengindikasikanbahwasuatuclass mengimplementasikanbehavior yang ditentukanolehclasslain (interfaceatauprotocol)

  24. Cont…. Methods denganimplementasi Methods tanpaimplementasi

  25. Contoh

  26. When and how to use class diagram???

  27. SEQUENCE DIAGRAM ???

  28. Interaction Diagrams • Sequence diagram termasuksalahsatuinteraction diagram. • Interaction diagrams → menjelaskandynamic behavior darisistemberorientasiobjek • Serangkaianmessagedipertukarkanantarobjekuntukmencapaitujuan • Seringdigunakanuntukmemodelkanbagaimanause case direalisasikanmelaluirangkaian/urutan (sequence) message antarobjek

  29. KegunaanInteraction Diagrams • Memodelkaninteraksiantarobjek • Membantuuntukmengertibagaimanasistem (use case) bekerja • Memverifikasibahwause case description dapatdidukungolehclass‐class yang ada • Mengidentifiaksioperasidanmenugaskannyakepadaclass

  30. ElemenPentingSequence Diagram • Object • Message • Return values • Object creation • Object destruction • Control information

  31. Object honda: Car • Penamaanobject: myBirthdy • Syntax : [instanceName][:className] • Nama Class yang digunakankonsistendenganclass diagram • Mencakupnamainstanceketikaobject diacu dalam message atau ketika beberapa object dari tipe yang sama muncul pada diagram • Life‐Line merepresentasikan “kehidupan” object selamainteraksi

  32. Message • Interaksiantaraduaobjekditampilkansebagaimessage yang dikirimdarisatuobjekke yang lainnya • Message direpresentasikanolehtandapanahantaralife‐line duaobjek. • Self‐called jugadiperbolehkan • Waktu yang dibutuhkanolehobjekpenerimauntukmemprosesmessage dilambangkanolehactivation‐box • Diberikan label namamessage tersebut

  33. Return Values • Ditandaidengantandapanahgarisputus‐putusdengan label yang menandakanreturn value. • Janganmemodelkanreturn value ketikasangatjelasapa yang di‐return, contoh : getTotal() • Modelkanreturn value hanyaketikakitabutuhuntukmengacupadareturn value tersebutditempat lain, contoh sebagai parameter yang di‐pass dalam message lain. • Modelkanreturn value sebagaibagiandarimetodeinvocation,contoh: ok = isValid()

  34. Object Creation • Objekdapatmembuatobjek lain melaluipesan <<create>>

  35. Object Destruction • Objekdapatmenghancurkanobjek lain melaluipesan <<destroy>> • Objek dapat menghancurkan diri sendiri • Hindariobject destruction kecualimanajemenmemorikritis

  36. Control information • Condition • syntax: ‘[‘ expression ’]’ message‐label • Pesandikirimhanyajikakondisinyabenar • Contoh : [OK]borrow(member) • Iteration • Syntax : * [ ‘[‘ expression ‘]’ ] message‐label • Pesandikirimbeberapa kali untukmemungkinkan objekpenerima yang banyak. • Contoh : *[untill full] insert()

  37. Cont….

  38. Contoh….

  39. Cont….

  40. Sequence Diagrams (1)

  41. Tugas • Selesaikan DPPL bab 1 – 3 • Deadline : Dikumpulke PJ -> Rilan Selasa, 16 November 16.00

More Related