1 / 40

Sistem Pemodelan Perangkat Lunak

Pemodelan Perangkat Lunak. Sistem Pemodelan Perangkat Lunak. Pemodelan Perangkat Lunak. System models – > Merupakan gambaran abstrak dari sebuah sistem dimana persyaratan sistem tersebut akan / sedang dianalisa.

Download Presentation

Sistem Pemodelan Perangkat Lunak

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Pemodelan Perangkat Lunak Sistem Pemodelan Perangkat Lunak

  2. Pemodelan Perangkat Lunak • System models–>Merupakan gambaran abstrak dari sebuah sistem dimana persyaratan sistem tersebut akan / sedang dianalisa. • Metode Formal (Formal methods) –> merupakan teknik dan notasi dari persyaratan perangkat lunak yang tidak ambigu.

  3. Tujuan • Menjelaskan mengapa konteks dari sistem harus dimodelkan sebagai bagian dari proses Requirement Engineering • Menggambarkan konsep pemodelan perilaku, pemodelan data dan pemodelan obyek • Memperkenalkan beberapa notasi yang digunakan pada UML (Unified Modelling Language) • Memperkenalkan pendekatan metode formal dan pemodelan formal

  4. Requirement Engineering (Short Review) • Merupakan suatu cara agar perekayasa perangkat lunak memahami permasalahan yang akan dipecahkan • Task yang terlibat yaitu : inception, elicitation, elaboration, negotiation, specification, validation dan management

  5. The Unified Modeling Language • Disarankan untuk para perekayasa yang menggunakan analisa dan desain berorientasi obyek dalam metodenya. • Menjadi sebuah standar yang efektif dalam pemodelan perangkat lunak • Memiliki 9 notasi yang berbeda

  6. State Diagrams State Diagrams State Diagrams State Diagrams State Diagrams State Diagrams Class Diagrams Component Diagrams Object Diagrams Component Diagrams Component Diagrams Deployment Diagrams Use Case Diagrams Use Case Diagrams Scenario Diagrams Scenario Diagrams Use Case Diagrams Use Case Diagrams Scenario Diagrams Scenario Diagrams Use Case Diagrams Sequence Diagrams Statechart Diagrams Collaboration Diagrams Models Activity Diagrams The Unified Modeling Language

  7. Pemodelan Perangkat Lunak dan Modelnya • Pemodelan perangkat lunak membantu para perekayasa untuk memahami fungsionalitas dari sistem • Model digunakan untuk berkomunikasi dengan para stakeholder • Model yang yang berbeda – beda akan menampilkan suatu sistem dari sudut pandang yang berbeda pula. • Sudut pandang luar (eksternal) akan menampilkan lingkungan atau konteks dari sistem • Model proses / aktifitas menampilkan proses pembangunan dari sistem sama halnya dengan menggambarkan segala aktifitas yang didukung oleh sistem • Sudut pandang perilaku memperlihatkan perilaku dari sistem tersebut • Sudut pandang struktural memperlihatkan arsitektur dari sistem atau data.

  8. Model Konteks • Model ini menggambarkan sistem dengan lingkungan diluarnya tetapi tidak menggambarkan relasi antara sistem luar dalam lingkungan dengan sistem • Lingkungan luar mungkin mengirim data ke sistem, terhubung langsung ke sistem dan membagi datanya ke sistem. • Untuk itu ada detail proses yang harus disediakan seperti dalam model proses.

  9. Model Konteks • Arsitektur model sederhana

  10. Model Proses / Aktifitas • Procuring equipment case

  11. Model Perilaku • Ada dua macam • Model aliran data, dimana memodelkan proses data dalam sistem • Model state machine, memodelkan bagaimana sistem bereaksi terhadap kejadian • Model - model ini dapat digunakan secara bersama –sama atau sendiri

  12. Model Aliran Data • Proses data dari aktifitas place equipment order Send to supplier Checked & signed order Signed order form Completed order form Signed order form Order Detail Blank Form Complete Order Form Validate order Record order Adjust avail budget Signed order form Order Details Order amount + acount detail Orders File Budget File

  13. Model Perilaku – Pemrosesan Data • CASE toolset data flow diagram (DFD)

  14. Model State Machine • Contoh sederhana pada microwave

  15. Model Data • Kebanyakan sistem perangkat lunak besar menggunakan database yang juga cukup besar. • Bagian terpenting dari pemodelan sistem adalah mencari bentuk logic data yang diproses dalam sistem. • Pemodelan mencari bentuk logic ini dinamakan semantic data model • Contoh pemodelan data yang terkenal adalah menggunakan teknik ERA modelling • Model ini juga kurang detil, sehingga dibutuhkan deskripsi lebih detil dari masing entitas, atribut dan relasi. Maka dapat digunakan data dictionary

  16. Semantic data (a.k.a. ER) models

  17. Data dictionary models • Data dictionary merupakan daftar nama yang terlibat dalam model sistem • Berisi deskripsi entitas dan informasi pendukung lainnya • Kegunaannya : • Mengelola nama  unique • Berfungsi untuk menyimpan infomasi organisasi

  18. Data dictionary models

  19. Model Obyek • Model obyek menggambarkan suatu sistem dalam kelas - kelas obyek • Kelas Obyek merupakan abstraksi dari suatu set obyek dengan atribut dan operasi yang dimiliki oleh masing – masing obyek. • Model obyek yang berbeda dapat dihasilkan : • Model Inheritance • Model Aggregasi • Model Interaksi

  20. Model Obyek - Model Inheritance Hirarki kelas library

  21. Model Obyek - Model Aggregasi Aggregate object repr. A course

  22. Model Obyek – Model Interaksi Interaksi antar obyek dlm issue of electronic item pada Sistem Perpustakaan

  23. Sasaran dari metode formal • Menghindari ambiguitas, konsisten, lengkap dan dapat dibuktikan kebenarannya • Spesifikasi persyaratan : • Mengklarifikasi persyaratan kustomer • Mengungkapkan ambiguitas, ketidakonsistenan dan ketidaklengkapan • Desain sistem / perangkat lunak • Spesifikasi struktural dari relasi antar komponen • Spesifikasi perilaku dari komponen • Verifikasi : • Apakah kita telah membangun sistem dengan benar? • Membuktikan bahwa realisasi sesuai dengan spesifikasi • Validasi : • Apakah sistem yang dibangun sesuai permintaan? • Test dan debugging • Dokumentasi: • Komunikasi diantara stakeholder

  24. Mengapa menggunakan metode formal • Metode formal memiliki kemampuan untuk meningkatkan kualitas dan produktifitas dalam pembangunan perangkat lunak. Diantara kemampuannya : • Untuk meningkatkan pendeteksian error sejak awal • Untuk membangun sistem perangkat lunak yang aman, handal dan terjamin • Untuk memfasilitasi pengujian dari implementasi • Untuk memungkinkan dilakukannya simulasi, animasi, pembuktian, eksekusi dan transformasi

  25. Mengapa menggunakan metode formal? • Metode formal telah berada pada ambang untuk dijadikan sebagai metode yang terbaik dan/atau metode yang sangat dibutuhkan untuk membangun sistem perangkat lunak yang safety-critical dan mission-critical • Untuk memastikan bahwa sistem telah memenuhi standar dan peraturan. • To avoid legal liability repercussions

  26. Mengapa tidak menggunakan metode formal? • Teknologi baru yang belum pasti hasil baliknya • Kurangnya pengalaman dan pembuktian akan keberhasilan. • Kurangnya dukungan otomasi • Tool yang ada sekarang tidak user friendly • Kurva pembelajaran yang tinggi • Dibutuhkan kemampuan matematika dan kesempurnaan yang baik. • Teknik yang tidak banyak penggunanya • Teknik tidak dapat diukur

  27. Tipe Bahasa spesifikasi formal • Spesifikasi axiomatic • Axiomatic = yang sudah jelas kebenarannya. • Mendefinisikan operasi dengan pernyataan logika • Spesifikasi pergantian keadaan (state-transition) • Mendefinisikan operasi dalam pernyataan state dan transisi • Spesifikasi model abstrak • Mendefinisikan operasi dengan model matematika • Spesifikasi aljabar • Mendefinisikan operasi dalam kumpulan relasi yang ekuivalen • Spesifikasi logika temporal (waktu) • Mendefinisikan operasi dengan pernyataan urutan waktu dan eksekusi (pelaksanaan) • Spesifikasi kebersamaan (concurrent) • Mendefinisikan operasi dalam pernyataan kejadian yang berlangsung secara berkesinambungan (simultaneously occurring events)

  28. Mitos yang ada pada metode formal • Metode formal dapat menjamin kesempurnaan dari perangkat lunak • Tetapi apakah bisa memastikan spec yang dibangun sempurna? • Metode formal semuanya berupa pembuktian program • Metode ini merupakan pemodelan, komunikasi dan demonstrasi • Metode formal hanya berguna pada sistem safety-critical. • Tidak juga, mungkin juga berguna pada semua sistem • Metode formal sangat membutuhkan matematikawan terlatih • metode ini melibatkan tidak lebih dari satu set teori dan logika saja • Metode formal meningkatkan biaya pembangunan • Justru lebih sering kebalikannya • Metode formal tidak dapat diterima oleh user • Justru user akan mendapatkan bahwa metode itu sangat membantu jika dipresentasikan dengan baik • Metode formal tidak digunakan pada perangkat lunak skala besar • Justru metode ini digunakan setiap hari pada banyak cabang dalam industri

  29. Pemodelan Perangkat Lunak Pemodelan G.O.M.S untuk antarmuka

  30. Pendahuluan • G.O.M.S • Merupakan pendekatan untuk menganalisa kualitas prosedur dari sebuah antar muka • Merupakan pendekatan untuk menggambarkan pengetahuan dari suatu prosedur yang harus dimiliki oleh user untuk menjalankan suatu sistem • Proposed by Card, Moran, & Newell (1983)

  31. Deskripsi Model GOMS • Goals (tujuan) • Apa tujuan yang harus dicapai oleh user pada sistem • Operators • Apa perlakuan dasar yang dapat dilakukan oleh user • Methods • Apa saja urut-urutan dari operator (prosedur) yang harus diikuti oleh user untuk mencapai tujuan • Selection Rules • Ada beberapa metode yang bisa user lakukan untuk mencapai tujuan pada situasi tertentu yang diberikan.

  32. Model GOMS • Terdapat dua pendekatan dalam mengevaluasi kualitas prosedur dari sebuah antarmuka • Metode Model Tingkat Penekanan Tombol (Keystroke – Level) • Operator dan Waktu untuk Model Tingkat Penekanan Tombol

  33. Metode Analisa Model Prosedur GOMS • Pilih satu set level teratas dari tujuan user • Pilih desain antarmuka tertentu • Tulis prosedur umum yang harus user pelajari dan lakukan untuk mencapai tujuan • Dapat menggunakan notasi tertentu seperti NGOMSL • Perkirakan pembelajaran dan implikasi pelaksanaan dari prosedur • Informal : Kompleksitas yang tidak perlu, lambat dan langkah yang sulit • Formal : Hitung waktu perkiraan pembelajaran dan pelaksanaan

  34. GOMS Procedure Model Method • Choose the design with the best combination of learning and execution times. • Especially useful for: • Assessing consistency and ease of learning. • Predicting execution time for a large variety of situations

  35. Example uses NGOMSL notation • Methods for Setting the Clock • Method for goal: set the clock • Step 1. Press CLOCK button • Step 2. Accomplish goal: set a day and time with the currentday and time • Step 3. Press CLOCK button • Step 4. Return with goal accomplished • Method for goal: set a day and time • Step 1. Accomplish goal: set day value to the desired value • Step 2. Press SELECT • Step 3. Accomplish goal: set hour value to the desired value • Step 4. Press SELECT • Step 5. Accomplish goal: set minute value to the desiredvalue • Step 6. Return with goal accomplished • Method for goal: set a value to a desired value • Step 1. Verify that display shows current value is flashing • Step 2. Decide: If display shows value same as desired,then return with goal accomplished. • Step 3. Decide: If display shows value smaller than desired,then press UP button.else press DOWN button. • Step 4. Go to Step 2.

  36. GOMS Procedure Model MethodExample: VCR Procedures • User goals - a subset • Set the clock • Record a program • Stop current recording • Cancel previously programmed recording • Assumptions • A cassette is loaded • Power is on • Desired channel is already selected • Methods and Selection Rules are somewhat simplified

  37. (Continue) • Methods for Recording a Program • Selection rule set for goal: record a program • If you are present when the program startsand you will be present when the program endsthen accomplish goal: record a program manually • If you are present when the program startsand you will not be present when the program endsand you know how long the program lastsand the VCR clock is setthen accomplish goal: record a program with One-TouchRecording • If you will not be present when the program startsand you know when the program will startand you know how long the program lastsand the VCR clock is setthen accomplish goal: record a program with TimerRecording • Return with goal accomplished

  38. (Continue) • Method for goal: record a program manually • Step 1. Wait for program to start. • Step 2. Hold down REC button. • Step 3. Press PLAY button. • Step 4. Release both buttons. • Step 5. Verify that display shows "REC" and arrow is moving • Step 6. Wait for program to end • Step 7. Press STOP button. • Step 8. Return with goal accomplished. • Method for goal: record a program with One-Touch Recording • Step 1. Wait for program to start • Step 2. Press OTR button. • Step 3. Press OTR button. • Step 4. Decide: If time shown in display is less than lengthof program, go to Step 3. • Step 5. Return with goal accomplished.

  39. ? !!! ? a n Contoh Implementasiaksi game dengan GOMS

  40. End Session • Question??

More Related