DEV475 Mastering Object-Oriented Analysis and Design with UML ...

DEV475 Mastering Object-Oriented Analysis and Design with UML ... DEV475 Mastering Object-Oriented Analysis and Design with UML ...

crnarupa.singidunum.ac.rs
from crnarupa.singidunum.ac.rs More from this publisher
12.07.2015 Views

DEV475 Mastering Object-Oriented Analysis and Design with UMLWhat Is a Model?What Is a Model?• A model is a simplification of reality.Mastering Object Oriented Analysis and Design with UMLCopyright © 2003 Rational Software, all rights reserved 6According to Grady Booch, a model provides the blueprints of a system. It canencompass detailed plans, as well as more general plans that give a 30,000-foot viewof the system under construction. A good model includes those elements that are notrelevant to the given level of abstraction. Every system can be described fromdifferent aspects using different models, and each model is therefore a semanticallyclosed abstraction of the system. A model can be structural, emphasizing theorganization of the system, or it can be behavioral, emphasizing the dynamics of thesystem.2 - 6

Module 2 - Concepts of Object OrientationWhy Do We Model?Why Do We Model?• We build models to better understand the systemwe are developing.• Modeling achieves four aims. It:• Helps us to visualize a system as we want it to be.• Permits us to specify the structure or behavior of asystem.• Gives us a template that guides us in constructing asystem.• Documents the decisions we have made.• We build models of complex systems because wecannot comprehend such a system in its entirety.Mastering Object Oriented Analysis and Design with UMLCopyright © 2003 Rational Software, all rights reserved 7According to The Unified Modeling Language Use Guide (Booch, Rumbaugh, andJacobson, 1998), modeling achieves four aims:• Models help us to visualize a system as we want it to be. A model helps thesoftware team communicate the vision for the system being developed. It is verydifficult for a software team to have a unified vision of a system that is onlydescribed in specification and requirement documents. Models bring aboutunderstanding of the system.• Models permit us to specify the structure or behavior of a system. A modelallows us to document system behavior and structure before coding the system.• Models give us a template that guides us in constructing a system. A model is aninvaluable tool during construction. It serves as a road map for a developer. Haveyou experienced a situation where a developer coded incorrect behaviorbecause there was confusion over the wording in a requirements document?Modeling helps alleviate that situation.• Models document the decisions that have been made. Models are valuable toolsin the long term because they give “hard” information on design decisions. Youdon’t need to rely on someone’s memory.2 - 7

<strong>DEV475</strong> <strong>Mastering</strong> <strong>Object</strong>-<strong>Oriented</strong> <strong>Analysis</strong> <strong>and</strong> <strong>Design</strong> <strong>with</strong> <strong>UML</strong>What Is a Model?What Is a Model?• A model is a simplification of reality.<strong>Mastering</strong> <strong>Object</strong> <strong>Oriented</strong> <strong>Analysis</strong> <strong>and</strong> <strong>Design</strong> <strong>with</strong> <strong>UML</strong>Copyright © 2003 Rational Software, all rights reserved 6According to Grady Booch, a model provides the blueprints of a system. It canencompass detailed plans, as well as more general plans that give a 30,000-foot viewof the system under construction. A good model includes those elements that are notrelevant to the given level of abstraction. Every system can be described fromdifferent aspects using different models, <strong>and</strong> each model is therefore a semanticallyclosed abstraction of the system. A model can be structural, emphasizing theorganization of the system, or it can be behavioral, emphasizing the dynamics of thesystem.2 - 6

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!