• Menyatakan bagaimana sistem berorientasi objek akan menanggapi kejadian atau stimuli eksternal (memunculkan sifat dinamis objek).
• Tahap-tahap untuk membuat model perilaku objek:
- Mengevaluasi semua “use-case” untuk memahami urutan interaksi yang ada dalam sistem
- Mengidentifikasi kejadian yang menggerakkan urutan interaksi, dan pahami bagaimana kejadian-kejadian tersebut berhubungan dengan objek tertentu
12 KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi Modul 2, Rekayasa Perangkat Lunak
- Membuat penelusuran kejadian untuk setiap “use-case”
- Membuat diagram transisi keadaan untuk sistem
- Meninjau ulang model perilaku objek untuk verifikasi keakuratan dan konsistensi.
c. Tahapan Pengembangan Sistem Berorientasi Objek
Pendekatan object oriented dapat menggunakan metodologi apapun, termasuk yang terstruktur, tetapi umumnya lebih berhubungan dengan metodologi yang bersifat RAD. Yang harus diperhatikan dalam OOSAD adalah pemodelan dunia nyata, yang berarti memodelkan data dan proses yang susah dipisahkan. UML bersifat use-case drive, architecture-centric, iterative dan incremental.
Use-Case Drive merupakan perangkat pemodelan yang bagian utamanya adalah use case yang digunakan untuk menjelaskan tingkah laku dari sistem. Architecture centric yang akan dibuat haruslah mengikuti dan menghasilkan standar yang meliputi spesifikasi, konstruksi, dan dokumentasi.
Itterative dan incremental berkaitan dengan pengembangan yang dilakukan secara iteratif dan bertingkat, dimana setiap pengulangan akan mendekatkan produk pada spesifikasi pengguna akhir. Unified process mengunakan metoodologi yang secara khusus memetakan bagaimana menggunakan perangkat methodoly yang dimiliki oleh UML. Jika UML memiliki struktur untuk menjelaskan hubungan struktural dan behaviour dari sebuah sistem informasi, RUPS menyediakan dukungan metodologi penggunaan notasi UML.
Unified process adalah proses pengembangan sistem yang dijelaskan melalui tahapan-tahapan dan alur kerja (workflows). Tahapannya adalah:
1) Inception
Merupakan tahapan perencanaan. Business case dibuat dalam tahapan ini.
2) Elaboration
Merupakan tahapan dimana dilakukan analisis dan perancangan sistem secara mendalam. Pada tahapan ini dilakukan analisis mengenai
bagaimana sistem yang akan dibuat, vision document, penyelesaian business case, revisi penilaian risiko, dan menyelesaikan project plan secara terinci agar pihak-pihak yang berkepentingan menyetujui rancangan sistem. Deliverablesnya meliputi notasi-notasi structure dan behaviour, executable of baseline version. Baseline harus ditetapkan dengan baik pada tahapAn ini karena merupakan dasar bagi pekerjaan lanjutan untuk membuat sistem yang jadi.
3) Construction
Tahapan ini terfokus pada pemrograman dan pekerjaan teknis untuk membuat sistem. Tahapan ini merupakan implementasi diagram kerja ke dalam kode program (coding). Deliverables yang utama adalah versi alpha maupun beta sistem yang dibuat.
4) Transition.
Tahapan ini merupakan pemasangan dan implementasi sistem yang telah dikembangkan. Deliverables tahapan ini adalah sistem yang sudah jadi, berikut dokument-dokumen pendukung termasuk di dalamnya manual, support plan, dan upgrading plan.
Sedangkan workflowsnya meliputi :
1) Business modelling, digunakan untuk menemukan permasalahan dan dapat mengidentifikasi proyek yang mungkin dikerjakan
2) Requirements, digunakan untuk melakukan elisitasi kebutuhan baik secara fungsional dan nonfungsional.
3) Analysis, merupakan pekerjaan yang meliputi analisis dari problem/business domain.
4) Design, meupakan pekerjaan yang mentransformasikan analisi model ke dalam bentuk yang daat digunakan untuk implementasi sistem yaitu desain model.
5) Implementation, merupakan pekerjaan pembangunan sistem. Contoha aktifitas yang dilakukan, adalah coding.
6) Test atau pengujian bertujuan agar produk yang dibuat memenuhi kriteria kualitas yang telah ditentukan untuk sistem yang dibuat.
14 KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi Modul 2, Rekayasa Perangkat Lunak
7) Deployment, bagian ini berhubungan dengan tahapan transisi pada RUP.
Aktifitasnya meliputi packaging, distribution , beta testing, dan pada akhirnya adalah sistem yang telah jadi.
8) Project management, merupakan cross-phase flow. Contoh dari aktifitas yang dilakukan dalam tahap ini adalah : risk identification &
management, scope management, time estimation, cost estimation, dan tracking progress.
9) Configuration and change management, bertujuan untuk menjejaki sampai sejauh mana sistem yang sedang dibangun.
10) Environment, merupakan dukungan perangkat yang digunakan.
Environmental workflows adalah kelompok perkerjaan yang berhubungan dengan penyediaan perangkat untuk pembuatan sistem
d. Alur Kerja Sistem Berorientasi Objek
Siklus pemodelan atau langkah-langkah pemodelan dalam mengembangkan suatu sistem adalah:
1) Rekayasa pemodelan sistem
Yaitu menyangkut pengumpulan kebutuhan (requirement gathering) pada level sistem dengan sejumlah analisis serta top desain.
2) Analisis
Yaitu kebutuhan perangkat Lunak, proses requirement gathering difokuskan, khususnya pada Perangkat lunak. Untuk memahami sifat program yang dibangun, analis harus memahami domain informasi, tingkah laku, unjuk kerja, dan interface yang diperlukan. Kebutuhan sistem maupun Perangkat Lunak didokumentasikan dan direview bersama user.
3) Desain
Memiliki fokus terhadap 4 hal, yaitu:
• Desain database
• Arsitektur perangkat lunak
• Arsitektur interface
• Algoritma prosedural.
e. Pemodelan
Dalam banyak aplikasi engineering, model didefinisikan sebagai representasi dari sistem yang disederhanakan. Representasi ini pun juga bermacam-macam mulai dari yang bersifat physical, pictorial, verbal, schematic dan symbolic dimana:
1) Physical yaitu dengan membuat scaleddown version dari sistem yang dipelajari (model pesawat, model kereta api),
2) Pictorial, yaitu representasi dengan gambar untuk menggambarkan kontur permukaan bumi seperti peta topografi dan bola dunia.
3) Verbal, yaitu representasi suatu sistem ke dalam kalimat verbal yang mengambarkan ukuran, bentuk dan karakteristik.
4) Schematic, yaitu representasi dalam bentuk skema figuratif misalnya model rangkaian listrik, model Atom Bohr dan lain-lain.
5) Symbolic, yaitu representasi ke dalam simbol-simbol matematik dimana variable hasil karakterisasi proses atau sistem ke dalam variable formulasi menggunakan simbol-simbol matematik.
Jadi Pemodelan merupakan suatu proses dalam representasi abstrak suatu model. Proses pemodelan menampilkan deskripsi suatu proses dari beberapa perspektif tertentu. Proses pemodelan perangkat lunak merupakan aktifitas yang saling terkait (koheren) untuk menspesifikasikan, merancang, implementasi dan pengujian sistem perangkat lunak. (www.ilmukomputer.com, Pemodelan Data, 2005).
Proses pemodelan analisis memiliki atribut dan karakteristik seperti:
1) Understandability, yaitu sejauh mana proses secara eksplisit ditentukan dan bagaimana kemudahan definisi proses itu dimengerti.
2) Visibility, apakah aktivitas-aktivitas proses mencapai titik akhir dalam hasil yang jelas sehingga kemajuan dari proses Tersebut dapat terlihat nyata/jelas.
3) Supportability, yaitu sejauh mana aktivitas proses dapat didukung oleh CASE
16 KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi Modul 2, Rekayasa Perangkat Lunak
4) Acceptability, apakah proses yang telah ditentukan oleh insinyur dapat diterima dan digunakan dan mampu bertanggung jawab selama pembuatan produk perangkat lunak
5) Reliability, apakah proses didesain sedikian rupa sehingga kesalahan proses dapat dihindari sebelum terjadi kesalahan pada produk. Robustness, dapatkah proses terus berjalan walaupun terjadi masalah yang tak diduga.
6) Maintainability, Dapatkah proses berkembang untuk mengikuti kebutuhan atau perbaikan.
7) Rapidity, bagaimana kecepatan proses pengiriman sistem dapat secara lengkap memenuhi spesifikasi.
Teknik pemodelan objek menggunakan tiga macam model untuk menggambarkan sistem, diantaranya adalah sebagai berikut :
1) Model objek
▪ Model objek menggambarkan struktur statis dari suatu objek dalam sistem dan relasinya.
▪ Model objek berisi diagram objek. Diagram objek adalah graph dimana nodenya adalah kelas yang mempunyai relasi antar kelas.
2) Model dinamik
▪ Model dinamik menggambarkan aspek dari sistem yang berubah setiap saat.
▪ Model dinamik dipergunakan untuk menyatakan aspek kontrol dari sistem.
▪ Model dinamik berisi state diagram. State diagram adalah graph dimana nodenya adalah state dan arc adalah transisi antara state yang disebabkan oleh event.
3) Model fungsional
▪ Model fungsional menggambrakan transformasi nilai data dalam sistem.
▪ Model fungsional berisi data flow diagram. DFD adalah suatu graph dimana nodenya menyatakan proses dan arcnya adalah aliran data.
f. Unified Modeling Language (UML)
Unified Modeling Language (UML) adalah bahasa pemodelan untuk sistem atau perangkat lunak yang berparadigma berorientasi objek” (Nogroho, 2010).
Unified Modeling Language (UML) disebut bahasa pemodelan bukan metode.
Bahasa pemodelan (sebagaian besar grafik) merupakan notasi dari metode yang digunakan untuk mendesain secara cepat. Bahasa pemodelan merupakan bagian terpenting dari metode. Ini merupakan bagian kunci untuk komunikasi. Pemodelan ini merupakan bahasa standar untuk digunakan dalam visualisasi, spesifikasi, pembentukan dan pendokumentasian alat – alat dari sistem perangkat lunak.
1) UML sebagai bahasa pemodelan
Unified Modeling Language (UML) merupakan bahasa pemodelan yang memiliki pembendaharan kata dan cara untuk mempresentasikan secara fokus pada konseptual dan fisik dari suatu sistem. Contoh untuk sistem software yang intensif membutuhkan bahasa yang menunjukkan pandangan yang berbeda dari arsitektur sistem, ini sama seperti menyusun atau mengembangkan sistem development life cycle. Dengan Unified Modeling Language (UML) akan memberitahukan kita bagaimana untuk membuat dan membaca bentuk model yang baik, tetapi Unified Modeling Language (UML) tidak dapat memberitahukan model apa yang akan dibangun dan kapan akan membangun model tersebut.
2) UML sebagai bahasa untuk mengambarkan sistem
UML tidak hanya merupakan rangkain simbol grafikal, cukup dengan setiap simbol pada notasi UML merupakan penerapan semantik yang baik. UML menggambarkan model yang dapat dimengerti dan dipresentasikan ke dalam model tekstual bahasa pemrograman. Contohnya kita dapat menduga suatu model dari sistem yang berbasis web tetapi tidak secara langsung dipegang dengan mempelajari kode dari sistem.
3) UML sebagai bahasa untuk menspesifikasikan sistem
UML membangun model yang sesuai dan lengkap. Pada faktanya UML menunjukan semua spesifikasi keputusan analisis, desain dan implementasi yang penting yang harus dibuat pada saat pengembangan dan penyebaran dari sistem software intensif.
4) UML sebagai bahasa untuk pendokumentasian sistem
UML menunjukan dokumentasi dari arsitektur sistem dan detail dari semuanya. Tujuan Unified Modeling Language (UML) diantaranya adalah.
18 KB 1, Konsep OOAD Dalam Perancangan Aplikasi/Sistem Infomasi Modul 2, Rekayasa Perangkat Lunak
▪ Memberikan model yang siap pakai, bahasa pemodelan visual yang ekspresif untuk mengembangkan sistem dan yang dapat saling menukar model dengan mudah dan dimengerti secara umum.
▪ Memberikan bahasa pemodelan yang bebas dari berbagai bahasa pemrograman dan proses rekayasa.
▪ Menyatukan praktek-praktek terbaik yang terdapat dalam pemodelan.
UML (Unified Modeling Language) versi 2 mendefinisikan sehimpunan notasi yang terdiri dari 14 technique pembuatan diagram yang digunakan untuk memodelkan sistem. Diagram dikelompokkan menjadi 2 yaitu :
1) Structure Modelling Diagram yang digunakan untuk memodelkan struktur sistem, yang terdiri atas: class diagaram, object diagram, package diagram, deployment diagram, component diagram dan composite struktur diagram.
2) Behaviour Modelling Diagram yang digunakan memodelkan tingkah laku sistem, yang terdiri atas: activity diagram, sequence diagram, communication diagram, interaction overview diagram, timing diagram, behavioral state machine, protocol state machine dan use case diagram
Saat ini banyak sekali tool desain UML, baik itu tool komersial maupun open source. Beberapa diantaranya adalah:
▪ StarUML (http://staruml.io/)
▪ Rational Rose (www.rational.com)
▪ Together (www.togethersoft.com)
▪ Object Domain (www.objectdomain.com)
▪ Jvision (www.object-insight.com)
▪ Objecteering (www.objecteering.com)
▪ MagicDraw (www.nomagic.com/magicdrawuml)
▪ Visual Object Modeller (www.visualobject.com)
g. Desain UML dengan aplikasi StarUML
Pemodelan merupakan suatu hal yang tidak bisa dilepaskan dari pembangunan aplikasi. Sebagai cikal-bakal dari suatu aplikasi, proses memodelkan tentu bukan hal yang mudah. Namun seiring berkembangnya teknologi, pemodelan
yang notabene memakan banyak waktu bisa diselesaikan lebih cepat dan terorganisasi. Hal tersebut bisa terjadi dengan bantuan aplikasi pemodelan.
StarUML adalah software permodelan yang mendukung UML (Unified Modeling Language). Berdasarkan pada UML version 1.4 dan dilengkapi 11 macam diagram yang berbeda, mendukung notasi UML 2.0 dan juga mendukung pendekatan MDA (Model Driven Architecture) dengan dukungan konsep UML.
StarUML dapat memaksimalkan produktivitas dan kualitas dari suatu software project.
Jika dikomputer Anda telah terpasang StarUML, maka silakan melanjutkan ke bahasan berikut.