Quiz: Object-Oriented Analysis and Design — 26 questions

Detailed questions and answers

1. What does a software process transform into a software system?

Deployment environments
Source code modules
User requirements
Test execution results

User requirements

Explanation

A software process consists of activities that transform user requirements into a software system. Source code, testing, and deployment are activities or outputs within that broader transformation, not its initial input.

2. Which sequence correctly represents the main phases of software development?

Programming, analysis, design, requirements identification, maintenance, testing and deployment
Requirements identification, analysis, design, programming, testing, deployment and maintenance
Design, requirements identification, testing, analysis, programming, deployment and maintenance
Analysis, programming, requirements identification, deployment, design, testing and maintenance

Requirements identification, analysis, design, programming, testing, deployment and maintenance

Explanation

The main phases progress from identifying requirements through analysis, design, programming, testing, and finally deployment and maintenance. The other sequences place major phases in an incorrect order.

3. A team is deciding whether a system should send alerts when inventory is low and how that alerting mechanism will be implemented; which activity addresses each decision?

Analysis deploys the system, while design maintains it after release
Analysis addresses how the system works, while design identifies what users require
Analysis addresses what the system does, while design addresses how it does it
Analysis writes executable code, while design verifies the completed system

Analysis addresses what the system does, while design addresses how it does it

Explanation

Analysis defines the system’s required behavior, such as sending low-inventory alerts, whereas design determines the implementation approach. Coding, deployment, testing, and maintenance are separate development activities.

4. Which comparison correctly distinguishes the Waterfall and Prototype models?

Waterfall adapts requirements through repeated cycles, while Prototype postpones requirement clarification
Waterfall completes phases sequentially, while Prototype builds an early model to clarify requirements
Waterfall analyzes risks iteratively, while Prototype completes each phase before the next begins
Waterfall builds experimental models, while Prototype focuses on sequential phase completion

Waterfall completes phases sequentially, while Prototype builds an early model to clarify requirements

Explanation

Waterfall proceeds through completed phases in sequence, while the Prototype model creates an early working model to clarify requirements. Risk-focused iteration characterizes the Spiral model rather than Waterfall.

5. What characteristic most clearly defines the Spiral model?

It creates a rapid prototype to clarify user requirements
It combines iterative development with explicit risk analysis
It completes development phases in a fixed sequence
It separates data from processing through functional decomposition

It combines iterative development with explicit risk analysis

Explanation

The Spiral model is defined by combining iteration with risk analysis during development. Fixed sequencing describes Waterfall, rapid requirement clarification describes Prototyping, and functional decomposition describes structured analysis.

6. A system is modeled as Customer, Order, and Product entities, each combining its own data with operations; which approach does this represent?

Object-oriented analysis
Risk-driven development
Structured analysis
Sequential process modeling

Object-oriented analysis

Explanation

Object-oriented analysis decomposes a system into objects that combine data and behavior, as in Customer, Order, and Product entities. Structured analysis instead separates data from processing and decomposes the system by functions.

7. Which combination describes an object in object-oriented analysis?

Requirements through use cases, design through classes, and testing through interactions
Inputs through data flows, outputs through entities, and behavior through diagrams
Functions through procedures, data through separate files, and no distinct identity
State through attributes, behavior through methods, and a distinct identity

State through attributes, behavior through methods, and a distinct identity

Explanation

An object has state represented by attributes, behavior represented by methods, and an identity that distinguishes it from other objects. Separating data from processing is characteristic of structured analysis rather than the definition of an object.

8. Which set contains the four core properties of object-oriented systems?

Modularity, sequencing, prototyping, and risk analysis
Abstraction, encapsulation, inheritance, and polymorphism
Requirements, analysis, design, and implementation
Functions, data flows, entities, and processes

Abstraction, encapsulation, inheritance, and polymorphism

Explanation

The four core object-oriented properties are abstraction, encapsulation, inheritance, and polymorphism. The other sets describe development activities, traditional modeling concerns, or structured-analysis elements rather than core object-oriented properties.

9. Which description best characterizes the Rational Unified Process?

A visual notation system for representing software architectures
A sequential, document-driven, activity-centered development process
A testing framework organized around functional requirements
An iterative, incremental, use-case-driven, architecture-centric process

