Introduction to the Unified Modeling Language

Slides:



Advertisements
Similar presentations
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
Advertisements

Unified Modeling Language
Lecture 11: Chapter 22 Topics –Object Oriented Modeling –UML –Use case.
Unified Modeling (Part I) Overview of UML & Modeling
© Copyright Eliyahu Brutman Programming Techniques Course.
What is UML? What is UP? [Arlow and Neustadt, 2005] January 23, 2014
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
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.
1 Introduction to UML. 2 What is UML? UML is an acronym for Unified Modeling Language. Unified –Combines the best from existing object- oriented software.
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.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
Domain Classes – Part 1.  Analyze Requirements as per Use Case Model  Domain Model (Conceptual Class Diagram)  Interaction (Sequence) Diagrams  System.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
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.
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.
CS 501: Software Engineering Fall 1999 Lecture 15 Object-Oriented Design I.
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.
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
Introduction to UML.
UNIT 1.
The Movement To Objects
Systems Analysis and Design
Evolution of UML.
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Object-Oriented Analysis and Design
Introduction to the Unified Modeling Language
What is UML? What is UP? [Arlow and Neustadt, 2005] October 5, 2017
Systems Analysis and Design With UML 2
Chapter 6: Structured Vs. Object Oriented Analysis and Design.
Chapter 5: Object Oriented Analysis and Design
Unified Modeling Language
Introduction to Unified Modeling Language (UML)
Week 10: Object Modeling (1)Use Case Model
Systems Analysis and Design With UML 2
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING
The Object Oriented Approach to Design
Software Architecture & Design Pattern
Unified Modeling Language
Introduction to Object Oriented Analysis, Design and Unified Modeling Language (UML) Shanika Karunasekera.
Object-Oriented Design
The Unified Modeling Language
Object Oriented Analysis and Design
Use Cases CS/SWE 421 Introduction to Software Engineering Dan Fleck
Unified Modeling Language
Introduction to UML.
Chapter 20 Object-Oriented Analysis and Design
Use Cases CS/SWE 421 Introduction to Software Engineering Dan Fleck
Object oriented analysis and design
Introduction to the Unified Modeling Language
Real-time (OO) Systems Design Using UML
SYS466 Domain Classes – Part 1.
Objects, Classes, and Basic Class Diagrams
Unified Modeling Language
Use Cases CS/SWE 421 Introduction to Software Engineering Dan Fleck
Objects, Classes, and Basic Class Diagrams
Chapter 6: Structured Vs. Object Oriented Analysis and Design.
Review CSE116 2/21/2019 B.Ramamurthy.
Use Cases CS/SWE 421 Introduction to Software Engineering Dan Fleck
Use Cases CS/SWE 421 Introduction to Software Engineering Dan Fleck
UML Design for an Automated Registration System
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 (or more precisely, a collection of modeling languages) that is expressive semi-formal (UML 2.0 added much more formality) capable of supporting incremental development Elements can be hidden Certain elements can be left incomplete Inconsistencies can exist process independent UML can be used with a variety software development process models Customizable and extensible Coming up: A Brief Timeline for OO and UML

A Brief Timeline for OO and UML 60’s Birth of initial OO ideas 70’s Nurturing of OO ideas Introduction of a few more OO Programming Languages (OOPLs) 80’s Maturing of fundamental OO concepts Emergence of more OOPL’s OOPL’s gain widespread use Coming up: A Brief Timeline for OO and UML

A Brief Timeline for OO and UML 90’s The Method Wars Efforts to unify concepts Introduction and standardization of UML Emergence of next-generation ideas, like Patterns Current Widespread use of UML Widespread use Full-Life-Cycle development tools Booch, Jacobson, Rumbaugh Coming up: UML Building Blocks

UML Building Blocks Modeling Elements Structural Behavioral Organizational Annotational Diagrams that communicate ideas using the modeling elements Views Student major: String gpa: Real standing: String Contacts add(Course) drop(Course) -- Handle a registration in courses See Fig. 2 for more details Registered Student * * Graduate Course Course Coming up: Modeling Elements

Modeling Elements Modeling Elements are building blocks for constructing conceptual descriptions of systems Definition and Scope Use Cases Automation Boundaries Structural Objects Classes Relations Interfaces Components Nodes Extension Templates Stereotypes Behavioral Things Messages States Transitions Events Organizational Things Packages Views Annotation Comments Specifications *Note that this is not a complete list 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: Three Software-Engineering Modeling Perspectives

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 systems as they are Specification – for scoping and planning The models include both real-world and software objects The models show automation boundaries The models describe 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: Analysis Perspective

Analysis Perspective Classes are sets of objects Classes may include attributes and operations, but more importantly their intents are defined by responsibilities Relationships are set of links between objects Components relate to the problem domain Student name major GPA standing interests -- The set of students known to the registration system Registered Student * * Course name -- The set of possible courses Coming up: Specification Perspective

Specification Perspective Classes define abstraction boundaries and encapsulations for software objects StudentR name major GPA standing interests -- The set of students known to the registration system StudentS name: String major: String GPA: real standing: Scode add(Course) drop(Course) -- Software representation of students; support registration in courses Coming up: Implementation Perspective

Implementation Perspective StudentDialogBox Student major: String GPA: Real standing: String create() doDataExchange() onDelete() onInsert() onOK() add(Course) drop(Course) -- Interact with user to add drop courses -- Handle a registration in courses 0..1 Course 1 callNumber: Integer department number section title CourseList -- Display a dynamic list courses Coming up: Implementation Perspective

Implementation Perspective Classes can represent software components in frameworks, libraries, or external systems Object Frame Window Dialog ListBox 0..1 1 StudentDialogBox CourseList -- Interact with user to add drop courses -- Display a dynamic list courses Coming up: In the analysis perspective will I need a loop counter?

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? How can we keep the different perspectives straight? 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