Software process models: lifecycle and agile models, component-based and aspect-oriented development. - Question Bank

1. Which Agile practice involves frequent, automated builds and tests to detect integration errors early?
A) Pair Programming
B) Continuous Integration
C) Test-Driven Development
D) Daily Stand-up
2. What is the primary goal of the 'Evaluation' phase in the Spiral model?
A) To develop the software
B) To analyze risks
C) To assess the results of the engineering phase and plan the next iteration
D) To gather initial requirements
3. In Aspect-Oriented Development, what is 'join point'?
A) The point where an aspect is defined
B) A potential point during the execution of a program, such as method execution or exception handling
C) The final compiled code
D) A reusable component interface
4. Which process model explicitly addresses risks at each iteration?
A) Waterfall Model
B) V-Model
C) Agile Model
D) Spiral Model
5. What is the key benefit of using 'User Stories' in Agile development?
A) They provide detailed technical specifications
B) They focus on the business value from the user's perspective
C) They are used for long-term project planning
D) They replace the need for testing
6. Component-based development promotes:
A) Monolithic architectures
B) Code reuse and modularity
C) High coupling between modules
D) Limited flexibility
7. Which of the following is a characteristic of RAD (Rapid Application Development)?
A) Extensive upfront planning and design
B) Minimal user involvement
C) Iterative development with rapid prototyping
D) A focus on comprehensive documentation
8. In Scrum, what is a 'Sprint Retrospective'?
A) A meeting to plan the next sprint's features
B) A meeting where the team inspects the product increment
C) A meeting where the team inspects itself and creates a plan for improvements
D) A meeting to onboard new team members
9. What does 'AspectJ' provide in the context of Aspect-Oriented Programming?
A) A component management framework
B) A set of Agile project management tools
C) An extension to Java that supports aspects
D) A tool for code generation in the Waterfall model
10. What is the main difference between Verification and Validation in the V-Model?
A) Verification checks if requirements are met; Validation checks if built correctly.
B) Verification checks if built correctly; Validation checks if requirements are met.
C) Verification is for design; Validation is for coding.
D) There is no difference; they are synonyms.
11. Which model emphasizes prototyping and is suitable for projects with unclear requirements?
A) Waterfall Model
B) V-Model
C) RAD Model
D) Spiral Model
12. What is the role of a 'Scrum Master'?
A) To define the product features
B) To lead the development team technically
C) To ensure Scrum is understood and enacted, and to help the Scrum Team operate effectively
D) To manage project budgets
13. Which Agile practice involves releasing working software frequently, perhaps every few weeks?
A) Long-term planning
B) Iterative delivery
C) Comprehensive documentation
D) Fixed scope contracts
14. What is a 'Product Owner' responsible for in Scrum?
A) Managing the development team
B) Ensuring the product is built correctly
C) Maximizing the value of the product resulting from the work of the Development Team, primarily by managing the Product Backlog
D) Facilitating Scrum events
15. In component-based development, what is a key challenge?
A) Ensuring component compatibility and managing dependencies
B) Lack of reusable components
C) Difficulty in understanding core logic
D) Over-documentation
16. Which of the following best describes 'Aspect-Oriented Development'?
A) Developing software based on a rigid, sequential plan
B) Building systems from independent, reusable components
C) Separating and composing cross-cutting concerns from core functionality
D) Iteratively delivering working software with frequent feedback
17. What is the primary goal of Continuous Integration (CI) in Agile development?
A) To delay integration until the end of the project
B) To integrate code changes from multiple developers into a shared repository frequently
C) To perform extensive manual testing
D) To finalize documentation
18. In the V-Model, the 'Verification' aspect refers to:
A) Checking if the software meets user needs
B) Checking if the software is built correctly
C) Designing the architecture
D) Deploying the software
19. Which software process model is most suitable for large, complex, and high-risk projects?
A) Waterfall Model
B) Agile Model
C) Spiral Model
D) V-Model
20. The concept of 'Weaving' in Aspect-Oriented Programming refers to:
A) Creating new components
B) Combining aspects with the base code at compile-time or run-time
C) Writing unit tests
D) Designing the user interface
21. What is the purpose of a 'Sprint Review' in Scrum?
A) To plan the next sprint
B) To inspect the Increment and adapt the Product Backlog if needed
C) To conduct team-building activities
D) To resolve technical debt
22. Which Agile methodology focuses on visualizing workflow and limiting work in progress?
A) Scrum
B) Extreme Programming (XP)
C) Kanban
D) Lean Software Development
23. What is the 'Sprint Backlog' in Scrum?
A) The entire product backlog
B) A subset of the product backlog selected for a sprint, plus the plan for delivering them
C) A list of completed user stories
D) A historical record of all past sprints
24. In component-based development, what ensures that components can be easily integrated?
A) Standardized interfaces
B) Complex interdependencies
C) Proprietary communication protocols
D) Manual code integration
25. Which of the following is a characteristic of Aspect-Oriented Development?
A) Encapsulation of core business logic
B) Separation of cross-cutting concerns
C) Sequential development phases
D) Heavy emphasis on documentation
26. What is the primary focus of the 'Engineering' phase in the Spiral model?
A) Requirement gathering
B) Prototyping and development
C) Risk assessment
D) Customer feedback collection
27. Which model is best suited for projects where requirements are well-defined and unlikely to change?
A) Agile Model
B) Spiral Model
C) Waterfall Model
D) RAD Model
28. What is a 'Product Backlog' in Scrum?
A) A list of tasks for the current sprint
B) A prioritized list of all features, requirements, and fixes needed for the product
C) A report on team velocity
D) A record of sprint retrospectives
29. The Rational Unified Process (RUP) is often described as a:
A) Purely Agile methodology
B) Heavyweight Waterfall model
C) Iterative and incremental framework
D) Component-based architecture
30. What is the main objective of 'Refactoring' in XP?
A) Adding new features
B) Improving the internal structure of the code without changing its external behavior
C) Fixing bugs discovered during testing
D) Designing the user interface
31. Which of the following is NOT a core Agile principle?
A) Working software over comprehensive documentation
B) Customer collaboration over contract negotiation
C) Responding to change over following a plan
D) Thorough design and documentation over working software
32. In the context of component-based development, what is a 'component'?
A) A single function or procedure
B) A self-contained unit of software with well-defined interfaces
C) A database table
D) A user interface element
33. What is the purpose of a Daily Scrum meeting?
A) To plan the entire sprint
B) To review the product backlog
C) To synchronize team activities and create a plan for the next 24 hours
D) To demonstrate the completed work to stakeholders
34. Which Agile practice involves two developers working together at one workstation?
A) Continuous Integration
B) Daily Stand-up
C) Pair Programming
D) Retrospective
35. What is the main characteristic of the Incremental model?
A) Developing the entire system at once
B) Delivering the software in small, functional pieces
C) Focusing solely on documentation
D) Using a single, large development cycle
36. Which phase in the Spiral model is dedicated to risk analysis?
A) Planning
B) Risk Analysis
C) Engineering
D) Evaluation
37. The Spiral model combines elements of which two other models?
A) Waterfall and Incremental
B) Agile and V-Model
C) Iterative and Incremental
D) Waterfall and Iterative
38. What is the primary advantage of Aspect-Oriented Development?
A) Simplification of core logic
B) Improved separation of concerns
C) Elimination of testing
D) Reduced need for documentation
39. In Aspect-Oriented Programming, what is an 'aspect'?
A) A core functional unit of the system
B) A module that encapsulates a cross-cutting concern
C) A single line of code
D) A database table definition
40. Aspect-Oriented Development (AOD) aims to modularize cross-cutting concerns such as:
A) Core business logic
B) User interface design
C) Logging, security, and transaction management
D) Database schema definition
41. Which of the following is a key benefit of component-based development?
A) Increased complexity
B) Reduced reusability
C) Faster development time
D) Higher risk of integration issues
42. Component-based development focuses on building systems by assembling:
A) Individual lines of code
B) Pre-built, reusable software components
C) Large, monolithic modules
D) Complex architectural blueprints
43. What does the 'M' in the RAD (Rapid Application Development) model stand for?
A) Management
B) Methodology
C) Model
D) Maintenance
44. In Extreme Programming (XP), what practice involves developing tests before writing code?
A) Pair Programming
B) Continuous Integration
C) Test-Driven Development (TDD)
D) Refactoring
45. Which Agile model uses short, time-boxed iterations called 'Sprints'?
A) Extreme Programming (XP)
B) Scrum
C) Kanban
D) Lean Software Development
46. What is the primary goal of a 'Sprint' in Scrum?
A) To define all project requirements
B) To deliver a potentially shippable product increment
C) To conduct long-term architectural design
D) To perform extensive user acceptance testing
47. Scrum is a popular framework within which software development methodology?
A) Waterfall
B) Agile
C) Spiral
D) V-Model
48. Which of the following is a key principle of Agile software development?
A) Comprehensive documentation
B) Following a strict plan
C) Responding to change
D) Fixed scope and timeline
49. The V-Model is an extension of which other process model?
A) Iterative Model
B) Spiral Model
C) Waterfall Model
D) Incremental Model
50. In the Waterfall model, which phase follows the Design phase?
A) Requirements
B) Coding
C) Testing
D) Deployment