Visual Modeling What is a Model Models are

















- Slides: 17

Visual Modeling

What is a Model? • Models are abstractions that – portray the essentials of a complex problem – structure by filtering out nonessential details, thus making the problem easier to understand. • People are using models for ages!

Why Modeling? • We build models of complex systems because we cannot comprehend such systems in their entirety • Building a shed is different than building a skyscraper • Modeling allows us to focus on the big picture • Model help us to organize, visualize, understand create complex things.

Visual Modeling • Visual modeling is the graphic representation of objects and systems of interest using graphical languages. (Wikipedia) Image Source http: //epf. eclipse. org/wikis/openup/core. tech. common. extend_supp/guidances/concepts/visual_modeling_2 C 089766. html

Modeling and Software Development • Software also complex entities • Developers can also use models to verity that model satisfy the requirements • To understand validate requirements

How visual models help • Increase understanding of complex systems • Explore and compare design alternatives at a low cost • Form a foundation for implementation • Capture requirements precisely • Communicate decisions unambiguously

Triangle of Success • Notation – how to communicate • Process – how to use it • Tool – how to document

Role of Notation • It serves as the language for communicating decisions that are not obvious or cannot be inferred from the code itself. • It provides semantics that are rich enough to capture all important strategic and tactical decisions. • It offers a form concrete enough for humans to reason and for tools to manipulate.

What is UML? • Unified Modeling Language (UML) • graphical notations • help in describing and designing software systems • Particularly for software built using object oriented style • Why? = programming languages are not at a high enough level of abstraction to facilitate discussions about design.

Ways of using UML • UML as sketch – use the UML to help communicate some aspects of a system – communicate ideas and alternatives about specific piece of code – Visualize before program

Ways of using UML • UML as blueprint – detailed design for a programmer to code up – should be sufficiently complete in that all design decisions are laid out – require much more sophisticated tools than sketches do in order to handle the details required for the task – sketches are explorative, while blueprints are definitive

Notation and Meta-Models • notation is the graphical stuff you see in models – graphical syntax of the modeling language – graphical modeling languages have very little rigor • meta-model: a diagram, usually a class diagram, that defines the concepts of the language. – A sketcher usually doesn't care too much; a blueprinter should care rather more

UML Diagrams • Structure Diagrams: – Structure diagrams emphasize things that must be present in the system being modeled. Since structure diagrams represent the structure, they are used extensively in documenting the software architecture of software systems. • Behavior diagrams – Behavior diagrams emphasize what must happen in the system being modeled. Since behavior diagrams illustrate the behavior of a system, they are used extensively to describe the functionality of software systems. • Interaction diagrams – Interaction diagrams, a subset of behavior diagrams, emphasize the flow of control and data among the things in the system being modeled:

UML Diagrams • 13 official diagrams in UML 2

UML Diagrams

Legal UML • prescriptive rules is controlled by an official body that states what is or isn't legal in the language and what meaning you give to utterances in that language • descriptive rules is one in which you understand its rules by looking at how people use the language in practice • Programming languages tend to have prescriptive where natural languages are descriptive

UML is not enough • You might come to know few diagrams which are good but not listed in UML • We shouldn't hesitate to use a non-UML diagram if no UML diagram suits our purpose