Object-Oriented Design Concepts Quiz
81 Questions
101 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

An approach used to specify the software solution in terms of collaborating objects, their attributes and their methods is called object-oriented design.

True

An interface class is an object class that provides the means by which an actor can interface with the system.

True

A dependency relationship is illustrated with a dashed arrow line.

True

Navigability is illustrated with an arrowhead pointing only to the direction a message can be sent.

<p>True</p> Signup and view all the answers

Visibility is the level of access an external object has to an attribute or method.

<p>True</p> Signup and view all the answers

In a pure object-oriented environment, every piece of code exists inside an object class.

<p>True</p> Signup and view all the answers

An object-oriented system is structured into at least three different types of object classes.

<p>True</p> Signup and view all the answers

Entity classes are identified during systems analysis and usually correspond to items in real life and contain information, known as attributes, that describes the different instances of the entity.

<p>True</p> Signup and view all the answers

Interface classes are a means through which the attributes will interface with the instances of an entity.

<p>False</p> Signup and view all the answers

The responsibility of the interface class is twofold: (1) it translates the user's input into information that the system can understand and use to process the business event; (2) it takes data pertaining to a business event and translates the data for appropriate presentation to the user.

<p>True</p> Signup and view all the answers

Controller classes implement the business logic or business rules of the system.

<p>True</p> Signup and view all the answers

System classes handle operating system-specific functionality.

<p>True</p> Signup and view all the answers

By employing persistence classes, it allows the entity classes to be more implementation neutral and potentially more reusable.

<p>True</p> Signup and view all the answers

By employing persistence classes, it allows the entity classes to be more implementation specific and potentially more usable.

<p>False</p> Signup and view all the answers

Public attributes can be accessed and public methods can be invoked by any other method in any other class.

<p>True</p> Signup and view all the answers

Private attributes can be accessed and private methods can be invoked only by any method in the class in which the attribute or method is defined.

<p>True</p> Signup and view all the answers

A class responsibility is essentially the same thing as a class method.

<p>True</p> Signup and view all the answers

A class responsibility is implemented by the creation of one or more methods that may have to collaborate with other classes and methods.

<p>True</p> Signup and view all the answers

One technique for identifying behaviors is to search the use-case narrative for verb phrases.

<p>True</p> Signup and view all the answers

A class responsibility collaboration (CRC) card is a popular tool for documenting the behaviors and collaborations for an object.

<p>True</p> Signup and view all the answers

Sequence diagrams show us in great detail how the objects interact with each other in time sequence.

<p>True</p> Signup and view all the answers

In actor collaboration, the use case scenarios are acted out by the participants. The participants may assume the role of actors or object types that collaborate to process a hypothetical business event.

<p>False</p> Signup and view all the answers

Two overarching goals of object-oriented design are high coupling and low cohesion.

<p>False</p> Signup and view all the answers

Ideally, object classes created for one information system should be able to be reused in other information systems.

<p>True</p> Signup and view all the answers

Reusability is why operating system-specific code and database-specific code are often designed into system and persistence classes.

<p>True</p> Signup and view all the answers

A design pattern is a common solution to a given problem in a given context.

<p>True</p> Signup and view all the answers

One advantage of using design patterns is that they provide designers with a shorthand notation for discussing design issues.

<p>True</p> Signup and view all the answers

GOF behavioral patterns provide guidance on the way in which classes interact to distribute responsibility.

<p>True</p> Signup and view all the answers

GOF creational patterns provide guidance for designing classes to instantiate new objects.

<p>True</p> Signup and view all the answers

GOF structural patterns provide guidance on how classes can be designed to form larger structures.

<p>True</p> Signup and view all the answers

GOF structural patterns provide guidance on the way in which classes interact to distribute responsibility.

<p>False</p> Signup and view all the answers

An object framework is a set of related, interacting objects that provide a well-defined set of services for accomplishing a task.

<p>True</p> Signup and view all the answers

A communication diagram is similar to a sequence diagram. But while a sequence diagram focuses on the structural organization of objects in a network format, a communication diagram focuses on timing of messages.

<p>False</p> Signup and view all the answers

Communication diagrams depict the organizational units of programming code and how they interact.

<p>False</p> Signup and view all the answers

Deployment diagrams are also implementation type diagrams that describe the physical architecture of the hardware and software in the system. They depict software components, processors, and devices that make up the system's architecture.

<p>True</p> Signup and view all the answers

A class that would have to change if the system was ported to another operating system would be a(n):

<p>System class</p> Signup and view all the answers

A class that contains the logic to run a use case would be a(n):

