1. Pengertian
OOSAD (Object Oriented System
Analysis and Design) merupakan paradigma analisa dan perancangan sistem yang
titik perhatiannya adalah penggambaran struktur dan tingkah laku sistem
informasi yang meliputi data dan process. Secara statis struktur data dan
process akan menunjukkan hubungan antar bagian dari sistem, sedangkan secara
dinamis menunjukkan bagaimana bagian-bagian sistem tersebut akan berinteraksi
antara satu dengan lainnya. Untuk penggambaran tersebut diperlukan pemahaman
dasar dari class, object, method, message, encapsulation, information hiding,
inheritance, polymorphism, dan dynamic binding.
1.1. Class dan Object
CLASS adalah template/cetakan yang
digunakan untuk mendefinisikan suatu instance/contoh kejadian yang disebut
object. Object adalah contoh kejadian dari class. setiap object pasti akan berasosiasi
tepat dengan satu class.
Setiap object memiliki attributes
yang berisikan informasi mengenai object tersebut. State dari sebuah object
ditentukan oleh nilai dari attributes dan relationshipnya pada suatu waktu tertentu.
Setiap object juga memiliki
behaviour yang menspesifikasikan apa yang bisan dilakukan sebuah object.
1.2. Methods dan Messages
Method merupakan implementasi dari
behaviour(kelakukan) sebuah object. Method adalan sebuah action(tindakan) yang
dapat dilakukan oleh object. Method dapat dianalogikan dengan fungsi sebagaimana
terdapat didalam bahasa C. Message merupakan informasi yang dikirimkan ke
Object yang akan menjadi pemicu dari dilakukannya sebuah tindakan.
1.3. Encapsulation dan Information
Hiding
Pemikiran mengenai encapsulation
dan Information hiding sudah ada sejak jaman
dahulu kala. Encapsulation adalah
kombinasi dari proses dan data yang diletakkan didalam sebuah class. Didalam
OOSAD yang dimaksudkan dengan
Encapsulation adalah meletakkan
attribute dan behaviour kedalam sebuah object yang
dispesifikasikan didalam class.
didalam notasi yang digunakan UML 2.0 attribute diletakkan pada bagian atas
sedangkan behaviour diletakkan pada bagian bawah dari kotak. Information hiding
adalah sebuah cara berpikir dimana informasi yang diperlukan oleh penggunalah
yang akan ditampilkan sedangkan yang tidak diperlukan tidak usah ditampilkan/diberikan.
Konsekuensinya yang dapat diakses adalah bagian dari object yang digunakan
untuk menerima perintah dan memberikan informasi kepada pengguna object tersebut.
Sehingga object diperlakukan seperti sebuah kotak hitam.
1.4.Inheritance
Inheritance atau pewarisan
digunakan untuk mengidentifikasi object/class yang memiliki tingkat yang lebih tinggi
dan lebih general. Atributes dan methods yang sama dikelompokkan menjadi sebuah
superclass. Biasanya superclass diletakkan diatas dan turunannya diletakkan
dibawah. Hubungan inheritance yang terjadi adalah A KIND OF. Subclass akan
mewarisi attributes dan methods dari class yang berada diatasnya. Artinya subclass
berisi attributes dan methods dari superclass yang berada diatasnya. Class yang
berada didalam rantai hierarchy pasti akan ada yang memiliki instance/contoh kejadian.
Class yang memiliki contoh kejadian disebut concrete class. Ada juga class yang
menjadi superclass yang menjadi template bagi sebagian dari class yang berada
dibawahnya. Class tersebut merupakan abstract class.
1.5.Polymorphism dan Dynamic
Binding
Polymorphism artinya message yang
sama diinterpretasikan/memiliki arti/bentuk yang berbeda. Sebagai contoh jika
kita beri perintah draw kepada object segi empat, segi tiga, dan lingkaran akan
menjalankan perintah yang berbeda. Dibawah ini adalah contoh polymorphism :
int
kali(int a, int b);
int
kali(int a, int b, int c);
maka fungsi mana yang akan dijalankan tergantung kepada
argumen yang disertakan. Polymorphism dapat terlaksanya karena adanya dynamic
binding. Dynamic, atau, late binding adalah teknik/cara penundaan penentuan
jenis object sampai pada saat run-time. Artinya method mana yang akan
dijalankan ditunda sampai system/program berjalan. Kontrasnya adalah static
binding dimana setiap methods sudah ditentukan pada saat kompilasi.
2. UML
v.2
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 :
a. Structure Modelling Diagram yang
digunakan untuk memodelkan struktur sistem.
b. Behaviour Modelling Diagram yang
digunakan memodelkan tingkah laku sistem.
2.1. Structure Diagram
Structure diagram menggambarkan
cara untuk merepresentasikan hubungan static dan data yang terdapat didalam
sistem informasi. Adapun diagram yang digunakan adalah:
1. Class : relationship between
classes
2. Object : Relationships between
objects
3. Package : Group UML elements
together to form higher level constructs
4. Deployment : Shows the physical
architecture and software components of system
5. Component : Physical
relationships among software components
6. Composite Structure :
Illustrates internal structure of a class
2.2. Behaviour Diagram
Behaviour diagram menggambarkan
aspek dinamis dari sistem, yaitu bagaimana bekerjanya sistem. Adapun diagram
yang digunakan adalah :
a. Activity : Illustrates business
workflows.
b. Sequence : Time-based ordering
Behavior of objects activities in a use case.
c. Communication : Communication
among a set of collaborating objects of an activity.
d. Interaction Overview : Overview
of flow of control of a process
e. Timing Diagram : Portray the
interaction between objects along a time axis.
f. Behavioral State Machine :
Examines behavior of one class.
g. Protocol State Machine : Shows
dependencies of different interfaces of a class
h. Use-Case : Captures business
requirements and Illustrates interaction between system and environment
2.3. Extension Mechanism
Extension Mechanism memungkinkan
perluasan model yang digunakan, karena boleh jadi model didalam suatu aktifitas
OOSAD ada notasi lain yang diperlukan. Penambahan notasi disebut extension
mechanism :
a. Stereotypes : Gives ability to
incrementally extend UML
b. Tagged Values : Add new
properties to base elements
c. Constraints : Place restrictions
on use of model elements
d. Profiles : Group model elements
into a package
3. Object
Oriented Systems Analysis and Design
Pendekatan OO dapat menggunakan
methodology apapun, termasuk yang terstruktur, tetapi umumnya lebih berhubungan
dengan methodology yang bersifat RAD. Yang harus diperhatikan didalam OOSAD
adalah pemodelan dunia nyata berarti memodelkan : DATA DAN PROSES yang susah
dipisahkan. UML bersifat use-case drive, architecture-centric, iterative dan
incremental.
3.1. Use-Case Drive
Perangkat pemodelan utamanya adalah
Use Case yang digunakan untuk menjelaskan tingkah laku dari sistem
3.2. Architecture Centric
Architecture software yang akan
dibuat haruslah mengikuti dan menghasilkan standard yang meliputi spesifikasi,
construction, dan documentation.
3.3. Itterative dan Incremental
Pengembangan dilakukan secara
itterative dan incremental. Dimana setiap pengulangan akan mendekatkan produk
ke spesifikasi dari pengguna akhir.
3.4. Unified Process
Unified process mengunakan
methodolgy 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 methodology penggunaan notasi UML.
Unified processadalah proses pengembangan
sistem yang dijelaskan melalui tahapan-tahapan dan workflows. Tahapannya
(Phases) adalah :
1. Inception. Merupakan tahapan
perencanaan. Business Case dibuat dalam tahapan ini.
2. Elaboration. Mrupakan tahapan
dimana dilakukan analisa dan perancangan sistem
secara mendalam. Pada tahapan ini
dilakukan pembelajaran mengenai bagaimana
sistem yang akan dibuat. vision
document, penyelesaian business case, revisi penilaian resiko, dan
menyelesaikan project plan secara terinci agar pihak-pihak yang
berkepentingan dapat setuju dengan
pembuatan sistem yang final. Deliverablesnya
meliputi notasi-notasi struktur dan
behaviour, executable of baseline version. Baseline
harus ditetapkan dengan baik pada
tahapn ini karena merupakan dasar bagi pekerjaan
lanjutan untuk membuat sistem yang
jadi.
3. Construction. Tahapan ini
terfokus pada pemrogram dan pekerjaan teknis untuk
membuat sistem. Berarti merupakan
implemention workflows. Disamping itu
requirement, analysis, dan design
workflows juga dilibatkan dalam tahapan ini. Version
control dari configuration and
change management, menjadi sangat penting dalam
tahapan ini. Deliverables yang
utama adalah versi alpha maupun beta dari sistem yang
dibuat.
4. Transition. Tahapan ini
merupakan pemasangan dari sistem yang sudah jadi berarti
deliverablesnya adalah sistem yang
sudah jadi, berikut dokumentasi-dokumentasi
pendukungtermasuk didalamnya
manuals, support plan, dan upgrading plan.
Sedangkan workflowsnya meliputi :
1. Business modelling digunakan
untuk menemukan permasalahan dan dapat
mengidentifikasi projects yang
mungkin dikerjakan dalam organisasi.
2. Requirements digunakan untuk
melakukan elisitasi kebutuhab baik secara fungsional dan nonfungsional.
3. Analysis merupakan pekerjaan
yang meliputi analisis dari problem/business domain.
4. Design meupakan pekerjaan yang
mentransformasikan analysis model kedalam bentuk yang daat digunakan untuk
implementasi sistem yaitu : design model. Design model merupakan peningkatan
yang lebih terinci dari analysis model dengan penambahan classes/object dan
model-model lain yang akan digunakan untuk pembuatan sistem yang nantinya akan
dibangun.
5. Implementation merupakan
pekerjaan pembangunan sistem. Aktifitas yang dilakukan, sebagai contoh, adalah
pemrograman.
6. Test atau pengujian bertujuan
agar produk yang dibuat memenuhi kriteria kualitas yang telah ditentukan untuk
sistem yang dibuat.
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 sekarang
sedang dibuat.
10. Environment. Dalam pengembangan
sistem sudah tentu bermacam-macam perangkat digunakan. Environmental workflows
adalah kelompok perkerjaan yang berhubungan dengan penyediaan perangkat untuk
pembuatan sistem.
Tahapan-tahapan dialam RUP membantu
analis dalam mengembangkan sistem
informasi secara itterative dan
incremental. Tahapan-tahapan tersebut menjelaskan
bagaimana sistem informasi
berevolosi. Tergantung kepada tahapan yang mana,
tingkat aktivitas dalam setiap
workflows akan bervariasi.
Daftar Pusaka :
Satzinger, Jackson, Burd,
Object-Oriented Analysis and Design with the Unified Process, Course
Technology, 2005
Alan Denis, Barbara Haley Wixon,
David Tagerden, System Analys and Design : an Object –Oriented Approach with
UML 2.0, John Willey and Sons, 2005
fasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Modul-Analisa-Berorientasi-Objek.pdf
dinus.ac.id/repository/docs/ajar/OOAD__Pengenalan_Analisis_Berorientasi_Objek.pdf
eprints.upnjatim.ac.id/4267/1/file_1.pdf


Komentar
Posting Komentar