Fall 2010 CS4310 Requirements Engineering A Brief Review of UML & OO Dr. Guoqiang Hu Department of Computer Science UTEP 1.

Slides:



Advertisements
Similar presentations
UML an overview.
Advertisements

Modeling Main issues: What do we want to build How do we write this down.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall A.1.
Systems Analysis and Design 8th Edition
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
2008/03/25 Unified Modeling Lanauage 1 Introduction to Unified Modeling Language (UML) – Part One Ku-Yaw Chang Assistant Professor.
Department of Computing
2-1 © Prentice Hall, 2007 Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
UML – Class Diagrams.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
UML Class Diagram and Packages Written by Zvika Gutterman Adam Carmi.
Irwin/McGraw-Hill Copyright © 2004 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS6th Edition.
Systems Analysis & Design Sixth Edition Systems Analysis & Design Sixth Edition Toolkit Part 5.
© Copyright Eliyahu Brutman Programming Techniques Course.
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix.
1 Object-Oriented Modeling Using UML CS 3331 Fall 2009.
Unified Modeling Language
UML Diagrams Computer Science I.
UML Unified Modeling Language. What is UML? Unified Modeling Language (UML) is a standardized, general-purpose modeling language in the field of software.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 18. Review User interface Design principles Design Guidelines.
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix A Object-Oriented.
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.
Unified Modeling Language, Version 2.0
Object-Oriented Analysis and Design An Introduction.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
1 UML Basic Training. UML Basic training2 Agenda  Definitions: requirements, design  Basics of Unified Modeling Language 1.4  SysML.
Systems Analysis and Design in a Changing World, 3rd Edition
CS3773 Software Engineering Lecture 04 UML Class Diagram.
1 Devon M. Simmonds University of North Carolina, Wilmington CSC450 Software Engineering WorkFlow Modeling with Activity Diagrams.
© 2009 Pearson Education, Inc. Publishing as Prentice Hall 1 Chapter 15: Object-Oriented Data Modeling Modern Database Management 9 h Edition Jeffrey A.
Systems Analysis & Design 7 th Edition Chapter 5.
Systems Analysis and Design 8 th Edition Chapter 6 Object Modeling.
CHAPTER 13: OBJECT-ORIENTED DATA MODELING (OVERVIEW) © 2013 Pearson Education, Inc. Publishing as Prentice Hall 1 Modern Database Management 11 th Edition.
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
Unified Modeling Language © 2002 by Dietrich and Urban1 ADVANCED DATABASE CONCEPTS Unified Modeling Language Susan D. Urban and Suzanne W. Dietrich Department.
UML Class Diagram Trisha Cummings. What we will be covering What is a Class Diagram? Essential Elements of a UML Class Diagram UML Packages Logical Distribution.
BCS 2143 Object Oriented Design Using UML. Objectives Objects Interactions Finding Classes Relationship Between Classes Attribute and Operation Class.
1/26 On-demand Learning Series Software Engineering of Web Application - Object-Oriented Development & UML Hunan University, Software School.
What is Object-Oriented?  Organization of software as a collection of discreet objects that incorporate both data structure and behavior.
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
 Week08.  Review Schedule Weeks 8-14  This week o Review last class o Introduce Class Diagrams o ICE-03 Sheridan SYST Engineering Quality Systems.
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 Modeling: Static Models Grady Booch, James Rumbaugh, and Ivar Jacobson, The Unified Modeling Language User Guide, 2 nd edition, Addison.
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.
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.
CSCI 3428: Software Engineering Tami Meredith UML Unified Modeling Language.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix A Object-Oriented Analysis and Design A.1.
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
Basic Characteristics of Object-Oriented Systems
Introduction to UML and Rational Rose UML - Unified Modeling Language Rational Rose 98 - a GUI tool to systematically develop software through the following.
Unified Modeling Language. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems,
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
UML Diagrams By Daniel Damaris Novarianto S..
Roberta Roth, Alan Dennis, and Barbara Haley Wixom
Object-Oriented Analysis and Design
Systems Analysis and Design With UML 2
University of Central Florida COP 3330 Object Oriented Programming
UML Diagrams Jung Woo.
Software Architecture & Design Pattern
Chapter 20 Object-Oriented Analysis and Design
Appendix A Object-Oriented Analysis and Design
Copyright 2007 Oxford Consulting, Ltd
Appendix A Object-Oriented Analysis and Design
UML  UML stands for Unified Modeling Language. It is a standard which is mainly used for creating object- oriented, meaningful documentation models for.
Presentation transcript:

Fall 2010 CS4310 Requirements Engineering A Brief Review of UML & OO Dr. Guoqiang Hu Department of Computer Science UTEP 1

Outline: 1.Some Points 2.What Is UML (& Object-Oriented Methodology)? 3.Why & How Is UML (& OO) Related to This Course? 4.Brief Review of OO 5.Brief Review of UML 2

3 1 Some Points 1.1 You got much much much more than you paid for 1.2 Things in SE are much much much easier said than done 1.3 Make friends and/or make a living (a degree in your case)?