<p>Control class</p> Signup and view all the answers

Which of the following is NOT a UML level of visibility?

<p>Persistent</p> Signup and view all the answers

Which of the following is NOT one of the activities of object-oriented design?

<p>Updating the ERD to reflect public attributes and persistence classes.</p> Signup and view all the answers

This is a popular tool for documenting the behaviors and collaborations for an object.

<p>Class responsibility collaboration (CRC) card</p> Signup and view all the answers

Which of the following is a tool that can be used for discovering class behaviors and responsibilities?

<p>All of these</p> Signup and view all the answers

Which UML diagram models object state?

<p>State machine diagram</p> Signup and view all the answers

What did the Gang of Four do?

<p>Popularize the use of design patterns</p> Signup and view all the answers

Which of the following is NOT a GOF pattern category?

<p>Evolutional</p> Signup and view all the answers

If you needed to provide a stable interface to similar classes with different interfaces, you could use:

<p>The adapter pattern</p> Signup and view all the answers

If you needed to design for varying and changing policy algorithms, you could use:

<p>The strategy pattern</p> Signup and view all the answers

The process of using object-oriented techniques for designing a new system is referred to as:

<p>Object-oriented design</p> Signup and view all the answers

A dialogue box is an example of a(n):

<p>Interface class</p> Signup and view all the answers

A class that handled reading and writing to a database would be an example of a(n):

<p>Persistence class</p> Signup and view all the answers

The student class in an enrollment system would be an example of a(n):

<p>Entity class</p> Signup and view all the answers

This is a group of objects packaged together into one unit. An example is a dynamic link library (DLL) or executable file.

<p>Component</p> Signup and view all the answers

What is a design pattern?

<p>A common solution to a given problem in a given context.</p> Signup and view all the answers

In which of the following are the use case scenarios acted out by the participants, where participants may assume the role of actors or object types that collaborate to process a hypothetical business event?

<p>Role playing</p> Signup and view all the answers

Which of the following is NOT an activity done in constructing a state machine diagram?

<p>Identify other objects that trigger changes in the object's states</p> Signup and view all the answers

A(n) __________________________ is a group of objects packaged together into one unit. An example is a dynamic link library (DLL) or executable file.

<p>component</p> Signup and view all the answers

All objects are said to have ____________________________ - the value of its attributes at one point in time.

<p>state</p> Signup and view all the answers

A(n) _____________________________ triggers the change in state when something happens or when the value of one of the attributes changes.

<p>state transition event</p> Signup and view all the answers

___________________________________ are a common solution to a given problem in a context.

<p>design pattern</p> Signup and view all the answers

A(n) ________________________________________ card is a popular tool for documenting the behaviors and collaborations for an object.

<p>class responsibility collaboration (CRC)</p> Signup and view all the answers

In ______________________________________, the use case scenarios are acted out by the participants. The participants may assume the role of actors or object types that collaborate to process a hypothetical business event.

<p>role playing</p> Signup and view all the answers

________________________________ diagrams show us in great detail how the objects interact with each other over time.

<p>Sequence</p> Signup and view all the answers

_______________________________ is illustrated with an arrowhead pointing only to the direction a message can be sent.

<p>Navigability</p> Signup and view all the answers

__________________________________ diagrams show us how objects collaborate to satisfy the functionality of a use case, focusing on the structural organization of objects in a network format.

<p>Communication</p> Signup and view all the answers

_________________________________ diagrams are implementation type diagrams and are used to graphically depict the physical architecture of the software system.

<p>Component</p> Signup and view all the answers

_________________________________ diagrams are also implementation type diagrams that describe the physical architecture of the hardware and software in the system. They depict software components, processors, and devices that make up the system's architecture.

<p>Deployment</p> Signup and view all the answers

_________________________________ diagrams model the life cycle of a single object.

<p>State machine</p> Signup and view all the answers

Name four types of object classes that are introduced as a result of implementation decisions that were made during systems design: ___________________.

<p>interface, control, persistence, system</p> Signup and view all the answers

__________________________ classes are identified during systems analysis and usually correspond to items in real life and contain information, known as attributes, that describes the different instances of the entity.

<p>Entity</p> Signup and view all the answers

The responsibility of a(n) __________________________ class is twofold: (1) it translates the user's input into information that the system can understand and use to process the business event; (2) it takes data pertaining to a business event and translates the data for appropriate presentation to the user.

<p>interface</p> Signup and view all the answers

_____________________________ classes are those that hold application or business rule logic.

<p>Controller</p> Signup and view all the answers

________________________________ classes process messages from an interface class and respond to them by sending and receiving messages from the entity classes.

