requirement fundamental

26
Software Requirement Oleh: Dini Hamidin

Upload: independent

Post on 27-Nov-2023

1 views

Category:

Documents


0 download

TRANSCRIPT

Software Requirement

Oleh:Dini Hamidin

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

Misconception

Perencanaan vs Implementasi

Why SE ? (2)

Software must be correctSoftware correctness have to be

maintained

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) - Matriks spesifikasi non-functional requirements

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.