Introduction to the Unified Modeling Language

Slides:



Advertisements
Similar presentations
Chapter 4 - Object-Oriented Analysis and Design in a Nutshell1 Chapter 4 Object-Oriented Analysis and Design in a Nutshell.
Advertisements

A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
CS3773 Software Engineering Lecture 03 UML Use Cases.
1 UML – an overview What is UML? UML stands for Unified Modelling Language. ”The Unified Modelling Language is a visual language for specifying, constructing.
Lecture 11: Chapter 22 Topics –Object Oriented Modeling –UML –Use case.
Principles of Object-Oriented Software Development Unified Modeling Language.
Unified Modeling Language 7/12/2015B.Ramamurthy1 The Unified Modeling Language™ (UML) was developed jointly by Grady Booch, Ivar Jacobson, and Jim Rumbaugh.
What is UML? What is UP? [Arlow and Neustadt, 2005] January 23, 2014
An Introduction to Models & The UML The Unified Modeling Language Copyright © 2007 Patrick McDermott College of Alameda Not really.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
Introduction to UML By: Prof. Aiman Hanna Department of Computer Science, Concordia University, Montreal, Canada.
Slide 1 UML Review Chapter 2: Introduction to Object-Oriented Systems Analysis and Design with the Unified Modeling Language, Version 2.0 Alan Dennis,
Unified Modeling Language, Version 2.0
1 SYS366 Lecture Visual Modeling and Business Use Case Diagrams.
Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
1 COMP 350: Object Oriented Analysis and Design Lecture 1Introduction References: Craig Larman Chapter 1.
Copyright © 2013 Curt Hill UML Unified Modeling Language.
 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.
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
Object Oriented Analysis and Design Chapter 1 Applying UML and Patterns -Craig Larman.
©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 15 The Unified Modeling Language: a Primer.
UML Diagrams for Caradon developers Daniel DG Moth Core Development Group, Research Student University of Brighton, MSc Object Oriented Software Technology.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 1: Introduction.
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.
Generalizable Element Namespace Model Element name visibility isSpecification Classifier isRoot Constraint Body Coming up: Unified Modeling Language Introduction.
UML Review of Use case diagrams. 2 Unified Modeling Language The Unified Modeling Language™ (UML) was developed jointly by Grady Booch, Ivar Jacobson,
Unified OO becomes commonly used in the late 1980s Various analysis and design methods The “three amigos” join forces in Rational Software Also include.
Generalizable Element Namespace Model Element name visibility isSpecification Classifier isRoot Constraint Body Coming up: Unified Modeling Language Introduction.
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
1 SYS366 Week 2 - Lecture 2 Visual Modeling & UML.
Generalizable Element Namespace Model Element name visibility isSpecification Classifier isRoot Constraint Body Introduction to the Unified Modeling Language.
Basic Characteristics of Object-Oriented Systems
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.
SWE 214 (071) Introduction to UML Slide 1 Introduction to UML.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 1 Object-Oriented Design.
1 An Overview of UML. 2 The Unified Modeling Language UML is a graphical language used by software engineers to model software systems during development.
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
Use Cases UML. Use Cases What are Use Cases?  A statement of the functionality users expect and need, organized by functional units  Different from.
Fundamentals of Object Oriented Modeling
Introduction to UML.
Evolution of UML.
Introduction to the Unified Modeling Language
Object-Oriented Modeling with UML
What is UML? What is UP? [Arlow and Neustadt, 2005] October 5, 2017
Systems Analysis and Design With UML 2
System Development Process
Introduction to Unified Modeling Language (UML)
Week 10: Object Modeling (1)Use Case Model
Systems Analysis and Design With UML 2
University of Central Florida COP 3330 Object Oriented Programming
Unified Modeling Language
Introduction to Object Oriented Analysis, Design and Unified Modeling Language (UML) Shanika Karunasekera.
Object Oriented Analysis and Design
Use Cases CS/SWE 421 Introduction to Software Engineering Dan Fleck
Unified Modeling Language
Introduction to UML.
Introduction to the Unified Modeling Language
Use Cases CS/SWE 421 Introduction to Software Engineering Dan Fleck
Object oriented analysis and design
Real-time (OO) Systems Design Using UML
Objects, Classes, and Basic Class Diagrams
Object Oriented Analysis and Design
Software Design Lecture : 15.
Unified Modeling Language
Software Design Methodologies and Testing
Presentation transcript:

Introduction to the Unified Modeling Language CS/SWE 421 Introduction to Software Engineering Dan Fleck (Slides adapted from Dr. Stephen Clyde with permission) Coming up: Unified Modeling Language

Unified Modeling Language UML is an object-oriented modeling language semi-formal (UML 2.0 added much more formality) process independent UML can be used with a variety software development process models Customizable and extensible Model structure (static) and behavioral (dynamic) aspects of a system UML is a communication tool – for the team, and other stakeholders Coming up: History

History In the 90s many people creating OO diagramming languages Booch, Jacobson, Rumbaugh In the 90s many people creating OO diagramming languages Three different ones created by Grady Booch, Ivar Jacobson, James Rumbaugh Joined forces with Rational (company) to create Unified Modeling Langauge (UML) Coming up: Modeling Elements and Diagrams

Modeling Elements and Diagrams Diagrams represent chunks of information that need to be communicated as part of a conceptual description. It usually requires many diagrams to describe a system Each diagram should focus on a single thought or a small set of tightly related thoughts Diagrams are like paragraphs in a section of well-structured text Coming up: UML Diagrams

UML Diagrams Use Case Diagrams Class Diagrams Object Diagrams Interaction Diagrams Sequence Diagrams Communication Diagrams State Charts (enhanced State Machines) Component Diagrams Deployment Diagrams Coming up: UML Diagrams – we’ll use in class

UML Diagrams – we’ll use in class Use Case Diagrams Class Diagrams Object Diagrams Interaction Diagrams Sequence Diagrams Communication Diagrams State Charts (enhanced State Machines) Component Diagrams Deployment Diagrams Coming up: Three Software-Engineering Modeling Perspectives

Three Software-Engineering Modeling Perspectives Analysis – for understanding The objects represented in the models are real-world objects Models focus on problem-domains concepts They describe the real-world problem Specification – for scoping and planning The models include both real-world and software objects The models describe logically what the system is to become Implementation – for designing / building The objects in the models are mostly software objects The models focus on solution-oriented concepts The models describe what the software system is or will be Ended here during class Coming up: Perspectives

Software Implementation Perspectives Analysis Specification Implementation Student name major GPA standing interests -- The set of students known to the registration system Student name: String major: String GPA: real standing: Scode add(Course) drop(Course) -- Software representation of students; support registration in courses Student -major: String -GPA: Real -standing: String +add(Course) +drop(Course) -- Handle a registration in courses CourseList -- Display a dynamic list 1 0..1 Increasing Detail Real World Domain Software Implementation

In the analysis perspective will I need a loop counter? A. Yes if you have a loop B. No C. It depends (be able to say on what if you choose this  ) Ans: Generally no, because we’re in the analysis model

Some Interesting UML Modeling Questions How do we discover objects or classes? When should we focus on problem-domain objects, solution-domain objects, or environment objects? Should each perspective be captured by a different model or can they all be managed in one model? How much detail should you put in a diagram, a view, or a model? Coming up: More UML Modeling Questions

More UML Modeling Questions How should you distribute responsibilities among classes? What happens when classes get too big, i.e. inadequate distribution? What happens when classes are too small, i.e. too fine of grain distribution? What happens when there are a lot of dependency relationships between classes, i.e., inappropriate or ad hoc distribution? Coming up: More UML Modeling Questions