Karena mengakomodasi struktur dan behavior, Menunjukkan bagaimana elemen-elemen sistem saling bersesuaian, Menjaga desain dan implementasi tetap konsisten, Menyembunyikan atau memunculkan detil bila perlu, Meningkatkan komunikasi. 2. Pentingnya UML dalam kegiatan rekayasa perangkat lunak! Menggambarkan batasan sistem dan fungsi-fungsi sistem secara umum, dibuatdengan use case dan actor. Menggambarkan kegiatan atau proses bisnis yang dilaksanakan secara umum,dibuat dengan interaction diagrams. Menggambarkan representasi struktur statik sebuah sistem dalam bentuk class diagrams. Membuat model behavior yang menggambarkan kebiasaan atau sifat sebuahsistem dengan state transition diagrams. Menyatakan arsitektur implementasi fisik menggunakan component anddevelopment diagrams. 3. Dalam UML disediakan banyak diagram? Banyaknya diagram tersebut di maksudkan untuk memberikan gambaran yang lebih terintegrasi terhadap system yang akan di bangun. 4. Sembilan diagram UML dan berikan penjelasan singkat tentang kegunaan masing-masing! Diagram use case bisnis Diagram use case bisnis digunakan untuk mempresentasikan bisnis yang dilakukan organisasi. Diagram ini menjawab pertannyaan apa yang bisnis lakukan? dan mengapa kita membangun system untuk itu?. Karena diagram use case bisnis digunakan untuk memodelkan aktivitas bisnis organisasi sebagai landasan pembuatan use case system. Diagram use case Diagram use case adalah fungsionalitas atau persyaratan-persyaratan system yang harus dipenuhi oleh system yang akan dikembangkan tersebut menurut pandangan pemakai system. Diagram aktivitas Diagram aktifitas menggambarkan aliran fungsionalitas system. Ada dua kegunaan diagram aktivitas dalam pemodelan dengan UML. Dua kegunaan tersebut diberikan di bawah ini. Pada tahap pemodelan bisnis, diagram aktivitas dapat digunakan untuk menunjukan alur kerja bisnis. Pada tahap pemodelan system, diagram aktivitas dapat digunakan untuk menjelaskan aktivitas yang terjadi di dalam sebuah use case. Diagram aktivitas mendefinisikan dari mana workflow di mulai, di mana workflow berakhir, aktivitas apa saja yang terjadi di dalam workflow, apa saja yang dilakukan saat sebuah aktifitas terjadi. Diagram sekuensial Diagram sekuensial (sequence diagram) digunakan untuk menunjukan alur (flows) fungsionalitas yang melalui sebuah use case yang disusun dalam urutan waktu. Diagram kolaborasi Diagram kolaborasi menunjukan informasi yang sama persis dengan diagram sekuensial, tetapi dalam bentuk dan tujuan yang berbeda. Pada diagram sekunsial, keseluruhan interaksi berdasarkan urutan waktu, tetapi pada diagram kolaborasi, interksi antar obyek atau actor ditunjukan dengan arah panah tanpa keterangan waktu. Diagram kelas Sebuah kelas mengandung informasi (attribut) dan tingkah laku (behavior) yang berkaitan dengan informasi tersebut. Diagram statechart Diagram statechart memungkinkan untuk memodelkan bermacam-macam state yang mungkin dialami oleh obyek tunggal. Jika pada diagram kelas menunjukan gambaran statis kelas-kelas dan relasinya, maka di diagram statechart digunakan untuk menggambarkan perilaku dinamik sebuah obyek tunggal. Diagram komponen Diagram komponen menunjukan model secara fisik atau komponen perangkat lunak pada system dan hubungan antar mereka. Jika berbicara perangkat lunak, maka berkas-berkas (file) perangkat lunak yang tersimpan dalam hardisk adalah komponen. Ada dua tipe komponen yaitu Komponen executable dan Komponen libraries code. Diagram deployment Diagram deployment menampilkan rancangan fisik jaringan tempat berbagai komponen akan diletakkan. Pada system ATM. Terdapat banyak subsistem yang dijalankan pada peralatan fisik yang terpisah. Peralatan fisik tersebut disebut node yang dihubungkan satu sama lain dengan menggunakan garis yang disebut path.
5. Sejarah UML! Pada Oktober 1994, Dr. James Rumbaugh bergabung dengan Perusahaan Rational sotware, dimana Grady Booch sudah bekerja disana sebelumnya. Grady Booch mengembangkan Object Oriented Design (OOD) dan Dr. James Rumbaugh mengembangkan Object Modeling Technique (OMT). Duet Mereka pada Oktober 1995 menghasilkan Unified Method versi 0.8. Musim gugur 1995 Dr. Ivar Jacobson ikut pula bergabung dengan duet Rumbaugh-Booch, dengan memperkenalkan tool use case. Trio tersebut pada bulan Juni 1996 menghasilkan Unified Modeling Language (UML) versi 0.9. Sebelumnya Dr. Ivar Jacobson mengembangkan Object Oriented Software Engineering (OOSE). Trio ini mengembangkan Ratinal Unified Process (RUP) Banyak perusahaan software merasakan bagaimana pentingnya UML dalam tujuan strategis mereka, sehingga beberapa perusahaan membentuk sebuah konsorsium yang terdiri dari perusahaan-perusahaan seperti : Microsoft, Oracle, IBM, Hewlett-Packard, Intellicorp, I-Logix, DEC, Digital Equipment Corp, Texas instrument. Dari konsorsium tersebut pada bulan Januari 1997 lahirlah UML versi 1.0 Pada bulan September 1997 lahirlah UML versi 1.1, dengan 8 buah diagram, yaitu : 1. Use case diagram 2. Activity diagram 3. Sequence diagram 4. Collaboration diagram 5. Class diagram 6. Statechart diagram 7. Component diagram 8. Deployment diagram Pada bulan November 1997 sebuah organisasi non profit standarisasi Object Management Group (OMG) mengakui UML sebagai sebuah bahasa pemodelan standar untuk aplikasi object oriented. OMG didirikan pada bulan April 1989 oleh sebelas perusahaan software, dengan kantor pusat di Needham, MA, USA. (www.omg.org) Pada tahun 1999 lahirlah UML versi 1.3, menjadi 9 buah diagram, dengan penambahan :
Business use case Diagram. Pada May 2001 lahirlah UML versi 1.4, menjadi 10 buah diagram, dengan penambahan : Object Diagram. Pada tahun 2002 lahirlah UML versi 2.0, menjadi 13 buah diagram, dengan penambahan dan penggantian yaitu : Use Case Diagram Activity Diagram Sequence Diagram Communication Diagram (Collaboration diagram in versi 1.x) Class Diagram State Machine Diagram (Statechart diagram in versi 1.x) Component Diagram Deployment Diagram Composite Structure Diagram Interaction Overview Diagram Object Diagram Package Diagram Timing Diagram 6. Tugas Kelompok!! 7. Persamaan dan perbedaan diagram sekuensial dan diagram kolaborasi! Persamaan: Menampilkan objek yang berpartisipasi dalam aliran melalui use case dan pesan yang dikirim antar objek. Perbedaan: Diagram Sekuensial memberikan cara untuk melihat scenario dari system berdasarkan waktu (apa yang terjadi pertama kali, apa yang terjadi selanjutnya). User akan lebih mudah membaca dan mengerti tipe diagram ini. Karenanya sangat berguna pada fase analisis awal. Sedangkan Diagram Kolaborasi cenderung untuk memberikan gambaran besar dari scenario kolaborasi disusun dari objek sekelilingnya dan hubungan antar obyek yang satu dengan yang lainnya. 8. Yang dimaksud konsep perspektif 4+1 dalam UML beserta kegunaanya! Perfektif yang menawarkan pandangan yang berbeda dan membutuhkan diagram-diagram uml tersendiri untuk kepentingan yang berbeda pula. Masing-masing perspektif mempresentasikan bagaimana system dapat dimodelkan, sehingga hal ini dapat membantu memperbaiki pemahaman tentang system itu sendiri. 9. Apa yang dilakukan di masing-masing fase proses pengembangan system, yaitu fase: insepsi, elaborasi, konstruksi, dan transisi, beserta target masing-masing fase! Insepsi Fase ini dapat kita lakukan dengan membuat use case bisnis, actor bisnis, pekerjaan bisnis, dan diagram use case bisnis. Mungkin saja juga membuat diagram aktivitas untuk memodelkan workflow. Dengan informsi yang telah didapat, kita lanjutkan untuk melakukan analisis kebutuhan. Kemudian kita melakukan analisis dan desain dengan menentukan beberapa use case dan actor-aktornya. Outcome fase ini meliputi beberapa hal sebagai berikut: Dokumen visi yang berisi: visi umum kebutuhan utama proyek, fitur-fitur kunci, dan kendala-kendala utama. Model bisnis yang meliputi kontek bisnis, kriteria sukses dan perkiraan financial. Modal use case aawal (10-20%) lengkap. Perkiraan resiko-resiko awal system. Perencanaan proyek dengan menunjukan fase-fase umum dan interasinya. Elaborasi Dalam fase ini kita harus melakukan pengamatan lebih dalam dan lebih luas terhadap system. Outcome fase elaborasi antara lain diberikan sebagai berikut: Model use case (paling tidak 80% lengkap) semua use case dan actor telah diidentifikasi dan sebagian besar diskripsi use case telah dibuat. Dokumen kebutuhan system tambahan yang tidak terkait lansung dengan fungsional system yang sedang dibangun. Diskripsi arsitektur parangkat lunak. Prototype arsitektur executable. Daftar resiko yang telah direvisi dan model bisnis yang telah direvisi. Rencana pengembangan keseluruhan proyek, termasuk rencana global proyek, menunjukan iterasi, dan criteria evaluasi keberhasilan setiap iterasi. Konstruksi Fase konstruksi dimulai dengan membuat diagram komponen untuk system, kemudian dengan bantuan tool tertentu seperti Rasion Rose dapat dibangkitkan struktur kode ke bahasa pemprograman tertentu seperti java, visual basic, dll. Outcome fase konstruksi sekrang-kurangnya menghasilkan beberapa hal yang beberapa diantara lainnya diberikan di bawah ini: Produk perangkat lunak yang telah teruji. Buku petunjuk pemakaian untuk pemakai. Penjeasan versi rilis terbaru. Transisi Fase transisi dilakukan ketika perangkat lunak yang diproduksi telah selesai dan deliveri ke pemakai dilakukan. Tugas-tugas di fase ini meliputi: melengkapi dan menyempurnakan perangkat lunak, melengkapi acceptance testing akhir, melengkapi manual user guide, dan menyiapkan pelatihan pemakai. SRS, diagram use case, diagram kelas, diagram komponen, dan diagram deployment harus diperbaharui sesuai dengan perubahan terakhir. 10. Menguraikan kompnen-komponen apa saja yang harus ada di dalam dokumen SRS! Model use case, dokumen kebutuhan system tambahan, deskripsi arsitektur perangkat lunak, prototype arsitektur executable, daftar resiko yang telah direfisi dan model bisnis yang telah di refisi, rencana pengembangan keseluruhan proyek.