A model is an abstract representation of a system, constructed to understand the system prior to building or modifying it.
- Most of the modeling techniques involve graphical languages.
- UML is a general purpose modeling language.
- It helps to capture the behavior of complex software and non software system and it has become an OMG standard.
- UML allows elements and components to support the requirement of complex systems.
- UML is an object oriented concepts and methodology. So UML modeled using the pictorial language.
- UML diagrams are drawn from different ways like design, implementation, deployment etc.
- The UML has an important role in this OO analysis and design, The UML diagrams are used to model the design.
Language for specifying, constructing, visualizing and documenting the software system and its components
Graphical language with sets of rules and semantics (expressed in English, known as object constraint language (OCL)
- OCL – a specification language that uses simple logic for specifying the properties of a system
Viewed as a snapshot of a system’s parameters at rest or at a specific point in time.
Represent the structural or static aspect of a system
UML class diagram – e.g. of static model
Viewed as a collection of procedures or behaviors taken together, reflect the behavior of a system over time
Show how the business objects interact to perform tasks
E.g. UML interaction diagram, activity models
Good models are essential for communication among project teams
Modeling language includes
Model elements – fundamental modeling concepts and semantics
Notation – visual rendering of model elements
Guidelines – expression of usage within the trade
Clarity – Pick out errors and omissions from a graphical or visual representation much better than from listing of codes
Familiarity – more comfortable to work with this type of representation because it is similar to the way the information actually is represented and used by the employees currently working in the problem domain
Maintenance – visual notation can improve the maintainability of a system. .visual identification of locations to be changed and the visual confirmation of those changes will reduce errors.
Simplification – use of a higher level representation generally results in the use of fewer but more general constructs, contributing to simplicity and conceptual understanding.
Advantages of modeling
- Models make it easier to express complex ideas
- Reduction of complexity.
- Models enhance and reinforce learning and training
- Cost of the modeling analysis is much lower than the cost of similar experimentation conducted with a real system.
- Manipulation of the model is much easier than manipulating a real system
Primary goals in the design of the UML
- Provide users a ready-to-use, expressive visual modeling language so they can develop and exchange meaningful models
- Provide extensibility and specialization mechanisms to extend the core concepts
- Be independent of particular programming languages and development processes
- Provide a formal basis for understanding the modeling language
- Encourage the growth of the OO tools market
- Support higher-level development concepts
- Integrate best practices and methodologies