4 2 What Is UML (& Object-Oriented Methodology)? UML: Unified Modeling Language UML is a standardized general-purpose modeling language. The standard is managed, and was created by, the Object Management Group (OMG). UML includes a set of graphic notations to create visual models of systems. Object-Oriented Methodology

5

6

7 3 Why & How Is UML (& OO) Related to This Course? 3.1 A new prototyping tool? 3.2 Big differences There is big differences between the traditional functional decomposition approach (or the SASD (Structured Analysis and Structured Design)) and the OO approach right from the beginning.

8 4 Brief Review of OO 4.1 OO key concepts Class Object instance of a class Message Identity every object is a different object Abstraction elimination of the irrelevant ==> essential

9 4.1 OO key concepts (cont’d) Classification Encapsulation information hiding and access control Inheritance to inherit means to reuse. multi or single Polymorphism different reactions by different levels of objects Persistence object outlives the process that created it

4.2 Advantages of OO approach Mimic the world Reuse Consistence/Traceability Seamless development process Progressively refine work rather than converting from one representation to another Incremental/Iterative development Flexibility: Easy to change, expand 10

5 Brief Review of UML 5.1 OO modeling objective To develop precise, concise, understandable, and correct models of the problem (modeling concepts, NOT implementation). Static (or Structural) view of a system model emphasizes the static structure of the system using objects, attributes, operations, and relationships. Dynamic (or Behavioral) view of a system model emphasizes the dynamic behavior of the system by showing collaborations among objects and changes to the internal states of objects. It is important to distinguish between the UML model and the diagrams of a system: A diagram is a partial graphic representation of a system's model. The model also contains documentation that drive the model elements and diagrams (such as written use cases). 11

5.2 Several OO modeling diagrams Several structure diagrams Class diagram: describes the structure of a system by showing the system's classes, their attributes, and the relationships among the classes. Composite structure diagram: describes the internal structure of a class and the collaborations that this structure makes possible. Object diagram: shows a complete or partial view of the structure of a modeled system at a specific time. Component diagram: describes how a software system is split up into components and shows the dependencies among these components. Package diagram: describes how a system is split up into logical groupings by showing the dependencies among these groupings. Deployment diagram: describes the hardware used in system implementations and the execution environments and artifacts deployed on the hardware. 12

5.2 Several OO modeling diagrams (cont’d) Several behavioral diagrams (cont’d) Activity diagram: describes the business and operational step-by-step workflows of components in a system. An activity diagram shows the overall flow of control. State machine diagram: describes the states and state transitions of the system. Use case diagram: describes the functionality provided by a system in terms of actors, their goals represented as use cases, and any dependencies among those use cases. Interaction diagrams (a subset of behavioral diagrams): emphasize the flow of control and data in the system being modeled. Communication diagram: shows the interactions between objects or parts in terms of sequenced messages. They represent a combination of information taken from Class, Sequence, and Use Case Diagrams describing both the static structure and dynamic behavior of a system. 13

5.2 Several OO modeling diagrams (cont’d) Several behavioral diagrams (cont’d) Interaction diagrams (cont’d) Sequence diagram: shows how objects communicate with each other in terms of a sequence of messages. Also indicates the lifespans of objects relative to those messages. Timing diagram: a specific type of interaction diagram, where the focus is on timing constraints Class diagram (the only one briefed) Steps: Identify objects and classes Identify attributes of objects and associations Organize and simplify object classes using inheritance Verify that paths exist for likely operations

Class diagram (cont’d) Object: Physical entities: companies, people, I/O devices Concepts: flight, transaction, purchase, business process Attribute: a single characteristic (property, quality (adjective)) Operation: a behavior (function, transformation (verb)) Class: a set of objects with common properties (attributes) common behavior (operations) common relationships to other objects common semantics

Class diagram (cont’d) In-class exercise: Create a class list with attributes and operations for the following scenario: A student may take up to five courses in a semester. Each course may have as many as 30 students in each section. Each course has one section per semester. A class room can hold at most one course at a time. UML class diagram: Class Name Attributes Operations

Class diagram (cont’d) Class diagram example 1: Car speed direction Level of detail varies with level of abstraction: start with high abstraction

Class diagram (cont’d) Class diagram example 1: Car speed direction Refine with Types speed: Integer direction: Tuple Car

Class diagram (cont’d) Class diagram example 1: Car speed direction speed: Integer direction: Tuple Car +speed: Integer = 0; +direction: Tuple {readOnly} Refine with Visibility Defaults Properties Car

Class diagram (cont’d) Class diagram example 2: Employee Name: ID: SetName (string): void (Employee) Joe an instance of the Employee object.

Class diagram (cont’d) Class relationships: Aggregation (Comprises) Association A connection between two classes Generalization (Inheritance) An association that suggests that one class contains another. Destroying the "whole" does not destroy the parts Composition (Has) An association that suggests that one class contains another. The parts are destroyed with the "whole”.

Class diagram (cont’d) Class relationships example 1: Company Division 1 * Employee * 1

Class diagram (cont’d) Class relationships example 2: Customer Corporate Customer Private Customer The 2 subclasses inherit everything from the superclass Customer