Visually Model Software

A model is a simplification of reality that completely describes a system from a particular perspective, as shown in Figure 1-4. We build models so that we can understand better the system we are modeling; we build models of complex systems because we cannot comprehend such systems in their entirety.

Figure 1-4. Modeling a system from different perspectives

graphics/01fig04.gif

Modeling is important because it helps the development team visualize, specify, construct, and document the structure and behavior of a system's architecture. Using a standard modeling language such as the Unified Modeling Language (UML), members of the development team can unambiguously communicate their decisions to one another.

Visual modeling tools facilitate the management of these models, letting you hide or expose details as necessary. Visual modeling also helps to maintain consistency among a system's artifacts: its requirements, designs, and implementations . In short, visual modeling helps improve a team's ability to manage software complexity.

Coupled with the practice of developing software iteratively, visual modeling helps you expose and assess architectural changes and communicate those changes to the entire development team. With the right kind of tools, you can then synchronize your models and source code during each iteration.

Modeling your software visually offers a number of solutions to the root causes of software development problems:

  1. Use cases and scenarios unambiguously specify behavior.

  2. Models unambiguously capture software design.

  3. Nonmodular and inflexible architectures are exposed.

  4. Details can be hidden when necessary.

  5. Unambiguous designs reveal their inconsistencies more readily.

  6. Application quality starts with good design.

  7. Visual modeling tools provide support for UML modeling.



The Rational Unified Process. An Introduction
Blogosphere: Best of Blogs
ISBN: B0072U14D8
EAN: 2147483647
Year: 2002
Pages: 193

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net