Generalizable Element Namespace Model Element name visibility isSpecification Classifier isRoot Constraint Body Coming up: Unified Modeling Language Introduction.

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
Object-Oriented 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.
The Unified Software Development Process - Workflows Ivar Jacobson, Grady Booch, James Rumbaugh Addison Wesley, 1999.
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
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
Introduction To System Analysis and Design
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.
Fall 2010 CS4310 Requirements Engineering A Brief Review of UML & OO Dr. Guoqiang Hu Department of Computer Science UTEP 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.
TAL7011 – Lecture 4 UML for Architecture Modeling.
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.
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.
Generalizable Element Namespace Model Element name visibility isSpecification Classifier isRoot Constraint Body Use Cases CS/SWE 421 Introduction to Software.
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.
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
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 Coming up: Unified Modeling Language 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: A Brief Timeline for OO and UML 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

Coming up: A Brief Timeline for OO and UML 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

Coming up: UML Building Blocks 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

Coming up: Modeling Elements 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

Coming up: Modeling Elements and Diagrams 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

Coming up: UML Diagrams 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

Coming up: Views 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

Coming up: Views and Methods 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

Coming up: Three Software-Engineering Modeling Perspectives 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

Coming up: Analysis 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

Coming up: Specification Perspective 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

Coming up: Implementation Perspective 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

Coming up: Implementation Perspective 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

Coming up: Some Interesting UML Modeling Questions 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

Coming up: More UML Modeling Questions 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?

Coming up: More UML Modeling Questions 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?

In-Class Exercise n Draw a Use Case diagram for the We Grow Supply company system described.