Вы находитесь на странице: 1из 20

SYSC 3100 - System Analysis and Design

Basic Concepts

The Unified Modeling Language (UML)


What is a model?
• You must have made or played with one as a child. 
• Have you wandered through architecture?
Objectives
• Explain the need for models in Engineering work
• Describe the purpose of the Unified Modeling Language
• Explain the difference between a model and a diagram.
• Explain the views and their corresponding diagrams
1. Structure
2. Dynamic
3. Physical
4. Management
We will concern ourselves with 1 and 2 mainly.
Models in Traditional Engineering
• As old as engineering
• Traditional means of reducing engineering risk

IBM Software Group |


Engineering Models
• Engineering model: A reduced representation of some
system that highlights the properties of interest from a
given viewpoint

 We don’t see everything at once


 We use a representation (notation) that is easily understood

IBM Software Group |


How Engineering Models are Used
1. To help us understand complex systems
– Useful for both requirements and designs
– Minimize risk by detecting errors and omissions early in the design
cycle (at low cost)
• Through analysis and experimentation
• Investigate and compare alternative solutions
– To communicate understanding
• Stakeholders: Clients, users, implementers, testers, documenters, etc.
2. To drive implementation
 The model as a blueprint for construction

IBM Software Group |


A Common Problem with Engineering Models

. Semantic Gap due to:


Common Problem .
. • Idiosyncrasies of actual
construction materials
• Construction methods
• Scaling effects
• Skill sets
• Misunderstandings
Can lead to serious errors and
discrepancies in the realization

IBM Software Group |


Modeling and UML
• The idea of modelling is fundamental to UML
• Like a map, a model represents something else
• A useful model has the right level of detail and represents
only what is important for the task in hand
• Many things can be modelled: bridges, traffic flow,
buildings, economic policy
Why Use a Model?
• A model is quicker and easier to build
• A model can be used in a simulation
• A model can evolve as we learn
• We can choose which details to include in a model
• A model can represent real or imaginary things from any
domain
UML and Diagrams
• In software engineering, like in other engineering
disciplines, we use diagrams to represent models …
• Abstract shapes are used to represent things or actions
from the real world, or from a system in our case …
• Diagrams follow rules or standards
• The standards make sure that different people will interpret
the diagram in the same way

40°
What is UML?
• Specification and design language, not a programming
language! Modeling language.
• Mostly visual but has precise semantics
• Diagrams consist of well-defined elements (graphical) and
have rules on how to use and combine elements
• Abstract syntax, well-formedness rules, semantics can be
found in the official documentation
• UML is not a CASE tool. Rather, many CASE tools
support UML modeling, code generation, simulation of
UML models, etc. (e.g., Rational Rose)
• UML is not a methodology but only a notation
Origins and Future of UML

• Object-oriented programming languages: Simula (67),


C++, Eiffel, Java …
• Object-oriented Analysis and Design techniques
• UML’s goal was to bring together the best features of all
notations to produce an industry standard
• UML is (mostly) a visual, modeling language
• The course (and textbook) will use UML 2.0
Why use UML?
• Diagrams help visualize designs and cope with complexity
• Abstract features of the design
• Show relationships between elements of the design
• Implements or support the principles of:
– Abstraction
– Separation of concerns
– Modularity
– Rigor and formality
• De facto standard for object-oriented modeling
• Bring good ideas in consistent framework, supported by
many tools, profiles, methods and processes exist
Diagrams vs Models
• A diagram illustrates some aspect of a system.
• A model provides a complete view of a system at a
particular stage and from a particular perspective, e.g.,
Analysis model, Design model.
• A model may consist of a single diagram, but most consist
of many related diagrams and supporting data and
documentation.
Models in UML

• A system is the overall thing that is being modelled


• A sub-system is a part of a system consisting of related
elements
• A model is an abstraction of a system or sub-system from a
particular perspective
• A model is complete and consistent at the chosen level of
abstraction
UML Views
• A view is a subset of UML modelling constructs that
represents one aspect of a system. The views used in this
section are not part of UML specification but just an aid to
organizing and presenting the UML concepts.

– Structural classification
– Dynamic behaviour
– Physical layout
– Model management

James Rumbaugh et. al


UML views and diagrams
Major View Sub-view Diagram Concepts
structural static class diagram association, class, dependency,
generalization, interface,
realization
design internal connector, interface, part, port,
structure provided interface, role, required
interface
collaboration connector, collaboration,
diagram collaboration use, role
component component, dependency, port,
diagram provided interface, realization,
required interface, subsystem
use case use case actor, association, extend,
diagram include, use case, generalization
UML views and diagrams cont.
Major View Sub-view Diagram Concepts
dynamic state state machine completion transition, do
machine diagram activity, effect, event, region,
state, transition, trigger
activity activity action, activity, control flow,
diagram control node, data flow,
exception, expansion region,
fork, join, object node, pin
interaction sequence occurrence specification,
diagram execution specification,
interaction, lifeline, message,
signal
communicati collaboration, guard condition,
on diagram message, role, sequence
number
UML views and diagrams cont.

Major View Sub-view Diagram Concepts


physical deployment deployment artifact, dependency,
diagram manifestation, node
model model package import, model, package
management management diagram
profile package constraint, profile,
diagram stereotype, tagged value
Summary
• Models reduce risk.
• Unified Modeling Language – Blueprints for designing
software systems. (a bit bloated though)
• Diagrams are used to express design in a common format.
• Models are used to analyze the design.
• Structure diagrams show static architecture.
• Dynamic diagrams show how components interact.
• Component diagrams show how architecture is mapped to
hardware.
• We don’t care about Management diagrams.

Вам также может понравиться