To architect a dog house can be done by one person. It involves a simple process, performed with basic tools such as nails, hammer, saw, tape etc. In few hours you end with a house for dog and can do with no one else's help. Modeling effort is minimal or sometimes unnecessary.
If you want to build a house for your family with same things, is it possible? It requires detailed planning, some sketches etc. Of Course, architecting a house is best achieved by a team. It requires detailed modelling, well-defined processes and powerful tools.
What about a high rise building? Modeling is no doubt a critical part of any construction project!
And software development? Grady Booch said:
"Modeling is a central part of all the activities that lead up to the deployment of good software. We build models to communicate the desired structure and behavior of our system. We build models to visualize and control the system's architecture. We build models to better understand the system we are building, often exposing opportunities for simplification and reuse. And we build models to manage risk."
- Grady Booch, The Unified Modeling Language User Guide (2nd Edition)
Modeling is a proven & well accepted engineering techniques. In building architecture, we develop architectural models of houses & high rises to help visualize the final products. In Unified Modeling Language (UML), a model may be structural, emphasizing the organization of the system or it may be behavioral, emphasizing the dynamics of the system. A model is a simplification of reality, providing blueprints of a system. UML, in specific:
We build model so that we can better understand the system we are developing. A model may encompass an overview of the system under consideration, as well as a detailed planning for system design, implementation and testing.
The choice of what models to create has a profound influence on how a problem is attacked and how a solution is shaped. We need to choose your models well.
For Example: We can use different types of diagrams for different phases in software development.
For Example,
All models simplify reality and a good model reflects important key characteristics.
Every non-trivial system is best approached through a small set of nearly independent models. Create models that can be built and studied separately, but are still interrelated. In the case of a building:
Get Visual Paradigm Community Edition, a free UML tool that can help you learn UML faster & more effectively. Visual Paradigm Community Edition supports all UML diagram types. Its UML modeler is award-winning, easy-to-use and intuitive.
Free Download