A template for making an object. This is also a Java keyword.
What is a class?
100
This is a pictorial representation of the relationships between objects in a design.
What is a Class Diagram?
100
This can tell you how a user will interact with the system.
What is a Use Case?
100
This is about reuse and making sure you're not solving a problem that someone else has figured out (and documented) in the past.
What are Design Patterns?
100
The UML symbol for this relationship is a diamond on the end of a line and indicates that one object is contained/used by another object. This is also called composition.
What is Aggregation?
200
A Circle's relationship to Shape is an example of this.
What is inheritance?
200
This is the last step in the "Three Easy Steps."
HINT:
1. Make sure the customer is happy.
2. Apply basic OO principles to add flexibility.
3. ????
4. PROFIT!
What is maintainable/reusable design?
200
What is the one thing that never changes about requirements?
What is Change?
200
It's not a silver bullet, but this programming style can take off the edge.
What is Object Oriented Programming?
200
The parent of a class.
What is a Super Class?
300
A class in which some methods have no implementation. This is also a Java keyword.
What is an abstract class?
300
Not applying this concept creates a bad smell that comes from creating code that doesn't behave the way it is named, or has additional behaviors that don't jive with its name.
What is the Single Responsibility Principle?
300
A description of one thing a system shall do to be considered a success.
What is a Requirement?
300
This is about keeping some parts of the code separate (and sometimes hidden) from other parts. With this separation, the parts that can change often are easier to change
What is Encapsulation?
300
This forms a contract between the class and the outside world through loosely defining behavior via a group of methods. Implementing this allows a class to become more formal about the behavior it promises to provide.
What is an Interface?
400
The keyword used to declare that data or methods that are common to all instances of a class.
What is static?
400
When applying this method, nouns and verbs help to understand what is important.
What is Textual Analysis?
400
This will tell you a certain way in which a use case can describe how a user will interact with the system to achieve a specific goal. There can be more than one of these.
What is a Scenario?
400
This shields your objects from implementation changes to other objects in your software by handing off responsibility.
What is Delegation?
400
Another word for the entirety of a class design, it comprises all objects in a tree.
What is a Class Hierarchy?
500
But you wouldn't refer to your real children this (but you certainly could if you loved OO that much!)
What is derived class, or subclass?
500
Over and over again, this is the most pervasive and pungent smell. This can be reduced by applying good analysis and design.
What is Duplicated Code?
500
Without this, you'll never ever make the customer happy. A good design that fulfills a good set of requirements never matters if this isn't complete.
What is Functionality?
500
This is a UML term indicating the relationship of two objects.
What is an Association?
500
While this is a UML term, this is called inheritance in Java.