model sistem - · pdf filemodel sistem •model sistem membantu analis untuk memahami...
TRANSCRIPT
Model Sistem
REKAYASA PERANGKAT LUNAK
Muhlis Tahir 092904033 PTIK A 2009
Tujuan • Memahami pentingnya pemodelan konteks sistem
• Memahami konsep pemodelan perilaku, pemodelan data, dan pemodelan objek
• Mengetahui beberapa notasi yang didefinisikan pada Unified Modeling Language (UML) dan bagaimana notasi ini dapat digunakan untuk mengembangkan tipe-tipe model sistem
• Menunjukkan bagaimana workbench CASE mendukung pemodelan sistem
Topik Yang Dibahas • Model Konteks
• Model Perilaku
• Model Data
• Model Objek
• Workbench CASE
Model Sistem
• Model sistem membantu analis untuk memahami fungsi dari sistem dan model dapat digunakan untuk berkomunikasi dengan customers
• Model dapat dipakai untuk merepresentasikan sistem dari sudut pandang yang berbeda, yakni :
– Sudut pandang eksternal dimana konteks atau lingkungan sistem dimodelkan
– Sudut pandang perilaku di mana perilaku sistem dimodelkan
– Sudut pandang struktural di mana arsitektur sistem atau struktur data yang di proses oleh sistem dimodelkan
Metoda Terstruktur • Metode terstruktur menyediakan kerangka kerja
untuk pemodelan sistem sebagai bagian dari analisis persyaratan
• Metode ini biasanya mendefinisikan proses yang dapat menurunkan model ini beserta serangkaian aturan dan panduan yang berlaku
• CASE tools mendukung metoda terstruktur ini
Kelemahan Metode Terstruktur
• Tidak menyediakan dukungan yang efektif bagi pemahaman atau pemodelan persyaratan sistem non-fungsional
• Tidak memberikan panduan pada user untuk menentukan apakah model ini sesuai untuk suatu keadaan tertentu
• Terlalu banyak dokumentasi
• Model terlalu detil sehingga sukar dipahami
Tipe-Tipe Model • Model Pemrosesan Data. Menunjukkan bagaimana data di
proses pada tahap-tahap yang berbeda
• Model Komposisi. Menunjukkan bagaimana suatu entitas sistem tersusun dari entitas lain
• Model Arsitektur. Menunjukkan subsistem utama yang membentuk sistem.
• Model Klassifikasi. Menunjukkan bagaimana entitas memiliki karakteristik yang sama.
• Model Stimulus-Response. Menunjukan bagaimana sistem bereaksi terhadap event internal maupun eksternal
Model Konteks
• Model konteks digunakan untuk mengilustrasikan batasan dari sistem
• Lingkungan sosial dan organisasi mempengaruhi batasan sistem
• Model arsitektur akan menggambarkan atau mengilustrasikan struktur lingkungan sistem informasi [ lihat contoh konteks sistem ATM di bawah ini]
Konteks Sistem ATM
Auto-tellersystem
Securi tysystem
Maintenancesystem
Accountdatabase
Usagedatabase
Branchaccountingsystem
Branchcountersystem
Model Proses
• Model proses menunjukkan keseluruhan proses dan proses-proses yang dapat di dukung oleh sistem
• Model data flow dapat digunakan untuk menunjukkan proses dan flow informasi dari satu proses ke proses lainnya
Model Proses Pengadaan Peralatan
Get costestimates
Acceptdel ivery ofequipment
Checkdel iveredi tems
Validatespecification
Specifyequipmentrequired
Choosesuppl ier
Placeequipment
order
Instal lequipment
Findsuppl iers
Supplierdatabase
Acceptdel iveredequipment
Equipmentdatabase
Equipmentspec.
Checkedspec.
Del iverynote
Del iverynote
Ordernotification
Instal lationinstructions
Instal lationacceptance
Equipmentdetail s
Checked andsigned order form
Orderdetail s +
Blank orderform
Spec. +suppl ier +estimate
Supplier li stEquipment
spec.
Model Perilaku
• Model perilaku digunakan untuk menjelaskan perilaku sistem secara keseluruhan
• Ada dua model perilaku :
– Model aliran data. Yang memodelkan pemrosesan aliran data pada sistem
– Model state machine. Yang memodelkan bagaimana sistem bereaksi terhadap event.
• Kedua model ini digunakan untuk menjelaskan perilaku dari sistem
Model data-processing • Data flow diagram digunakan untuk
menjelaskan proses data dari sistem
• Menunjukkan bagaimana data mengalir melalui serangkaian langkah – langkah pemrosesan
• Contoh di bawah menunjukkan diagram aliran data dari pemrosesan pesanan
Diagram alir data dari proses pesanan
Completeorder form
Orderdetail s +blank
order form
Validateorder
Recordorder
Send tosuppl ier
Adjustavailablebudget
Budgetfile
Ordersfile
Completedorder form
Signedorder form
Signedorder form
Checked andsigned order+ order
notification
Orderamount
+ accountdetail s
Signedorder form
Orderdetail s
Diagram alir data (DFD) • Model DFD adalah model dari perspektif fungsi
• Model ini dapat mendokumentasikan bagaimana data berhubungan dengan proses untuk dapat memahami sistem secara menyeluruh
• DFD juga dapat menunjukkan pertukaran data antara satu sistem dengan sistem lainnya dalam lingkungannya
CASE toolset DFD
Designedi tor
Designcross checker
Designanalyser
Reportgenerator
Designdatabase
Code skeletongenerator
Designdatabase
Inputdesign
Validdesign
Checkeddesign
Designanalysis
Userreport
andReferenceddesigns
Checkeddesign Output
code
Model “State-Machine” • Ini adalah model state-machine yang dapat
meresponse event internal atau eksternal
• Model ini dapat bereaksi terhadap stimulus dengan demikian dapat digunakan untuk model sistem waktu nyata (real-time systems)
• Pada model ini titik menggambarkan state; garis menggambarkan event. Bila event terjadi , maka sistem bergerak dari satu state ke state yang lain .
• Statecharts bagian dari UML
Microwave oven model Full power
Enabled
do: operateoven
Fullpower
Halfpower
Halfpower
Fullpower
Number
TimerDooropen
Doorclosed
Doorclosed
Dooropen
Start
do: set power = 600
Half powerdo: set power = 300
Set timedo: get numberexi t: set time
Disabled
Operation
Timer
Cancel
Waiting
do: display time
Waiting
do: display time
do: display 'Ready'
do: display 'Waiting'
Microwave oven state description State Description
Waiting The oven is waiting for input. The display shows the current time.Half power The oven power is set to 300 watts. The display shows ‘Half
power‘.Full power The oven power is set to 600 watts. The display shows ‘Full
power‘.Set time The cooking time is set to the user‘s input value. The display
shows the cooking time selected and is updated as the time is set.Disabled Oven operation is disabled for safety. Interior oven l ight is on.
Display shows ‘Not ready‘.Enabled Oven operation is enabled. Interior oven light is off. Display
shows ‘Ready to cook‘.Operation Oven in operation. Interior oven light is on. Display shows the
timer countdown. On completion of cooking, the buzzer issounded for 5 seconds. Oven light is on. Display shows ‘Cookingcomplete‘ while buzzer is sounding.
Microwave oven stimuli
Stimulus DescriptionHalf power The user has pressed the half power buttonFull power The user has pressed the full power buttonTimer The user has pressed one of the timer buttonsNumber The user has pressed a numeric keyDoor open The oven door switch is not closedDoor closed The oven door switch is closedStart The user has pressed the start buttonCancel The user has pressed the cancel button
Microwave oven operation
Cookdo: run generator
Donedo: buzzer on for 5 secs.
Waiting
Alarm
do: display event
do: checkstatus
Checking
Turntablefaul t
Emitterfaul t
Disabled
OK
Timeout
TimeOperation
Dooropen Cancel
Model Data Semantik
• Digunakan untuk menjelaskan struktur logika dari data yang di proses oleh sistem
• Dapat dinyatakan dalam bentuk relasi entitas
• Digunakan secara luas dalam rancangan database
• Tidak ada notasi yang spesifik digunakan dalam UML tetapi objek dan asosiasi dapat digunakan
Software design semantic model Design
namedescriptionC-dateM-date
Link
nametype
Node
nametype
l inks
has-links
12
1 n
Label
nametexticon
has-labelshas-labels
1
n
1
n
has-linkshas-nodes i s-a
1
n
1
n1
1
Kamus data
• Kamus data adalah list dari semua nama yang digunakan dalam model sistem,termasuk juga deskripsi entitas, relasi, dan juga attribut.
• Keuntungan :
– Mendukung pengelolaan penamaan field, agar jangan ada duplikasi
– Tempat menyimpan pengetahuan dan informasi organisasi
• Alat bantu CASE mendukung konsep kamus data
Data dictionary entries Name Description Type Date
has-labels1 :N relation between entities of typeNode or Link and entities of typeLabel.
Relation 5. 1 0. 1 998
LabelHolds structured or unstructuredinformation about nodes or links.Labels are represented by an icon(which can be a transparent box) andassociated text.
Entity 8. 1 2. 1 998
LinkA 1 :1 relation between designentities represented as nodes. Linksare typed and may be named.
Relation 8. 1 2. 1 998
name(label)
Each label has a name whichidentifies the type of label. The namemust be unique within the set of labeltypes used in a design.
Attribute 8. 1 2. 1 998
name(node)
Each node has a name which must beunique within a design. The namemay be up to 64 characters long.
Attribute 1 5. 1 1 . 1 998
Model Objek
• Model objek menjelaskan sistem dari sisi kelas objek untuk mendukung bahasa pemrograman berorientasi objek
• Sebuah kelas objek adalah abstraksi terhadap satu set objek yang mengidentifikasi atribut-atribut umum
• Dengan model objek dapat dihasilkan : – Inheritance models
– Aggregation models
– Interaction models
Model inheritance
• Mengorganisasikan domain kelas objek kedalam hirarki
• Kelas yang paling umum ditempatkan pada puncak hirarki
• Objek-objek yang lebih khusus mewarisi sifat dari kelas yang paling umum tersebut
• Rancangan hiraki kelas ini akan sukar di proses jika ditemukan duplikasi di cabang yang berbeda
The Unified Modeling Language • Digunakan oleh banyak perancang terutama
untuk pendekatan berorientasi objek
• UML merupakan standar model untuk pendekatan object-oriented
• Notasi
– Kelas objek dinyatakan dalam bentuk persegi dengan tiga bagian; nama objek diatas,atribut ditengah,operasi thp objek di bawah
– Relasi antar objek di beri simbol garis
– Inheritance ditunjukkan dengan panah ke atas dari gambar
Library class hierarchy Catalogue numberAcquisi tion dateCostTypeStatusNumber of copies
Library i tem
Acquire ()Catalogue ()Dispose ()Issue ()Return ()
AuthorEditionPubl ication dateISBN
Book
YearIssue
MagazineDirectorDate of releaseDistributor
Fi lm
VersionPlatform
Computerprogram
TitlePubli sher
Publ ished itemTitleMedium
Recorded i tem
User class hierarchy
NameAddressPhoneRegistration #
Library user
Register ()De-register ()
Affil iation
Reader
Items on loanMax. loans
Borrower
DepartmentDepartment phone
Staff
Major subjectHome address
Student
Multiple inheritance
• Yang menjadi masalah utama adalah perancangan graph inheritance , dimana objek tidak mewarisi atribut yang tidak perlu
• Masalah lain mencakup kesulitan mengorganisasikan graph inheritance ketika dibutuhkan perubahan dan penyesuaian masalah terhadap bentrokan nama.
• Hal – hal diatas membuat pemodelan menjadi rumit
Multiple inheritance
# Tapes
Talking book
AuthorEditionPubl ication dateISBN
Book
SpeakerDurationRecording date
Voice recording
Aggresgasi (kumpulan) Object
• Model aggregasi menunjukkan bagaimana sebuah objek merupakan kumpulan dari objek yang lain
• Kelas yang merepresentasikan objek-objek ini dapat dimodelkan dengan menggunakan model aggregasi objek seperti gambar di bawah ini
Object aggregation
Pemodelan objek perilaku
• Untuk memodelkan perilaku objek, harus ditunjukan bagaimana operasi yang disediakan oleh objek digunakan
• Dengan UML perilaku dimodelkan dengan memakai skenario yang didasarkan atas use-case
• Ilustrasi di bawah menunjukkan manajemen katalog perpustakaan
Issue of electronic items
:Library User
Ecat:Catalog
Lookup
Issue
Display
:Library Item Lib1 :NetServer
Issue li cence
Accept li cence
Compress
Del iver
Alat BantuCASE • Satu set alat bantu yang mendukung fase khusus dari
proses perangkat lunak seperti perancangan, implementasi, atau pengujian
• Workbench analisis dan perancangan dikembangkan untuk pemodelan sistem pada tahap analisis dan perancangan dalam proses perangkat lunak
• Workbench ini dapat mendukung perancangan khusus atau dapat membantu mengcreate beberapa tipe model yang berbeda
An analysis and design workbench
Centralinformationrepository
Codegenerator
Querylanguagefacil ities
Structureddiagramming
tools
Datadictionary
Reportgenerationfacil ities
Design, analysi sand checking
tools
Formscreationtools
Import/exportfacil ities
Analysis workbench components • Editor diagram
• Alat bantu analisis perancangan dan pemeriksaan
• Bahasa querry media penyimpanan [repository]
• Kamus data
• Alat bantu definisi dan pembuat laporan
• Alat bantu pembuatan form
• Fasilitas ekspor/impor
• Pembuatan kode
Hal-Hal Penting
• Model adalah pandangan abstrak dari sebuah sistem, mengabaikan beberapa detil
• Model Konteks menunjukkan bagaimana sistem yang dimodelkan diletakkan pada suatu lingkungan dengan sistem dan proses lain
• Data Flow Diagram dipakai untuk memodelkan pemrosesan data yang dilakukan oleh sistem
• Model State Machine digunakan untuk memetakan perilaku sistem sebagai reaksi thp input / output
Hal-Hal Penting
• Model Data Semantik mendeskripsikan struktur logis data yang diimport atau dieksport oleh sistem
• Model Objek mendeskripsikan entitas sistem logika dan klasifikasi beserta aggregasinya
• Alat Bantu CASE mendukung pengembangan model sistem dengan menyediakan alat bantu, pengeditan, pemeriksaan, pelaporan, dan pendokumentasian