Summary

This chapter's discussion started with reasons for modeling your applications. We pointed out that the average software system designer already models applications in the form of block diagrams, flowcharts, and so forth. You learned how modeling more formally (with UML) offers benefits both for applications that are new or legacy, especially where the software is critical, complex, and/or changing. We also examined the personal and career-related reasons for modeling your applications.

Then we examined the question of the breadth and depth to which you should model applications. Although modeling the complete application is the best case, you learned of various criteria and approaches for modeling selective areas of your application or system. You also learned that you should not believe that programming languages can substitute for proper analysis and design.

Finally, you learned the main elements found in class diagrams: classes with their attributes and operations, and associations between classes. You were introduced to the concepts of polymorphism, encapsulation, visibility, and constraints. You learned how the rolenames, qualifiers, and multiplicity adornments can be used. We also contrasted two special associations: aggregation and composition. Finally, generalization and inheritance were also discussed.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset