Data Structures and Object Oriented Programming: UML, Object-Orientation And the UML
Each class is represented by what shape? How many compartments is it divided into?
Rectangle 3
How is association indicated on an UML design?
solid line between the two class involved and can be annotated with the cardinality of the relationship on either side
An annotation bracketed using < and > is called a
stereotype (examples: <abstract>; <interface>)
How is an implementation relationship represented?
dotted arrow with open arrowhead
How is the "uses" relationship represented?
dotted arrow with open arrowhead with an annotation describing the relationship
Diagrams
group collection of things
How can a non-public class be defined?
using a property string in curly braces such as {private}
How an inheritance shown on an UML diagram?
using an arrow with an open arrowhead pointing from the child class to the parent class
What is the syntax for an operation?
visibility name (parameter-list): return-type (property-string)
What is the syntax for an attribute?
visibility name:type = default-value Example: - title : String
What stereotype can you add to an attribute to indicate that it is a constant?
<final>
A UML describes the _____ in the system, the static relationships among them, the _____ and _____ associated with a class and the constraints on the connections among objects
A UML describes the CLASSES in the system, the static relationships among them, the ATTRIBUTES and OPERATIONS associated with a class and the constraints on the connections among objects
An abstract class is
A superclass that cannot be instantiated with an object
Where can you add a stereotype to indicate whether if it is abstract or an interface?
Above the name of the class
Associations can be further classified as
Aggregation and composition
What type of class is italicized in Java?
An abstract class
What are the two types of relationships?
Associations and generalizations
Classes and their relationships are put together on a diagram called a
Class Diagram
What does "extends" do in java?
Extends a class
What is Object-Oriented programming (OOP)?
Programming model organized around objects rather than "actions".
What are used to indicate visibility of attributes and operations?
Modifiers
What does a sequence design show?
Shows the dynamic interaction of classes over time
What does a state design show?
Shows the relationship between the states of a particular object
What does a class design show?
Shows the static, logical structure of the software design
What does a use case design show?
Shows the way outside actors interact with the system
How do you do multiple inheritance in Java?
Trick question, you can not in Java.
What is UML?
UML object oriented modeling language that provides a convenient way to represent the relationships among classes and objects in a software system
What does UML stand for?
Unified Modeling Language
Inheritance is when
a child class inherits from a parent class
What is an object?
a concept or thing with sharp boundaries and meaning for an application
What is a class?
a group of objects with same: -Properties (attributes) -Behavior (operations) -Relationships
How is an object represented in UML?
as rectangles with underlined names
What is another name for properties?
attributes
How is an aggregation relationship shown on an UML design?
by using an open diamond on the aggregate end of the relationship
An object is an instance of a ______
class
What does an interface do?
defines a group of related methods with empty bodies
What is an inheritance relationship?
one class being derived/ being a child of another class
What is another name for behaviors?
operations
Generalization expresses what kind of relationship between classes
parent/child relationship (IS_A relationship)
In UML, we say a class _____ an interface. In Java, we say a class "_____" an interface
realizes, implements
What does association represent?
relationship between instances of classes
What is an association relationship?
relationship between instances(objects) of the classes
What is an implementation relationship?
represents a class implementing an interface
What is an aggregation relationship?
represents one class being made up of other classes
What is the "uses" relationship?
represents one class using another