Mapping UML to Code
description
Transcript of Mapping UML to Code
![Page 1: Mapping UML to Code](https://reader035.fdocuments.us/reader035/viewer/2022062301/56814af3550346895db805ac/html5/thumbnails/1.jpg)
Mapping UML to Code
Pertemuan 10
1
![Page 2: Mapping UML to Code](https://reader035.fdocuments.us/reader035/viewer/2022062301/56814af3550346895db805ac/html5/thumbnails/2.jpg)
Implementation Model
• Forward Engineering
• Reverse Engineering
• Round-Trip Engineering
![Page 3: Mapping UML to Code](https://reader035.fdocuments.us/reader035/viewer/2022062301/56814af3550346895db805ac/html5/thumbnails/3.jpg)
Forward Engineering• Forward engineering means the generation of code from UML
diagrams• Many of the tools can only do the static models:
– They can generate class diagrams from code, but can't generate interaction diagrams.
– For forward engineering, they can generate the basic (e.g., Java) class definition from a class diagram, but not the method bodies from interaction diagrams.
• Demo
Generate
![Page 4: Mapping UML to Code](https://reader035.fdocuments.us/reader035/viewer/2022062301/56814af3550346895db805ac/html5/thumbnails/4.jpg)
Reverse Engineering
• Reverse engineering means generation of UML diagrams from code
• Demo
Re-Engineer
![Page 5: Mapping UML to Code](https://reader035.fdocuments.us/reader035/viewer/2022062301/56814af3550346895db805ac/html5/thumbnails/5.jpg)
Round-Trip Engineering
• Round-trip engineering closes the loop – the tool supports generation in either direction and
can synchronize between UML diagrams and code, ideally automatically and immediately as either is changed.
• Demo
![Page 6: Mapping UML to Code](https://reader035.fdocuments.us/reader035/viewer/2022062301/56814af3550346895db805ac/html5/thumbnails/6.jpg)
Mapping Designs to Code
• Creating Class Definitions from Class Diagram
• Creating Methods from Interaction Diagrams• Collection Classes in Code
![Page 7: Mapping UML to Code](https://reader035.fdocuments.us/reader035/viewer/2022062301/56814af3550346895db805ac/html5/thumbnails/7.jpg)
Creating Class Definitions from Class Diagram
• Defining a Class with Method Signatures and Attributes
![Page 8: Mapping UML to Code](https://reader035.fdocuments.us/reader035/viewer/2022062301/56814af3550346895db805ac/html5/thumbnails/8.jpg)
Creating Methods from Interaction Diagrams
![Page 9: Mapping UML to Code](https://reader035.fdocuments.us/reader035/viewer/2022062301/56814af3550346895db805ac/html5/thumbnails/9.jpg)
Collection Classes in Code
![Page 10: Mapping UML to Code](https://reader035.fdocuments.us/reader035/viewer/2022062301/56814af3550346895db805ac/html5/thumbnails/10.jpg)
Kucing
-nama : String-umur : int
+lari()+mengeong()+makan()+tidur()
Skeleton dari kelas diagram yang direpresentasikan pada kode program
class Kucing { private String nama; private int umur; private String jenis;
//accsesor method public void lari(int kecepatan){ System.out.print(“berlari ”+kecepatam+” km/jam”); }
public void mengeong(){ System.out.print(“meooong...”); }
//method lainnya...
} 10
![Page 11: Mapping UML to Code](https://reader035.fdocuments.us/reader035/viewer/2022062301/56814af3550346895db805ac/html5/thumbnails/11.jpg)
11
![Page 12: Mapping UML to Code](https://reader035.fdocuments.us/reader035/viewer/2022062301/56814af3550346895db805ac/html5/thumbnails/12.jpg)
12
![Page 13: Mapping UML to Code](https://reader035.fdocuments.us/reader035/viewer/2022062301/56814af3550346895db805ac/html5/thumbnails/13.jpg)
TiketKendaraan
plat
13
![Page 14: Mapping UML to Code](https://reader035.fdocuments.us/reader035/viewer/2022062301/56814af3550346895db805ac/html5/thumbnails/14.jpg)
public class Testing public static void main(String[] args){ Kendaraan kendaraan= new Kendaraan(“D1234XY”); Tiket tiket = new Tiket(); tiket.setKendaraan(kendaraan.getPlat()); System.out.print(tiket.getKendaraan()); }}
public class Tiket { private String kendaraan; public void setKendaraan(String kendaraan){ this.kendaraan = kendaraan; }
public String getKendaraan(){ return kendaraan; }
}
public class Kendaraan{ private String plat public Kendaraan(String kendaraan){ this.plat = kendaraan; }
public String getPlat(){ return plat; }
}
14
![Page 15: Mapping UML to Code](https://reader035.fdocuments.us/reader035/viewer/2022062301/56814af3550346895db805ac/html5/thumbnails/15.jpg)
TiketKendaraan
plat
15
![Page 16: Mapping UML to Code](https://reader035.fdocuments.us/reader035/viewer/2022062301/56814af3550346895db805ac/html5/thumbnails/16.jpg)
public class Testing public static void main(String[] args){ Kendaraan kendaraan= new Kendaraan(“D1234XY”); Tiket tiket = new Tiket(); tiket.setKendaraan(kendaraan); System.out.print(tiket.getKendaraan().getPlat()); }}
public class Tiket { private Kendaraan kendaraan; public void setKendaraan(Kendaraan kendaraan){ this.kendaraan = kendaraan; }
public Kendaraan getKendaraan(){ return kendaraan; }
}
public class Kendaraan{ private String plat; public Kendaraan(String kendaraan){ this.plat = kendaraan; }
public String getPlat(){ return plat; }
}
16
![Page 17: Mapping UML to Code](https://reader035.fdocuments.us/reader035/viewer/2022062301/56814af3550346895db805ac/html5/thumbnails/17.jpg)
public class Testing public static void main(String[] args){ Kendaraan kendaraan= new Kendaraan(“D1234XY”); Tiket tiket = new Tiket(); tiket.setKendaraan(kendaraan); System.out.print(tiket.getKendaraan().getPlat()); }}
public class Tiket { private Kendaraan kendaraan; public void setKendaraan(Kendaraan kendaraan){ this.kendaraan = new Kendaraan(kendaraan.getPlat()); }
public Kendaraan getKendaraan(){ return kendaraan; }
}
public class Kendaraan{ private String plat public Kendaraan(String kendaraan){ this.plat = kendaraan; }
public String getPlat(){ return plat; }
}
17
![Page 18: Mapping UML to Code](https://reader035.fdocuments.us/reader035/viewer/2022062301/56814af3550346895db805ac/html5/thumbnails/18.jpg)
Tiket Kendaraan
platwarnapemilik
Petugas
Namapasswordid
18
![Page 19: Mapping UML to Code](https://reader035.fdocuments.us/reader035/viewer/2022062301/56814af3550346895db805ac/html5/thumbnails/19.jpg)
public class Testing public static void main(String[] args){ Tiket tiket = new Tiket(); tiket.setKendaraan(new Kendaraan(“D1234XY”)); System.out.print(tiket.getKendaraan().getPlat()); }}
public class Tiket { private Kendaraan kendaraan; public void setKendaraan(Kendaraan kendaraan){ this.kendaraan = kendaraan; }
public Kendaraan getKendaraan(){ return kendaraan; }
}
public class Kendaraan{ private String plat public Kendaraan(String kendaraan){ this.plat = kendaraan; }
public String getPlat(){ return plat; }
}
19
![Page 20: Mapping UML to Code](https://reader035.fdocuments.us/reader035/viewer/2022062301/56814af3550346895db805ac/html5/thumbnails/20.jpg)
Vertebrata- Age : int
+ setAge()
+ getAge():int
+ reproduksi(): string
Mamalia
+swim()
Pewarisan (inheritance) pada dasarnya mengijinkan objek dari suatu kelas untuk mengakses data & fungsi yang termuat dalam kelas lebih dahulu terdefinisi tanpa harus mendefinisikan ulang
Aves
+ fly()
20
![Page 21: Mapping UML to Code](https://reader035.fdocuments.us/reader035/viewer/2022062301/56814af3550346895db805ac/html5/thumbnails/21.jpg)
Kucingnama : Stringumur : intlari()mengeong()makan()tidur()
Skeleton dari kelas diagram yang direpresentasikan pada kode program
Rumahanmajikan : StringmintaDibelai()mengeong()
21
![Page 22: Mapping UML to Code](https://reader035.fdocuments.us/reader035/viewer/2022062301/56814af3550346895db805ac/html5/thumbnails/22.jpg)
Rumahan
majikan : String
mintaDibelai()mengeong()
Skeleton dari kelas diagram yang direpresentasikan pada kode program
class Rumahan extends Kucing { private String majikan
//accsesor method public void mintaDibelai(){ System.out.print(“mendengkur...”); }
public void mengeong(){ System.out.print(“miauuuw...”); }
// method lainnya
}
22
![Page 23: Mapping UML to Code](https://reader035.fdocuments.us/reader035/viewer/2022062301/56814af3550346895db805ac/html5/thumbnails/23.jpg)
Referensi:
Java™ Design: Objects, UML, and ProcessBy Kirk Knoernschild, Addison Wesley
Rekayasa Sistem Berorientasi ObjekBambang Hariyanto, Informatika Bandung
![Page 24: Mapping UML to Code](https://reader035.fdocuments.us/reader035/viewer/2022062301/56814af3550346895db805ac/html5/thumbnails/24.jpg)
Tugas Kelompok
Ketentuan:• Pembuatan pemodelan dengan diagram UML• Gunakan Rational Rose untuk visualisasi model• Kelompok maksimal 5 orang• Dipresentasikan mulai pertemuan tanggal 7 (kelas pagi)
atau 8 (kelas malam) desember 2010• Topik seperti di bawah ini. (optional)• Silakan di customize/disesuaikan• Gunakan dokumentasi tambahan• Terbuka untuk topik lainnya
![Page 25: Mapping UML to Code](https://reader035.fdocuments.us/reader035/viewer/2022062301/56814af3550346895db805ac/html5/thumbnails/25.jpg)
Pilihan topik
1. sistem manajemen Kursus
• anda ditugaskan oleh sebuah lembaga kursus komputer untuk membangun desain sistem pada tempat kursus komputer tersebut.
• angap saja anda beri nama proyek tersebut adalah sistem manajemen kursus. kursus ini menawarkan studi kursus komputer, software dan aplikasi software. setiap kursus terdiri dari satu topik. Instruktor bertugas sebagai pengajar kursus dengan bidang yang spesifik dan sesuai bidangnya. lembaga ini menegeluarkan kalender kursus yang berbeda setiap tahun. administrator kursus bertugas mengatur dan mengelola program termasuk materi kursus, program instruktur, menetapkan jadwal kursus. lembaga ini berencana menggunakan SMK (sistem manajemen Kursus) agar dapat mengelola lembaga ini dengan lebih baik. peserta kursus juga dapat mengikuti lebih dari satu kursus asal mereka tidak bentrok jadwalnya.
![Page 26: Mapping UML to Code](https://reader035.fdocuments.us/reader035/viewer/2022062301/56814af3550346895db805ac/html5/thumbnails/26.jpg)
2. butik pakaian batik• pada toko ini ingin dilakukan otomatisasi sistem agar butik ini dapat dikelola dengan
baik dan efisien. Hal-hal yang perlu dikelola adalah pelanggan, data barang, serta transaksi yang terjadi pada butik. butik ini bukan butik online jadi pelanggan yang akan beli tidak bertransaksi melalui internet. Tetapi pelanggan dapat meminta dikirimkan barang lewat pos setelah membayar biaya. Butik ini hanya menjual pakaian batik saja tetapi mempunyai berbagai varian diantaranya kemeja batik, kebaya, pakaian kerja serta pesanan khusus. Pemilik sekaligus pengelola yang menjalankan kegiatan di butik ini. dia bertugas menerima tamu/pelanggan, menawarkan barang, serta memberi penjelasan berkenaan dengan produk yang ada. Adik dari pemilik ini sebagai kasir yang menerima uang pembayaran dalam transaksi. serta mencatat data pelanggan kalau2 ingin dikirimkan ke suatu alamat tertentu. oo ya. lewat katalog yang ada pembeli juga dapat pesan melalui telephon dan memberikan kode dalam katalog yg berisi data produk.
![Page 27: Mapping UML to Code](https://reader035.fdocuments.us/reader035/viewer/2022062301/56814af3550346895db805ac/html5/thumbnails/27.jpg)
3. Airline reservation system• suatu perusahaan penerbangan ingin mengembangkan sistem yang ada
diperusahaannya agar semakin efisien. Perusahaan tersebut ingin mengembangkan sistem reservasi/booking nya. Demi kelancaran pengembangan maka perusahaan memberikan deskripsi singkat. sistem tersebut mempermudah pelanggan untuk login dan memesan tiket secara online. pelanggan dapat memilih penerbangan dan merubah penerbangan bila diin ginkan. sistem meminta data/account pelanggan dan perjalanan penerbangan dari database pelanggan. system dapat menampilkan transaksi ketika transaksi selesai dilakukan. buatlah modelnya serta alternatif bila memungkinkan. misalny bila tidak ada penerbangan maka pelanggan akan pindah ke perusahaan lainnya dsb.
![Page 28: Mapping UML to Code](https://reader035.fdocuments.us/reader035/viewer/2022062301/56814af3550346895db805ac/html5/thumbnails/28.jpg)
4. sistem parkir di Mall City
deskripsi silakan ditentukan
5. Sistem Manajemen Klinik Kesehatan
deskripsi silakan ditentukan