OBJECT ORIENTED ANALYSIS DESIGN (OOAD) 1. Information

advertisement
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 (ObjectOriented). 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 masingmasing pendekatan metoda OO untuk membuat suatu model bahasa yang uniform /
seragam yang disebut UML (Unified Modeling Language) dan dapat digunakan oleh
seluruh dunia.
Secara resmi bahasa UML dimulai pada bulan oktober 1994, ketika Rumbaugh
bergabung Booch untuk membuat sebuah project pendekatan metoda yang
uniform/seragam dari masing-masing metoda mereka. Saat itu baru dikembangkan draft
G:\bahanAjarKuliah\Modul\OOAD.doc
Pelatihan Object Oriented Analysis and Design\ Aris Puji Widodo, MT - 30 Juni 2004
1
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
n Implementation
n Testing
n Deployment
n Maintenance
Waterfall Model
Requirements
Analysis
Design
Implementation
Maintenance
Gambar 1. Waterfall Model
Spiral Model
Requirements
Requirements
Implementation
Implementation
Analysis
Analysis
Design
Design
Gambar 2. Spiral Model
OOAD Road Map
Untuk pemodelan pengembangan perangkat lunak dengan mengabdopsi SDLC dan
UML, maka road map untuk tahapan requirements analysis, system analysis, dan
design adalah :
G:\bahanAjarKuliah\Modul\OOAD.doc
Pelatihan Object Oriented Analysis and Design\ Aris Puji Widodo, MT - 30 Juni 2004
2
Requirements Analysis
Business
Process Map
Business Process
Scenarios
Business Process
Activity Diagram
Systems Analysis
Use Case
Diagram
Use Case
Scenarios
Interface
Prototypes
Design
Sequence
Diagrams
Class
Diagrams
Database
Schema
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.
Print Invoice
Send Invoice
Wait for
payment
Process
Payment
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
Object adalah suatu entitas yang dapat dibedakan antara satu dengan yang lainnya.
Class adalah kumpulan dari object yang memiliki properties yang sama.
G:\bahanAjarKuliah\Modul\OOAD.doc
Pelatihan Object Oriented Analysis and Design\ Aris Puji Widodo, MT - 30 Juni 2004
3
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.
person
name
address
lecturer
modulesTaught
roomNumber
student
course
modulesTaken
Gambar 7. Inheritance Class Person
2Dshape
area
position
getArea()
triangle
angle1
angle2
angle3
square
sideLength
circle
radius
Gambar 8. Inheritance Class 2DShape
5. Design
Diagram UML yang digunakan pada tahap Design adalah Sequence Diagram
(berdasarkan waktu), Collaboration Diagram (berdasarkan object), dan Class Diagram.
Sequence Diagram dan Collaboration Diagram merupakan aspek dinamik system, dan
Class Diagram merupakan aspek statik system.
G:\bahanAjarKuliah\Modul\OOAD.doc
Pelatihan Object Oriented Analysis and Design\ Aris Puji Widodo, MT - 30 Juni 2004
4
Order Entry
Screen
: Sales Operative
Order
Dispatch
Enter Order Details
Enter Delivery Details
Gambar 9. Sequence Diagram
Enter Order Details
Enter Delivery Details
Order Entry
Screen
: Sales Operative
Order
Dispatch
Gambar 10. Collaboration Diagram
Order
OrderEntryScreen
Customer ID
Date
OrderLine
Quantity
0..n ProductID
AddOrderLine()
0..n
Customer
Name
Address
Gambar 11. Class Diagram
G:\bahanAjarKuliah\Modul\OOAD.doc
Pelatihan Object Oriented Analysis and Design\ Aris Puji Widodo, MT - 30 Juni 2004
5
6. Mapping ke Relational Table
Setiap class yang bersifat persistent harus dilakukan mapping ke dalam relational table.
customer
name
address
telephone number
We “remember” attributes
by storing them on a
computer’s hard disk
order()
pay for goods()
The most common way to
keep a record of the
attributes is to use a
database
name
address
telephone number
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.
§ Odd Shoe Company akan menyimpan gambar-gambar Shoe, harga, stock, dan
ukuran semua shoe dalam database. Pada saat supplier mensuplai Shoe maka
stock di-update, jika Shoe di order maka stock dikurangi, dan jika order
dibatalkan maka stock juga di-update.
G:\bahanAjarKuliah\Modul\OOAD.doc
Pelatihan Object Oriented Analysis and Design\ Aris Puji Widodo, MT - 30 Juni 2004
6
Business Process
Hear about Odd
Shoe Company
Visit Web Site
no more shoes wanted
Identify shoe(s)
that suit
add to shopping
basket
view shopping
basket
decide to view more
commit order
supply credit
card details
credit card
problems
wait for
delivery
shoes
delivered
no delivery
act on
non-delivery
shoes rejected
shoes returned
shoes
accepted
Gambar 14. Business Process Penjualan Ke Customer
G:\bahanAjarKuliah\Modul\OOAD.doc
Pelatihan Object Oriented Analysis and Design\ Aris Puji Widodo, MT - 30 Juni 2004
7
Tahapan Analisis
visit home page
<<extend>>
<<include>>
customer
add to basket
browse catalogue
<<extend>>
view basket
check stock level
delete from basket
<<extend>>
stock control
system
<<include>>
<<include>>
amend quantity
<<include>>
order
<<include>>
reserve stock
supply credit card details
finance system
Advise of credit card problem
Gambar 15. Use Case Odd Shoe Company
G:\bahanAjarKuliah\Modul\OOAD.doc
Pelatihan Object Oriented Analysis and Design\ Aris Puji Widodo, MT - 30 Juni 2004
8
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:
Created Aris Puji Widodo, 30 Juni 2004
G:\bahanAjarKuliah\Modul\OOAD.doc
Pelatihan Object Oriented Analysis and Design\ Aris Puji Widodo, MT - 30 Juni 2004
9
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:
Created by Aris Puji Widodo, 30 Juni 2004
G:\bahanAjarKuliah\Modul\OOAD.doc
Pelatihan Object Oriented Analysis and Design\ Aris Puji Widodo, MT - 30 Juni 2004
10
Tahapan Design
Gambar 16. Prototype Design Home Page
: customer
: web browser
acceptURL( )
: internet
servePage( )
: Odd Shoe
Home Page
open( )
displayPage( )
Gambar 17. Sequence Diagram Display Home Page Use Case
G:\bahanAjarKuliah\Modul\OOAD.doc
Pelatihan Object Oriented Analysis and Design\ Aris Puji Widodo, MT - 30 Juni 2004
11
Gambar 18. Top Halaman untuk Catalogue Shoes Style
Gambar 19. Second Halaman untuk Catalogue yang Menampilkan Summary Setiap
Shoes Style
G:\bahanAjarKuliah\Modul\OOAD.doc
Pelatihan Object Oriented Analysis and Design\ Aris Puji Widodo, MT - 30 Juni 2004
12
Gambar 20. Detil Halaman Shoe
: customer
: Odd Shoe
Home Page
openCatalogue( )
: Catalogue
open( )
: shoe style
: Shoe Style
Page
: shoe
: Shoe Page
: shopping
basket
detDetails( )
format( )
selectStyle( )
open( )
getSummary( )
format( )
selectShoe( )
open( )
getDetails( )
format( )
enterDetails( )
addToBasket( )
addItem( )
Gambar 21. Sequence Diagram untuk Use Case Browse Catalogue
G:\bahanAjarKuliah\Modul\OOAD.doc
Pelatihan Object Oriented Analysis and Design\ Aris Puji Widodo, MT - 30 Juni 2004
13
Gambar 22. Prototype Halaman Shopping Basket
: customer
: Shoe Page
: shopping
basket
: Shopping
Basket Page
: order
addToBasket( )
open( )
getItems( )
format( )
buy( )
submitOrder( )
create( )
Gambar 23. Sequence Diagram untuk Use Case Add to Basket
G:\bahanAjarKuliah\Modul\OOAD.doc
Pelatihan Object Oriented Analysis and Design\ Aris Puji Widodo, MT - 30 Juni 2004
14
Shopping
Basket Page
buy()
Shoe Page
web browser
current Page
addToBasket()
enterDetails()
acceptURL()
requestPage()
displayPage()
internet
generic page
n URL
servePage()
Shoe Style Page
selectShoe()
open()
format()
Catalogue
Odd Shoe Home Page
selectStyle()
openCatalogue()
Gambar 24. Class Diagram User Interface
shoe style
thumbnail
description
detDetails()
0..n
shoe
thumbnail
description
price
sizes
0..n picture
shopping
basket
addItem()
0..n
getItems()
submitOrder()
getDetails()
getSummary()
1..n
0..1
order
create()
Gambar 25. Class Diagram Pengendali untuk Catalogue
G:\bahanAjarKuliah\Modul\OOAD.doc
Pelatihan Object Oriented Analysis and Design\ Aris Puji Widodo, MT - 30 Juni 2004
15
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
Roger S. Pressman, Software Engineering, A Practitioner’s Approach, Fourth
Edition, The McGraw-Hill, Singapura, 1992
G:\bahanAjarKuliah\Modul\OOAD.doc
Pelatihan Object Oriented Analysis and Design\ Aris Puji Widodo, MT - 30 Juni 2004
16
Download