REKAYASA PERANGKAT LUNAK Permodelan Analisis Shinta P. Sari Definisi Analisis Sistem Penguraian dari suatu Sistem Informasi yang utuh ke dalam bagian-bagian komponennya dengan maksud untuk mengidentifikasikan dan mengevaluasi permasalahan, kesempatan, hambatan yang terjadi dan kebutuhan yang diharapkan sehingga dapat diusulkan perbaikannya Analisis sistem Tahap analisis merupakan tahap yang paling kritis dan sangat penting, karena kesalahan di tahapan ini akan menyebabkan kesalahan di tahap selanjutnya Hasil dari analisis sistem adalah: laporan yang dapat menggambarkan sistem yang telah dipelajari dan diketahui bentuk permasalahannya serta rancangan sistem baru yag akan dibuat atau dikembangakan. Tujuan Analisis Sistem Memberikan pelayanan kebutuhan informasi kepada fungsi manajerial di dalam pengendalian pelaksanaan kegiatan operasional perusahaan Membantu para pemngambil keputusan Mengevaluasi sistem yang telah ada Merumuskan tujuan yang ingin dicapai berupa pengolahan data maupun pembuatan laporan baru Menyusun suatu tahap rencana pengembangan sistem Langkah-langkah 1. Mengidentifikasi masalah – Mengidentifikasi penyebab masalah 2. Analisis sistem – Mengidentifikasi solusi dari masalah 3. Analisis Kebutuhan – – Mengidentifikasi data apa dan proses apa yang dibutuhkan pada sistem baru. Menentukan kebutuhan fungsional dan non-fungsional dari sistem baru. KEBUTUHAN FUNGSIONAL Menunjukkan what the system should do. Menunjukkan fasilitas apa yang dibutuhkan serta aktivitas apa saja yang terjadi dalam sistem baru. Kebutuhan fungsional mencakup: Fungsi deskripsi kebutuhan Laporan baik hardcopy maupun softcopy Updating dan query online Penyimpanan data, pencarian kembali dan transfer data KEBUTUHAN NON FUNGSIONAL Kebutuhan Non Fungsional mencakup kebutuhan kinerja dan antar muka: Waktu respon Rata-rata waktu untuk kegagalan Kebutuhan keamanan Akses untuk pengguna yang tidak punya hak. Tahapan analisis Kebutuhan Mempelajari dan memahami persoalan Mengidentifikasi kebutuhan pengguna Mengidentifikasi kebutuhan perangkat lunak Membuat dokumen spesifikasi perangkat lunak Mengkaji ulang kebutuhan Cara nya? Mempelajari Dokumentasi Sistem yang Berjalan Wawancara Quesioner Observasi Brainstorming Validasi kebutuhan-kebutuhan Apakah masing2 kbutuhan konsisten dengan sasaran2 sistem secara keseluruhan? Apakah masing2 kebutuhan memiliki pengusul? Adakah kebutuhan yang saling bertentangan? Apaka masing2 kebutuhan dapat dicapai dalam lingkungan teknis pengembangan? Apakah model kebutuhan telah merefleksikan informasi, fungsi dan prilaku sistem? Apakah kebutuhan2 tersebut memang diperlukan atau hanya fitur tambahan? Apakah masing2 kebutuhan tidak ambigu dan menyatu? Apakakh dapat diuji setelah diimplementasi? Apakah telah dipartisi sehingga dapat menghasilkan informasi rinci dari sistem? Hambatan Deskripsi yang tidak Jelas dan berubah-ubah/ tidak pasti Ketidaklengkapan spesifikasi kebutuhan Fitur yang tidak dibutuhkan Mengembangkan Model Kebutuhan Model kebutuhan bersifat dinamis Model kebutuhan dapat direpresentasikan dengan berbagai metode analisis Berorientasi aliran data : DFD, ERD, STD, structured chart BerorientasiObjek : OOA, OMT, UML Pendekatan Analisis Sistem metode perkembangan sistem dengan menyediakan sistem tambahan yang berupa alat–alat dan teknik– teknik suatu teknik pendekatan baru dalam melihat permasalahan dan sistem (system perangkat lunak, sistem informasi, atau system lainnya). Pendekatan ini memandang sistem yang akan dikembangkan sebagai suatu kumpulan objek-objek dunia nyata. Perbedaan SSAD & OOAD Pendekatan Terstruktur Pendekatan Objek dikenal dengan (Structured Analisys and Design / SSAD) dikenal dengan (Object-oriented Analysis and Design / OOAD) Pendekatan Fungsional Pendekatan Objek dekomposisi permasalahan dilakukan berdasarkan fungsi atau proses secara hirarki, mulai dan konteks sampai proses-proses yang paling kecil dekomposisi permasalahan dilakukan berdasarkan objek-objek yang ada dalam sistem SSAD lebih sulit digunakan dalam pembangunan sistem. OOAD lebih mudah digunakan dalam pembangunan sistem. Pada SSAD tidak fokus pada coding Pada OOAD lebih fokus pada coding Pada SSAD menekankan pada kinerja team Pada OOAD tidak menekankan pada kinerja team Proses Analisis Model Pendekatan Terstruktur Ciri Umum peralatan yang digunakan dalam analisis pendekatan terstruktur adalah bahwa peralatan tersebut didasarkan pada konsep Pohon. Peralatan tersebut diklasifikasikan kedalam kelompok Grafik dan Non Grafik. Contoh: Narasi, Analisis SWOT, Fish Bone Diagram, Rich Picture, Pohon Keputusan, dsb RICH PICTURE Pelanggan menelpon untuk memesan barang Bagian penjualan mencatat pesanan ke dalam SOPB Bagian gudang menyediakan barang dan membuat SBPB Pelanggan membayar barang yang diterima Pelanggan terima barang Pelanggan terima kwitansi sebagai bukti pembayaran Bagian penjualan membuat SJ, FP dan kwitansi Barang dikirim ke pelanggan Proses Analisis Beorientasi Objek Rational Unified Process (RUP) suatu kerangka kerja proses pengembangan perangkat lunak iteratif yang dibuat oleh Rational Software, suatu divisi dari IBM sejak 2003 RUP: Requirement Objectives Membuat dan memelihara perjanjian dengan pelanggan dan stakeholder lain terhadap sistem apa yang harus dilakukan. Berikan pengembang sistem pemahaman yang lebih baik dari persyaratan sistem. Membatasi sistem. Memberikan dasar untuk perencanaan isi teknis dari iterasi. Memberikan dasar untuk memperkirakan biaya dan waktu untuk mengembangkan sistem. Tentukan user interface dari sistem Contoh Kasus (Sistem Informasi Rawat Jalan Poliklinik ABC) Identifikasi Masalah Permasalahan yang terjadi di Poliklinik ABC adalah sebagai berikut: Data-data yang disimpan di poliklinik masih berjalan manual sehingga sering terjadi ksalahan dalam pencatatan dan lama dalam pencarian data, padahal Kebutuhan akan data-data pasien rawat jalan, rekam medis pasien serta dokter yang menangani tiap pasien meningkat 2. Sistem yang dijalankan belum sepenuhnya membantu pekerjaan, karena kebutuhan akan data yang efektif dan efisien serta ada saat dibutuhkan (availability) belum bisa terpenuhi 3. Penyediaan data yang banyak menyebabkan overload data dan informasi kurang 1. Penyimpanan data dalam bentuk kertas atau manual menimbulkan resiko yang cukup besar, seperti kebakaran, rusak atau bencana alam yang bisa mengakibatkan data-data penting itu hilang, sehingga diperlukan sistem yang bisa menyimpan data lebih aman Kebutuhan akan data yang efektif dan efisien serta ada saat dibutuhkan (availability) menjadi alasan utama untuk penyediaan informasi yang akurat • Data yang kurang lengkap menyebabkan informasi pelayanan kesehatan juga kurang, karena data tidak tersusun rapi dan susahnya pencarian data yang mengurangi kurangnya informasi dari data tersebut Dari berbagai alasan yang telah diungkapkan di atas, maka pengembangan Sistem Informasi Rawat Jalan Poliklinik ABC ini dibuat untuk membantu menyelesaikan permasalahan-permasalahan yang muncul. Data yang dibutuhkan Data yang dibutuhkan dalam pengembangan Sistem Informasi ini adalah : Data Pasien : nama pasien, alamat, jenis kelamin, tanggal lahir, agama, golongan darah. Data Dokter : nama dokter, alamat, jenis kelamin, tanggal lahir. Data Obat : nama obat, jenis obat, aturan pakai, harga Data Admin/Petugas : nama petugas, alamat, jenis kelamin, tanggal lahir. Data Pemeriksaan : data pasien, data dokter, keluhan, diagnosa, perlakuan/pemeriksaan, data obat Data Biaya : data pasien, pemeriksaan, total harga obat Kebutuhan fungsional Fungsi dari sistem ini adalah : proses pengelolaan data pasien, meliputi input, update dan delete proses pengelolaan data dokter, meliputi input, update dan delete proses pengelolaan data petugas, meliputi input, update dan delete proses pendaftaran pasien, baik daftar baru maupun pendaftaran untuk periksa dilakukan oleh user petugas proses searching/pencarian data (data pasien, data dokter, data petugas, data pemeriksaan, data obat) proses pemeriksaan, dilakukan oleh user dokter proses pemberian obat, dilakukan oleh petugas untuk diberikan kepada pasien Artefak Tahapan Requirement Use-Case Model Glossary Actors Use Cases ... Supplementary Specification Use-Case Specifications USE CASE MODELLING -functional reqts., analysis phase - what a system does: functions represented as use cases - Actor: external agent that interacts with the system, exchanges info. with the system (user, sub-system, etc.) - a role played by user Note: a use case represents a complete functionality. view of system behavior from an external person’s viewpoint effective tool for validating requirements an effective communication tool basis for a test plan basis for user manual Developing the use cases in not difficult; ensuring that you have them all is murder. Use Case Diagrams Customer Loses a Tape Actor Line: actor communicates with or is associated with use-case Use Case relationships: <<uses>>: one use case always involves the steps of another <<extends>>: under certain conditions, a use case follows a variant Loses a Tape <<extends>> Customer <<uses>> VIP Loses a Tape Customer Buy a Tape Goals of use cases Interactions that provide value to actors No implementation specific language No assumptions about how the use case may be realized in code or user-interface Note: use-cases drive the whole life-cycle, and they get refined – implementation specific use-cases User-appropriate level of detail General at requirements gathering stage User-appropriate volume Large systems: no more than 70-80 use cases Small number of use cases – forces abstraction Use case scenarios a realization of a use case. Instance of an use case that effectively tests one path through a use case To demonstrate whether a use case accurately reflects user needs useful during testing Example: Use case name: Determine benefits eligibility for enrollee Steps: 1. This use case starts when the social worker enters the enrollee’s name and employment situation. 2. This use case ends when the system responds with a determination of whether the enrollee is eligible for benefits and the financial extent of benefits. Alternative path: In step 1, if the enrollee has applied for benefits previously, based on the enrollee’s own disclosure, the social worker enters the enrollee’s name to search for his or her previous records Use case - contoh 1. Pekerja sosial meminta Edward Trueman jika dia telah diterapkan sebelumnya dan / atau menerima keuntungan. Dan Mr Trueman menjawab bahwa ia telah diterapkan sebelumnya. 2. Para pekerja sosial memberikan nama Mr Trueman sebagai kriteria pencarian 3. Sistem ini menyediakan catatan Mr Trueman sebelumnya, yang menyatakan bahwa ia diterapkan untuk manfaat pada 9 Desember 1997, dan bertekad untuk tidak memenuhi syarat pada 9 Desember 1997 karena status kerja paruh waktu saat ini di Boeing Aerospace dalam kapasitas perakitan pekerja. Input KRS Student <<include>> login Bursar’s office Registration Clerk <<Extends>> Prereq courses not completed Student Billing Instructor Use-Case Diagram Extends: extension to or variation of a use-case that exists in its own r Customer Order Food Service Person Applicant Hire Employee Reorder supplies <<uses>> Supplier Manager <<uses>> Track sales and inv. data Produce mgt. reports Uses: factors common behavior amongst multiple use-cases into a generalized use-case.