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.
A. Karakteristik dari 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.
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.
>
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
- 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.
Contohnya, kelas Mobil adalah Generalization,
sedangkan Sedan, Truk, Minibus, dan lain-lain merupakan Specizlization1,
Specialization2, …, Specialization n, yaitu kelas yang mempunyai sifat khusus.
Atribut
menggambarkan data yang dapat memberikan informasi mengenai kelas atau objek
dimana atribut tersebut berada.
- 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.
-
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.
II.
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”. Sebuahuse case merepresentasikan
sebuah interaksi antara aktor dengan sistem. Use casemerupakan
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 menyusunrequirement 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 kaliuse
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 casejuga 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. Classmenggambarkan keadaan (atribut/properti)
suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut
(metoda/fungsi). Class diagrammenggambarkan 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 classyang
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 classlain 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
satuclass 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 kestate 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 antarstate umumnya memiliki kondisi guard yang
merupakan syarat terjadinya transisi yang bersangkutan, dituliskan dalam kurung
siku. Action yang dilakukan sebagai akibat darievent 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
diagramkhusus, 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 satuuse 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, memilikilifeline 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
manamessage 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 librarymaupun 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- deploydalam 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 sequencedan/atau collaboration
diagram untuk tiap alir pekerjaan. Jika sebuah use casememiliki
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 packageatau 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 pengelompokanclass 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 danrequirement 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)
sumber referensi : http://dewa-hendra.blogspot.com/2010/04/i.html
0 comments:
Post a Comment