FI:PV258 SW Requirements Engineering - Informace o předmětu
PV258 Software Requirements Engineering
Fakulta informatikyjaro 2025
- Rozsah
- 2/0/0. 2 kr. (plus ukončení). Ukončení: zk.
Vyučováno kontaktně - Vyučující
- Bruno Rossi, PhD (přednášející)
Radmila Čermáková (pomocník) - Garance
- Bruno Rossi, PhD
Katedra počítačových systémů a komunikací – Fakulta informatiky
Dodavatelské pracoviště: Katedra počítačových systémů a komunikací – Fakulta informatiky - Předpoklady
- No prerequisites are compulsory. The students are expected to have an understanding of software development models and different UML diagram types (as taught in the PB007 Software Engineering course). The course is taught entirely in the English language.
- Omezení zápisu do předmětu
- Předmět je nabízen i studentům mimo mateřské obory.
Předmět si smí zapsat nejvýše 40 stud.
Momentální stav registrace a zápisu: zapsáno: 0/40, pouze zareg.: 39/40, pouze zareg. s předností (mateřské obory): 32/40 - Mateřské obory/plány
- předmět má 39 mateřských oborů, zobrazit
- Cíle předmětu
- Objectives of the course are to:
provide an overview of different Software Requirements types (functional vs non-functional (quality), constraints, business requirements, business rules, user and system requirements);
explain the Software Requirements Process (ISO/IEC/IEEE 29148 Standard for Requirements Engineering) also in agile contexts;
provide the instruments for the definition of user requirements;
model Non-Functional Requirements (NFR);
describe different software requirements elicitation modalities;
provide approaches for requirements analysis and verification & validation;
provide approaches to manage requirements prioritization;
describe the software architecture and the relevance in the context of software requirements.
describe how to decompose system models: abstraction, & different system views for the definition of the software architecture from the requirements; - Výstupy z učení
- At the end of the course students will:
have a clear understanding about processes, tools and techniques used in requirements engineering;
understand the concepts of software requirements elicitation, modelling, validation and verification;
be able to model software requirements rigorously according to the latest requirements engineering standards;
be able to conduct a prioritization process for software requirements according to different approaches;
be able to make a reasoned choice about the best approach for requirements modelling given the context of a project;
be able to proper manage requirements and their quality concerns;
understand the differences between different requirements modelling approaches (agile and non-agile);
be able to generate and maintain a software requirements specification document - Osnova
- Software Requirements types (functional vs non-functional, constraints, business requirements, business rules, user and system requirements);
- The Software Requirements Process (ISO/IEC/IEEE 29148 Standard for Requirements Engineering);
- Business Requirements: vision, scope, context diagram, ecosystem maps, events lists, feature trees, the goal-design scale;
- User Requirements: User Stories & Use cases modelling. Best ways to derive user requirements;
- Requirements elicitation modalities: stakeholders Analysis, design/brainstorming workshops, prototyping, pilot experiments, cost/benefit & risk analysis: event storming technique;
- Requirements analysis. (C)lass (R)esponsability (C)ollaborators cards. Linking Requirements to UML Analysis Models, usage of C4 Modelling. Object Constraint Language (OCL). Adoption of Domain Driven Design: tactical vs strategical level;
- Requirements Verification & Validation: Consistency checks, CRUD checks, Acceptance Testing. Generation of Acceptance Criteria;
- Managing requirements prioritization. Analytic Hierarchy (AHP) process, Software Quality Deployment Function (SQFD), the Agile Planning Game;
- Adoption of Generative AI in Software Requirements Engineering: patterns for prompts, approaches according to different RE phases, benefits/drawbacks, and potential threats;
- Emergence of the software architecture from requirements. Decomposing system models: abstraction, & different system views. The Attribute-Driven Design (ADD) Method;
- Modelling Non-Functional Requirements (NFR): SQuaRE (Software product Quality Requirements and Evaluation) & ISO/IEC 9126 & 25010;
- Literatura
- doporučená literatura
- Wiegers, K. E., & Beatty, J. (2013). Software Requirements. Pearson Education. ISBN-13: 9780735679627
- Meyer, B. (2022). Handbook of Requirements and Business Analysis. Cham: Springer. ISBN: 978-3031067389
- BASS, Len, Paul CLEMENTS a Rick KAZMAN. Software architecture in practice. 2nd ed. Boston: Addison-Wesley, 2003, xxii, 528. ISBN 0321154959. info
- Vernon, V. (2013). Implementing domain-driven design. Addison-Wesley. ISBN: 978-0321834577
- Výukové metody
- Frontal lectures. Students will be requested to develop a platform in teams with the support of Generative AI to identify weaknesses and revise a large set of provided software requirements specifications (two domains). Students will be requested to discuss the benefits and limitations of their platform in all phases of the RE process.
- Metody hodnocení
- 100 minutes examination with questions about the material seen during the course.
- Vyučovací jazyk
- Angličtina
- Další komentáře
- Předmět je vyučován každoročně.
Výuka probíhá každý týden.
- Statistika zápisu (nejnovější)
- Permalink: https://is.muni.cz/predmet/fi/jaro2025/PV258