Generalizable Element Namespace Model Element name visibility isSpecification Classifier isRoot Constraint Body Introduction to the Unified Modeling Language.

Slides:



Advertisements
Similar presentations
Generalizable Element Namespace Model Element name visibility isSpecification Classifier isRoot Constraint Body Use Cases CS/SWE 421 Introduction to Software.
Advertisements

Chapter 4 - Object-Oriented Analysis and Design in a Nutshell1 Chapter 4 Object-Oriented Analysis and Design in a Nutshell.
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
Unified Modeling Language
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Lecture 11: Chapter 22 Topics –Object Oriented Modeling –UML –Use case.
Unified Modeling Language (UML) Fawzi Emad Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
Unified Modeling (Part I) Overview of UML & Modeling
1/31 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2005] January 22, 2009.
© Copyright Eliyahu Brutman Programming Techniques Course.
1 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2002] January 26, 2006.
Unified Modeling Language
UML Sequence Diagrams Michael L. Collard, Ph.D. Department of Computer Science Kent State University.
What is UML? What is UP? [Arlow and Neustadt, 2005] January 23, 2014
UML - Development Process 1 Software Development Process Using UML (2)
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
Generalizable Element Namespace Model Element name visibility isSpecification Classifier isRoot Constraint Body Objects, Classes, and Basic Class Diagrams.
Generalizable Element Namespace Model Element name visibility isSpecification Classifier isRoot Constraint Body Coming up: Introduction to Objects Objects,
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.
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
Object-Oriented Analysis and Design An Introduction.
Generalizable Element Namespace Model Element name visibility isSpecification Classifier isRoot Constraint Body Use Cases CS/SWE 421 Introduction to Software.
Requirements Analysis Visual Modeling] Lab 02 Visual Modeling (from Visual Modeling with Rational Rose and UML) A way of thinking about problems using.
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.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
1 COMP 350: Object Oriented Analysis and Design Lecture 1Introduction References: Craig Larman Chapter 1.
CS 4850: Senior Project Fall 2014 Object-Oriented Design.
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.
Introduction To OOP 1.0 Fundamentals Of Java Programming Language 2.0 Exception Handling 3.0 Classes, Inheritance And Polymorphism © 2011 | PN AZRINA.
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
SWT - Diagrammatics Lecture 4/4 - Diagramming in OO Software Development - partB 4-May-2000.
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.
Software Engineering Lecture 8 Object-Oriented Analysis.
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.
ANU comp2110 Software Design lecture 8 COMP2110 Software Design in 2004 lecture 8 Software Architecture 1 of 2 (design, lecture 3 of 6) Goal of this small.
Generalizable Element Namespace Model Element name visibility isSpecification Classifier isRoot Constraint Body Use Cases CS/SWE 421 Introduction to Software.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
Generalizable Element Namespace Model Element name visibility isSpecification Classifier isRoot Constraint Body Coming up: Unified Modeling Language Introduction.
CSIS 4850: CS Senior Project – Spring 2009 CSIS 4850: Senior Project Spring 2009 Object-Oriented Design.
Generalizable Element Namespace Model Element name visibility isSpecification Classifier isRoot Constraint Body Coming up: Unified Modeling Language Introduction.
Introduction to UML Hazleen Aris Software Eng. Dept., College of IT, UNITEN. …Unified Modeling Language.
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
CS 501: Software Engineering Fall 1999 Lecture 15 Object-Oriented Design I.
Basic Characteristics of Object-Oriented Systems
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.
Introduction to UML.
Object-Oriented Analysis and Design
Introduction to the Unified Modeling Language
What is UML? What is UP? [Arlow and Neustadt, 2005] October 5, 2017
Unified Modeling Language
Introduction to Unified Modeling Language (UML)
Week 10: Object Modeling (1)Use Case Model
Software Architecture & Design Pattern
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
Introduction to the Unified Modeling Language
Presentation transcript:

Generalizable Element Namespace Model Element name visibility isSpecification Classifier isRoot Constraint Body Introduction to the Unified Modeling Language CS/SWE 421 Introduction to Software Engineering Dan Fleck (Slides adapted from Dr. Stephen Clyde with permission)

Unified Modeling Language n 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

A Brief Timeline for OO and UML n 60’s –Birth of initial OO ideas n 70’s –Nurturing of OO ideas –Introduction of a few more OO Programming Languages n 80’s –Maturing of fundamental OO concepts –Emergence of more OOPL’s –OOPL’s gain widespread use

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 n Current –Widespread use of UML –Widespread use Full-Life-Cycle development tools Booch, Jacobson, Rumbaugh

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

Modeling Elements n Definition and Scope –Use Cases –Automation Boundaries n Structural –Objects –Classes –Relations –Interfaces –Components –Nodes n Extension –Templates –Stereotypes n Behavioral Things –Messages –States –Transitions –Events n Organizational Things –Packages –Views n Annotation –Comments –Specifications Modeling Elements are building blocks for constructing conceptual descriptions of systems *Note that this is not a complete list

Modeling Elements and Diagrams n 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 n Diagrams are like paragraphs in a section of well-structured text

UML Diagrams n Use Case Diagrams n Class Diagrams n Object Diagrams n Interaction Diagrams –Sequence Diagrams –Communication Diagrams n State Charts (enhanced State Machines) n Component Diagrams n Deployment Diagrams

Views n A view is a set of diagrams that describe one aspect of a system or describe the system from a given perspective n Views are like the sections of a book, and a model is like the entire book n Some common views: –Use-case view –Logical view –Implementation view –Process view –Deployment view

Views and Methods n The construction and ultimate value of a view is that it is closely tied to the process used to create the view. n The process imposes a certain perspective on the modeling activity n To understand a view, one needs to know the intended perspective

Three Software-Engineering Modeling Perspectives n 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 n 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 n 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

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

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

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

Implementation Perspective StudentDialogBox -- Interact with user to add drop courses Dialog Window Frame Object CourseList -- Display a dynamic list courses ListBox n Classes can represent software components in frameworks, libraries, or external systems 0..11

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

More UML Modeling Questions n 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?