requirement fundamental
TRANSCRIPT
Perangkat Lunak Program komputer dan dokumentasi
yang saling berkaitan Dibuat untuk pelanggan tertentu/untuk
pasar umum Produk perangkat lunak tersebut:
Generik – dibuat untuk dijual ke suatu kumpulan pengguna yang berbeda
Bespoke (custom) – dibuat untuk suatu pengguna tunggal sesuai dengan spesifikasinya.
Rekayasa Perangkat Lunak
Disiplin rekayasa yang berkonsentrasi terhadap seluruh aspek produksi perangkat lunak.
Mengadopsi pendekatan : Sistematis dan Terorganisir terhadap
pekerjaannya Menggunakan tool yang sesuai serta
teknik yang ditentukan berdasarkan masalah, kendala pengembangan dan sumber daya yang tersedia
Why SE ?To get the right software
and to make the software right
Complexity of software Domain problem: Business
RuleData size: Digital and Non
DigitalSolution: AlgorithmPlace or Sites
Software Requirement Fundamentals
Chapter 4,10, Sommerville 2011Chapter 1, 6, 12, Wiegers 2003
• Definition of a software requirement
• Product and process requirements
• Functional and NonFunctional Requirements
• Emergent Properties• Quantifiable Requiremnts• System Requirements and
Software Requirements
Definisi Requirement
Requirements system : deskripsi dari apa yang sistem harus lakukan, layanan yang tersedia dan batas operasinya
Requirement mencerminkan kebutuhan customer untuk sistem yang memiliki tujuan tertentu, seperti mengendalikan perangkat, menempatkan pesanan atau mencari informasi
Proces menemukan, menganalisa, mendokumentasikan, memeriksa layanan dan batasannya disebut juga dengan requirements engineering (RE).
Requirement berisi hanya level atas, pernyataan abstrak layanan sistem yang harus tersedia atau batasan sistem.
Requirement berisi detail definisi formal dari fungsi sistem
Tidak digunakan secara konsisten dalam industri software.
Jenis Informasi Requirement (1)
Business Requirement : tujuan tingkat tinggi bisnis organisasi yang membangun produk atau customer yang memperolehnya
Business Rule : kebijakan, pedoman, standar atau regulasi yang membatasi beberapa aspek bisnis.
Constraint : batasan yang dikenakan dalam pilihan yang tersedia bagi pengembang untuk mendesain dan mengkonstruksi produk.
Eksternal Interface Requirement : Gambaran hubungan antara sistem software dan user, sistem software lainnya atau perangkat hardware
Feature : satu atau lebih kapabilitas sistem yang menyediakan nilai bagi user dan dijelaskan oleh suatu set functional requirement.
Jenis Informasi Requirement (2)
Functional Requirement : Gambaran perilaku sistem yang akan ditampilkan dalam kondisi tertentu.
NonFunctional Requirement : Gambaran properti atau karakteristik sistem yang harus ditampilkan atau batasan yang harus dipatuhi.
Quality Attribute : Jenis nonFunctional Requirement yang menggambarkan layanan atau karakteristik performa produk
System Requirement : requirement produk level atas yang berisi beberapa subsistem, bisa jadi seluruh software atau software dan hardware.
User Requirement : tujuan atau tugas spesifik user yang mampu dilakukan dengan sistem atau atribut produk yang diharapkan.
Hubungan antara Beberapa Jenis Requirement Informasi (1)
Business Requiremen
ts
Vission and Scope Document
User Requiremen
ts
System Requireme
nts
Functional Requiremen
ts
User Requirements Document
Software Requirements Specification
External Interfac
es Constraints
Quality Attributes
Business Rules
Hubungan antara Beberapa Jenis Requirement Informasi (2) Dokumen analis bisnis kebutuhan fungsional
dalam software Requirements Spesification (SRS), menggambarkan keseluruhan perilaku penting yang diharapkan dari sistem software
SRS digunakan dalam pengembangan, pengujian, jaminan kualitas, manajemen proyek dan yang berhubungan dengan pekerjaan proyek
SRS mencakup dokumen business requirements, functional spesification, requirement documentdan lainnya.
Standar SRS berdasarkan ISO/IEC/IEEE/2011
User Requirements and System Requirements (1) User requirements pernyataan,
dalam bahasa alami ditambah diagram, layanan sistem apa yang diharapkan tersedia untuk pengguna sistem dan batasan operasinya
System requirements gambaran yang lebih rinci dari fungsi sistem software, layanan, dan batasan operasinya.
Keduanya dibutuhkan untuk mengkomunikasikan informasi mengenai sistem ke jenis pembaca yang berbeda
Pembaca “system requirements” perlu mengetahui lebih presisi apa yang akan sistem lakukan, karena mereka fokus dengan bagaimana sistem akan mendukung proses bisnis atau mereka terlibat di dalam implementasi
sistem
User Requirements and System Requirements (2) – Contoh mental health carepatient management system
Jenis Pembaca
Klasifikasi Software System RequirementsFunctional and non-functional requirements
Functional requirements, (dinyatakan secara eksplisit apa yang tidak dilakukan sistem) pernyataan layanan sistem yang tersedia bagaimana sistem bereaksi terhadap input tertentu bagaimana kelakuan sistem dalam situasi tertentu
Spesifikasi sistem functional requirements harus lengkap (seluruh layanan yang dibutuhkan oleh user didefinisikan) dan konsisten (definisi requirements tidak berlawanan). – praktisnya sulit untuk mencapai requirements lengkap dan konsisten
Non-functional requirements, (berlaku untuk keselurhan sistem) Batasan layanan atau fungsi yang ditawarkan sistem. Mencakup
batas pemilihan waktu, batas pengembangan proses dan batas yang dikenakan oleh standar
Misalnya reliability, respon time, security, performance atau kapabilitas I/O devices, data representation yang digunakan
dalam interface dengan sistem lain
Non-functional Requirements (1)
Menentukan atau membatasi perilaku software
Persyaratan sistem yang luas berasal dari kebijakan dan prosedur dalam organisasi customer dan pengembang.
Mencakup semua persyaratan yang berasal dari faktor eksternal sistem dan proses pengembangannya
Non-functional Requirements (2) - Contoh
Medical staff shall be able to use all the system functions after four hours oftraining. After this training, the average number of errors made by experienced users shall not exceed two per hour of system use.
Dua Kategori Sistem yang Melingkupi Software Technical computer-based systems : sistem yang
mencakup hardware dan komponen software tetapi tidak prosedur dan proses. Contoh televisi, ponsel, dan peralatan lainnya yang tertanam software, PC, game komputer, dll.
Sociotechnical System : termasuk satu/lebih sistem teknis, termasuk orang yang memahami tujuan dari sistem dalam sistem itu sendiri. Proses operasional dan orang (operator) adalah bagian melekat dari sistem. Mereka diatur oleh kebijakan dan peraturan organisasi dan mungkin akan terpengaruh oleh kendala eksternal seperti hukum nasional dan kebijakan regulasi. Sociotechnical systems merupakan sistem enterprise yang ditujukan
untuk membantu menyampaikan tujuan bisnis Pada saat akan mengembangkan sociotechnical systems, perlu untuk
memahami lingkungan organisasi dimana sistem akan digunakan. Jika tidak, sistem mungkin saja tidak sesuai dengan kebutuhan bisnis dan pengguna dan manager mungkin menolak sistem
Faktor Organisasi yang berdampak pada requirements, desain dan operasi Process changes : sistem mungkin mensyaratkan
perubahan proses kerja dalam lingkungannya. Jika ya, maka dibutuhkan pelatihan. Jika perubahan membuat orang kehilangan pekerjaannya, maka pengguna akan menentang pemberlakuan sistem.
Job changes : sistem baru mungkin membutuhkan skill baru atau menyebabkan cara kerja berubah. Jika ya, maka pengguna secara aktif akan menentang pemberlakuan sistem ke dalam organisasi.
Organizational changes : sistem mungkin merubah struktur kekuasaan politis dalam organisasi
Memodelkan Requirements
Data Flow Diagrams (DFDs) Process Flow Diagrams seperti swimlane diagrams State-Transition Diagrams (STDs) dan state tables Dialog maps Decision Tables dan Decision Trees Event-Response tables Feature Trees Use Case Diagrams Activity Diagrams Entity Relationship Diagrams (ERDs)
Dibahas di Analisis dan Perancangan Sistem Informasi
Dua Jenis Emergent Properties
Functional emergent properties : Tujuan sistem hanya muncul setelah komponennya terintegrasi.
Non-functional emergent properties : Berhubungan dengan perilaku sistem dalam lingkungan operasional. Keandalan, kinerja, keselamatan, dan keamanan. Kegagalan untuk mencapai tingkat minimal
yang ditetapkan di properti biasanya membuat sistem tidak dapat digunakan.
Pengembangan Sistem Software
Tujuan dari proses pengembangan sistem adalah untuk mengembangkan atau mengakuisisi seluruh komponen sistem dan kemudian untuk mengintegrasikan komponen-komponennya untuk membuat final sistem.
Proses rekayasa sistem ini berpengaruh penting pada model proses software 'waterfall‘
Enam Aktivitas Pengembangan Sistem (1)
Requirements development : Level atas dan business requirements diidentifikasi harus dikembangkan secara rinci. Requirements mungkin harus dialokasikan untuk hardware, software, atau proces and diprioritaskan untuk implementasi.
System Design : Proses ini saling tumpang tindih dengan proses requirements development. Aktivitas ini melibatkan pembentukan arsitektur keseluruhan sistem, identifikasi komponen sistem yang berbeda dan hubungan di antaranya.
Subsistem Engineering : Mengembangkan komponen software sistem; mengkonfigurasi hardware dan software, merancang, jika diperlukan, hardware tujuan khusus; mendefinisikan proses operasional untuk sistem; dan mendesain ulang proses bisnis yang penting.
Enam Aktivitas Pengembangan Sistem (2) System Integration : Komponen disatukan untuk
menciptakan sistem baru.
System Testing : aktivitas berkepanjangan yang luas dimana masalah ditemukan. Pengujian sistem mungkin melibatkan kedua pengujian oleh pengembang sistem dan pengujian penerimaan/ user oleh organisasi.
System Deployment : Sistem tersedia untuk user, mentransfer data dari sistem yang ada, dan membangun komunikasi dengan sistem lain.