Object Oriented Analysis - Questions and Answers

This post provides different questions on object oriented analysis and design (OOAD) with their answers. These resource post will be very useful if you are a student or studying OOAD.

Short Answer Questions

These questions on object oriented analysis may be asked for 1, 2 or 3 marks in exams.

What is OOAD?

Answer: Object Oriented Analysis and Design (OOAD) is a technical approach to analyse and design a system by using object oriented programming as well as visual modeling with the help of UML (Unified Modeling Language).

Give any two phases of RUP.

Answer: Phases of RUP are:
  1. Inception
  2. Elaboration
  3. Construction
  4. Transition

Name any two phases of iterative development process.

Answer: Phases in iterative development process are:
  1. Inception
  2. Elaboration
  3. Construction
  4. Transition

What is elaboration? Define.

Answer: Elaboration is the initial series of iterations during which the team does serious investigation, implements the core architecture, clarifies most requirements, and tackles the high-risk issues.

What is inception? Define.

Answer: The inception phase of the unified process (UP) consists of a period of time when analysts are looking to gather the information about the business to be constructed or automated. Vague estimates are made about the business case, approximate vision and scope.

Which model describes the functional requirements in OOAD (Object Oriented Analysis and Design)?

Answer: Use case model describes the functional requirements in OOAD.

"Use cases are not defined to satisfy the user goals of the primary actors." State true or false.

Answer: True

"Coding is phase of unified process." State true or false

Answer: False. The four phases of unified process are inception, elaboration, construction and transition.

Long Answer Questions

These are the long answer questions on object oriented analysis that may be asked for 5 Marks in exams.

Differentiate between aggregation and containment.

Answer:
Aggregation Containment
Aggregation is the relationship between the whole and the part. Containment indicates that one object contains another.
We can add or subtract properties in the part (also known as slave) side. It does not affect the whole part. In case of containment the whole part is affected when the part within that gets affected.
A computer can be an example of aggregation. It has a monitor, CPU, keyboard, mouse. Even though the parts (like keyboard, mouse) are not there we still call it a computer. A human body is an appropriate example for this relationship. When the parts gets affected (like heart) the whole body dies.

What are UP phases?

Answer: Unified Process (UP) phases are:
  1. Inception is the phase which consists of a period of time when analysts are looking to gather the information about the business to be constructed or automated. Vague estimates are made about the business case, approximate vision and scope.
  2. Elaboration is the initial series of iterations during which the team does serious investigation, implements the core architecture, clarifies most requirements and tackles high risk issues.
  3. Construction is the iterative implementation of the remaining lower risk and easier elements; and preparation for deployment.
  4. Transition includes beta tests and deployments.

What is unified process? List and explain any two phases of unified process.

Answer: 1) Unified Process (UP) is an incremental software development process framework which combines commonly accepted best practices such as an iterative life cycle and risk driven development, into a cohesive and well-documented process description.

2) UP (Unified Process) phases are:
  1. Inception
  2. Elaboration
  3. Construction
  4. Transition
3) Inception is the phase which consists of a period of time when analysts are looking to gather the information about the business to be constructed or automated. Vague estimates are made about the business case, approximate vision and scope.

4) Elaboration is the initial series of iterations during which the team does serious investigation, implements the core architecture, clarifies most requirements and tackles high risk issues.
[you can write other two phases (construction and transition) instead.]

What is iterative development? List phases of iterative development.

Answer: 1) Iterative and Incremental development is any combination of both iterative design or iterative method and incremental build model for development.
2) Iterative development is a way of breaking down the software development of a large application into smaller chunks.
3) In iterative development, feature code is designed, developed and tested in repeated cycles.
4) The phases of interative development are:
  1. inception
  2. elaboration
  3. construction
  4. transition

Explain the artifacts and issues considered during Inception.

Answer: Some common inception artifacts are listed below and they indicate the issue they address.

Artifact Issue Addressed
Vision and Business Case Describes high-level goals and constraints of business case, and provides an executive summary.
Prototypes and proof of concepts To clarify the vision and validate the technical ideas
Phase plan and software development Low precision guess and effort for elaboration phase.
Risk List and Management Describes available resources, schedule risks and ideas for their mitigation or response.
Use case model Describes the functional and related non functional requirements.

Explain artifacts and issues considered during elaboration.

Answer: The following table lists some artifacts that may be started in elaboration and indicates the issue they address.

Artifact Issue Addressed
Design Model This is the set of diagrams such as class diagrams, package diagrams etc that describes the logical design.
Data Model This includes mapping strategies and database schemas between non object and object representations.
Implemention Model This is the actual implementation of the project - source code, databases etc.
Risk List and Management Describes available resources, schedule risks and ideas for their mitigation or response.
Domain Model This is the visualisation of domain concepts, it is similar to static information model of domain entities.

What are best practices and key concepts in UP(Unified Process)? Explain.

Answer: 1) Do visual modeling.
2) Properly tackle high risk and high value issue in early iterations.
3) Regularly take feedback from users and improvise the system based on that data.
4) Build perfect core architecture in early stages.
5) Maintain quality by carrying quality assurance test cases regularly.

What is iterative developement? What are the benefits of iterative developement?

Answer: 1) Iterative and Incremental development is any combination of both iterative design or iterative method and incremental build model for development.
2) Benefits of iterative developement process are:
  1. Process is visible from early stages.
  2. Feedback is taken early, early user adaptation and engagement which leads to a refined system that more closely meets the needs of the stakeholders.
  3. High risk issues are eliminated early rather than in later stages of development.
  4. Complexity is managed through each iteration.

What are best practices and key concepts in elaboration? Explain.

Answer: Best practices and key concepts in elaboration are:
  1. Adaptively dsign, implement and test the core and risky parts of the architecture.
  2. Improve the system based on data received as feedback from the users.
  3. Do short time risk driven iterations.
  4. Write all possible use cases in detail. One per elaboration iteration.