Kelompok 5 : Asdin Ines Lestari Neng Susanti Siti Robiahtul Adawiyah Vena Senja Maba SOFTWARE REQUIREMENTS MJ 183 C Aris Martono,S.Kom,.M.M.S.I
Dasar – Dasar Software Requirements
Definisi software requirement adalah sebuah properti yang harus diperlihatkan /ditunjukkan oleh software untuk menyelesaikan suatu permasalahan yang ada di dunia nyata / bersifat riil. merupakan kombinasi rumit dari kebutuhan berbagai orang di bermacam – macam tingkat organisasi dan lingkungan di mana perangkat lunak akan dioperasikan. properti yang esensial dari semua software requirement adalah harus mampu diperiksa/diverifikasi.
Product and Process requirement Kebutuhan produk adalah requirement pada software untuk dikembangkan (Contohnya “Software harus memeriksa prasyarat mata kuliah yang diambil mahasiswa”) Kebutuhan proses adalah batasan – batasan dalam mengembangkan software. Contohnya pilihan teknik verifikasi. Process requirement juga bisa ditetapkan oleh organisasi pengembang, pelanggan atau pihak ketiga seperti badan regulator.
Teknik Pengumpulan Requirement Dalam menyusun requirement, ada beberapa teknik yang biasa digunakan. Pada uraian berikut kita akan membahas beberapa teknik pengumpulan requiremen yang biasa digunakan. 1. Interview Interview atau wawancara adalah teknik pengumpulan requirement yang paling umum digunakan. Langkah-langkah dasar dalam teknik interview adalah: Memilih target interview. Mendesain pertanyaan-pertanyaan interview. Persiapan interview. Melakukan interview. Follow up hasil interview
Teknik Pengumpulan Requiremen lanjutan 2. Joint Application Development Proses kelompok terstruktur yang terfokus untuk menentukan requiremen, melibatkan tim proyek, pengguna, dan manajemen bekerja bersama- sama, teknik ini sangat berguna untuk mereduksi waktu pengumpulan informasi sampai 50% Pelaku JAD a. Facilitator 1. Terlatih untuk teknik JAD 2. Menyiapkan agenda dan memandu proses kelompok b. Scribe Mencatat isi dari sesi JADc. c. User dan manager dari perusahaan yang akan dibuatSistemnya
Teknik Pengumpulan Requirement Lanjutan 3. Questionnaires (Kuisioner) Kuisioner adalah sekumpulan pertanyaan tertulis, dan sering melibatkan banyak orang. Kuisioner bisa dilakukan paper based atau secara elektonik. Biasanya sampel dipilih untuk mewakili populasi tertentu. 4. Analisis Dokumen Teknik ini dilakukan dengan mempelajari material yang menggambarkan sistem yang sedang berjalan. Biasanya dokumen yang diamati berupa form, laporan, manual kebijakan, grafik organisasi 5. Observasi Teknik ini dilakukan dengan melakukan pengamatan secara langsung pada proses-proses yang sedang berjalan. Hal inipenting karena kadang-kadang user atau manager tidak dapat mengingat secara keseluruhan apa yang mereka lakukan dan menceritakan kembali ke analis.
Requirement fungsional dan nonfungsional Requirements fungsional menjabarkan fungsi – fungsi yang akan dilaksanakan software. Contohnya memformat teks. Kadang – kadang disebut juga sebagai kapabilitas. Requirements non-fungsional memberikan batasan terhadap solusi yang akan dihasilkan. Disebut juga sebagai quality requirement. Requirement jenis ini masih bisa dibagi lagi menjadi performance requirements, maintainability requirements, safety requirements, reliability requirements atau salah satu software requirements lainnya.
Domain requirement Kebutuhan domain ini mendeskripsikan karakteristik domain persoalan yang dihadapi; dan mungkin menjadi ciri khas pada domain tersebut. Kebutuhan domain ini bisa berupa kebutuhan fungsional baru atau menjadi batasan terhadap kebutuhan fungsional yang sudah didefinisikan sebelumnya (kebutuhan non fungsional baru), atau berupa tambahan deskripsi spesifik tentang komputasi yang harus dilakukan. Kebutuhan domain ini juga penting, dan bisa membuat perangkat lunak tidak diterima jika tidak terpenuhi. Seperti apa kebutuhan domain? Contohnya adalah penggunaan istilah yang sudah lama dikenal pada domain, seperti istilah ‘katalog’ pada domain perpustakaan, istilah ‘resep’, ‘racikan’, dll pada domain obat- obatan. Atau warna-warni tombol atau pesan, seperti merah, hijau, biru yang mungkin punya arti tersendiri pada domain tertentu. Atau rumus- rumus tertentu yang harus digunakan untuk komputasi tertentu.
System Requirements, Software Requirements dan user Requirements Dalam topik ini sistem berarti kombinasi dari elemen – elemen yang berinteraksi untuk mencapai suatu tujuan yang terdefinisikan. Ini termasuk hardware, software, firmware, manusia, informasi, tehnik, fasilitas, layanan dan berbagai elemen pendukung lainnya System requirement adalah requirement untuk sistem secara keseluruhan. Dalam sebuah sistem yang mengandung komponen software, software requirement diperoleh dari system requirement. Sesuai dengan tahapan pengembangan sistem Software Development Life Cycle (SDLC) maka sebagai tahap pertama untuk mengembangkan sistem ini adalah melakukan analisis kebutuhan sistem. Dimulai dengan melakukan asesmen kebutuhan user.
Analisis dan Desain model Setelah kebutuhan dikumpulkan, analisis terhadap kebutuhan dilakukan dengan menggunakan beberapa alat (tools) seperti DFD (Data Flow Diagram), ERD (Entity Relationship Diagram) dan STD (State Transition Diagram). Data Dictionary menjadi bekal dasar untuk menganalisis kebutuhan. Data Dictionary berisi gambaran dari semua objek data yang diperlukan dan dihasilkan oleh software nantinya. Diagram-diagram tadi mempunyai karakteristik masing-masing.
Model Desain Data design mengubah informasi menjadi struktur data untuk mengimplementasikan software. Data design dibuat berdasarkan data dictionary dan ERD. Architectural design mendefinisikan relasi antara elemen-elemen structural utama, pola desain yang digunakan untuk mencapai kebutuhan yang ditentukan untuk sistem dan batasan-batasan yang mempengaruhi bagaimana desain arsitektural ini diterapkan.
Konsep Desain Software
Konsep Desain 1. abstraction Abstraction adalah gambaran dari fungsi suatu program. Gambaran ini bias bertingkat-tingkat. Tingkat yang paling atas adalah gambaran suatu fungsi program dengan menggunakan bahasa alami. 2. refinement—penjelasan detil dari abstraction Refinement membantu designer untuk memperlihatkan detil dari lowest level dari abstraction.
Konsep Desain Lanjutan 5. Software procedure Fokus pada detil proses pada tiap modul. Prosedur menjelaskan proses, urutan kejadian, proses perulangan, penentuan keputusan/arah. Ini bisa digambarkan dengan menggunakan Flow Chart yang bertingkat. 6. Information hiding Ide dari information hiding (menyembunyikan informasi) adalah modul dirancang sedemikian rupa sehinga inforamsi (prosedur dan data) yang di dalamnya tidak dapat di akses oleh modul lain yang tidak memerlukannya.
Konsep Desain Lanjutan 3. modularity—membagi software menjadi modul Software dibagi-bagi menjadi beberapa component yang disebut modul- modul. Modul-modul ini nantinya disatukan/diintegrasikan untuk memenuhi kebutuhan sistem. 4. software architecture—struktur software secara keseluruhan struktur hirarki/berjenjang dari modul-modul program. Untuk menggambarkan struktur modul-modul tersebut beberapa model yang ada adalah : framework model : identifikasi pola yang berulang-ulang dynamic model : identifikasi bagaimana konfigurasi sistem berubah karena kejadian-kejadian tertentu process model: fokus pada proses teknis yang harus dikerjakan sistem functional model : menggambarkan hirarki sistem berdasarkan fungsinya
Terima kasih