CCP Systems & Software Engineering 2 — Questions and Answers
Question 1: Which software architecture pattern separates an application into three interconnected components: model, view, and controller?
- Model-View-Controller (MVC) (Correct answer)
- Service-Oriented Architecture (SOA)
- Microservices Architecture
- Layered Architecture
Correct answer: Model-View-Controller (MVC)
MVC separates concerns into the data layer (Model), presentation layer (View), and business logic/input handling (Controller).
Question 2: In software testing, what is the primary purpose of regression testing?
- Verify that new code works correctly
- Ensure previously working functionality still works after changes (Correct answer)
- Test system performance under load
- Validate security vulnerabilities
Correct answer: Ensure previously working functionality still works after changes
Regression testing confirms that recent code changes have not broken previously working features.
Question 3: Which SDLC model delivers working software in short cycles called sprints, typically 1-4 weeks long?
- Waterfall
- Spiral
- Scrum (Agile) (Correct answer)
- V-Model
Correct answer: Scrum (Agile)
Scrum is an Agile framework that organizes work into fixed-length iterations called sprints, enabling rapid delivery.
Question 4: What is the definition of cyclomatic complexity in software engineering?
- A measure of the number of classes in an object-oriented system
- A quantitative measure of the number of linearly independent paths through a program (Correct answer)
- The total number of function calls in a module
- A metric for database query performance
Correct answer: A quantitative measure of the number of linearly independent paths through a program
Cyclomatic complexity measures the number of independent paths through code, used to gauge testing effort and code complexity.
Question 5: Which type of system maintenance involves making changes to a system to keep it usable in a changing environment?
- Corrective maintenance
- Adaptive maintenance (Correct answer)
- Perfective maintenance
- Preventive maintenance
Correct answer: Adaptive maintenance
Adaptive maintenance modifies software to accommodate changes in the operating environment, such as new OS versions or hardware.
Question 6: In the context of software requirements, what distinguishes a functional requirement from a non-functional requirement?
- Functional requirements describe system behavior; non-functional requirements describe quality attributes (Correct answer)
- Functional requirements are optional; non-functional requirements are mandatory
- Functional requirements are written by developers; non-functional requirements by testers
- Functional requirements relate to UI; non-functional requirements relate to databases
Correct answer: Functional requirements describe system behavior; non-functional requirements describe quality attributes
Functional requirements define what the system does (behaviors/functions), while non-functional requirements define how well it does it (performance, security, usability).
Question 7: What does the acronym CASE stand for in software engineering?
- Computer-Aided Software Engineering (Correct answer)
- Centralized Application System Engineering
- Code Analysis and Syntax Evaluation
- Component Architecture and Systems Evaluation
Correct answer: Computer-Aided Software Engineering
CASE (Computer-Aided Software Engineering) refers to tools that automate and assist in software development activities like design, coding, and testing.
Which software architecture pattern separates an application into three interconnected components: model, view, and controller?