OBJECT ORIENTED ANALYSIS DESIGN
(OOAD)
Metode yang digunakan adalah diacu dari: Information Modeling and Development.
(Ken Lunn 2001)
1. Information Modeling and Development
What is a model ?
Model adalah beberapa diskripsi dari suatu system, yang dapat digambarkan, dideskripsikan, dan berbentuk prototype. Model tidak hanya berbentuk pendeskripsian sesuatu, tetapi merepresentasikan sesuatu.
Why model ?
Pertimbangan menggunkan model adalah karena mudah dan murah untuk membentuknya dibandingkan sesuatu yang riil. Model berguna untuk berkomunikasi dan perencanaan terhadap solusi permasalahan di dunia nyata. Sehingga model dapat membantu untuk memvisualisasi, merencanakan, berkomunikasi, dan mengestimasi yang paling baik dalam menyelesaikan permasalahan dibandingkan tanpa pemodelan.
High Level Model in Information System Development
Model dalam Information System Development (ISD) meliputi : Business case, Business requirements, System requirements, Logical design, Technical design, Implementation, dan Testing.
Unified Modeling Language (UML)
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 (http://www.omg.org).
Pendekatan analisa & rancangan dengan menggunakan model OO mulai diperkenalkan sekitar pertengahan 1970 hingga akhir 1980 dikarenakan pada saat itu aplikasi software sudah meningkat dan mulai komplek. Jumlah yang menggunakaan metoda OO mulai diuji cobakandan diaplikasikan antara 1989 hingga 1994, seperti halnya oleh Grady Booch dari Rational Software Co., dikenal dengan OOSE (Object-Oriented Software Engineering), serta James Rumbaugh dari General Electric, dikenal dengan OMT (Object Modelling Technique).
Kelemahan saat itu disadari oleh Booch maupun Rumbaugh adalah tidak adanya standar penggunaan model yang berbasis OO, ketika mereka bertemu ditemani rekan lainnya Ivar Jacobson dari Objectory mulai mendiskusikan untuk mengadopsi masing-masing pendekatan metoda OO untuk membuat suatu model bahasa yang uniform / seragam yang disebut UML (Unified Modeling Language) dan dapat digunakan oleh seluruh dunia.
metoda UML version 0.8 dan diselesaikan serta di release pada bulan oktober 1995. Bersamaan dengan saat itu, Jacobson bergabung dan UML tersebut diperkaya ruang lingkupnya dengan metoda OOSE sehingga muncul release version 0.9 pada bulan Juni 1996. Hingga saat ini sejak Juni 1998 UML version 1.3 telah diperkaya dan direspons oleh OMG (Object Management Group), Anderson Consulting, Ericsson, Platinum Technology, ObjectTime Limited, dll serta di pelihara oleh OMG yang dipimpin oleh Cris Kobryn.
UML adalah standar dunia yang dibuat oleh Object Management Group (OMG), sebuah badan yang bertugas mengeluarkan standar-standar teknologi object-oriented dan software component.
Software Development Life Cycle (SDLC)
Tahapan dalam SDLC meliputi :
n Requirements Analysis n Systems Analysis n Design
Gambar 1. Waterfall Model
Spiral Model
Gambar 2. Spiral Model
OOAD Road Map
Class Diagrams
Requirements Analysis Business
Process Map
Business Process Scenarios
Business Process Activity Diagram Business
Process Map
Business Process Scenarios
Business Process Activity Diagram
Gambar 3. OOAD Road Map
2. Business Process
Diagram UML yang digunakan pada Business Process adalah Activity Diagram. Activity Diagram adalah merepresentasikan aktivitas dan aliran aktivitas system.
P r i n t I n v o i c e
Gambar 4. Activity Diagram untuk Payment Handling
3. System Analysis
Diagram UML yang digunakan pada tahap System Analysis adalah Use Case Diagram. Use Case Diagram adalah merepresentasikan batasan fungsional system.
Take Order
Sales Operative
Check Order Progress
Gambar 5. Use Case Diagram
4. Object and Class Definition
cat name breed favourite food name2
eat() miaiow() sleep() catchMouse()
Gambar 6. Class Cat
Inheritance adalah pengelompokan class yang memiliki kesamaan properties, sehingga setiap class anak/turunan dapat mewarisi semua properties class induk dan tidak berlaku sebaliknya.
Gambar 7. Inheritance Class Person
square
Gambar 8. Inheritance Class 2DShape
5. Design
: S a l e s O p e r a t i v e
O r d e r E n t r y S c r e e n
O r d e r D i s p a t c h
E n t e r O r d e r D e t a i l s
E n t e r D e l i v e r y D e t a i l s
Gambar 9. Sequence Diagram
: Sales Operative
Order Entry Screen
Order Dispatch
Enter Order Details Enter Delivery Details
Gambar 10. Collaboration Diagram
Customer Name Address
OrderEntryScreen OrderLine
Quantity ProductID Order
Customer ID Date
AddOrderLine()
0..n 0..n
0..n 0..n
6. Mapping ke Relational Table
Setiap class yang bersifat persistent harus dilakukan mapping ke dalam relational table.
name address
telephone number customer
order() pay for goods() name
address
telephone number
We “remember” attributes
by storing them on a
computer’s hard disk
The most common way to
keep a record of the
attributes is to use a
database
Gambar 12. Penyimpanan Object ke dalam Database
Name Address
Telephone number
Peter 12 Ladbroke Street 01484 324345
Mary 14 Perry Avenue
01274 98209
Gambar 13. Hasil Mapping ke dalam Relational Table
7. Case Study
Odd Shoe Company
Odd Shoe Company adalah toko yang melayani penjualan Shoe secara online. Adapun proses bisnis yang terjadi adalah sebagai berikut :
§ Untuk melakukan order, customer harus terdaftar Odd shoe Company. Dalam melakukan registrasi dibutuhkan name and address, payment details (credit card, etc), shoe sizes, gender, and any special details.
§ Dalam melakukan order customer akan memilih shoe range. System akan memberitahu apakah stocknya ada atau dibutuhkan untuk memesan ke supplier. Jika stock ada maka dengan segera akan dilakukan pengiriman.
§ Customer dapat melakukan order secara online, dimana statusnya dapat menunggu delivery ke Odd shoe Company, menunggu pengiriman, menunggu pemeriksaan kredit atau pengiriman. Sebelum dikirimkan ke customer seharusnya ada pilihan untuk membatalkan order.
§ Odd Shoe Company setiap minggu ingin mengetahui laporan mengenai jumlah customer, statistic ukuran Shoe, order, stock, dan order-order yang dibatalkan. § Setiap bulan customer akan dikirim statmen melalui email, bersama-sama
dengan list penawaran khusus. Penawaran yang disampaikan hanya untuk stock sepatu yang ada sesuai dengan ukuran customer.
Business Process
Hear about Odd Shoe Company
Visit Web Site
Identify shoe(s) that suit
add to shopping basket
view shopping
basket decide to view more
commit order no more shoes wanted
supply credit card details
shoes delivered
shoes accepted
wait for
delivery non-deliveryact on no delivery
credit card problems
shoes returned shoes rejected
Tahapan Analisis
delete from basket add to basket
amend quantity
check stock level <<include>>
<<include>>
stock control system
reserve stock <<include>>
supply credit card details
finance system visit home page
browse catalogue
<<extend>>
view basket
<<extend>>
<<extend>>
order <<include>>
<<include>> customer
Advise of credit card problem
Tabel 1. Performansi Use Case Home Page
Use Case Number: 1 Use Case Name: Home Page
Brief Description: Menampilkan home page
Actors:Customer
Pre-conditions: Web site operational
Post-conditions: Home page ditampilkan
Frequency of Execution: Diperkirakan setiap hari di akses100 dalam 3 bulan, dan terjadi peningkatan menjadi 1000 dalam setahun.
Scalability:Diharapkan diatas 100 user mengakses secara concurrent
Criticality:Sangat. Tanpa ada web site, perusahaan tidak melakukan penjualan.
Primary Path:
Customer memasukan alamat URL
Use Cases Related to Primary Path:
None
Alternatives:
None
Use Cases Related to Alternatives:
None
Exceptions:
None
Use Cases Related to Exceptions:
None
Data Requirements: None, selain home page pada web site
User Interfaces:Lihat Interface pada gamabar 16.
Change Record:
Tabel 2. Performansi Use Case Browse Catalog
Use Case Number: 2 Use Case Name: Browse Catalogue
Brief Description: Customer akan melakukan browse katalog shoes.
Actors:Customer
Pre-conditions: Web site tersedia
Post-conditions: Item- item yang dipilih dimasukan dalam shopping basket
Frequency of Execution: Diperkirakan setiap hari di akses100 dalam 3 bulan, dan terjadi peningkatan menjadi 1000 dalam setahun.
Scalability:Diharapkan diatas 100 user mengakses secara concurrent
Criticality:Sangat. Tanpa ada web site, perusahaan tidak melakukan penjualan.
Primary Path:
1. Customer memilih katalog dari home page
2. Daftar Shoe styles ditampilkan dengan gambar-gambar secara thumbnail 3. Customer memilih shoe style
4. Daftar shoes and prices ditampilkan, dengan thumbnails shoes tersebut 5. Customer memilih shoe
6. Gambar shoe besar ditampilkan, dengan daftar prices, sizes, stock yang tersedia dan colour
7. Customer mengisi quantity, size, foot and colour 8. Customer melakukan clicks add to basket.
Use Cases Related to Primary Path:
None
Alternatives:
Pada setiap saat customer dapat melakukan backtrack ke home page sebelumnya. Pada setiap saat customer dapat melakukan pembatalan.
Use Cases Related to Alternatives:
Add to basket.
Exceptions:
None identified
Use Cases Related to Exceptions:
None
Data Requirements:
Daftar shoe styles dengan gambar-gambar secara thumbnail sebagai indikasi shoe style. Untuk setiap shoe, sizes tersedia, price, colour, a thumbnail picture and a full picture.
User Interfaces: Lihat Interfaces pada gambar 18, 19, 20.
Change Record:
Tahapan Design
Gambar 16. Prototype Design Home Page
: customer : web browser : internet : Odd Shoe Home Page
acceptURL( )
servePage( )
displayPage( )
open( )
Gambar 18. Top Halaman untuk Catalogue Shoes Style
Gambar 20. Detil Halaman Shoe
: shopping basket : customer : Odd Shoe Home Page : Catalogue : shoe style : Shoe Style Page : shoe : Shoe Page
openCatalogue( )
open( )
detDetails( )
format( )
selectStyle( ) open( )
getSummary( )
format( )
selectShoe( )
open( )
getDetails( )
format( )
addItem( ) enterDetails( )
addToBasket( )
Gambar 22. Prototype Halaman Shopping Basket
: customer : Shoe Page : shopping basket
: Shopping Basket Page
: order
addToBasket( )
open( ) getItems( )
format( )
buy( )
submitOrder( )
create( )
Odd Shoe Home Page
Shoe Style Page
selectShoe()
Gambar 24. Class Diagram User Interface
shoe style
8. Daftar Pustaka
§ Bahrami, Object Oriented System Development, McGraw-Hill, 2000.
§ G. Booch J. Rumbaugh, & Jacobson, The Unified Modeling Language, User Guide, Rational Software Corporation, Addison-Wesley, Massachus etts, USA, 1999.
§ Ken Lunn , Information Modeling and Development, 2001