model-questions
MID-EXAM: Systems Analysis and Design II (Chapters
1–4)
Section A: Multiple Choice Questions (30 questions – 1
mark each)
Choose the best answer.
1. Which paradigm organizes a program around procedures or functions?
a) Object-Oriented Programming
b) Structured Programming
c) Functional Programming
d) Event-Driven Programming
Answer: b
2. In object-oriented programming, what do we call an instantiation of a class?
a) Method
b) Attribute
c) Object
d) Message
Answer: c
3. Which of the following is NOT a characteristic of the structured (procedural) paradigm?
a) Data and behavior are separate
b) Uses top-down design
c) Data is encapsulated inside objects
d) Global data is shared between functions
Answer: c
4. What is a major disadvantage of structured programming regarding data security?
a) Too much memory usage
b) Data is exposed and less secure
c) Cannot use functions
d) No built-in data types
Answer: b
5. Which OOP concept allows a child class to reuse features from a parent class?
a) Polymorphism
b) Encapsulation
c) Inheritance
d) Abstraction
Answer: c
6. Encapsulation in OOP means:
a) Showing only essential features
b) Combining data and methods into a single unit and controlling access
c) Allowing many forms of a method
d) Hiding all methods from other classes
Answer: b
7. Which principle focuses on "what to show" to simplify complexity?
a) Information Hiding
b) Encapsulation
c) Polymorphism
d) Abstraction
Answer: d
8. Information hiding means:
a) Showing all internal details to users
b) Protecting internal implementation details from other parts of the system
c) Allowing direct access to all attributes
d) Combining data and methods
Answer: b
9. The ability of a method to do different things based on the object it acts upon is called:
a) Inheritance
b) Polymorphism
c) Encapsulation
d) Abstraction
Answer: b
10. When a subclass redefines a method from its superclass, this is called:
a) Method overloading
b) Method overriding
c) Method hiding
d) Method encapsulation
Answer: b
11. Method overloading means:
a) Same method name with different parameters
b) Subclass changing parent method behavior
c) Hiding method implementation
d) A method calling itself
Answer: a
12. A relationship where objects are connected but independent (e.g., Doctor treats Patient)
is called:
a) Aggregation
b) Composition
c) Association
d) Inheritance
Answer: c
13. The "HAS-A" relationship where one object contains another but the contained object
can exist independently is:
a) Association
b) Aggregation
c) Composition
d) Collaboration
Answer: b
14. Which type of coupling is desirable for easy maintenance?
a) High coupling
b) Tight coupling
c) Loose coupling
d) No coupling
Answer: c
15. The ability of an object to outlive the program that created it is called:
a) Serialization
b) Persistence
c) Storage
d) Inheritance
Answer: b
16. A self-contained, reusable part of a system that exposes an interface and hides internal
working is a:
a) Class
b) Component
c) Object
d) Pattern
Answer: b
17. Which design pattern ensures only one object is created and reused everywhere?
a) Factory
b) Builder
c) Singleton
d) Observer
Answer: c
18. The Unified Process (UP) is associated with which development methodology?
a) Waterfall
b) Spiral
c) RAD or Agile
d) V-Model
Answer: c
19. Which phase of the Unified Process focuses on business modeling, requirements, and
feasibility?
a) Elaboration
b) Construction
c) Inception
d) Transition
Answer: c
20. Which UP phase delivers a system version for beta/acceptance testing?
a) Inception
b) Elaboration
c) Construction
d) Transition
Answer: c
21. In use-case driven development, what describes user interaction with the system?
a) Class diagram
b) Use case
c) Activity diagram
d) Sequence diagram
Answer: b
22. Which is NOT a core principle of OOSAD mentioned in Chapter 1?
a) Use-case driven
b) Architecture-centric
c) Data-centric only
d) Iterative and incremental
Answer: c
23. What is the main purpose of requirement validation?
a) To write code faster
b) To ensure requirements are correct, complete, consistent, and understandable
c) To design the user interface
d) To select programming language
Answer: b
24. Which validation technique involves a systematic examination by stakeholders to detect
ambiguities?
a) Prototyping
b) Reviews (Inspections)
c) Checklists
d) Traceability
Answer: b
25. Creating a working model to visualize requirements and find missing ones early is called:
a) Testing
b) Prototyping
c) Interviewing
d) Observation
Answer: b
26. "If you cannot test a requirement, it is probably not well-defined" relates to which
technique?
a) Use case scenario testing
b) Testing early and often
c) Automated consistency checking
d) Traceability
Answer: b
27. Which technique simulates real user workflows step by step to detect missing
requirements?
a) Checklists
b) Use case scenario testing
c) Reviews
d) Prototyping
Answer: b
28. Tracking relationships between requirements, design, implementation, and testing is
called:
a) Version control
b) Requirements traceability
c) Configuration management
d) Impact analysis
Answer: b
29. In CRC cards, the "C" stands for:
a) Code
b) Class
c) Collaboration
d) Component
Answer: b
30. A supplementary specification captures:
a) Functional requirements only
b) Use case diagrams
c) Non-functional requirements (quality, constraints)
d) Code structure
Answer: c
Section B: Matching (10 items – 1 mark each)
Match the term in Column A with the correct description in Column B.
Column A Column B
1. Abstraction A. Combining data and methods into one unit
2. Encapsulation B. Showing only essential features, hiding unnecessary details
3. Inheritance C. Child class reusing parent class features
4. Polymorphism D. Protecting internal implementation from outside
5. Information Hiding E. Method doing different things based on object
6. Association F. Objects connected but independent
7. Aggregation G. "HAS-A" weak ownership
8. Coupling H. How dependent one class is on another
9. Persistence I. Object outliving the program
10. Use Case J. Description of user interaction with system
Answers:
1-B, 2-A, 3-C, 4-E, 5-D, 6-F, 7-G, 8-H, 9-I, 10-J
Section C: Fill in the Blanks (15 questions – 1 mark each)
Complete the sentence with the correct term.
1. In structured programming, data and ____ are separate.
Answer: behavior
2. The two major programming paradigms are structured and ____.
Answer: object-oriented
3. A class is a general ____ used to create specific instances.
Answer: template
4. In OOP, behaviors are implemented as ____.
Answer: methods
5. The three core principles of OOSAD are use-case driven, architecture-centric, and ____.
Answer: iterative and incremental
6. The Unified Process has four phases: Inception, Elaboration, Construction, and ____.
Answer: Transition
7. Grady Booch, Ivar Jacobson, and James Rumbaugh contributed to the ____.
Answer: Unified Process (UP)
8. In CRC cards, the three sections are Class, Responsibilities, and ____.
Answer: Collaborators
9. A ____ specification captures non-functional requirements.
Answer: supplementary
10. Change Case 2 for the Farmer Marketplace was ____ mode due to poor rural
connectivity.
Answer: offline
11. Non-functional requirements describe ____ well the system should perform.
Answer: how
12. The technique that uses a predefined list of questions during validation is called ____.
Answer: checklists
13. The Factory design pattern creates objects through a ____ instead of directly.
Answer: factory
14. In OOP, ____ define what an object can do.
Answer: behaviors (or methods)
15. The iterative and incremental approach builds the system step by step: functional,
structural, and ____ representation.
Answer: behavioural
Section D: Short Answer Questions (10 questions – 3 marks
each)
Answer each question concisely in 2–4 sentences.
Q1. Compare structured programming and object-oriented programming in terms of how
they handle data and behavior.
Answer: Structured programming keeps data and behavior separate; data is stored in
variables and behavior in functions. Object-oriented programming combines data and
behavior together inside objects, allowing encapsulation and better security.
Q2. Explain the difference between encapsulation and information hiding.
Answer: Encapsulation is the technique of bundling data and methods into a single unit
(object) and controlling access. Information hiding is the specific practice of hiding internal
implementation details from other parts of the system, which encapsulation enables.
Q3. What are the three basic characteristics of all object-oriented systems analysis and
design (OOSAD) approaches?
Answer: (1) Use-case driven – focusing on one business process at a time. (2) Architecture-
centric – providing functional, structural, and behavioural views. (3) Iterative and incremental
– continuous testing, refinement, and building step by step.
Q4. Why is it important to balance coupling and cohesion in OO design? What happens if
ignored?
Answer: Low coupling and high cohesion make the system easier to maintain, test, and
modify. If ignored, high coupling causes changes in one class to break many others, and low
cohesion makes classes unclear and hard to reuse.
Q5. Describe the four phases of the Unified Process and the main focus of each.
Answer: Inception – business modeling, requirements, feasibility. Elaboration – analysis,
design, detailed project plan. Construction – implementation and coding. Transition – testing,
deployment, user training.
Q6. Why is requirement validation critical? Give one consequence of wrong requirements.
Answer: Requirement validation ensures requirements are correct, complete, consistent,
and understandable. If requirements are wrong, the system will fail even if coding is perfect –
e.g., building a system that farmers cannot use due to language barriers.
Q7. Explain how use case scenario testing helps find missing requirements, using the
Farmer Marketplace example.
Answer: Simulating a farmer listing a product step by step reveals issues like illiteracy
(needs voice input), wrong price entry (needs price suggestion), or network failure (needs
auto-save). These missing requirements are not obvious from written requirements alone.
Q8. What is a CRC card? List its three components and explain one benefit.
Answer: A CRC card is a technique to identify classes, responsibilities, and collaborators in
object-oriented analysis. Components: Class name, Responsibilities, Collaborators. Benefit:
encourages team discussion and helps spot missing objects before coding.
Q9. Give two examples of non-functional requirements from the Farmer Marketplace
scenario and explain why each matters.
Answer: (1) Usability – icons and local language support, because farmers have low
literacy. (2) Offline mode – work without internet, because rural areas have poor connectivity.
Without these, the system would be unusable.
Q10. What is a change case? Provide one example from Chapter 3.
Answer: A change case documents a potential future change to the system, including its
trigger and affected components. Example: Voice-based interaction – triggered by low
literacy users needing alternative to text input; affects UI and input processing.
Answer Key Summary
Section Total Marks
MCQ (30 x 1) 30
Matching (10 x 1) 10
Fill in blanks (15 x 1) 15
Section Total Marks
Short answer (10 x 3) 30
Total 85