stmik eresha
|
Objek Oriented analisa dan desain berbasis
Objek
|
[Type the document subtitle]
|
the ono
|
[Pick the
date]
|
Mata kuliah OOAD berbasis
objek by ono suprono
|
I.
Pengertian dan Konsep OOAD
Analisis dan disain berorientasi objek
adalah cara baru dalam memikirkan suatu masalah dengan menggunakan model yang
dibuat menurut konsep sekitar dunia nyata. Dasar pembuatan adalah objek, yang
merupakan kombinasi antara struktur data dan perilaku dalam satu entitas.
Pengertian “berorientasi objek”
berarti bahwa kita mengorganisasi perangkat lunak sebagai kumpulan dari objek
tertentu yang memiliki struktur data dan perilakunya.
Konsep OOAD mencakup analisis dan
desain sebuah sistem dengan pendekatan objek, yaiut analisis berorientasi objek
(OOA) dan desain berorientasi objek (OOD). OOA adalah metode analisis yang
memerika requirement (syarat/keperluan) yang harus dipenuhi sebuah sistem) dari
sudut pandang kelas-kelas dan objek-objek yang ditemui dalam ruang lingkup
perusahaan. Sedangkan OOD adalah metode untuk mengarahkan arsitektur software
yang didasarkan pada manipulasi objek-objek sistem atau subsistem.
OOA
(Object Oriented Analysis)
OOA mempelajari permasalahan dengan
menspesifikasikannya atau mengobservasi permasalahn tersebut dengan menggunakan
metode berorientasi objek. Biasanya analisa sistem dimulai dengan adanya
dokumen permintaan (requirement) yang diperoleh dari semua pihak yang
berkepentingan. (Misal: klien,developer, pakar, dan lain-lain).
Dokumen
permintaan memiliki 2 fungsi yaitu : memformulasikan kebutuhan klien dan
membuat suatu daftar tugas. Analisis berorientasi obyek (OOA) melihat pada
domain masalah, dengan tujuan untuk memproduksi sebuah model konseptual
informasi yang ada di daerah yang sedang dianalisis. Model analisis tidak
mempertimbangkan kendala-kendala pelaksanaan apapun yang mungkin ada, seperti
konkurensi, distribusi, ketekunan, atau bagaimana sistem harus dibangun.
Kendala pelaksanaan ditangani selama desain berorientasi objek (OOD).
Sumber-sumber untuk analisis dapat persyaratan tertulis pernyataan, dokumen visi yang formal, wawancara dengan stakeholder atau pihak yang berkepentingan lainnya. Sebuah sistem dapat dibagi menjadi beberapa domain, yang mewakili bisnis yang berbeda, teknologi, atau bidang yang diminati, masing-masing dianalisis secara terpisah.
Sumber-sumber untuk analisis dapat persyaratan tertulis pernyataan, dokumen visi yang formal, wawancara dengan stakeholder atau pihak yang berkepentingan lainnya. Sebuah sistem dapat dibagi menjadi beberapa domain, yang mewakili bisnis yang berbeda, teknologi, atau bidang yang diminati, masing-masing dianalisis secara terpisah.
Hasil analisis berorientasi objek
adalah deskripsi dari apa sistem secara fungsional diperlukan untuk melakukan,
dalam bentuk sebuah model konseptual. Itu biasanya akan disajikan sebagai
seperangkat menggunakan kasus, satu atau lebih UML diagram kelas, dan sejumlah
diagram interaksi. Tujuan dari analisis berorientasi objek adalah untuk
mengembangkan model yang menggambarkan perangkat lunak komputer karena bekerja
untuk memenuhi seperangkat persyaratan yang ditentukan pelanggan.
UML
(Unified Modeling Language) adalah sebuah bahasa yang berdasarkan grafik/gambar
untuk memvisualisasi, menspesifikasikan, membangun, dan pendokumentasian dari
sebuah sistem pengembangan software berbasis OO (Object-Oriented). UML sendiri
juga memberikan standar penulisan sebuah sistem blue print, yang meliputi
konsep bisnis proses, penulisan kelas-kelas dalam bahasa program yang spesifik,
skema database, dan komponen-komponen yang diperlukan dalam sistem software.
Unified Model Language (UML) adalah bahasa universal untuk :
- memvisualisasikan grafis model yang tepat.
- menetapkan model yang tepat, lengkap, dan tidak ambigu untuk mengampil semua keputusan penting dalam analisis, desain dan implementasi.
- membangun model yang dapat dihubungkan langsung dengan bahasa pemrograman.
- mendokumentasikan semua informasi yang dikumpulkan oleh tim sehingga memungkinkan untuk berbagi informasi.
OOD
(Object Oriented Design)
OOD mengubah model konseptual yang dihasilkan dalam analisis berorientasi objek memperhitungkan kendala yang dipaksakan oleh arsitektur yang dipilih dan setiap non-fungsional – teknologi atau lingkungan – kendala, seperti transaksi throughput, response time, run – waktu platform, lingkungan pengembangan, atau bahasa pemrograman.
OOD mengubah model konseptual yang dihasilkan dalam analisis berorientasi objek memperhitungkan kendala yang dipaksakan oleh arsitektur yang dipilih dan setiap non-fungsional – teknologi atau lingkungan – kendala, seperti transaksi throughput, response time, run – waktu platform, lingkungan pengembangan, atau bahasa pemrograman.
A. Karakteristik dari Objek
1. Objek
1. Objek
- Objek adalah benda secara fisik dan konseptual yang ada di sekitar kita. Sebuah objek memiliki keadaan sesaat yang disebut state.
- Objek dapat kongkrit, seperti halnya arsip dalam sistem, atau konseptual seperti kebijakan penjadwalan dalam multiprocessing pada sistem operasi.
- Dua objek dapat berbeda walaupun bila semua nilai atributnya identik.
Gambar
1. Macam-macam Objek
2.
Kelas Objek
Kelas merupakan gambaran sekumpulan
Objek yang terbagi dalam atribut, operasi, metode, hubungan, dan makna yang
sama.
- Suatu kegiatan mengumpulkan data (atribut) dan perilaku (operasi) yang mempunyai struktur data sama ke dalam satu grup.
- Kelas Objek merupakan wadah bagi Objek. Dapat digunakan untuk menciptakan Objek.
- Objek mewakili fakta/keterangan dari sebuah kelas.
Gambar 2. Kelas dan Objek
Istilah-istilah
Objek
- Atribut : Data item yang menegaskan Objek.
- Operasi : Fungsi di dalam kelas yang dikombinasikan ke bentuk tingkah laku kelas.
- Metode : Pelaksanaan prosedur (badan dari kode yang mengeksekusi respon terhadap permintaan objek lain di dalam sistem).
B.
Karakteritik Metodologi Berorientasi Objek
Metodologi
pengembangan sistem berorientasi objek mempunyai tiga karakteristik utama :
1.
Encapsulation (Pengkapsulan)
- Encapsulation merupakan dasar untuk pembatasan ruang lingkup program terhadap data yang diproses.
- Data dan prosedur atau fungsi dikemas bersama-sama dalam suatu objek, sehingga prosedur atau fungsi lain dari luar tidak dapat mengaksesnya.
- Data terlindung dari prosedur atau objek lain, kecuali prosedur yang berada dalam objek itu sendiri.
2.
Inheritance (Pewarisan)
- Inheritance adalah teknik yang menyatakan bahwa anak dari objek akan mewarisi data/atribut dan metode dari induknya langsung.
- Atribut dan metode dari objek dari objek induk diturunkan kepada anak objek, demikian seterusnya.
- Inheritance mempunyai arti bahwa atribut dan operasi yang dimiliki bersama di anatara kelas yang mempunyai hubungan secara hirarki.
- Suatu kelas dapat ditentukan secara umum, kemudian ditentukan spesifik menjadi subkelas. Setiap subkelas mempunyai hubungan atau mewarisi semua sifat yang dimiliki oleh kelas induknya, dan ditambah dengan sifat unik yang dimilikinya.
- Kelas Objek dapat didefinisikan atribut dan service dari kelas Objek lainnya.
- Inheritance menggambarkan generalisasi sebuah kelas.
3.
Polymorphism (Polimorfisme)
- Polimorfisme yaitu konsep yang menyatakan bahwa seuatu yang sama dapat mempunyai bentuk dan perilaku berbeda.
- Polimorfisme mempunyai arti bahwa operasi yang sama mungkin mempunyai perbedaan dalam kelas yang berbeda.
- Kemampuan objek-objek yang berbeda untuk melakukan metode yang pantas dalam merespon message yang sama.
- Seleksi dari metode yang sesuai bergantung pada kelas yang seharusnya menciptakan Objek.
II.
Pemodelan Berorientasi Objek
A. Pemodelan Sebagai Teknik Desain
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 tarnsisi antara state yang disebabkan oleh event.
3.
Model Fungsional
- Model fungsional menggambrakan transformasi nilai data di dalam sistem.
- Model fungsional berisi data flow diagram. DFD adalah suatu graph dimana nodenya menyatakan proses dan arcnya adalah aliran data.
B.
Model Berorientasi Objek
Sebuah
model objek menangkap struktur statis dari sistem dengan menggambarkan objek
dalam sistem, hubungan antara objek, serta atribut dan operasi yang merupakan
karakteristik setiap kelas dan objek.
Model
berorientasi objek lebih mendekati keadaan nyata, dan dilengkapi dengan
penyajian grafis dari sistem yang sangat bermanfaat untuk komunikasi dengan
user dan pembuatan dokumentasi struktur dari sistem.
1.
Objek dan Kelas
>
Objek
- Objek didefinisikan sebagai konsep, abstraksi atau benda dengan batasan dan arti untuk suatu masalah.
- Semua objek mempunyai identitas yang berbeda dengan lainnya.
- Istilah identitas berarti bahwa objek dibedakan oleh sifat yang melekat dan bukan dengan uraian sifat yang dimilikinya.
- Contohnya : kembar identik, walaupun mereka nampak seperti sama, tetapi merupakan dua orang yang berbeda.
- Kadang-kadang objek berarti suatu barang, maka digunakan istilah object instance, dan object class untuk menunjukkan satu grup dari barang yang sama.
>
Kelas
- Suatu object class menggambarkan kumpulan dari objek yang mempunyai sifat (atribut), perilaku umum (operasi), relasi umum dengan objek lain dan semantik umum.
- Contoh : Orang, perusahaan , binatang, proses adalah objek.
- Setiap orang mempunyai umur, IQ, dan mungkin pekerjaan. Setiap proses mempunyai pemilik, prioritas, list dari sumber daya yang dibutuhkan.
- Objek dan object class sering sama sebagai benda dalam deskripsi masalah.
2.
Diagram Objek
Diagram objek melengkapi notasi
grafik untuk pemodelan objek, kelas dan relasinya dengan yang lain. Diagram
objek bermanfaat untuk pemodelan abstrak dan membuat perancangan program.
> Kelas
dan Objek
Konsep
fundamental dalam analisis berorientasi objek adalah objek itu sendiri. Sebuah
objek adalah sebuah entitas yang mencakup data dan metode.
Kelas
merupakan satu atau lebih objek dengan persamaan atribut dan metode, sedangkan
kelas-&-objek adalah kelas dengan satu atau lebih objek di dalamnya. Nama
kelas adalah kata benda tunggal, atau kata sifat dan kata benda. Nama dari
kelas-&-objek harus dapat menjelaskan objek tunggal dari suatu kelas.
Gambar 3. Notasi untuk kelas dan
kelas-&-objek
>
Struktur Objek dan Hirarki Kelas
-
Struktur kelas dibagi dua macam, yaitu Whole-Part Structure dan Gen-Spec
Structure.
- Whole-Part Structure memperlihatkan hirarki dari suatu kelas sebagai komponen dari kelas lain yang disebut juga sub objek. Contohnya, kelas Mobil adalah Whole dan komponennya Mesin, Rangka, dan lain-lain, merupakan Part1, Part 2, …, Part n.
Gambar
4. Notasi untuk whole-part structure
- Gen-Spec Structure memperlihatkan kelas sebagai spesialisasi dari kelas di atasnya. Kelas yang mempunyai sifat umum disebut Generalization, Superclass atau Topclass, sedangkan kelas yang mempunyai sifat khusus disebut Specialization.
Gambar 5. Notasi untuk gen-spec
structure
Contohnya, kelas Mobil adalah
Generalization, sedangkan Sedan, Truk, Minibus, dan lain-lain merupakan
Specizlization1, Specialization2, …, Specialization n, yaitu kelas yang
mempunyai sifat khusus.
-
Atribut
Atribut
menggambarkan data yang dapat memberikan informasi mengenai kelas atau objek
dimana atribut tersebut berada.
Gambar 6. Notasi untuk atribut
-
Metode
Metode (method) disebut juga service
atau operator adalah prosedur atau fungsi seperti yang terdapat dalam bahasa
Pascal pada umumnya, tetapi cara kerjanya agak berlainan. Metode adalah
subprogram yang tergabung dalam objek bersama-sama dengan atribut. Metode
dipergunakan untuk pengaksesan terhadap data yang terdapat dalam objek
tersebut.
Gambar
7. Notasi untuk metode
-
Pesan (Message)
Message merupakan cara untuk berhubungan antara satu objek dengan objek lain. Suatu pesan dikirimkan oleh suatu objek kepada objek tertentu dapat digambarkan dengan anak panah.
Message merupakan cara untuk berhubungan antara satu objek dengan objek lain. Suatu pesan dikirimkan oleh suatu objek kepada objek tertentu dapat digambarkan dengan anak panah.
Gambar
8. Notasi untuk message
III.
UML (Unified Modelling Language)
Unified
Modelling Language (UML) adalah sebuah “bahasa” yg
telah menjadi standar dalam industri untuk visualisasi, merancang dan
mendokumentasikan sistem piranti lunak. UML menawarkan sebuah standar untuk
merancang model sebuah sistem. Dengan menggunakan UML kita dapat membuat model
untuk semua jenis aplikasi piranti lunak, dimana aplikasi tersebut dapat
berjalan pada piranti keras, sistem operasi dan jaringan apapun, serta ditulis
dalam bahasa pemrograman apapun. Tetapi karena UML juga menggunakan class dan
operation dalam konsep dasarnya, maka ia lebih cocok untuk penulisan
piranti lunak dalam bahasa bahasa berorientasi objek seperti C++, Java, C# atau
VB.NET. Walaupun demikian, UML tetap dapat digunakan untuk modeling aplikasi
prosedural dalam VB atau C. Seperti bahasa-bahasa lainnya, UML mendefinisikan
notasi dan syntax /semantik. Notasi UML merupakan sekumpulan bentuk
khusus untuk menggambarkan berbagai diagram piranti lunak. Setiap bentuk
memiliki makna tertentu, dan UML syntax mendefinisikan bagaimana
bentuk-bentuk tersebut dapat dikombinasikan. Notasi UML terutama diturunkan
dari 3 notasi yang telah ada sebelumnya: Grady Booch OOD (Object-Oriented
Design), Jim Rumbaugh OMT (Object Modeling Technique), dan Ivar Jacobson OOSE
(Object-Oriented Software Engineering). Sejarah UML sendiri cukup panjang.
Sampai era tahun 1990 seperti kita ketahui puluhan metodologi pemodelan
berorientasi objek telah bermunculan di dunia. Diantaranya adalah: metodologi
booch, metodologi coad, metodologi OOSE, metodologi OMT, metodologi
shlaer-mellor, metodologi wirfs-brock, dsb. Masa itu terkenal dengan masa
perang metodologi (method war) dalam pendesainan berorientasi objek.
Masing-masing metodologi membawa notasi sendiri-sendiri, yang mengakibatkan
timbul masalah baru apabila kita bekerjasama dengan group/perusahaan lain yang
menggunakan metodologi yang berlainan.
Jenis-jenis
Diagram UML :
A.
Use Case Diagram
Use
case diagram menggambarkan fungsionalitas yang
diharapkan dari sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat
sistem, dan bukan “bagaimana”. Sebuah use case merepresentasikan sebuah
interaksi antara aktor dengan sistem. Use case merupakan sebuah
pekerjaan tertentu, misalnya login ke sistem, meng- create sebuah daftar
belanja, dan sebagainya. Seorang/sebuah aktor adalah sebuah entitas manusia
atau mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan-pekerjaan
tertentu. Use case diagram dapat sangat membantu bila kita sedang
menyusun requirement sebuah sistem, mengkomunikasikan rancangan dengan
klien, dan merancang test case untuk semua feature yang ada pada
sistem. Sebuah use case dapat meng- include fungsionalitas use
case lain sebagai bagian dari proses dalam dirinya. Secara umum diasumsikan
bahwa use case yang di- include akan dipanggil setiap kali use
case yang meng- include dieksekusi secara normal. Sebuah use case
dapat di- include oleh lebih dari satu use case lain,
sehingga duplikasi fungsionalitas dapat dihindari dengan cara menarik keluar
fungsionalitas yang common . Sebuah use case juga dapat meng- extend
use case lain dengan behaviour -nya sendiri. Sementara hubungan
generalisasi antar use case menunjukkan bahwa use case yang satu
merupakan spesialisasi dari yang lain.
B.
Class Diagram
Class
adalah sebuah spesifikasi yang jika
diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari
pengembangan dan desain berorientasi objek. Class menggambarkan keadaan
(atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi
keadaan tersebut (metoda/fungsi). Class diagram menggambarkan struktur
dan deskripsi class, package dan objek beserta hubungan satu sama lain
seperti containment , pewarisan, asosiasi, dan lain-lain.
Class
memiliki tiga area pokok :
1.
Nama (dan stereotype)
2.
Atribut
3.
Metoda
Atribut
dan metoda dapat memiliki salah satu sifat berikut :
- Private , tidak dapat dipanggil dari luar class yang bersangkutan
- Protected , hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak yang mewarisinya
- Public , dapat dipanggil oleh siapa saja
Class
dapat merupakan implementasi dari
sebuah interface , yaitu class abstrak yang hanya memiliki
metoda. Interface tidak dapat langsung diinstansiasikan, tetapi harus
diimplementasikan dahulu menjadi sebuah class. Dengan demikian interface
mendukung resolusi metoda pada saat run-time .
Sesuai
dengan perkembangan class model, class dapat dikelompokkan
menjadi package . Kita juga dapat membuat diagram yang terdiri atas package.
Hubungan
Antar Class
- Asosiasi, yaitu hubungan statis antar class . Umumnya menggambarkan class yang memiliki atribut berupa class lain, atau class yang harus mengetahui eksistensi class lain. Panah navigability m enunjukkan arah query antar class .
- Agregasi, yaitu hubungan yang menyatakan bagian (“terdiri atas..”).
- Pewarisan, yaitu hubungan hirarkis antar class . Class dapat diturunkan dari class lain dan mewarisi semua atribut dan metoda class asalnya dan menambahkan fungsionalitas baru, sehingga ia disebut anak dari class yang diwarisinya. Kebalikan dari pewarisan adalah generalisasi.
- Hubungan dinamis, yaitu rangkaian pesan ( message ) yang di- passing dari satu class kepada class lain. Hubungan dinamis dapat digambarkan dengan menggunakan sequence diagram yang akan dijelaskan kemudian.
C.
Statechart Diagram
Statechart
diagram menggambarkan transisi dan perubahan
keadaan (dari satu state ke state lainnya) suatu objek pada
sistem sebagai akibat dari stimuli yang diterima. Pada umumnya statechart
diagram menggambarkan class tertentu (satu class dapat
memiliki lebih dari satu statechart diagram ). Dalam UML, state digambarkan
berbentuk segiempat dengan sudut membulat dan memiliki nama sesuai kondisinya
saat itu. Transisi antar state umumnya memiliki kondisi guard yang
merupakan syarat terjadinya transisi yang bersangkutan, dituliskan dalam kurung
siku. Action yang dilakukan sebagai akibat dari event tertentu
dituliskan dengan diawali garis miring. Titik awal dan akhir digambarkan
berbentuk lingkaran berwarna penuh dan berwarna setengah.
D.
Activity Diagram
Activity
diagrams menggambarkan berbagai alir
aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir
berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activity
diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada
beberapa eksekusi. Activity diagram merupakan state diagram khusus,
di mana sebagian besar state adalah action dan sebagian besar
transisi di- trigger oleh selesainya state sebelumnya ( internal
processing ). Oleh karena itu activity diagram tidak menggambarkan
behaviour internal sebuah sistem (dan interaksi antar subsistem) secara eksak,
tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level
atas secara umum. Sebuah aktivitas dapat direalisasikan oleh satu use case atau
lebih. Aktivitas menggambarkan proses yang berjalan, sementara use case menggambarkan
bagaimana aktor menggunakan sistem untuk melakukan aktivitas. Sama seperti state
, standar UML menggunakan segiempat dengan sudut membulat untuk menggambarkan
aktivitas. Decision digunakan untuk menggambarkan behaviour pada kondisi
tertentu. Untuk mengilustrasikan proses-proses paralel ( fork dan join
) digunakan titik sinkronisasi yang dapat berupa titik, garis horizontal
atau vertikal. Activity diagram dapat dibagi menjadi beberapa object
swimlane untuk menggambarkan objek mana yang bertanggung jawab untuk
aktivitas tertentu.
E.
Sequence Diagram
Sequence
diagram menggambarkan interaksi antar objek
di dalam dan di sekitar sistem (termasuk pengguna, display , dan
sebagainya) berupa message yang digambarkan terhadap waktu. Sequence
diagram terdiri atar dimensi vertikal (waktu) dan dimensi horizontal
(objek-objek yang terkait). Sequence diagram biasa digunakan untuk
menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai
respons dari sebuah event untuk menghasilkan output tertentu.
Diawali dari apa yang men- trigger aktivitas tersebut, proses dan
perubahan apa saja yang terjadi secara internal dan output apa yang
dihasilkan. Masing-masing objek, termasuk aktor, memiliki lifeline vertikal.
Message digambarkan sebagai garis berpanah dari satu objek ke objek
lainnya. Pada fase desain berikutnya, message akan dipetakan menjadi
operasi/metoda dari class. Activation bar menunjukkan lamanya eksekusi
sebuah proses, biasanya diawali dengan diterimanya sebuah message.
Untuk
objek-objek yang memiliki sifat khusus, standar UML mendefinisikan icon khusus
untuk objek boundary, controller dan persistent entity .
F.
Collaboration Diagram
Collaboration
diagram juga menggambarkan interaksi antar
objek seperti sequence diagram , tetapi lebih menekankan pada peran
masing-masing objek dan bukan pada waktu penyampaian message . Setiap message
memiliki sequence number , di mana message dari level
tertinggi memiliki nomor 1. Messages dari level yang sama memiliki prefiks yang
sama.
G.
Component Diagram
Component
diagram menggambarkan struktur dan hubungan
antar komponen piranti lunak, termasuk ketergantungan ( dependency ) di
antaranya. Komponen piranti lunak adalah modul berisi code , baik berisi
source code maupun binary code , baik library maupun executable
, baik yang muncul pada compile time, link time , maupun run time
. Umumnya komponen terbentuk dari beberapa class dan/atau package
, tapi dapat juga dari komponen-komponen yang lebih kecil. Komponen dapat
juga berupa interface , yaitu kumpulan layanan yang disediakan sebuah
komponen untuk komponen lain.
H.
Deployment Diagram
Deployment/physical
diagram menggambarkan detail bagaimana komponen
di- deploy dalam infrastruktur sistem, di mana komponen akan terletak
(pada mesin, server atau piranti keras apa), bagaimana kemampuan jaringan pada
lokasi tersebut, spesifikasi server, dan hal-hal lain yang bersifat fisikal
Sebuah node adalah server, workstation , atau piranti keras lain
yang digunakan untuk men- deploy komponen dalam lingkungan sebenarnya.
Hubungan antar node (misalnya TCP/IP) dan requirement dapat juga
didefinisikan dalam diagram ini.
Langkah-Langkah
Penggunaan UML
Berikut
ini adalah tips pengembangan piranti lunak dengan menggunakan UML:
- Buatlah daftar business process dari level tertinggi untuk mendefinisikan aktivitas dan proses yang mungkin muncul.
- Petakan use case untuk tiap business process untuk mendefinisikan dengan tepat fungsionalitas yang harus disediakan oleh sistem. Kemudian perhalus use case diagram dan lengkapi dengan requirement, constraints dan catatan-catatan lain.
- Buatlah deployment diagram secara kasar untuk mendefinisikan arsitektur fisik sistem.
- Definisikan requirement lain (non-fungsional, security dan sebagainya) yang juga harus disediakan oleh sistem.
- Berdasarkan use case diagram , mulailah membuat activity diagram .
- Definisikan objek-objek level atas ( package atau domain ) dan buatlah sequence dan/atau collaboration diagram untuk tiap alir pekerjaan. Jika sebuah use case memiliki kemungkinan alir normal dan error, buatlah satu diagram untuk masing-masing alir.
- Buarlah rancangan user interface model yang menyediakan antarmuka bagi pengguna untuk menjalankan skenario use case .
- Berdasarkan model-model yang sudah ada, buatlah class diagram . Setiap package atau domain d ipecah menjadi hirarki class lengkap dengan atribut dan metodanya. Akan lebih baik jika untuk setiap class dibuat unit test untuk menguji fungsionalitas class dan interaksi dengan class lain.
- Setelah class diagram dibuat, kita dapat melihat kemungkinan pengelompokan class menjadi komponen-komponen. Karena itu buatlah component diagram pada tahap ini. Juga, definisikan tes integrasi untuk setiap komponen meyakinkan ia berinteraksi dengan baik.
- Perhalus deployment diagram yang sudah dibuat. Detilkan kemampuan dan requirement piranti lunak, sistem operasi, jaringan, dan sebagainya. Petakan komponen ke dalam node.
- Mulailah membangun sistem. Ada dua pendekatan yang dapat digunakan :
- Pendekatan use case , dengan meng- assign setiap use case kepada tim pengembang tertentu untuk mengembangkan unit code yang lengkap dengan tes.
- Pendekatan komponen, yaitu meng- assign setiap komponen kepada tim pengembang tertentu.
Tool
Yang Mendukung UML
Saat
ini banyak sekali tool pendesainan yang mendukung UML, baik itu tool komersial
maupun opensource. Beberapa diantaranya adalah:
- 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)
- referensi
- http://peterdraw.wordpress.com/2011/10/30/konsep-ooad-object-oriented-analysis-design/
http://sa3o.net/ringkasan-tentang-ooad/








0 komentar:
Posting Komentar