An iterative, incremental, use-case-driven, architecture-centric process

Explanation

RUP combines iterative and incremental development with a focus on use cases and software architecture. The sequential description corresponds more closely to the Waterfall model, not RUP.

10. Which sequence correctly lists the four phases of RUP?

Modeling, Prototyping, Testing, Release
Inception, Elaboration, Construction, Transition
Analysis, Planning, Implementation, Deployment
Requirements, Design, Coding, Maintenance

Inception, Elaboration, Construction, Transition

Explanation

RUP progresses through Inception, Elaboration, Construction, and Transition. The other sequences describe generic development activities rather than the official RUP phases.

11. What does a single RUP iteration produce?

A collection of design documents awaiting implementation
A complete system architecture without tested features
A finalized project plan without executable software
A runnable increment of the software system

A runnable increment of the software system

Explanation

Each RUP iteration delivers a runnable increment, allowing the system to grow through repeated cycles. Documentation alone does not constitute the runnable product increment produced by an iteration.

12. How should UML be classified in software engineering?

A testing procedure for validating implemented requirements
A standardized visual modeling language of notation and semantics
A project management method for allocating development tasks
A software development process organized into iterative phases

A standardized visual modeling language of notation and semantics

Explanation

UML is a visual modeling language standardized by OMG, defining notation and semantics. RUP, rather than UML, is the software development process among these concepts.

13. Which set contains the three fundamental building blocks of UML?

Classes, objects, and interfaces
Processes, phases, and iterations
Elements, relationships, and diagrams
Requirements, tests, and deployments

Elements, relationships, and diagrams

Explanation

UML is built from elements, relationships, and diagrams, supported by rules and common mechanisms. Classes and objects are examples of modeling elements, not the complete set of three building-block categories.

14. What is the main distinction between structural and behavioral UML diagrams?

Structural diagrams show user goals, whereas behavioral diagrams show database schemas
Structural diagrams represent implementation code, whereas behavioral diagrams represent project schedules
Structural diagrams show static aspects, whereas behavioral diagrams show dynamic aspects
Structural diagrams describe testing results, whereas behavioral diagrams describe deployment locations

Structural diagrams show static aspects, whereas behavioral diagrams show dynamic aspects

Explanation

Structural diagrams represent relatively static aspects of a system, while behavioral diagrams represent its dynamic behavior. User goals, testing results, and deployment locations are not the defining distinction between these diagram groups.

15. What does a UML class represent?

A sequence of actions that produces a result for an actor
A template describing objects with shared features and meaning
A contract implemented by a related modeling element
A concrete object created during one execution of a system

A template describing objects with shared features and meaning

Explanation

A class describes a set of objects that share attributes, methods, relationships, and semantics. A concrete runtime entity is an object, whereas a class serves as its template.

16. In UML, what is the difference between a use case and an actor?

A use case describes system actions, while an actor represents an interacting role
A use case models a static structure, while an actor defines a whole-part relationship
A use case defines a class template, while an actor represents an object instance
A use case represents an external role, while an actor describes system implementation steps

A use case describes system actions, while an actor represents an interacting role

Explanation

A use case is a sequence of system actions that produces a result for an actor, while an actor is a user or external system interacting with the system. Treating the actor as the system behavior reverses their UML roles.

17. What distinguishes aggregation from composition in UML?

An aggregated part can survive its whole, whereas a composed part is destroyed with its whole
An aggregated part is implemented by a contract, whereas a composed part inherits from its whole
An aggregated whole controls execution, whereas a composed whole represents an external actor
An aggregated relationship links classes by identity, whereas a composed relationship links them by behavior

An aggregated part can survive its whole, whereas a composed part is destroyed with its whole

Explanation

Aggregation is a weak whole-part relationship in which the part remains independent if the whole is destroyed, while composition is a strong relationship in which the part is destroyed with the whole. The other distinctions concern inheritance, contracts, or interaction roles rather than whole-part ownership.

18. Which UML multiplicity means that a relationship must involve at least one instance?

1..∗1..*
0..10..1
11
0..∗0..*

$$1..*$$

Explanation

The multiplicity 1..∗1..* means at least one instance may participate, with no stated upper limit. By contrast, 0..10..1 permits zero or one, 0..∗0..* permits any number including zero, and 11 means exactly one.

