Unified Modeling Language

Slides:



Advertisements
Similar presentations
UML an overview.
Advertisements

UML Diagrams Jung Woo. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems, business.
UML (Sequence Diagrams, Collaboration and State Chart Diagrams) Presentation By - SANDEEP REDDY CHEEDEPUDI (Student No: ) - VISHNU CHANDRADAS (Student.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 9 Slide 1 Appendix 3 Object-Oriented Analysis and Design.
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.
Object-Oriented Analysis and Design
Software Engineering COMP 201
2-1 © Prentice Hall, 2007 Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
Lecture 12: Chapter 22 Topics: UML (Contd.) –Relationship Structural Behavioral –Diagram Structural Behavioral.
Irwin/McGraw-Hill Copyright © 2004 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS6th Edition.
© 2005 Prentice Hall4-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix.
SE-565 Software System Requirements More UML Diagrams.
Unified Modeling Language
Class, Sequence and UML Model.  Has actors and use cases.
Page 1 What is the UML? UML stands for Unified Modeling Language The UML combines the best of the best from – Data Modeling concepts (Entity Relationship.
程建群 博士(Dr. Jason Cheng) 年03月
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
1 UML Basic Training. UML Basic training2 Agenda  Definitions: requirements, design  Basics of Unified Modeling Language 1.4  SysML.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 Object-oriented and Structured System Models.
1 Devon M. Simmonds University of North Carolina, Wilmington CSC450 Software Engineering WorkFlow Modeling with Activity Diagrams.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Chapter 5 Models and UML Notation for The Object-Oriented Approach.
Systems Analysis & Design 7 th Edition Chapter 5.
To navigate the slide presentation, use the navigation bar on the left OR use your right and left arrow keys. Move your mouse over the key terms throughout.
Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML.
Systems Analysis and Design 8 th Edition Chapter 6 Object Modeling.
Unit 1 INTRODUCTION TO MODELING AND CLASS MODEL Ref : L7-UML.PDF.
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.
ניתוח מערכות מידע 1 Unified Modeling Language (UML) § § The Unified Modeling Language (UML) is the industry-standard language for: Specifying, Visualizing,
The Static Analysis Model Class Diagrams Prof. Hany H. Ammar, CSEE, WVU, and Dept. of Computer Science, Faculty of Computers and Information, Cairo University.
Fall 2010 CS4310 Requirements Engineering A Brief Review of UML & OO Dr. Guoqiang Hu Department of Computer Science UTEP 1.
PowerPoint Presentation for Dennis & Haley Wixom, Systems Analysis and Design, 2 nd Edition Copyright 2003 © John Wiley & Sons, Inc. All rights reserved.
An Introduction to the Unified Modeling Language
Course Instructor: Kashif Ihsan 1. Chapter # 3 2.
Design Jon Walker. More UML ● What is UML again?
SWT - Diagrammatics Lecture 4/4 - Diagramming in OO Software Development - partB 4-May-2000.
Software Engineering Software Engineering - Mr. Ahmad Al-Ghoul.
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 15 The Unified Modeling Language: a Primer.
Interaction Diagram An interaction diagram is a graphical representation of interactions between objects. Sequence diagram: shows the sequence in which.
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.
Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall Object-Oriented Systems Analysis and Design Using UML Systems Analysis and Design,
Chapter 3: Introducing the UML
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix A Object-Oriented Analysis and Design A.1.
Unified Modeling Language. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems,
CHAPTER 6 OBJECT ANALYSIS.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 1 Object-Oriented Design.
UML CSE 470 : Software Engineering. Unified Modeling Language UML is a modeling language to express and design documents, software –Particularly useful.
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
Appendix 3 Object-Oriented Analysis and Design
UML Diagrams By Daniel Damaris Novarianto S..
The Movement To Objects
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Object-Oriented Analysis and Design
Unified Modeling Language
UML Diagrams Jung Woo.
IELM 511: Information System design
Systems Analysis and Design With UML 2
Chapter 20 Object-Oriented Analysis and Design
CIS 375 Bruce R. Maxim UM-Dearborn
Chapter 5.
CIS 375 Bruce R. Maxim UM-Dearborn
Presentation transcript:

Unified Modeling Language Software Engineering Process - II Unit 4: Unified Modeling Language

Before You Begin… What are your expectations from this chapter?

Unit Objectives Explain the components of UML. Explain objects, classes, and relationships. Describe and create use-case models. Describe and create UML diagrams during analysis. Define and create UML diagrams during design. Define and create UML diagrams during implementation.

What is UML UML includes a set of concepts, notations, and diagrams necessary for developing object-oriented systems. You can begin by defining what UML is and how it helps to analyze, design, and construct an object-oriented system. UML helps solve real world problems of any specific domain by modeling. It provides a common language of notations and diagrams that everyone from business analyst to programmer can talk.

Objects An object is an entity that has a state and a defined set of operations that operate on that state. Objects have attributes and behavior. Objects interact by sending each other messages. Values of an object's attributes determine its state. An abstraction of a real world problem containing objects is called a model. You can explain that in object-oriented requirement analysis, you should model real life entities using object classes. For example, in a payroll system, an employee is an object. The employee class will define attributes and behavior of the employee object. The attributes can be name, salary, and age. Behavior or operations can be Join and Leave.

Object Class An object class depicts a set of objects with common attributes and operations. It is represented as a rectangle with three sections. Explain that the employee object can have name, date of birth, and date of joining as attributes and AddEmployee and GetAge as its operations.

Class Activity - 1 List at least three objects from SITS project and draw their object class diagrams complete with three attributes and two operations. You can divide the class in groups of five students for this activity. After they are ready, you can show them the solution given on the next slide.

Object Class Diagrams Student - StudentId : int EmailId char Phone name + AddStudent ( ) void DeleteStudent Integer Registration RegistrationId RegistrationStatus ConfirmEmailStatus EmailSentDate time DoRegistration GetRegistrationStatus SendEmail Payment PaymentId PaymentType PaymentAmount float[] DoPayment Cancelpayment The solution depicts three classes – Student, Registration, and Payment. It also represents their corresponding attributes and behaviors.

Relationships Association: An instance of one class must know about the other to perform its operation. Depicted by a link connecting two classes. Generalization (Inheritance): UML refers to inheritance as generalization. Depicted by a triangle pointing from the subclass to the superclass. Aggregation: An association in which one class belongs to a collection. Depicted by a diamond pointing to the collection object. You can use the examples given on pages 184 and 186 of Software Engineering to explain the concepts given in the slide. You can also add the following explanation: Association can also be one-way. A one-way association is depicted by an arrow pointing towards the owned item. For example, a student can own an address, but the other way around is not true. A line with no arrows depicts a bi-directional association. Generalization - For example, Payment is a superclass of Cash, Check, and Credit. Aggregation - For example, in an order processing system, an order has a collection of ordered items.

Multiplicity Number of instances of the class associated with a single instance of the class on the other end. Multiplicity Description 0..1 Zero or one instance. The notation n . . m indicates n to m instances. 0..* or * No limit on the number of instances – includes none. 1 Exactly one instance. 1..* At least one instance. For example, there is one customer for each order, but one customer can have many orders. Customer…………….Order 1………………*

Use-Case Diagram A use-case diagram: Depicts a scenario(s) for a single task. Includes actor, communications, and use-cases. Includes actors that are represented as stick figures, use-cases as ovals, and communications are lines that link actors to use-cases. Has an associated description defining the use-case that helps identify objects and operations in the system. You can use the example given on page 324 of Software Engineering to explain use-case modeling. Also discuss the use case description given in Figure 14.9.

Use-Case Relationships A includes B: Indicates that the source element includes the functionality of the target element. Include connections are used in use-case models to reflect that one use-case includes the behavior of another. A extends B: Indicates an element extends the behavior of another. Extensions are used in use- case models when one use-case (optionally) extends the behavior of another. A is a base use-case; B is an extending use-case.

Class Activity - 2 Draw a use-case diagram for SITS representing all the actors, use-cases, and the include and extend relationships. You can divide the class in groups of five students.

Use-Case Model - SITS Explain that the use-case ‘DB Update’ is contained in ‘Payment’ and ‘Refund’. So it is a <<include>> relationship. The use-case ‘Request Course details’ extends the functionality of ‘Registration’.

Class Activity - 3 Draw a class diagram of SITS showing all the classes and corresponding multiplicities. The next slide contains the solution.

Class Diagram Student Registration Payment Address Cancellation Credit card Check Refund 1..* Batch selection Course material 0..1 * You can explain more about multiplicities from this diagram.

Sequence Diagrams – Behavior Modeling In addition to use-cases, these diagrams can be used to show the sequence of actions. Objects and actors are aligned along the top of the diagram. Arrow labels show operations. The vertical line indicates the timeline. Sequence of operations is from top to bottom. The return action can be shown using a dotted arrow. You can use the example given on page 186-187 of Software Engineering to explain a sequence diagram. A second example and description of a sequence diagram is also given on pages 331-332 of Software Engineering.

Class Activity - 4 Draw a sequence diagram for the Registration activity. The solution for this is given on the next slide.

Sequence Diagram - Registration The arrows represent the messages. The vertical rectangle is known as activation bar, which represents the duration of message execution. The dotted line represents the time line.

Activity Diagrams An activity diagram: Looks like a flowchart Provides a good way to understand/model business processes Focuses on the flow of activities involved in a single process of the system Shows how the system activities depend on each other Begins with a black circle at the top and ends with a concentric white/black circle at the bottom Contains activities shown by rounded rectangles

Class Activity - 5 Design an activity diagram for the Registration process of SITS.

Activity Diagram

State Diagrams A state diagram: In a state diagram: Captures the lifecycle of an object Represents different states an object can assume and the events that cause the changes in state In a state diagram: States are shown by rounded rectangles Transitions are shown by arrows Events that trigger state changes are written beside the arrows You can use the example given on pages 332-333 of Software Engineering to explain the state diagram.

Collaboration Diagrams Are also interaction diagrams Like sequence diagrams, represent object interactions, but the focus is on object roles Show how critical objects collaborate within a use-case Focus on key transactions

Collaboration Diagram - Example The slide shows an example of an administrator using a Web Application to manage a user account. You can add that: The rectangles which depict the objects are labeled with either class or object names or both. Class names are preceded by colons ( : ). A sequence number is given to each message in a collaboration diagram. The top-level message is numbered 1. The subsequent messages can be numbered as 1.1, 1.2, and so on.

Package Diagrams A package diagram: Shows logical grouping of objects into subsystems Is represented using a form of class diagrams where each subsystem is shown as package Is a useful static model because it shows how the design may be organized into logical groups of objects Can also show association between objects You can explain the concept by using the example given on page 329-330 of Software Engineering.

Component and Deployment Diagrams A component is a module of the system which contains classes. A component diagram shows how the modules are placed in a system and is denoted by a rectangle having two tabs. Deployment diagrams show the physical configurations of software and hardware as they will be deployed in the system. In a deployment diagram, the hardware is represented by cubes which are called nodes. Each component sits within a node.

Deployment Diagram - Example The deployment diagram shows that the SiteConfig component is deployed onto the Web Server and the BaseDB component is deployed on an App Server. In addition, it shows that the Web Server communicates with the App Server, and the App Server communicates with the Database Server and a Printer.

Summary What was your key learning from the unit?