PPPChapter9Exercise

Part 2: Unit 9
You have been tasked with "reusing" what's already there. You've already pulled out one or more components to support that functionality -- catalog maintenance -- how does your component measure up?

We just discussed several component coupling principles:
 * **Acyclic Dependencies Principle**
 * **Stable Dependencies Principle**
 * **Stable Abstractions Principle**

We also just learned about several metrics we can use to evaluate our components: >> include page="InstabilityFormula"
 * Instability**

>> include page="Abstractness"
 * Abstractness**

>> include page="DistanceFromMainSequence"
 * Distance from Main Sequence**

What are the values for the original diagram? math C_E = 0 math math C_A = 7 math math I = \frac{0}{0+7} = 0 math math A = \frac{2}{14} = 0.143 math math D = |0.143 + 0 - 1| = 0.857 math
 * Middle Tier**

math C_E = 7 math math C_A = 0 math math I = \frac{7}{7+0} = 1 math math A = \frac{1}{5} = 0.2 math math D = |1 + .2 - 1| = 0.2 math
 * UI Tier**

What to do next?
 * Now perform these calculations for your new component configuration. How do you compare?
 * What can you say about the components that have a "large" distance from the main sequence?
 * Knowing what you now know, work through a second round of componentization.

Final Observations
 * What is your experience with doing this kind of work?
 * What tool support have you used or do you see available to assist in this work?
 * Why go to all this trouble?

include page="PPPChapter9Exercise_Image"