Model-Model Analisis
Tujuan Mahasiswa dapat mengerti mengenai model-model analisis Mahasiswa dapat mengerti tentang pemodelan data Mahasiswa dapat menciptakan dasar bagi pembuatan desain software Mahasiswa dapat mendefinisikan himpunan kebutuhan yang dapat divalidasi pada saat software sudah jadi
Tiga sasaran utama yang harus di capai dalam model analisis: Untuk menggambarkan apa yang di butuhkan oleh pelanggan. Untuk membangun dasar bagi pembuatan desain perangkat lunak. Dan membatasi serangkaian persyaratan yang dapat divalidasi begitu saat perangkat lunak di bangun.
Elemen Model Analisis
Elemen Model Analisis Cont.. Data dictionary Entity-relationship diagram (ERD) data object description Data flow diagram (DFD) process specification (PSPEC) State-transition diagram (STD) control specification (CSPEC)
Pada inti model ada kamus data (data dictionary) – Penyimpan yang berisi deskripsi dari semua objek data yang dikonsumsi atau di produksi oleh perangkat lunak. Ada tiga diagram yang mengelilingi inti, ERD ( Entity-Relationship Diagram), menggambarkan hubungan antara objek data. ERD adalah notasi yang di gunakan untuk melakukan aktivitas pemodelan data. DFD ( Data Flow Diagram ) melayani dua tujuan, yaitu memberikan indikasi mengenai bagaimana data di transformasikan pada saat data bergerak melalui sistem, dan untuk menggambarkan fungsi-fungsi (dan sub-fungsi) yang mentransformasikan aliran data. DFD memberikan tambahan yang di gunakan analisis domain informasi dan berfungsi sebagai dasar bagi pemodelan fungsi. Deskripsi setiap fungsi yang di sajikan pada DFD disikan dalam sebuah spesifikasi proses/proses specification ( SPEC)
STD( State-transition diagram) menunjukan bagaimana sistem bertinkah laku sebagai akibat dari kejadian eksternal. Untuk melakukannya, STD menunjukan berbagai model tingkah laku (disebut state) sistem dan cara dimana transisi di buat dari state satu ke state lainnya. STD berfungsi sebagai dasar bagi pemodelan tingkah laku. Informasi tambahan mengenai aspek kontrol dari perangkat lunak diisikan dalam spesifikasi kontrol/control specification (CSPEC)
Pemodelan Data Entity-relationship diagram : menggambarkan hubungan antar objek data (entitas) Data object description : mendeksipsikan atribut dari setiap data objek dalam ERD
ERD
Perluasan ERD Persedian Lisensi LDealership Pemanufaktur membuat mobil transport Kontrak pengiriman
Pemodelan Fungsional dan Aliran Informasi Data flow diagram : Untuk menggambarkan bagaimana data ditrasnformasikan Untuk menggambarkan fungsi (dan subfungsi) yang mentransformasikan data Process specisification : deskripsi setiap fungsi dalam DFD
DFD Cont.. Penghasil atau pengguna informasi yang berada diluar lingkup sistem yang dimodelkan Fungsi yang mentransformasi informasi, berada didalam lingkup sistem yang dimodelkan Objek data, anak panah menunjukkan arah aliran informasi Datdata Tempat penyimpanan data yang digunakan oleh proses
Data Flow Diagram (DFD) Infomasi output Informasi input Informasi output Informasi input Informasi output
DFD Cont..
Contoh : LEVEL 0 Data Flow Diagram.
Penurunan DFD Level 0 data flow diagram menunjukkan software/sistem sebagai satu bulatan Input dan output utama harus diperhatikan Penurunan dimulai dengan pemilihan proses, objek data, dan data store untuk direpresentasikan di level berikutnya Semua anak panah dan bulatan harus diberi label dengan nama yang mempunyai arti Kesinambungan aliran informasi harus dijaga dari sebuah level ke level berikutnya Penurunan hanya dilakukan untuk satu bulatan pada satu saat
State Transition Diagram (STD) Menggambarkan bagaimana sistem bereaksi terhadap event eksternal Control specification (CSPEC) : informasi tambahan tentang aspek kontrol software
STD
Data Dictionary Model analisis mengandung representasi objek data, fungsi, dan kontrol. Data dictionary mengandung informasi : name (nama) alias where-used (dimana-digunakan) content description (deskripsi isi) supplementary information (informasi tambahan)
Safe Home Software Software SafeHome memungkinkan pemilik rumah mengkonfigurasi sistem keamanan pada saat dipasang, memonitor semua sensor yang terhubung ke sistem keamanan, dan berinteraksi dengan pemilik rumah melalui sebuah keypad dan function key yang terdapat pada control panel. Pada saat pemasangan, control panel SafeHome digunakan untuk memprogram dan mengkonfigurasi sistem. Setiap sensor diberi nomor dan tipe, sebuah password master digunakan untuk menghidupkan dan mematikan sistem, dan nomor telepon dimasukkan untuk dihubungi pada saat event sensor terjadi.
Safe Home Software Cont.. Jika sebuah event sensor dikenali, software menghidupkan alarm yang dihubungkan dengan sistem. Setelah waktu delay yang ditentukan oleh pemilik rumah pada saat pemasangan, software menghubungi nomor telepon sebuah monitoring service dan memberikan informasi mengenai lokasi, melaporkan event yang dideteksi. Nomor akan dihubungi kembali setiap 20 detik sampai terjadi hubungan.
Safe Home Software Cont.. Semua interaksi dengan SafeHome diatur oleh subsistem interaksi user yang membaca input (dimasukkan melalui keypad dan function key), menampilkan pesan dan status sistem di display LCD.
DFD Level 0
Safe Home Software Software SafeHome memungkinkan pemilik rumah mengkonfigurasi sistem keamanan pada saat dipasang, memonitor semua sensor yang terhubung ke sistem keamanan, dan berinteraksi dengan pemilik rumah melalui sebuah keypad dan function key yang terdapat pada control panel. Pada saat pemasangan, control panel SafeHome digunakan untuk memprogram dan mengkonfigurasi sistem. Setiap sensor diberi nomor dan tipe, sebuah password master digunakan untuk menghidupkan dan mematikan sistem, dan nomor telepon dimasukkan untuk dihubungi pada saat event sensor terjadi. Jika sebuah event sensor dikenali, software menghidupkan alarm yang dihubungkan dengan sistem. Setelah waktu delay yang ditentukan oleh pemilik rumah pada saat pemasangan, software menghubungi nomor telepon sebuah monitoring service dan memberikan informasi mengenai lokasi, melaporkan event yang dideteksi. Nomor akan dihubungi kembali setiap 20 detik sampai terjadi hubungan.
Safe Home Software Cont.. Semua interaksi dengan SafeHome diatur oleh subsistem interaksi user yang membaca input (dimasukkan melalui keypad dan function key), menampilkan pesan dan status sistem di display LCD.
DFD Level 1
DFD Level 2
Data Dictionary Contoh : dalam DFD level 2, item data telephone number sebagai input. Data dicitonary : name: telephone number aliases: none where used: asses against setup (output) dial phone (input) description: telephone number = [local extension | outside number]
Sistem Informasi Kepegawaian PT ERZ bermaksud untuk membuat sistem informasi kepegawaian dengan suatu basis data yang terpusat. Dengan sistem informasi tersebut diharapkan layanan informasi mengenai kepegawaian akan mudah didapatkan, cepat, dan efisien. Dengan basis data yang terpusat diharapkan terjadinya konsistensi data, mengurangi redudansi data, dan mempermudah updating data. Layanan informasi yang akan diberikan meliputi informasi mengenai : Data diri pegawai Gaji pegawai Golongan/pangkat pegawai
Sistem Informasi Kepegawain Cont.. Semua layanan informasi diatas dapat diakses oleh user yang berhak. User dibedakan menjadi tiga tingkatan, yaitu pimpinan, pegawai biasa, dan administrasi. Pimpinan mempunyai hak akses (baca) atas data semua pegawai. Sedang pegawai biasa hanya mempunyai hak akses (baca) atas data miliknya sendiri. Sementara admin berhak untuk membuka data semua pegawai dan mengubah data untuk updating sesuai dengan persetujuan pimpinan. Jadi validasi untuk perubahan data seorang pegawai misalnya, maka sang pegawai harus melaporkan perubahan data tersebut pada pimpinan untuk kemudian disetujui dan diserakan kepada admin untuk di-update.
Context Diagram
DFD Level 1
DFD Level 2
Prinsip dan Konsep Analisis
Pendahuluan Mahasiswa dapat mengerti definisi sistem Mahasiswa dapat memahami bagian-bagian analisis Mahasiswa dapat mengerti metode FAST Mahasiswa dapat memperoleh hasil analisis
Pertanyaan Bagaimana software didefinisikan di dalam konteks sistem yang lebih besar? Apa saja konsep dasar dan prinsip yang dapat diterapkan dalam analisis kebutuhan software? Apakah yang disebut sebagai analisis yang terstruktur dan bagaimana berbagai model memungkinkan seorang pengembang software memahami data, fungsi serta perilaku software? Apa saja konsep dasar dan prinsip yang dapat diterapkan pada aktivitas desain software?
Pertanyaan (Cont.) Bagaimana membuat model untuk mendesain data, arsitektur, prosedur, dan antarmuka? Apa saja konsep dasar dan prinsip yang dapat diterapkan pada saat mengetest software? Bagaimana metode testing black-box dan white-box digunakan untuk merancang pengetesan? Bagaimana strategi dalam mengetes software?
Analisa Kebutuhan Menghubungkan antara system engineering dengan software design Memungkinkan system engineer menentukan: fungsi dan kinerja software, antarmuka software dengan elemen sistem lain, batasan-batasan yang harus dipenuhi software
Analisa Kebutuhan (Cont.) Dibagi menjadi lima bagian: Penentuan masalah Evaluasi dan sintesis Pemodelan Spesifikasi Review
Menerjemahkan model analisis ke dalam suatudesain perangkat lunak Prosedural Desain Interface Desain Arsitektural Desain Data
Memulai Proses Pemahaman dasar: Siapa yang meminta pekerjaan ini? Siapa yang akan menggunakan hasilnya? Keuntungan ekonomi apa yang akan dicapai? Apakah ada sumber lain untuk pemecahan masalah?
Memulai Proses (Cont.) Persepsi customer tentang pemecahan masalah: Bagaimana Anda bisa menggambarkan output yang bagus? Apa saja masalah yang akan dipecahkan? Dapatkan Anda menggambarkan lingkungan dimana solusi ini akan digunakan? Apakah ada batasan atau ketentuan khusus yang harus dipenuhi?
Memulai Proses (Cont.) Keefektifan pertemuan: Apakah Anda orang yang tepat untuk menjawab pertanyaan-pertanyaan ini? Apakah jawaban Anda bersifat resmi? Apakah pertanyaan saya relevan dengan masalah yang dihadapi? Apakah saya terlalu banyak bertanya? Apakah ada orang lain yang dapat memberikan informasi tambahan? Apakah ada hal lain yang harus saya ketahui?
Facilitated Application Specification Techniques (FAST) Pembentukan tim yang terdiri dari customer dan pengembang yang bekerja sama untuk: mengidentifikasi masalah, menentukan elemen pemecahan masalah, mempertimbangkan pemecahan alternatif, menentukan kebutuhan awal pemecahan masalah
FAST (Cont.) Sebuah pertemuan diadakan di tempat netral, dihadiri pengembang dan customer Disiapkan peraturan untuk persiapan dan partisipasi peserta Agenda pertemuan mencakup semua point penting Seorang fasilitator mengatur jalannya pertemuan Digunakan sebuah mekanisme pendefinisian tertentu Tujuannya sesuai dengan tujuan FAST
Contoh Deskripsi produk: Penelitian kami mengindikasikan bahwa pasar untuk sistem keamanan rumah akan meningkat sebesar 40% per tahun. Kami ingin memasuki pasar tersebut dengan membuat sebuah sistem keamanan rumah berbasis mikroprosesor yang akan dapat melindungi terhadap berbagai situasi yang tidak diharapkan, seperti pembobolan, kebakaran, banjir, dan sebagainya. Produk tersebut, disebut juga SafeHome, akan memiliki sensor untuk mendeteksi setiap situasi, dapat diprogram oleh pemilik rumah, dan secara otomatis menelepon nomor tertentu jika terjadi situasi tersebut.
Contoh (Cont.) Tim FAST terdiri dari: wakil marketing, software dan hardware engineering, dan manufacturing. Fasilitator dari pihak luar. Daftar objek: detektor asap, sensor pintu dan jendela, detektor gerak, alarm, control panel, display, nomor telepon, panggilan telepon, dsb. Daftar service: mensetting alarm, memonitor sensor, menekan telepon, memprogram control
Contoh (Cont.) Daftar batasan: biaya pembuatan sistem maksimal $200, harus user friendly, harus berhubungan langsung dengan jalur telepon standar Kriteria kinerja: event sensor harus dikenali kurang dari 1 detik, urutan prioritas event harus ada Setiap anggota tim mempunyai daftar tersendiri dan didiskusikan dengan anggota tim lain
Contoh (Cont.) Setelah dicapai kesepakatan, tim dibagi menjadi beberapa subtim, masing-masing membentuk spesifikasi mini. Spesifikasi mini untuk objek SafeHome control panel: Dipasang di dinding Ukuran kira-kira 9 x 5 inci Mempunyai keypad standar (12 key) dan key khusus Mempunyai display LCD Semua interaksi customer dilakukan melalui key Software untuk berinteraksi, mengeluarkan suara,
Prinsip Analisis Domain informasi sebuah masalah harus direpresentasikan dan dipahami Fungsi yang dilakukan oleh software harus didefinisikan Perilaku software (sebagai akibat dari event eksternal) harus direpresentasikan Model yang mengandung informasi, fungsi dan perilaku harus dibagi-bagi sehingga dapat menampilkan detail-detail dalam bentuk berlapis Proses analisis harus mulai dari informasi penting ke detail implementasi
Pemodelan Untuk mendapat pemahaman mengenai hal sebenarnya yang harus dibuat Model difokuskan pada apa yang harus dilakukan software, bukan bagaimana melakukannya Model fungsional Model perilaku: representasi state (keadaan) software dan event yang menyebabkan software berubah state
Pembagian Membagi masalah menjadi bagian-bagian yang lebih kecil Memperlihatkan lebih banyak detail dengan bergerak secara horisontal Membagi masalah dengan bergerak secara vertikal
Contoh Software SafeHome memungkinkan pemilik rumah mengkonfigurasi sistem keamanan pada saat dipasang, memonitor semua sensor yang terhubung ke sistem keamanan, dan berinteraksi dengan pemilik rumah melalui sebuah keypad dan function key yang terdapat pada control panel. Pada saat pemasangan, control panel SafeHome digunakan untuk memprogram dan mengkonfigurasi sistem. Setiap sensor diberi nomor dan tipe, sebuah password master digunakan untuk menghidupkan dan mematikan sistem, dan nomor telepon dimasukkan untuk dihubungi pada saat event sensor terjadi.
Contoh (Cont.) Jika sebuah event sensor dikenali, software menghidupkan alarm yang dihubungkan dengan sistem. Setelah waktu delay yang ditentukan oleh pemilik rumah pada saat pemasangan, software menghubungi nomor telepon sebuah monitoring service dan memberikan informasi mengenai lokasi, melaporkan event yang dideteksi. Nomor akan dihubungi kembali setiap 20 detik sampai terjadi hubungan.
Contoh (Cont.) Semua interaksi dengan SafeHome diatur oleh subsistem interaksi user yang membaca input (dimasukkan melalui keypad dan function key), menampilkan pesan dan status sistem di display LCD. Interaksi keyboard berbentuk…
Contoh (Cont.)
Contoh (Cont.)
Software Requirement Specification Introduction Information Description Functional Description Behavioral Description Validation and Criteria Bibliography Appendix [The National Bureau Standards, IEEE (Standard No. 830-1984),
Review Spesifikasi Apakah tujuan software yang telah ditentukan tetap konsisten dengan tujuan sistem? Mempunyai antarmuka dengan semua elemen sistem yang telah disebutkan? Apakah aliran dan struktur informasi telah didefinisikan? Apakah semua diagram jelas? Apakah setiap diagram dapat dibaca tanpa teks tambahan? Apakah fungsi utama masih dalam ruang lingkup, dan telah disebutkan?
Review Spesifikasi (Cont.) Apakah perilaku software konsisten dengan informasi yang harus diproses dan fungsi yang harus dijalankan? Apakah batasan desain realistis? Apakah kriteria validasi sudah disebutkan secara detail? Apakah kontak customer sudah lengkap?
Kesimpulan Analisa Kebutuhan digunakan untuk Menghubungkan antara system engineering dengan software design Salah satu teknik yang dapat digunakan untuk melakukan analisa kebutuhan adalah FAST Deliverablenya dapat berupa Software Requirement Specification
Thank You