Complete Questions and Answers with
Detailed Rationales – Pass Guaranteed –
A+ Graded
Foundations: Object-Oriented Principles & Requirements Discovery
Q1: Which object-oriented principle is best described as hiding the internal state of an
object and requiring all interaction to be performed through an object's methods?
A. Inheritance
B. Encapsulation [CORRECT]
C. Polymorphism
D. Abstraction
Correct Answer: B
Rationale: The best answer is B, because encapsulation is the principle of bundling the
data (attributes) and code (methods) inside a class while restricting direct access to the
internal components to protect the object's state.
Q2: In object-oriented analysis, what is the primary purpose of inheritance?
A. To allow a new class to inherit attributes and methods from an existing class,
promoting code reuse [CORRECT]
B. To hide the implementation details of a class from other classes
C. To allow an object to take on many forms depending on the context
D. To combine data and methods into a single unit
Correct Answer: A
Rationale: This is correct because inheritance establishes an "is-a" relationship between
classes, allowing a subclass to automatically acquire the properties and behaviors of its
superclass, which cuts down on redundant modeling.
Q3: During requirements discovery, which fact-finding technique involves mechanically
reviewing existing system documents, forms, and reports to understand current
business processes?
A. Observation
B. Interviewing
C. Document analysis [CORRECT]
,D. Questionnaires
Correct Answer: C
Rationale: The best answer is C, as document analysis is the specific technique where
the analyst collects and studies existing paper or digital records to extract relevant
system requirements without directly interacting with users.
Q4: A requirement states: "The online banking system must load the account balance
within two seconds." What type of requirement is this?
A. Functional requirement
B. Business requirement
C. Structural requirement
D. Non-functional requirement [CORRECT]
Correct Answer: D
Rationale: This aligns with the definition of a non-functional requirement because it
describes a performance constraint or quality attribute (response time) of the system
rather than a specific behavior or function the system must perform.
Q5: A systems analyst is designing a "Customer" class but only wants to expose a
calculateDiscount() method while keeping the complex math logic hidden. Which OO
principle is being applied here?
A. Inheritance
B. Abstraction [CORRECT]
C. Composition
D. Polymorphism
Correct Answer: B
Rationale: The best answer is B, because abstraction deals with hiding complex
implementation details and showing only the essential features of an object, much like
knowing how to drive a car without needing to understand the engine mechanics.
Q6: A development team is modeling a university system. They need to show that a
"Department" contains "Professors," but if the Department is dissolved, the Professors
still exist and are simply reassigned. Which relationship should they use?
A. Aggregation [CORRECT]
B. Composition
C. Dependency
D. Realization
Correct Answer: A
Rationale: This is correct because aggregation represents a "whole-part" relationship
where the parts can exist independently of the whole, which perfectly fits professors
continuing to exist even if their assigned department is deleted.
, Q7: In the context of system requirements, who is considered a stakeholder?
A. Only the paying client or project sponsor
B. Only the lead systems analyst and project manager
C. Any person or organization that has an interest in, or will be affected by, the system
[CORRECT]
D. The end-users who will directly interact with the system daily
Correct Answer: C
Rationale: The best answer is C, because stakeholders encompass a much broader
group than just users or sponsors, including anyone impacted by the system such as IT
support staff, management, and even external regulatory bodies.
Q8: An analyst needs to gather the same routine information from 500 branch offices
across the country within a tight deadline. Which fact-finding technique is most
appropriate?
A. One-on-one interviews
B. Direct observation
C. Joint Application Development (JAD)
D. Questionnaires [CORRECT]
Correct Answer: D
Rationale: The best answer is D, as questionnaires are highly effective when you need
to collect standardized, factual data from a large, geographically dispersed group of
people quickly and cost-effectively.
Q9: A system has a "Payment" class with a method called processPayment(). The
CreditCardPayment and CashPayment subclasses each provide their own specific
implementation of this method. Which principle does this demonstrate?
A. Encapsulation
B. Polymorphism [CORRECT]
C. Aggregation
D. Abstraction
Correct Answer: B
Rationale: This is correct because polymorphism allows objects of different subclasses
to be treated as objects of their superclass while each subclass implements the method
in its own unique way.
Q10: What does the concept of "association" represent in object-oriented modeling?
A. A strict hierarchical relationship where one class is a specialized version of another
B. A whole-part relationship where the part cannot exist without the whole
C. A structural relationship that describes how objects are connected or related to one
another [CORRECT]
D. A temporary interaction where one class uses another to perform a specific task