Multiple Choice Questions
1. Software is defined as ___________
a) Set of programs, documentation & configuration of data
b) Set of programs
c) Documentation and configuration of data
d) None of the mentioned
2. What is Software Engineering?
a) Designing a software
b) Testing a software
c) Application of engineering principles to the design a software
d) None of the above
3. __________ is not suitable for accommodating any change?
a) RAD Model
b) Waterfall Model
c) Build & Fix Model
d) Prototyping Model
4. Which of the following property doesn't correspond to a good Software Requirements Specification (SRS)?
a) Verifiable
b) Ambiguous
c) Complete
d) Traceable
5. Which of the following is included in SRS?
a) Cost
b) Design Constratints
c) Staffing
d) Delivery Schedule
6. "Consider a system, where a heat sensor detects an intrusion and alerts the security company." What kind of requirement specification is this?
a) Functional
b) Non-functional
7. System Requirement is written for ______________ (User/Developer).
8. Which one of the following is NOT desired in a good SRS document?
a) Functional Requirements
b) Non-functional Requirements
c) Goals of Implementation
d) Algorithms for Software Implementation
9. What is the appropriate pairing of items in the two columns listing various activities encountered in a software life cycle?
P. Requirements Capture 1. Module Development and Integration
Q. Design 2. Domain Analysis
R. Implementation 3. Structural and Behavioral Modeling
S. Maintenance 4. Performance Tuning
a) P-3, Q-2, R-4, S-1
b) P-2, Q-3, R-1, S-R
c) P-3, Q-2, R-1, S-4
d) P-2, Q-3, R-4, S-1
10. In the content of modular software design, which one of the following combination is desirable?
a) High cohesion and High coupling
b) High cohesion and Low coupling
c) Low cohesion and High coupling
d) Low cohesion and Low coupling
is the manner and degree of interdependence between software modules.
Cohesionrefers to the degree to which the elements of a module belong together. In a good software design, it is always desirable to have less interaction among modules (Low coupling). Advantages of high cohesion (or “strong cohesion”) are: 1) Reduced module complexity (they are simpler, having fewer operations). 2) Increased system maintainability, because logical changes in the domain affect fewer modules, and because changes in one module require fewer changes in other modules. 3) Increased module reusability, because application developers will find the component they need more easily among the cohesive set of operations provided by the module.