ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
UML  (Unified Modeling Language) Versi 1.7 (Nov 06) Yudi Wibisono [email_address]
Apa UML? Bahasa  pemodelan perangkat lunak    notasi untuk mengeskpresikan model Analogi: bahasa pemodelan bidang arsitek, sipil:
Apa UML? (lanj) Bahasa pemodelan untuk bidang perangkat lunak:
Apa UML? Latar belakang UML 90-an, terlalu banyak notasi sehingga membingungkan developer Perlu satu bahasa standard: UML 1.0 muncul tahun pada 97. UML 2.0 (2004) UML  bukan  metodologi. UML independent terhadap proses, independen terhadap bahasa pemrograman. Analogi dengan bahasa manusia     Bahasa dapat digunakan untuk membuat novel, puisi, berita, prosa dst. Bahasa tidak mendikte bagaimana karangan tersebut di buat.
Mengapa menggunakan UML Analogi: mengapa belajar bahasa Inggris? Standard notasi untuk software development di berbagai perusahaan     nilai tambah saat wawancara kerja! Tersedia banyak tools Bahasanya lengkap dan ekspresif.
Elemen UML? 13 Diagram (tidak semua harus digunakan!) Structure Diagrams:  Class Diagram, Object Diagram , Component Diagram, Composite Structure Diagram, Package Diagram,  Deployment Diagram.  Behavior Diagrams:   Use Case Diagram ,  Activity Diagram , dan  State Machine Diagram .  Interaction Diagrams:   Sequence Diagram , Communication Diagram, Timing Diagram,  Interaction Overview Diagram.
Diagram yang umum digunakan di tahap requirement Use case diagram Activity diagram
Use Case Diagram (UCD)
Overview Use Case Diagram Diagram yang memperlihatkan relasi antara aktor dan use case di dalam system. Umumnya digunakan pada tahap requirement.
Fungsi UCD Memperlihatkan aspek fungsional sebuah sistem (apa yang dapat dikerjakan sistem). Memperlihatkan cakupan sistem    batasan sistem
Elemen UCD: Use Case Use Case: Aksi yang bermanfaat bagi actor, yang harus disediakan sistem. Judul use case: kata kerja
Elemen UCD (Lanj): Actor Orang/organisasi/mesin yang berinteraksi dengan sistem Sesama actor tidak saling berinteraksi Actor
Elemen UCD: Relationship Asosiasi antara actor dan use case. Asosiasi antara dua use case Generalisasi antara dua actor Generalisasi antara dua use case
UCD: Relationship (lanj) http://www.agilemodeling.com/images/style/useCaseRelationships.gif Asosiasi Generalisasi Genera-lisasi
UCD:Kotak Batasan System  Opsional Kotak Batasan
Use Case:  pengunaan Bukan  digunakan untuk menggambarkan urutan!    gunakan activity diagram
Activity Diagram
Overview Activity Diagram  Fokus terhadap aspek keterurutan aksi. Menyerupai flow chart.
Fungsi Activity Diagram  Menjelaskan lebih detil use case. Menjelaskan bisnis rule yang kompleks. Menjelaskan algoritma yang kompleks. Pengganti flow chart dan data flow diagram (DFD)
Elemen Activity Diagram action Start point Fork    paralel
Elemen Activity Diagram (2) Branch    percabangan Merge    percabangan selesai Join    aktivitas paralel harus selesai semua baru dilanjutkan End point
Activity Diagram: Swimline Pengelompokan aktivitas yang dilakukan oleh suatu actor actor actor actor
State Machine Diagram http://pigseye.kennesaw.edu/~dbraun/csis4650/A&D/UML_tutorial/images/state2.jpg
Overview State Diagram Mendeskripsikan tingkah laku sistem. Fokus terhadap state dan transisinya
Fungsi State Diagram Menjelaskan lebih detil tingkah laku sebuah objek. Mirip dengan activity diagram? Perbedaanya?
Elemen State Diagram State: terdiri atas nama state dan aksi Transisi (umumnya dengan kondisi) Gambar: http://pigseye.kennesaw.edu/~dbraun/csis4650/A&D/UML_tutorial/images/state0.jpg
Elemen State Diagram:supersate Superstate mencakup beberapa state
State Diagram vs Activity Diagram Tujuan Activity diagram    business rule (user friendly) State diagram    internal sistem (developer friendly) State diagram dapat digunakan untuk menggambarkan activity diagram, tapi tidak sebaliknya. State diagram dapat menggambarkan trasisi yang lebih rumit
Class Diagram http://www.agilemodeling.com/images/models/classDiagramInitial.jpg
Overview Class Diagram Elemen terpenting dalam perancangan dan analisis menggunakan OOA dan OOD. Memperlihatkan class (atribut dan method) dan relasinya (inheritance, asosiasi, agregasi)
Elemen Class Diagram: Class http://www.agilemodeling.com/images/style/classDiagramAnalysisVsDesign.gif Nama kelas atribut method -  private  + public # protected
Elemen Class: Asosiasi Multiplicity Indicators:  0..1, 1 , 0..*, 1..*, 0..N Contoh: http://www.agilemodeling.com/images/models/classDiagramAssocationNotation.jpg
Elemen Class: Inheritance Garis dengan segitiga  Inheri tance http://www.agilemodeling.com/images/style/classDiagramPersonAddress.gif
Inheritance: contoh lain http://www.agilemodeling.com/images/models/classDiagramInheritance.jpg
Elemen Class: Agregasi dan Composition Agregasi: Objek yang terdiri dari objek lainnya.  Composition: Lebih ketat dari agregasi agregasi composition STUDENT CLUB
Object Diagram/Instance Diagram BUDI: MAHASISWA AHMAD: MAHASISWA RPL-LANJUT: MATAKULIAH TRANSKRIP  BUDI:  TRANSKRIP TRANSKRIP AHMAD: TRANSKRIP BASISDATA: MATAKULIAH
Overview Object Diagram Mengambarkan instance dari class (Object) dan interaksinya. Menjelaskan lebih lanjut diagram class
Elemen Objek Diagram Objek: Gunakan underline (garis bawah) pada nama objek. Format:  Nama Objek: Nama Class  atau  Nama   Class  saja Contoh:  BUDI:MAHASISWA  atau : MAHASISWA  AHMAD: MAHASISWA :MAHASISWA
Sequence Diagram http://www-128.ibm.com/developerworks/rational/library/content/RationalEdge/feb04/3101_figure4.jpg
Sequence Diagram Menggambarkan  urutan  interaksi antar objek. Menggambarkan aspek dinamis dari sistem (bandingkan dengan class diagram dan objek diagram yang menggambarkan aspek statis)
Elemen Sequence Diagram Dua elemen utama: Objek dan Message.
Elemen Sequence: Message ke dirinya sendiri (lanj)
Elemen Sequence Diagram : Guard http://www-128.ibm.com/developerworks/rational/library/content/RationalEdge/feb04/3101_figure7.jpg
Elemen Sequence Diagram: Alternative http://www-128.ibm.com/developerworks/rational/library/content/RationalEdge/feb04/3101_figure8.jpg
Elemen Sequence Diagram: Loop http://www-128.ibm.com/developerworks/rational/library/content/RationalEdge/feb04/3101_figure10_small.jpg

