Basic Concepts The Unified Modeling Language (UML) SYSC 3100 - System Analysis and Design.

Slides:



Advertisements
Similar presentations
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Advertisements

UML Diagrams Jung Woo. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems, business.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 9 Slide 1 Appendix 3 Object-Oriented Analysis and Design.
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 04. Other.
Object-Oriented Analysis and Design
Introduction To System Analysis and Design
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
03/12/2001 © Bennett, McRobb and Farmer Modelling Concepts Based on Chapter 5 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and.
Kari R. Schougaard, PhD Stud. Værktøjer og Teknikker, 2006 UNIVERSITY OF AARHUS Department of Computer Science Unified Modeling Language Visual language.
© Copyright Eliyahu Brutman Programming Techniques Course.
UML Sequence Diagrams Michael L. Collard, Ph.D. Department of Computer Science Kent State University.
System Analysis & Design
UML Unified Markup Language Ziya Karakaya Atılım University, Computer Engineering
1COM6030 Systems Analysis and Design © University of Sheffield 2005 COM 6030 Software Analysis and Design Lecture 4 - System modelling Dr Richard Clayton.
Introduction to UML 1 Quick Tour Why do we model? What is the UML? Foundation elements Unifying concepts Language architecture Relation to other OMG technologies.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 A Discipline of Software Design.
Introduction to UML By: Prof. Aiman Hanna Department of Computer Science, Concordia University, Montreal, Canada.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
1 SYS366 Lecture Visual Modeling and Business Use Case Diagrams.
Lecture 3: Visual Modeling & UML 1. 2 Copyright © 1997 by Rational Software Corporation Computer System Business Process Order Item Ship via “ Modeling.
1 WXGC6102: Object-Oriented Techniques Modelling Concepts References: Chapter 5 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and Design.
Object-Oriented Analysis and Design An Introduction.
Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.
Object Management Group (OMG) Specifies open standards for every aspect of distributed computing Multiplatform Model Driven Architecture (MDA)
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
TAL7011 – Lecture 4 UML for Architecture Modeling.
 What is Modeling What is Modeling  Why do we Model Why do we Model  Models in OMT Models in OMT  Principles of Modeling Principles of Modeling 
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
1/26 On-demand Learning Series Software Engineering of Web Application - Object-Oriented Development & UML Hunan University, Software School.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
Source Mastering UML with Rational Rose 2002 Information System Engineering Introduction to UML.
OMT Modeling 1. Object Model : presented by the object model and the data dictionary. 2. Dynamic Model: presented by the state diagrams and event flow.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
1 Unified Modeling Language, Version 2.0 Chapter 2.
Source Mastering UML with Rational Rose 2002 Information System Engineering Introduction to UML.
Models and Diagrams. Models A model is an abstract representation of something real or imaginary. Like a map, a model represents something A useful model.
CSCI 3428: Software Engineering Tami Meredith UML Unified Modeling Language.
UML Course Instructor: Rizwana Noor. Overview  Modeling  What is UML?  Why UML?  UML Diagrams  Use Case  Components  Relationships  Notations.
1 BTS330 Visual Modeling. What is Visual Modeling? 2 Copyright © 1997 by Rational Software Corporation Computer System Business Process Order Item Ship.
1 SYS366 Week 2 - Lecture 2 Visual Modeling & UML.
Object Oriented Analysis & Design By Rashid Mahmood.
UML. Model An abstract representation of a system. Types of model 1.Use case model 2.Domain model 3.Analysis object model 4.Implementation model 5.Test.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 1 Object-Oriented Design.
UML (Unified Modeling Language)
Introduction to UML.
UML Diagrams By Daniel Damaris Novarianto S..
Object-Oriented Analysis and Design
Modelling Concepts Based on Chapter 5 Bennett, McRobb and Farmer
Systems Analysis and Design With UML 2
Unified Modeling Language
Introduction to Unified Modeling Language (UML)
UML Diagrams Jung Woo.
Business System Development
UML: Unified modeling language
Introduction to Object Oriented Analysis, Design and Unified Modeling Language (UML) Shanika Karunasekera.
Object oriented analysis and design
Presentation transcript:

Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design

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: Idiosyncrasies of actual construction materials Construction methods Scaling effects Skill sets Misunderstandings Can lead to serious errors and discrepancies in the realization Common Problem 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 ViewSub-viewDiagramConcepts structural staticclass diagramassociation, class, dependency, generalization, interface, realization designinternal structure connector, interface, part, port, provided interface, role, required interface collaboration diagram connector, collaboration, collaboration use, role component diagram component, dependency, port, provided interface, realization, required interface, subsystem use case use case diagram actor, association, extend, include, use case, generalization

UML views and diagrams cont. Major ViewSub-viewDiagramConcepts dynamicstate machine state machine diagram completion transition, do activity, effect, event, region, state, transition, trigger activityactivity diagram action, activity, control flow, control node, data flow, exception, expansion region, fork, join, object node, pin interactionsequence diagram occurrence specification, execution specification, interaction, lifeline, message, signal communicati on diagram collaboration, guard condition, message, role, sequence number

UML views and diagrams cont. Major ViewSub-viewDiagramConcepts physicaldeploymentdeployment diagram artifact, dependency, manifestation, node model management package diagram import, model, package profilepackage diagram constraint, profile, 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.