Teknik Informatika S1 Software Requirement Engineering Requirement Classification Disusun Oleh: Egia Rosi Subhiyakto, M.Kom, M.CS Teknik Informatika UDINUS egia@dsn.dinus.ac.id +6285740278021
SILABUS MATA KULIAH 1. Requirement Engineering 2. Requirement Elicitation 3. Specification of Requirement Models 4. Requirement Prioritization 5. Requirement Interdependencies: State of the Art and Future 6. Impact Analysis 7. Requirement Negotiation 8. Quality Assurance in Requirement Engineering
SOFTWARE REQUIREMENT ENGINEERING 1. Requirement Classification 2. Kapan kita memodelkan kebutuhan? 3. Skenario dasar Requirement Engineering 4. Peran Stakeholders dalam Requirement Engineering 5. Perbedaan Levels dalam kebutuhan 6. Mengelola kebutuhan
Pengertian Requirement A condition or capability needed by a user to solve a problem or achieve an objective. IEEE 610.12-1990 Standard
Pengertian Requirement A condition or capability needed by a user to solve a problem or achieve an objective. Kondisi atau kapabilitas yang dibutuhkan oleh pengguna untuk menyelesaikan masalah atau mendapatkan tujuan IEEE 610.12-1990 Standard
Pengertian Requirement Engineering Requirement Engineering adalah Proses dimana persyaratan untuk produk perangkat lunak dikumpulkan, dianalisis, didokumentasikan, dan dikelola di seluruh siklus hidup rekayasa perangkat lunak.
Requirement Classifications Functional versus Non Functional
Requirement Classifications Functional versus Non Functional 1. Kebutuhan fungsional Menunjukkan What the system should do. Menunjukkan fasilitas apa yang dibutuhkan serta aktivitas apa saja yang terjadi dalam sistem baru.
Requirement Classifications Functional versus Non Functional 1. Kebutuhan fungsional Kebutuhan fungsional mencakup: * Fungsi deskripsi kebutuhan * Laporan baik hardcopy maupun softcopy * Updating dan query online * Penyimpanan data, pencarian kembali dan transfer data
Requirement Classifications Functional versus Non Functional 1. Kebutuhan fungsional Contoh: dalam sistem informasi akademik Mahasiswa dapat melakukan input KRS
Requirement Classifications Functional versus Non Functional 1. Kebutuhan Non fungsional Kebutuhan yang mencakup: * Waktu respon * Rata-rata waktu untuk kegagalan * Kebutuhan keamanan * Akses untuk pengguna yang tidak punya hak
Requirement Classifications Functional versus Non Functional 1. Kebutuhan Non fungsional Contoh: Website harus easy to access, easy to use, easy to understand dan menjamin keamanan data member dari orang yang tidak bertanggungjawab.
Requirement Classifications Functional versus Non Functional Functional Requirements What the system should do Non functional Requirements Constraints on the types of solutions that will meet the functional requirements e.g. Accuracy, Performance, Security, and Modifiability
Requirement Classifications Primary requirements elicited from stakeholders
Requirement Classifications Primary requirements elicited from stakeholders Requirements yang didapatkan langsung dari client/ pihak yang berkepentingan.
Requirement Classifications Derived requirements derived from primary requirements
Requirement Classifications Derived requirements derived from primary requirements Diperoleh dari kebutuhan primer sebelumnya, biasanya bersifat turunan/ tambahan secara detail dari kebutuhan primer yang ada
Other Classifications, e.g. Requirement Classifications Role based requirements Contoh: Customer requirements, IT requirements, system requirements, and security requirements
Requirement Engineering Process Requirements engineering melibatkan semua siklus hiduo aktivitas yang berhubungan dengan kebutuhan. Meliputi: Gathering Mengumpulkan data kebutuhan Documenting Dokumentasi Managing requirements Mengatur/ memanage kebutuhan yang sudah dikumpulkan
Skenario dasar Requirement Engineering The User point of view Actor C Requirements Collection Actor A Actor B Setiap aktor mempunyai perspektif/ pandangan yang berbeda bagaimana menggunakan sistem
Skenario dasar Requirement Engineering Actor C The User point of view System Requirements Collection Scenario 1 Actor A Actor B Actor A Scenario Actor B Setiap aktor mempunyai perspektif/ pandangan yang berbeda bagaimana menggunakan sistem Menggambarkan bagaimana setiap aktor harus seperti apa berinteraksi dengan sistem
Peran Stakeholders dalam Requirement Engineering In essence, requirements engineering aims to transform potentially incomplete, inconsistent and conflicting stakeholder goals into a complete set of high quality requirements.
Product Managers, Termasuk user dan administrator dari sisi klien. Typical stakeholders Software team members dari sisi pembuat software.
Requirements Engineering Salah satu masalah utama dalam Requirement Engineering adalah mengelola berbagai jenis inkonsistensi yang dihasilkan dari requirements elicitation, modeling, specification, and prioritization activities.
Requirements Engineering Inkonsistensi menjadi sangat jelas ketika ada beberapa pemangku kepentingan dan sudut pandang Karena para pemangku kepentingan yang berbeda memiliki berbagai cara untuk mengekspresikan diri mereka dan pendapat yang berbeda serta memiliki prioritas.
Requirements Engineering Keberhasilan proyek rekayasa kebutuhan tergantung pada analisis yang akurat dari perspektif untuk ketidaklengkapan dan inkonsistensi. Kebutuhan perlu dinegosiasikan dan divalidasi sebelum mereka didokumentasikan dan pengembang berkomitmen untuk menerapkannya
Different Levels of Requirements Strategic Management Tactical Management Operational Management Requirements at organizational level *Business strategy *Competitiveness *Technology * Marketing *Economic value of the product * Planned benefits of the product * Tradeoff between technology-push and market-pull Requirements at product level * Packaging requirements for a specific release * Product architectures * Resource management *Implementation of a specific release *Change management * Requirements volatility e.g. whether a particular requirement is subject to a syntactic or semantic change Requirements at project level *Project planning *Feasibility study *Recruiting people * Project management * Quality control *Validation in terms of which requirements will go to the next release
Requirements Management 1. Requirements Elicitation, Specification and Modeling 2. Prioritization 3. Requirements Dependencies and Impact Analysis 4. Requirements Negotiation 5. Quality Assurance
Requirements Management Requirements Elicitation, Specification and Modeling Ini melibatkan memahami kebutuhan para pemangku kepentingan, memunculkan kebutuhan, pemodelan dan mengumpulkan mereka dalam repositori.
Requirements Management 2. Prioritization Kegiatan ini membantu manajer proyek dengan menyelesaikan konflik (di mana pelanggan dan pengembang berkolaborasi pada prioritas kebutuhan), rencana pengiriman bertahap, dan membuat keputusan yang diperlukan.
Requirements Management 3. Requirements Dependencies and Impact Analysis Hal ini penting untuk mengakui bahwa perubahan kebutuhan dan ini secara signifikan dapat mempengaruhi proyek software.
4. Requirements Negotiation Requirements Management Rekayasa kebutuhan dasarnya adalah komunikasi dan proses negosiasi kompleks yang melibatkan pelanggan, desainer, manajer proyek dan pengelola. Orang-orang, atau pemangku kepentingan, yang terlibat dalam proses bertanggung jawab untuk memutuskan apa yang harus dilakukan, kapan melakukannya, informasi apa yang dibutuhkan, dan apa alat yang perlu digunakan.
Requirements Management 5. Quality Assurance Tujuannya adalah untuk memastikan bahwa kebutuhan kualitas tinggi dicatat dalam dokumen spesifikasi. Tujuan dari jaminan kualitas adalah untuk menetapkan tingkat yang wajar dan realistis saat menyusun dan mengelola persyaratan.
TERIMA KASIH