Problem Analysis  «Prev  Next»
Lesson 15Problem analysis Conclusion
ObjectiveReview Problem Analysis discussed in this module.

OO - Problem Analysis Conclusion

Problem analysis defines the resources used by the problem domain. These resources are defined as encapsulated entities, that is, exposing only their purposes and interfaces.
We will not define the implementations of these resources until their purpose and interfaces have been fully defined. So far, you have translated the vocabulary of the problem domain into class definitions. Those definitions have included only a name and the purpose of the class. In the following lessons, you will learn how to identify the required interfaces.
In this module, you learned:
  1. The purpose and scope of the problem analysis phase
  2. The two diagrams of the object model: class diagram and object diagram
  3. How to recognize classes and objects in the problem domain
  4. The UML class diagram notation (this was a review for those of you who took the UML Fundamentals course)
  5. How to apply basic modeling using the UML class diagram
  6. How to apply aggregation and composition
  7. How to apply generalization
  8. How to apply advanced associations, such as qualifiers, association classes, and reflexive associations

Glossary Terms

  1. Abstraction: Abstraction is the process of taking away or removing characteristics from something in order to reduce it to a set of essential characteristics. In object-oriented programming, abstraction is one of three central principles along with encapsulation and inheritance.
  2. Aggregate: An aggregation is an association that represents a part-whole relationship.
  3. Association: An association describes discrete connections among objects or other instances in a system.
  4. Encapsulation:Encapsulation is used to refer to one of two related but distinct notions, and sometimes to their combination: 1) A language mechanism for restricting direct access to some of the object's components. 2) A language construct that facilitates the bundling of data with the methods (or other functions) operating on that data.
  5. Generalization: A generalization is the structure or class hierarchy one obtains when you organize the class definitions using the processes of generalization and specialization.
  6. Interface: The class's collection of methods and attributes including access specifiers that define who is allowed to see which parts of the class.
  7. Multiplicity: A specification of the range of allowable cardinality values, (the sizes), that a collection may assume. Multiplicity specifications may be given for association ends, attributes, parts within composite classes, repetitions of messages, and other purposes.
  8. Subclass: One or more classes that are more specific versions of another similar class. A subclass inherits all the attributes and operations of the class it's based on.
  9. Superclass: The most general class of a group of classes that share some attributes and operations.

Problem Analysis - Quiz

Click the Quiz link below to take a short multiple-choice quiz on the material you covered in this module.
Problem Analysis - Quiz