You are on page 1of 5

Modeling

What is modeling?
Modeling consists of building an abstraction of reality. Abstractions are simplifications because: They ignore irrelevant details and They only represent the relevant details What is relevant or irrelevant depends on the purpose of the model. Models can be used for 2 purposes: Gain insight into the past and presence Predict future behavior.

Why should we model Software? Software is used in many appliances and everyday objects Software is getting increasingly more complex Windows 2000: ~ 40 million lines of code A single programmer cannot manage this amount of code in its entirety Code is not easily understandable by developers who did not write it We need simpler representations for complex systems Modeling is a mean for dealing with complexity.

Introduction to UML
The Unified Modeling Language (UML) is a diagramming language or notation to specify, visualize and document models of Object Oriented software systems. UML is not a development method, that means it does not tell you what to do first and what to do next or how to design your system, but it helps you to visualize your design and communicate with others. UML is controlled by the Object Management Group (OMG) and is the industry standard for graphically describing software. UML is designed for Object Oriented software design and has limited use for other programming paradigms. UML is composed of many model elements that represent the different parts of a software system. The UML elements are used to create diagrams, which represent a certain part, or a point of view of the system.

Model, View
y A model is an abstraction describing a system or a subsystem. y A view depicts selected aspects of a model. y A notation is a set of graphical or textual rules for depicting models and views. y Commercial tools: Rational (IBM), Together (Borland), Visual Architect (business processes, BCD), etc. y Open Source tools: ArgoUML, StarUML, Umbrello, Visual Paradigm, etc.

Use Case Diagrams Class Diagrams Sequence Diagrams Collaboration Diagrams State Diagrams Activity Diagrams Component Diagrams Deployment Diagrams

You might also like