CCP Systems & Software Engineering 3 — Questions and Answers
Question 1: Which design principle states that software entities should be open for extension but closed for modification?
- Single Responsibility Principle
- Open/Closed Principle (Correct answer)
- Liskov Substitution Principle
- Dependency Inversion Principle
Correct answer: Open/Closed Principle
The Open/Closed Principle (OCP), part of SOLID, means you should be able to add new functionality without altering existing code.
Question 2: In structured systems analysis, what is a Data Flow Diagram (DFD) used for?
- Modeling database schemas
- Illustrating how data moves through a system (Correct answer)
- Designing network topologies
- Documenting test cases
Correct answer: Illustrating how data moves through a system
A DFD graphically represents how data flows through a system, including processes, data stores, external entities, and data flows.
Question 3: What is the key difference between black-box testing and white-box testing?
- Black-box testing uses automated tools; white-box uses manual methods
- Black-box testing examines internal code structure; white-box tests external behavior
- Black-box testing tests external behavior without knowledge of internals; white-box tests internal logic (Correct answer)
- Black-box testing is done by developers; white-box testing by end users
Correct answer: Black-box testing tests external behavior without knowledge of internals; white-box tests internal logic
Black-box testing treats the system as opaque, testing inputs/outputs; white-box testing uses knowledge of the internal implementation to design tests.
Question 4: Which software process model is best suited for large, complex projects with high risk and where requirements are not fully understood upfront?
- Waterfall model
- Spiral model (Correct answer)
- Incremental model
- RAD model
Correct answer: Spiral model
The Spiral model combines iterative development with systematic risk management, making it ideal for large, high-risk projects.
Question 5: In UML, which diagram type is used to show the sequence of messages exchanged between objects over time?
- Class diagram
- Use case diagram
- Sequence diagram (Correct answer)
- State machine diagram
Correct answer: Sequence diagram
A UML sequence diagram shows object interactions arranged in time sequence, illustrating how operations are carried out.
Question 6: What is the primary goal of configuration management in software engineering?
- Optimizing system performance
- Controlling changes to software artifacts and maintaining integrity throughout the lifecycle (Correct answer)
- Managing end-user configurations
- Scheduling software releases
Correct answer: Controlling changes to software artifacts and maintaining integrity throughout the lifecycle
Configuration management (CM) ensures that changes to software are tracked, controlled, and that product integrity is maintained.
Question 7: Which coupling type is considered the most desirable in software design?
- Content coupling
- Common coupling
- Data coupling (Correct answer)
- Control coupling
Correct answer: Data coupling
Data coupling, where modules share only necessary data through parameters, is the most desirable as it minimizes dependencies between modules.
Which design principle states that software entities should be open for extension but closed for modification?