CGS2545 Chapter 14

Terms for Chapter

Abstract class : A class that has no direct instances, but whose descendants may have direct instances.

Abstract operation : Defines the form or protocol of the operation, but not its implementation.

Aggregation : The process of transforming data from a detailed to a summary level. A part-of relationship between a component object and an aggregate object.

Association : A relationship between object classes.

Association class : An association that has attributes or operations of its own, or that participates in relationships with other classes.

Association : role The end of an association where it connects to a class.

Behavior : Represents how an object acts and reacts.

Class diagram : Shows the static structure of an object-oriented model: the object classes, their internal structure, and the relationships in which they participate.

Class-scope attribute : An attribute of a class that specifies a value common to an entire class, rather than a specific value for an instance.

Composition : A part object that belongs to only one whole object, and that lives and dies with the whole object.

Concrete class : A class that can have direct instances.

Constructor operation : An operation that creates a new instance of a class.

Encapsulation : The technique of hiding the internal implementation details of an object from its external view.

Method : The implementation of an operation.

Multiple classification : An object is an instance of more than one class.

Multiplicity : A specification that indicates how many objects participate in a given relationship.

Object : An entity that has a well-defined role in the application domain as well as state, behavior, and identity.

Object class : A set of objects that share a common structure and a common behavior.

Object diagram : A graph of instances that are compatible with a given class diagram.

Operation : A function or a service that is provided by all the instances of a class.

Overriding : The process of replacing a method inherited from a superclass by a more specific implementation of that method in a subclass.

Polymorphism : The same operation may apply to two or more classes in different ways.

Query operation : An operation that accesses the state of an object but does not alter the state.

Scope operation : An operation that applies to a class rather than an object instance.

State : Encompasses an object's properties (attributes and relationships) and the values those properties have.

Update operation : An operation that alters the state of an object.

Back to the Top


Questions from Companion Website

Multiple Choice

1. During the implementation phase you use a programming language and/or database management system.
During the implementation phase, you use these tools to translate the design into program code.

2. Graphical diagrams used to represent different multiple perspectives of a system include use-case, class, and state diagrams.
Diagrams include use-case, class, state, interaction, component, and deployment diagrams.

3. A set of objects that share a common structure and a common behavior.
Answer : Object class Usually "object instance" refers to an individual object, while "object class" refers to a group of common objects. Student is an example of an object class.

4. How an object acts is its behavior.
An object’s behavior depends on its state and the operations being performed.

5. If STUDENT is an object class, then Mary Jones is an object instance.
Mary Jones is an individual object or object instance in the object class of STUDENT.

6. In ULM, a class is represented by a rectangle with three compartments separated by horizontal lines.
A rectangle with class name, attributes, and operations separated by horizontal lines is the correct way to represent a class.

7. An operation that alters the state of an object.
Answer : Update operation
The operation to promote a student to a new year (junior to senior) is an example of an update operation; it alters the state of the object, STUDENT.

8. An operation that applies to a class rather than an object instance.
Answer : Scope operation
The operation to calculate the GPA for the Student class would be scope operation.

9. In an object-oriented model, this is parallel to the definition of a relationship for the E-R model.
Answer : Association
An association is a named relationship between or among object classes.

10. The multiplicity for IS-MARRIED-TO would be
Answer : 0..1 .
IS-MARRIED-TO would be 0..1, meaning a person is either not married (0) or married to 1 person.

11. An association that has attributes or operations of its own or that participates in relationships with other classes.
Answer : Association class
An association class has its own features and can have an association with another class.

12. A generalization path is drawn as a
Answer : solid line with a hollow triangle at the end.
The solid line is drawn from the subclass to the superclass with a hollow triangle pointing toward the superclass.

13. A class that can have direct instances.
Answer : Concrete class A concrete class has direct instances; an abstract class has no direct instances.

14. This term means a descendent may not be descended from more than one of the subclasses.
Answer : Disjoint
Disjoint is a UML keyword, the same as the disjoint rule in EER diagramming.

15. This term means all subclasses have been specified.
Answer : Complete
Complete is a UML keyword, meaning that no additional subclasses are expected.

Back to the Top


True/False Questions

1. An object encapsulates both data and behavior. Answer : TRUE The object-oriented approach is used not only for data modeling, but also for process modeling.

2. The emphasis on modeling should be on the back-end implementation issues. Answer : FALSE The emphasis should be on the analysis and design, focusing on front-end conceptual issues.

3. It is cheaper and easier to make changes or fix flaws during analysis than during the later phases. Answer : TRUE That is why the analysis model should capture requirements completely and accurately.

4. The design activity can be separated into two stages, the system design and the implementation. Answer : FALSE The design activity can be separated into the system design and the object design.

5. The UMT is a language for specifying, visualizing, and constructing the artifacts of software systems, as well as for business modeling. Answer : FALSE It is the Unified Modeling Language (UML), not the UMT.

6. All objects have an identity. Answer : TRUE Even if two instances have identical values for all objects, the objects maintain their separate identities.

7. Objects store both state and behavior. Answer : TRUE The state encompasses an object’s attributes and relationships; the behavior represents how an object acts and reacts.

8. An object diagram shows all services that are provided by all instances. Answer : FALSE An object diagram is a graph of instances that are compatible with any given class diagram.

9. In the chapter example, calc-gpa is an example of an operation. Answer : TRUE An operation is a function or services that is provided by all the instances of a class.

10. A technique of hiding the internal implementation details of an object from its external is association. Answer : FALSE This technique is encapsulation.

11. A multiplicity of 2..5 means that the object must have a value between 2 and 5. Answer : FALSE 2..5 means that a minimum of 2 and a maximum of 5 objects can participate in a given relationship.

12. The multiplicity * represents a range from 0 to infinity. Answer : TRUE The most common multiplicities are *, 1, and 0..1 .

13. A derived element is shown by placing a # before the name of the element. Answer : FALSE A slash (/) denotes a derived element.

14. A class-scope attribute specifies a value for an instance. Answer : FALSE A class-scope attribute specifies a value for an entire class.

15. The same operation that may apply to two or more classes in different ways is a polymorphism. Answer : TRUE This is a key concept in object-oriented systems.

Back to the Top


Essay Questions

1. What are some motivations and benefits of object-oriented modeling? Answer : Benefits include (but are not limited to) the ability to tackle more challenging problem domains; improved communication between users, analysts, designers, and programmers; increased consistency among analysis, design, and programming activities; and explicit representation of commonality among system components. Robustness of systems, reusability of analysis, design, and programming results, and increased consistency among all models are additional benefits.

2. What are the phases of the object-oriented development life cycle? Answer : The phases are analysis - where you develop a model of the real-world application; design – where you design how the model will be realized; and implementation – where you implement the design using a programming language and/or a DBMS.

3. How is the object-oriented model different from the E-R and EER models? Answer : Unlike the object-oriented model, the E-R and EER models do not let you capture processes; they only allow you to model the data needs of an organization. The object-oriented model also supports aggregation, while the E-R and EER models do not.

4. What is the UML? Answer : The Unified Modeling Language (UML) is a language for specifying, visualizing, and constructing the artifacts of software systems, as well as for business modeling. This object-oriented modeling language is expected to become the industry standard in the near future.

5. What is aggregation? Answer : Aggregation is a stronger form of association relationship and expresses a Part-of relationship between a component object and an aggregate object.


Links to Other Pages in this Website:

Back to the Top