19. Which set contains only UML primitive types?

Integer, Date, String, Currency, and Boolean
Set, Bag, Sequence, OrderedSet, and String
Integer, Boolean, String, Real, and UnlimitedNatural
Enumeration, Class, DataType, Real, and Integer

Integer, Boolean, String, Real, and UnlimitedNatural

Explanation

UML primitive types include Integer, Boolean, String, Real, and UnlimitedNatural. Date is not a built-in primitive, while collection types and modeling elements belong to different categories.

20. Which statement correctly distinguishes an enumeration from a structured data type in UML?

An enumeration represents repeated values, whereas a structured data type represents one basic value.
An enumeration defines constraints, whereas a structured data type defines extension mechanisms.
An enumeration combines fields, whereas a structured data type lists a fixed set of named values.
An enumeration lists named values, whereas a structured data type combines fields or other types.

An enumeration lists named values, whereas a structured data type combines fields or other types.

Explanation

An enumeration is a finite set of named values, while a structured data type is compound and combines fields or other data types. Confusing these reverses their defining characteristics.

21. Which three mechanisms are recognized as the principal ways to extend UML?

Stereotypes, tagged values, and constraints
Profiles, diagrams, and repositories
Packages, interfaces, and dependencies
Classes, objects, and components

Stereotypes, tagged values, and constraints

Explanation

The principal UML extension mechanisms are stereotypes, tagged values, and constraints. The other groups contain modeling concepts or artifacts rather than the three standard extension mechanisms.

22. How did the number of UML diagram types change between UML 2.0 and UML 2.2?

It decreased from 14 to 13 when the Profile diagram was removed.
It increased from 13 to 14 when the Profile diagram was added.
It remained at 13 because the Profile diagram replaced another type.
It increased from 12 to 13 when the Package diagram was added.

It increased from 13 to 14 when the Profile diagram was added.

Explanation

UML 2.0 defined 13 diagram types, and UML 2.2 reached 14 after adding the Profile diagram. The other choices give incorrect changes or attribute the change to the wrong event.

23. Which diagram belongs to the structural UML diagram group?

Composite Structure diagram
Sequence diagram
State Machine diagram
Activity diagram

Composite Structure diagram

Explanation

Composite Structure is one of the seven structural UML diagrams. Sequence, Activity, and State Machine diagrams belong to the behavioral group.

24. Which diagram belongs to the behavioral UML diagram group?

Component diagram
Package diagram
Deployment diagram
Interaction Overview diagram

Interaction Overview diagram

Explanation

Interaction Overview is one of the seven behavioral UML diagrams. Deployment, Package, and Component diagrams are structural diagrams.

25. In Kruchten's 4+1 view model, which view guides the logical, process, implementation, and deployment views?

The implementation view
The deployment view
The process view
The use-case view

The use-case view

Explanation

Kruchten's model uses the use-case view to guide the other four views. The deployment view instead emphasizes software distribution across hardware, so it does not serve as the guiding view.

26. What distinguishes a CASE tool from a simple diagram-drawing tool?

A CASE tool focuses on visual drawing, while a simple diagram tool performs code generation and reverse engineering.
A CASE tool creates deployment hardware, while a simple diagram tool checks software consistency.
A CASE tool combines diagramming with consistency checking, code generation, documentation, and reverse engineering.
A CASE tool stores named shapes, while a simple diagram tool manages modeling and engineering activities.

A CASE tool combines diagramming with consistency checking, code generation, documentation, and reverse engineering.

Explanation

A CASE tool supports both modeling and engineering tasks, including consistency checking, code and documentation generation, and reverse engineering. A simple drawing tool primarily provides visual diagram creation.

Review with flashcards

Memorize the answers with 56 flashcards on Object-Oriented Analysis and Design.

What is a software process?

A set of activities transforming user requirements into a software system.

What are the main phases of software development?

Requirements identification, analysis, design, programming, testing, deployment, and maintenance.

What does analysis determine in software development?

What the system does.

See flashcards →

Read the study sheet

Read the complete study sheet on Object-Oriented Analysis and Design.

See study sheet →

Similar courses

Create your own quizzes

Import your course and AI generates quizzes with corrections in 30 seconds.

Quiz generator