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
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 dependency relationship is illustrated with a dashed arrow line.
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.
Navigability is illustrated with an arrowhead pointing only to the direction a message can be sent.
Signup and view all the answers
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.
Signup and view all the answers
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.
Signup and view all the answers
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.
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.
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.
Signup and view all the answers
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.
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.
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.
Signup and view all the answers
Controller classes implement the business logic or business rules of the system.
Controller classes implement the business logic or business rules of the system.
Signup and view all the answers
System classes handle operating system-specific functionality.
System classes handle operating system-specific functionality.
Signup and view all the answers
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.
Signup and view all the answers
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.
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.
Public attributes can be accessed and public methods can be invoked by any other method in any other class.
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.
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.
Signup and view all the answers
A class responsibility is essentially the same thing as a class method.
A class responsibility is essentially the same thing as a class method.
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.
A class responsibility is implemented by the creation of one or more methods that may have to collaborate with other classes and methods.
Signup and view all the answers
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.
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.
A class responsibility collaboration (CRC) card is a popular tool for documenting the behaviors and collaborations for an object.
Signup and view all the answers
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.
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.
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.
Signup and view all the answers
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.
Signup and view all the answers
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.
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.
Reusability is why operating system-specific code and database-specific code are often designed into system and persistence classes.
Signup and view all the answers
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.
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.
One advantage of using design patterns is that they provide designers with a shorthand notation for discussing design issues.
Signup and view all the answers
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.
Signup and view all the answers
GOF creational patterns provide guidance for designing classes to instantiate new objects.
GOF creational patterns provide guidance for designing classes to instantiate new objects.
Signup and view all the answers
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.
Signup and view all the answers
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.
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.
An object framework is a set of related, interacting objects that provide a well-defined set of services for accomplishing a task.
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.
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.
Signup and view all the answers
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.
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.
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.
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):
A class that would have to change if the system was ported to another operating system would be a(n):
Signup and view all the answers
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):
Signup and view all the answers
Which of the following is NOT a UML level of visibility?
Which of the following is NOT a UML level of visibility?
Signup and view all the answers
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?
Signup and view all the answers
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.
Signup and view all the answers
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?
Signup and view all the answers
Which UML diagram models object state?
Which UML diagram models object state?
Signup and view all the answers
What did the Gang of Four do?
What did the Gang of Four do?
Signup and view all the answers
Which of the following is NOT a GOF pattern category?
Which of the following is NOT a GOF pattern category?
Signup and view all the answers
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:
Signup and view all the answers
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:
Signup and view all the answers
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:
Signup and view all the answers
A dialogue box is an example of a(n):
A dialogue box is an example of a(n):
Signup and view all the answers
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):
Signup and view all the answers
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):
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.
This is a group of objects packaged together into one unit. An example is a dynamic link library (DLL) or executable file.
Signup and view all the answers
What is a design pattern?
What is a design pattern?
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?
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?
Signup and view all the answers
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?
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.
A(n) __________________________ is a group of objects packaged together into one unit. An example is a dynamic link library (DLL) or executable file.
Signup and view all the answers
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.
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.
A(n) _____________________________ triggers the change in state when something happens or when the value of one of the attributes changes.
Signup and view all the answers
___________________________________ are a common solution to a given problem in a context.
___________________________________ are a common solution to a given problem in a context.
Signup and view all the answers
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.
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.
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.
Signup and view all the answers
________________________________ 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.
Signup and view all the answers
_______________________________ 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.
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.
__________________________________ 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.
Signup and view all the answers
_________________________________ 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.
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.
_________________________________ 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.
Signup and view all the answers
_________________________________ diagrams model the life cycle of a single object.
_________________________________ diagrams model the life cycle of a single object.
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: ___________________.
Name four types of object classes that are introduced as a result of implementation decisions that were made during systems design: ___________________.
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.
__________________________ 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.
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.
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.
Signup and view all the answers
_____________________________ classes are those that hold application or business rule logic.
_____________________________ classes are those that hold application or business rule logic.
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.
________________________________ classes process messages from an interface class and respond to them by sending and receiving messages from the entity classes.
Signup and view all the answers
_____________________________ classes read and write attributes to a database.
_____________________________ classes read and write attributes to a database.
Signup and view all the answers
_________________ classes isolate the other objects from operating system-specific functionality.
_________________ classes isolate the other objects from operating system-specific functionality.
Signup and view all the answers
_____________________________ 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.
Signup and view all the answers
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 _______________________________.
Signup and view all the answers
________________________________ is the software logic that is executed in response to a message.
________________________________ is the software logic that is executed in response to a message.
Signup and view all the answers
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 _______________.
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.
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.
Signup and view all the answers
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 ____________________________.
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.
A(n) __________________________________ is a set of related, interacting objects that provide a well-defined set of services for accomplishing a task.
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 __________________________________.
The authors of the 1995 book, Design Patterns, which proposed a set of 23 patterns for OO design are known collectively as the __________________________________.
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.
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.