OOPortal OOPortal


Model Reconciliation  «Prev  Next»
Lesson 6

Models Reconciliation Conclusion

This page asks you to review what was discussed in this module.

Object modeling involves the use of different diagrams to represent different aspects of the problem domain. Comparing and contrasting these different views helps to reveal discrepancies and opportunities for improvement and refinement.
Analysis is best performed by quickly creating initial drafts of all the diagrams. Do not worry about getting the analyses 100% correct or even close to it. Just get something down on paper so everyone can see it. Then use the diagrams as a reference point for all discussions. This will keep the reviews focused. Update the diagrams as you identify changes. Capture the knowledge immediately, and make it available to everyone in the project.
In this module you learned:
  1. The importance of using different views to find discrepancies and opportunities for enhancement
  2. How to test scenarios
  3. How to test classes
  4. How to test interfaces
  5. How to recognize the patterns for reconciliation

A software application requires a set of resources. To use them you need to describe each resource using a class definition. Classes describe the types of resources, their purpose, and the features that they provide, including attributes and operations
But to coordinate the interaction of these resources, you need to explain how they can communicate. To communicate, they need to be aware of one another. Just as people use various means to communicate such as phone calls, text, instant-messaging or e-mail, objects also need to define a means to communicate. They need to define a type of relationship. UML relationships come in three different types:
  1. association,
  2. generalization, and
  3. dependency.

An association is a semantic relationship between two model elements. In a Class diagram, an association defines the rules that apply to relationships between the objects defined by the participating classes. Each association includes the rules to establish and maintain the integrity of the relationships as the relationships are created and used by the application.
The same concept may be refined to account for objects that are actually assemblies of other objects. This assembly type of association, called aggregation, greatly facilitates the use of complex configurations of objects. Aggregation can also be refined to model assemblies where the parts have a more restricted association with the assembly. In this refinement of aggregation, called composition, the lives of the parts of the assembly depend wholly on their participation in the assembly.

UML Distilled

Glossary term

Cohesion: In computer programming, cohesion is a measure of how strongly-related the functionality expressed by the source code of a software module is. Methods of measuring cohesion vary from qualitative measures classifying the source text being analyzed using a rubric with a hermeneutics approach to quantitative measures which examine textual characteristics of the source code to arrive at a numerical cohesion score

Model Reconciliation - Quiz

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