<p>Controller</p> Signup and view all the answers

_____________________________ classes read and write attributes to a database.

<p>Persistence</p> Signup and view all the answers

_________________ classes isolate the other objects from operating system-specific functionality.

<p>System</p> Signup and view all the answers

_____________________________ is the level of access an external object has to an attribute or method.

<p>Visibility</p> Signup and view all the answers

The process of using object-oriented techniques for designing a new system is referred to as _______________________________.

<p>object-oriented design</p> Signup and view all the answers

________________________________ is the software logic that is executed in response to a message.

<p>method</p> Signup and view all the answers

The degree to which one class is connected to or relies upon other classes is called _______________.

<p>coupling</p> Signup and view all the answers

A(n) _____________________________________ is the obligation that an object has to provide a service when requested, thus collaborating with other objects to satisfy the request if required.

<p>object responsibility</p> Signup and view all the answers

During object-oriented design, the class diagram developed during the analysis phase is refined into a ____________________________.

<p>design class diagram</p> Signup and view all the answers

A(n) __________________________________ is a set of related, interacting objects that provide a well-defined set of services for accomplishing a task.

<p>object framework</p> Signup and view all the answers

The authors of the 1995 book, Design Patterns, which proposed a set of 23 patterns for OO design are known collectively as the __________________________________.

<p>Gang of Four</p> Signup and view all the answers

Study Notes

Object-Oriented Design Concepts

  • Object-oriented design specifies software solutions using collaborating objects with defined attributes and methods.
  • An interface class allows users to interact with the system through defined access points.
  • A dependency relationship is depicted with a dashed arrow to indicate connections between objects.
  • Navigability of messages between objects is shown with directional arrowheads.

Class Types in Object-Oriented Systems

  • In a complete object-oriented environment, all code resides within object classes.
  • Entity classes represent real-world objects and contain attributes that help describe instances.
  • Interface classes facilitate communication between user inputs and the underlying system functionalities.
  • Controller classes encapsulate business logic and rules, responding to inputs and directing the flow of information.
  • System classes manage operating system-related tasks and functionalities, often needing to change if the system is ported.

Class Responsibilities and Designs

  • Class responsibilities describe the functions of a class, which are implemented through methods that may interact with other classes.
  • Behaviors can be identified through use-case narratives, focusing on verb phrases.
  • Class Responsibility Collaboration (CRC) cards are a tool for documenting and analyzing class behaviors and interactions.

UML Diagrams and Object Interaction

  • Sequence diagrams illustrate the timing and interaction of objects over time, while communication diagrams show how objects collaborate to fulfill use case requirements.
  • State machine diagrams model the lifecycle of individual objects and their state transitions based on specific events.
  • Deployment diagrams provide a visual representation of the hardware and software architecture, detailing components, processors, and devices.

Design Patterns

  • A design pattern is a standard solution to recurring design problems within a particular context.
  • The Gang of Four (GOF) popularized design patterns, categorizing them into behavioral, structural, and creational patterns to guide class interactions and responsibilities.

Code Reusability and Implementation

  • Designing object classes with reusability in mind enhances adaptability across different information systems.
  • Persistence classes allow entity classes to be more implementation neutral, critical for accessing databases in a uniform way.

Visibility and Access Control

  • Visibility determines the level of access objects have to attributes and methods, classified as public, private, or protected.
  • Public attributes are accessible to any class, while private attributes are restricted to the class where they are defined.

Miscellaneous Concepts

  • An object’s state reflects the values of its attributes at any given time.
  • Object responsibility defines the obligations placed on an object to provide services upon request.
  • The design process in an object-oriented system involves refining the class diagram from the analysis phase into a detailed design class diagram.

Terminology and Definitions

  • Component: A packaged unit of related objects, such as DLLs or executables.
  • Module: An assembly of classes or objects facilitating specific functionalities.
  • Role playing: A method where participants act out use case scenarios to visualize inter-object collaborations.

Final Notes

  • A robust understanding of these principles, diagrams, and terminology is crucial for effective object-oriented design and implementation of software systems.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Description

Test your understanding of fundamental object-oriented design concepts, including class types and relationships between objects. This quiz covers essential terminology and distinctions, such as entity, interface, and controller classes. Perfect for students or professionals looking to solidify their knowledge in software design.

More Like This

Button Class Design
34 questions

Button Class Design

SelfSufficientRadon avatar
SelfSufficientRadon
Class Diagram in System Design
35 questions
Object-Oriented Design Fundamentals
30 questions
Use Quizgecko on...
Browser
Browser