This quiz topics include the purpose of context models, how system boundaries are defined, why boundary definition is not value-free, the difference between context models and process models, UML activity diagram notation (activities, start/end nodes, solid bars, guards, stereotypes), and how activity diagrams extend context models to show business processes
This comprehensive review quiz covers all major topics from the chapter: the definition and scope of requirements engineering, user vs. system requirements, functional vs. non-functional requirements and their classification, the software requirements document structure, requirements specification notations, the RE process spiral, elicitation techniques (interviewing, scenarios, use cases, ethnography), requirements validation checks and techniques, and requirements management including change management. Use this quiz to consolidate your understanding of the entire chapter
This quiz tests your ability to apply requirements engineering concepts to practical scenarios, including identifying and classifying requirement types, detecting ambiguities in real requirement statements, writing testable non-functional requirements, writing structured user requirements, understanding use cases, review processes, emergency change handling, and professional ethics in requirements work
This quiz covers why requirements always change, the concept of enduring vs. volatile requirements, the definition and purpose of requirements management, requirements management planning (identification, change process, traceability policies, tool support), and the three-stage requirements change management process (problem analysis, change analysis and costing, change implementation) — including how agile processes handle requirements changes differently
This quiz covers the purpose and importance of requirements validation, why requirements errors are especially costly, the five types of checks performed during validation (validity, consistency, completeness, realism, verifiability), the three main validation techniques (requirements reviews, prototyping, test-case generation), and why complete validation is inherently difficult
This quiz covers the four-step elicitation and analysis cycle, stakeholders and their identification, the challenges of eliciting requirements, and the four main discovery techniques: requirements discovery (viewpoints), interviewing, scenarios, use cases, and ethnography - including their strengths, limitations, and how they complement each other
This quiz covers the four high-level RE activities (feasibility study, elicitation and analysis, specification, validation), why RE is iterative rather than sequential, the spiral model of the RE process, the role of feasibility studies, structured analysis methods, and requirements management
This quiz covers the goals of requirements specification, why design information sometimes appears in requirements, the five main notations for writing requirements (natural language, structured natural language, design description languages, graphical notations, mathematical specifications), guidelines for natural language specification, and the structured form-based approach with its required fields
This quiz covers the purpose and nature of the Software Requirements Specification (SRS), its diverse users and how each uses it, the level of detail required in different contexts, the standard structure of a requirements document based on the IEEE standard, and the debate between traditional requirements documents and agile approaches
This quiz covers the distinction between functional and non-functional requirements, the three categories of non-functional requirements (product, organizational, external), how to write testable non-functional requirements, metrics for measuring system properties, and the concept of requirements completeness and consistency
Covering: why rapid delivery often matters more than functionality, how agile principles accelerate development, when to recommend against agile, user stories as requirements (advantages and disadvantages), test-first development understanding and difficulties, pair programming productivity, Scrum vs plan-driven management across four dimensions, development strategies for critical software, preventing customer representatives from 'going native', and remote work conflicts with agile methods
A comprehensive review of the agile software development, covering all fundamental knowledge areas: the Agile Manifesto and principles, agile method problems and limitations, plan-driven vs agile development, XP practices and release cycle, testing in XP and test-first development, pair programming, Scrum and agile project management, and scaling agile methods
Covering why scaling agile is important, the two scaling perspectives (scaling up vs scaling out), six ways large systems differ from small, three critical adaptations for large systems, brownfield systems, four reasons agile is difficult to introduce in large companies, conflicts with change management and testing standards, the most enthusiastic agile adopters, and agile introduction as cultural change
Covering why plan-driven management doesn't suit agile, Scrum's focus and scope, the three Scrum phases, sprints, the product backlog, the Scrum master role, team isolation during sprints, daily stand-up meetings, five advantages of Scrum, and Scrum's original co-located team design versus distributed development
Covering what pair programming is, its three advantages, egoless programming, pair programming vs formal code inspections, how pair programming supports refactoring, productivity findings from both student and experienced programmer studies, the critical value of knowledge sharing, and the dynamic nature of pair assignment
Covering XP's four key testing features, test-first development, the benefits of writing tests before code, customer role in acceptance testing, automated testing frameworks, three reasons test-first doesn't guarantee thorough testing, build acceptance rules, and how user stories relate to tasks and test cases
Covering XP's origin, the XP release cycle, requirements as user stories, key XP practices, the on-site customer, story cards and the planning game, release deadline handling, XP's rejection of designing for change, refactoring, and which practices are most commonly adopted in practice
Covering how agile and plan-driven approaches differ in their treatment of design/implementation, how iteration works in each, whether plan-driven can support incremental delivery, the documentation spike, and the ten factors for choosing between the two approaches
Covering the practical difficulties of applying agile principles, the contract problem, time-based contracts and their risks, agile and software maintenance (maintainability, team continuity, customer involvement), and the balanced view of agile methods' shortcomings
Covering why rapid development became critical, why stable requirements are hard to achieve, the four values of the Agile Manifesto, the five principles of agile methods, what agile methods are best suited for, and how agile minimises documentation
A comprehensive review of software processes, covering all fundamental knowledge areas: the three generic process models (waterfall, incremental, reuse-oriented), the four process activities (specification, design and implementation, validation, evolution), coping with change (prototyping, incremental delivery, Boehm's spiral model), and the Rational Unified Process.
Covering the six RUP best practices recommended by the practice perspective, the nine core and supporting workflows of the static perspective, and the key innovations that distinguish the RUP from other process models
Covering the four phases of the Rational Unified Process: their goals, outputs, order, the distinction between phases and process activities, the three RUP perspectives, and how iteration is supported within and across phases.
Covering the risk-driven spiral model, its four loop sectors, how development models are chosen per phase, and how it combines change avoidance with change tolerance
Software validation or, more generally, verification and validation (V&V) is intended to show that a system both conforms to its specification and that it meets the expectations of the system customer
A software design is a description of the structure of the software to be implemented. The implementation stage of software development is the process of converting a system specification into an executable system.