More Related Content

Uml

  • 1. UML (Unified Modeling Language) Versi 1.7 (Nov 06) Yudi Wibisono [email_address]
  • 2. Apa UML? Bahasa pemodelan perangkat lunak  notasi untuk mengeskpresikan model Analogi: bahasa pemodelan bidang arsitek, sipil:
  • 3. Apa UML? (lanj) Bahasa pemodelan untuk bidang perangkat lunak:
  • 4. Apa UML? Latar belakang UML 90-an, terlalu banyak notasi sehingga membingungkan developer Perlu satu bahasa standard: UML 1.0 muncul tahun pada 97. UML 2.0 (2004) UML bukan metodologi. UML independent terhadap proses, independen terhadap bahasa pemrograman. Analogi dengan bahasa manusia  Bahasa dapat digunakan untuk membuat novel, puisi, berita, prosa dst. Bahasa tidak mendikte bagaimana karangan tersebut di buat.
  • 5. Mengapa menggunakan UML Analogi: mengapa belajar bahasa Inggris? Standard notasi untuk software development di berbagai perusahaan  nilai tambah saat wawancara kerja! Tersedia banyak tools Bahasanya lengkap dan ekspresif.
  • 6. Elemen UML? 13 Diagram (tidak semua harus digunakan!) Structure Diagrams: Class Diagram, Object Diagram , Component Diagram, Composite Structure Diagram, Package Diagram, Deployment Diagram.  Behavior Diagrams: Use Case Diagram , Activity Diagram , dan State Machine Diagram .  Interaction Diagrams: Sequence Diagram , Communication Diagram, Timing Diagram, Interaction Overview Diagram.
  • 7. Diagram yang umum digunakan di tahap requirement Use case diagram Activity diagram
  • 9. Overview Use Case Diagram Diagram yang memperlihatkan relasi antara aktor dan use case di dalam system. Umumnya digunakan pada tahap requirement.
  • 10. Fungsi UCD Memperlihatkan aspek fungsional sebuah sistem (apa yang dapat dikerjakan sistem). Memperlihatkan cakupan sistem  batasan sistem
  • 11. Elemen UCD: Use Case Use Case: Aksi yang bermanfaat bagi actor, yang harus disediakan sistem. Judul use case: kata kerja
  • 12. Elemen UCD (Lanj): Actor Orang/organisasi/mesin yang berinteraksi dengan sistem Sesama actor tidak saling berinteraksi Actor
  • 13. Elemen UCD: Relationship Asosiasi antara actor dan use case. Asosiasi antara dua use case Generalisasi antara dua actor Generalisasi antara dua use case
  • 14. UCD: Relationship (lanj) http://www.agilemodeling.com/images/style/useCaseRelationships.gif Asosiasi Generalisasi Genera-lisasi
  • 15. UCD:Kotak Batasan System Opsional Kotak Batasan
  • 16. Use Case: pengunaan Bukan digunakan untuk menggambarkan urutan!  gunakan activity diagram
  • 18. Overview Activity Diagram Fokus terhadap aspek keterurutan aksi. Menyerupai flow chart.
  • 19. Fungsi Activity Diagram Menjelaskan lebih detil use case. Menjelaskan bisnis rule yang kompleks. Menjelaskan algoritma yang kompleks. Pengganti flow chart dan data flow diagram (DFD)
  • 20. Elemen Activity Diagram action Start point Fork  paralel
  • 21. Elemen Activity Diagram (2) Branch  percabangan Merge  percabangan selesai Join  aktivitas paralel harus selesai semua baru dilanjutkan End point
  • 22. Activity Diagram: Swimline Pengelompokan aktivitas yang dilakukan oleh suatu actor actor actor actor
  • 23. State Machine Diagram http://pigseye.kennesaw.edu/~dbraun/csis4650/A&D/UML_tutorial/images/state2.jpg
  • 24. Overview State Diagram Mendeskripsikan tingkah laku sistem. Fokus terhadap state dan transisinya
  • 25. Fungsi State Diagram Menjelaskan lebih detil tingkah laku sebuah objek. Mirip dengan activity diagram? Perbedaanya?
  • 26. Elemen State Diagram State: terdiri atas nama state dan aksi Transisi (umumnya dengan kondisi) Gambar: http://pigseye.kennesaw.edu/~dbraun/csis4650/A&D/UML_tutorial/images/state0.jpg
  • 27. Elemen State Diagram:supersate Superstate mencakup beberapa state
  • 28. State Diagram vs Activity Diagram Tujuan Activity diagram  business rule (user friendly) State diagram  internal sistem (developer friendly) State diagram dapat digunakan untuk menggambarkan activity diagram, tapi tidak sebaliknya. State diagram dapat menggambarkan trasisi yang lebih rumit
  • 30. Overview Class Diagram Elemen terpenting dalam perancangan dan analisis menggunakan OOA dan OOD. Memperlihatkan class (atribut dan method) dan relasinya (inheritance, asosiasi, agregasi)
  • 31. Elemen Class Diagram: Class http://www.agilemodeling.com/images/style/classDiagramAnalysisVsDesign.gif Nama kelas atribut method - private + public # protected
  • 32. Elemen Class: Asosiasi Multiplicity Indicators: 0..1, 1 , 0..*, 1..*, 0..N Contoh: http://www.agilemodeling.com/images/models/classDiagramAssocationNotation.jpg
  • 33. Elemen Class: Inheritance Garis dengan segitiga Inheri tance http://www.agilemodeling.com/images/style/classDiagramPersonAddress.gif
  • 34. Inheritance: contoh lain http://www.agilemodeling.com/images/models/classDiagramInheritance.jpg
  • 35. Elemen Class: Agregasi dan Composition Agregasi: Objek yang terdiri dari objek lainnya. Composition: Lebih ketat dari agregasi agregasi composition STUDENT CLUB
  • 36. Object Diagram/Instance Diagram BUDI: MAHASISWA AHMAD: MAHASISWA RPL-LANJUT: MATAKULIAH TRANSKRIP BUDI: TRANSKRIP TRANSKRIP AHMAD: TRANSKRIP BASISDATA: MATAKULIAH
  • 37. Overview Object Diagram Mengambarkan instance dari class (Object) dan interaksinya. Menjelaskan lebih lanjut diagram class
  • 38. Elemen Objek Diagram Objek: Gunakan underline (garis bawah) pada nama objek. Format: Nama Objek: Nama Class atau Nama Class saja Contoh: BUDI:MAHASISWA atau : MAHASISWA AHMAD: MAHASISWA :MAHASISWA
  • 40. Sequence Diagram Menggambarkan urutan interaksi antar objek. Menggambarkan aspek dinamis dari sistem (bandingkan dengan class diagram dan objek diagram yang menggambarkan aspek statis)
  • 41. Elemen Sequence Diagram Dua elemen utama: Objek dan Message.
  • 42. Elemen Sequence: Message ke dirinya sendiri (lanj)
  • 43. Elemen Sequence Diagram : Guard http://www-128.ibm.com/developerworks/rational/library/content/RationalEdge/feb04/3101_figure7.jpg
  • 44. Elemen Sequence Diagram: Alternative http://www-128.ibm.com/developerworks/rational/library/content/RationalEdge/feb04/3101_figure8.jpg
  • 45. Elemen Sequence Diagram: Loop http://www-128.ibm.com/developerworks/rational/library/content/RationalEdge/feb04/3101_figure10_small.jpg