Podcast
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.
An approach used to specify the software solution in terms of collaborating objects, their attributes and their methods is called object-oriented design.
True (A)
An interface class is an object class that provides the means by which an actor can interface with the system.
An interface class is an object class that provides the means by which an actor can interface with the system.
True (A)
A dependency relationship is illustrated with a dashed arrow line.
A dependency relationship is illustrated with a dashed arrow line.
True (A)
Navigability is illustrated with an arrowhead pointing only to the direction a message can be sent.
Navigability is illustrated with an arrowhead pointing only to the direction a message can be sent.
Visibility is the level of access an external object has to an attribute or method.
Visibility is the level of access an external object has to an attribute or method.
In a pure object-oriented environment, every piece of code exists inside an object class.
In a pure object-oriented environment, every piece of code exists inside an object class.
An object-oriented system is structured into at least three different types of object classes.
An object-oriented system is structured into at least three different types of object classes.
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.
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.
Interface classes are a means through which the attributes will interface with the instances of an entity.
Interface classes are a means through which the attributes will interface with the instances of an entity.
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.
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.
Controller classes implement the business logic or business rules of the system.
Controller classes implement the business logic or business rules of the system.
System classes handle operating system-specific functionality.
System classes handle operating system-specific functionality.
By employing persistence classes, it allows the entity classes to be more implementation neutral and potentially more reusable.
By employing persistence classes, it allows the entity classes to be more implementation neutral and potentially more reusable.
By employing persistence classes, it allows the entity classes to be more implementation specific and potentially more usable.
By employing persistence classes, it allows the entity classes to be more implementation specific and potentially more usable.
Public attributes can be accessed and public methods can be invoked by any other method in any other class.
Public attributes can be accessed and public methods can be invoked by any other method in any other class.
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.
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.
A class responsibility is essentially the same thing as a class method.
A class responsibility is essentially the same thing as a class method.
A class responsibility is implemented by the creation of one or more methods that may have to collaborate with other classes and methods.
A class responsibility is implemented by the creation of one or more methods that may have to collaborate with other classes and methods.
One technique for identifying behaviors is to search the use-case narrative for verb phrases.
One technique for identifying behaviors is to search the use-case narrative for verb phrases.
A class responsibility collaboration (CRC) card is a popular tool for documenting the behaviors and collaborations for an object.
A class responsibility collaboration (CRC) card is a popular tool for documenting the behaviors and collaborations for an object.
Sequence diagrams show us in great detail how the objects interact with each other in time sequence.
Sequence diagrams show us in great detail how the objects interact with each other in time sequence.
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.
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.
Two overarching goals of object-oriented design are high coupling and low cohesion.
Two overarching goals of object-oriented design are high coupling and low cohesion.
Ideally, object classes created for one information system should be able to be reused in other information systems.
Ideally, object classes created for one information system should be able to be reused in other information systems.
Reusability is why operating system-specific code and database-specific code are often designed into system and persistence classes.
Reusability is why operating system-specific code and database-specific code are often designed into system and persistence classes.
A design pattern is a common solution to a given problem in a given context.
A design pattern is a common solution to a given problem in a given context.
One advantage of using design patterns is that they provide designers with a shorthand notation for discussing design issues.
One advantage of using design patterns is that they provide designers with a shorthand notation for discussing design issues.
GOF behavioral patterns provide guidance on the way in which classes interact to distribute responsibility.
GOF behavioral patterns provide guidance on the way in which classes interact to distribute responsibility.
GOF creational patterns provide guidance for designing classes to instantiate new objects.
GOF creational patterns provide guidance for designing classes to instantiate new objects.
GOF structural patterns provide guidance on how classes can be designed to form larger structures.
GOF structural patterns provide guidance on how classes can be designed to form larger structures.
GOF structural patterns provide guidance on the way in which classes interact to distribute responsibility.
GOF structural patterns provide guidance on the way in which classes interact to distribute responsibility.
An object framework is a set of related, interacting objects that provide a well-defined set of services for accomplishing a task.
An object framework is a set of related, interacting objects that provide a well-defined set of services for accomplishing a task.
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.
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.
Communication diagrams depict the organizational units of programming code and how they interact.
Communication diagrams depict the organizational units of programming code and how they interact.
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.
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.
A class that would have to change if the system was ported to another operating system would be a(n):
A class that would have to change if the system was ported to another operating system would be a(n):
A class that contains the logic to run a use case would be a(n):
A class that contains the logic to run a use case would be a(n):
Which of the following is NOT a UML level of visibility?
Which of the following is NOT a UML level of visibility?
Which of the following is NOT one of the activities of object-oriented design?
Which of the following is NOT one of the activities of object-oriented design?
This is a popular tool for documenting the behaviors and collaborations for an object.
This is a popular tool for documenting the behaviors and collaborations for an object.
Which of the following is a tool that can be used for discovering class behaviors and responsibilities?
Which of the following is a tool that can be used for discovering class behaviors and responsibilities?
Which UML diagram models object state?
Which UML diagram models object state?
What did the Gang of Four do?
What did the Gang of Four do?
Which of the following is NOT a GOF pattern category?
Which of the following is NOT a GOF pattern category?
If you needed to provide a stable interface to similar classes with different interfaces, you could use:
If you needed to provide a stable interface to similar classes with different interfaces, you could use:
If you needed to design for varying and changing policy algorithms, you could use:
If you needed to design for varying and changing policy algorithms, you could use:
The process of using object-oriented techniques for designing a new system is referred to as:
The process of using object-oriented techniques for designing a new system is referred to as:
A dialogue box is an example of a(n):
A dialogue box is an example of a(n):
A class that handled reading and writing to a database would be an example of a(n):
A class that handled reading and writing to a database would be an example of a(n):
The student class in an enrollment system would be an example of a(n):
The student class in an enrollment system would be an example of a(n):
This is a group of objects packaged together into one unit. An example is a dynamic link library (DLL) or executable file.
This is a group of objects packaged together into one unit. An example is a dynamic link library (DLL) or executable file.
What is a design pattern?
What is a design pattern?
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?
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?
Which of the following is NOT an activity done in constructing a state machine diagram?
Which of the following is NOT an activity done in constructing a state machine diagram?
A(n) __________________________ is a group of objects packaged together into one unit. An example is a dynamic link library (DLL) or executable file.
A(n) __________________________ is a group of objects packaged together into one unit. An example is a dynamic link library (DLL) or executable file.
All objects are said to have ____________________________ - the value of its attributes at one point in time.
All objects are said to have ____________________________ - the value of its attributes at one point in time.
A(n) _____________________________ triggers the change in state when something happens or when the value of one of the attributes changes.
A(n) _____________________________ triggers the change in state when something happens or when the value of one of the attributes changes.
___________________________________ are a common solution to a given problem in a context.
___________________________________ are a common solution to a given problem in a context.
A(n) ________________________________________ card is a popular tool for documenting the behaviors and collaborations for an object.
A(n) ________________________________________ card is a popular tool for documenting the behaviors and collaborations for an object.
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.
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.
________________________________ diagrams show us in great detail how the objects interact with each other over time.
________________________________ diagrams show us in great detail how the objects interact with each other over time.
_______________________________ is illustrated with an arrowhead pointing only to the direction a message can be sent.
_______________________________ is illustrated with an arrowhead pointing only to the direction a message can be sent.
__________________________________ 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.
__________________________________ 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.
_________________________________ diagrams are implementation type diagrams and are used to graphically depict the physical architecture of the software system.
_________________________________ diagrams are implementation type diagrams and are used to graphically depict the physical architecture of the software system.
_________________________________ 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.
_________________________________ 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.
_________________________________ diagrams model the life cycle of a single object.
_________________________________ diagrams model the life cycle of a single object.
Name four types of object classes that are introduced as a result of implementation decisions that were made during systems design: ___________________.
Name four types of object classes that are introduced as a result of implementation decisions that were made during systems design: ___________________.
__________________________ 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.
__________________________ 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.
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.
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.
_____________________________ classes are those that hold application or business rule logic.
_____________________________ classes are those that hold application or business rule logic.
________________________________ classes process messages from an interface class and respond to them by sending and receiving messages from the entity classes.
________________________________ classes process messages from an interface class and respond to them by sending and receiving messages from the entity classes.
_____________________________ classes read and write attributes to a database.
_____________________________ classes read and write attributes to a database.
_________________ classes isolate the other objects from operating system-specific functionality.
_________________ classes isolate the other objects from operating system-specific functionality.
_____________________________ is the level of access an external object has to an attribute or method.
_____________________________ is the level of access an external object has to an attribute or method.
The process of using object-oriented techniques for designing a new system is referred to as _______________________________.
The process of using object-oriented techniques for designing a new system is referred to as _______________________________.
________________________________ is the software logic that is executed in response to a message.
________________________________ is the software logic that is executed in response to a message.
The degree to which one class is connected to or relies upon other classes is called _______________.
The degree to which one class is connected to or relies upon other classes is called _______________.
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.
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.
During object-oriented design, the class diagram developed during the analysis phase is refined into a ____________________________.
During object-oriented design, the class diagram developed during the analysis phase is refined into a ____________________________.
A(n) __________________________________ is a set of related, interacting objects that provide a well-defined set of services for accomplishing a task.
A(n) __________________________________ is a set of related, interacting objects that provide a well-defined set of services for accomplishing a task.
The authors of the 1995 book, Design Patterns, which proposed a set of 23 patterns for OO design are known collectively as the __________________________________.
The authors of the 1995 book, Design Patterns, which proposed a set of 23 patterns for OO design are known collectively as the __________________________________.
Flashcards
Object-Oriented Design
Object-Oriented Design
Software design using collaborating objects with attributes and methods.
Interface Class
Interface Class
Allows user interaction with defined access points in a system.
Dependency Relationship
Dependency Relationship
Connection between objects, shown with a dashed arrow.
Navigability
Navigability
Signup and view all the flashcards
Entity Class
Entity Class
Signup and view all the flashcards
Controller Class
Controller Class
Signup and view all the flashcards
System Class
System Class
Signup and view all the flashcards
Use-Case Narrative
Use-Case Narrative
Signup and view all the flashcards
CRC Cards
CRC Cards
Signup and view all the flashcards
Sequence Diagram
Sequence Diagram
Signup and view all the flashcards
Communication Diagram
Communication Diagram
Signup and view all the flashcards
State Machine Diagram
State Machine Diagram
Signup and view all the flashcards
Deployment Diagram
Deployment Diagram
Signup and view all the flashcards
Design Pattern
Design Pattern
Signup and view all the flashcards
Gang of Four (GOF)
Gang of Four (GOF)
Signup and view all the flashcards
Persistence Class
Persistence Class
Signup and view all the flashcards
Visibility
Visibility
Signup and view all the flashcards
Object State
Object State
Signup and view all the flashcards
Object Responsibility
Object Responsibility
Signup and view all the flashcards
Component
Component
Signup and view all the flashcards
Module
Module
Signup and view all the flashcards
Role Playing
Role Playing
Signup and view all the flashcards
Class Responsibility
Class Responsibility
Signup and view all the flashcards
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.
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.