Course Instructor: Kashif Ihsan 1. Chapter # 3 2.

Slides:



Advertisements
Similar presentations
© 2005 by Prentice Hall Appendix 3 Object-Oriented Analysis and Design Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George.
Advertisements

Object-Oriented Software Engineering Visual OO Analysis and Design
GRADUATION PROJECT-1 SEMINAR- 2: Phases and Project 1 Guide Academic Year: / Semester I.
UML Diagrams Jung Woo. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems, business.
ESE Einführung in Software Engineering 7. Modeling Behaviour Prof. O. Nierstrasz.
UML (Sequence Diagrams, Collaboration and State Chart Diagrams) Presentation By - SANDEEP REDDY CHEEDEPUDI (Student No: ) - VISHNU CHANDRADAS (Student.
Introduction to Software Engineering 7. Modeling Behaviour.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 9 Slide 1 Appendix 3 Object-Oriented Analysis and Design.
Introduction To System Analysis and Design
Chapter 8: Modelling Interactions and Behaviour
System Analysis and Design
Modeling Dynamic Behavior: Sequence and Collaboration Diagrams.
SE-565 Software System Requirements More UML Diagrams.
Unified Modeling Language
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 8: Modelling Interactions and Behaviour.
Class, Sequence and UML Model.  Has actors and use cases.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 8: Modelling Interactions and Behaviour.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 8: Modelling Interactions and Behaviour.
Modelling Interactions and Behaviour. © Lethbridge/Laganière 2005 Chapter 8: Modelling Interactions and Behaviour2 Interaction Diagrams Interaction diagrams.
Interaction diagrams Sequence and collaboration diagrams.
Introduction to UML By: Prof. Aiman Hanna Department of Computer Science, Concordia University, Montreal, Canada.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 8: Modelling Interactions and Behaviour.
1 Modeling interactions and behavior Lecturer Dr. Mai Fadel.
1 Devon M. Simmonds University of North Carolina, Wilmington CSC450 Software Engineering WorkFlow Modeling with Activity Diagrams.
Systems Analysis & Design 7 th Edition Chapter 5.
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
ניתוח מערכות מידע 1 Unified Modeling Language (UML) § § The Unified Modeling Language (UML) is the industry-standard language for: Specifying, Visualizing,
Copyright © 2013 Curt Hill UML Unified Modeling Language.
Sequence diagram in UML Martin Palkovik. Sequence diagram  It is a graphic representation of system operations based on chronology - a time sequence.
An Introduction to the Unified Modeling Language
Discovering object interaction. Use case realisation The USE CASE diagram presents an outside view of the system. The functionality of the use case is.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 8: Modelling Interactions and Behaviour UML Sequence Diagram.
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
Design Jon Walker. More UML ● What is UML again?
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 Analysis and Design with the Unified Process by Şensev Alicik.
UNIFIED MODELING LANGUAGE(UML) BY Touseef Tahir Lecturer CS COMSATS Institute of Information Technology, Lahore.
CSCI-383 Object-Oriented Programming & Design Lecture 12.
Software Engineering Lecture 8 Object-Oriented Analysis.
CS212: Object Oriented Analysis and Design Lecture 34: UML Activity and Collaboration diagram.
 Building Block Building Block  Things in the UML Things in the UML  Structural Things Structural Things  Behavioral Things Behavioral Things  Grouping.
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.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 8: Modelling Interactions and Behaviour Based on Presentations.
Chapter 3: Introducing the UML
Object-Oriented Software Engineering Practical Software Development using UML and Java Modelling with Classes.
Communication Diagrams Lecture 8. Introduction  Interaction Diagrams are used to model system dynamics  How do objects change state?  How do objects.
Diagrams. Typically, we view the static parts of a system using one of the four following diagrams. 1. Class diagram 2. Object diagram 3. Component diagram.
CS 501: Software Engineering Fall 1999 Lecture 15 Object-Oriented Design I.
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.
Unified Modeling Language. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems,
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 1 Object-Oriented Design.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 8: Modelling Interactions and Behaviour.
Analysis Classes Unit 5.
UML Diagrams By Daniel Damaris Novarianto S..
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Object-Oriented Analysis and Design
Unified Modeling Language
Introduction to Unified Modeling Language (UML)
University of Central Florida COP 3330 Object Oriented Programming
UML Diagrams Jung Woo.
CS251 – Software Engineering Lectures 11 State Diagrams
Business System Development
UML dynamic Modeling (Behavior Diagram)
Unified Modeling Language
CIS 375 Bruce R. Maxim UM-Dearborn
Software Design Lecture : 15.
CIS 375 Bruce R. Maxim UM-Dearborn
Appendix 3 Object-Oriented Analysis and Design
Presentation transcript:

Course Instructor: Kashif Ihsan 1

Chapter # 3 2

 The Unified Modelling Language is a standard graphical language for modelling object oriented software.  At the end of the 1980s and the beginning of 1990s, the first object-oriented development processes appeared.  Two important methodologists Rumbaugh and Booch decided to merge their approaches in  In 1995, another methodologist, Jacobson, joined the team. His work focused on use cases.  In 1997 the Object Management Group (OMG) started the process of UML standardization. Kashif Ihsan, Lecturer CS, MIHE 3

 The unified modeling language is a notation, that is set of diagrams and diagram elements that may be arranged to describe the design of the s/w process.  UML is a graphical language for visualizing, specifying and constructing artifact of software intensive system. Kashif Ihsan, Lecturer CS, MIHE 4

 Structural Modelling Use Case diagrams o describe user requirements Class diagrams o describe classes and their relationships Component and deployment diagrams o show how the various components of systems are arranged logically and physically  Behavioral Modeling Interaction diagrams o show the behaviour of systems in terms of how objects interact with each other State diagrams and activity diagrams o show how systems behave internally Kashif Ihsan, Lecturer CS, MIHE 5

 A model should:  use a standard notation  be understandable by clients and users  lead software engineers to have insights about the system  provide abstraction  Models are used:  to help create designs  to permit analysis and review of those designs  as the core documentation describing the system Kashif Ihsan, Lecturer CS, MIHE 6

 Refer to Chapter # 02 Kashif Ihsan, Lecturer CS, MIHE 7

 The class diagram shows how the different entities (people, things, and data) relate to each other; in other words, it shows the static structures of the system.  A class diagram can be used to display logical classes, which are typically the kinds of things the business people in an organization talk about. Kashif Ihsan, Lecturer CS, MIHE 8

 A class is depicted on the class diagram as a rectangle with three horizontal sections; the upper section shows the class's name; the middle section contains the class's attributes; and the lower section contains the class's operations. Kashif Ihsan, Lecturer CS, MIHE 9

 Interaction diagrams are used to model the dynamic aspects of a software system.  They help you to visualize how the system runs.  An interaction diagram is often built from a use case and a class diagram.  The objective is to show how a set of objects accomplish the required interactions with an actor. Kashif Ihsan, Lecturer CS, MIHE 10

 Interaction diagrams show how a set of actors and objects communicate with each other to perform.  The set of steps, taken together, is called an interaction.  Interaction diagrams can show several different types of communication. e.g. method calls, messages send over the network. These are all referred to as messages. Kashif Ihsan, Lecturer CS, MIHE 11

 Instances of classes Shown as boxes with the class and object identifier underlined.  Actors Use the stick-person symbol as in use case diagrams.  Messages Shown as arrows from actor to object, or from object to object. Kashif Ihsan, Lecturer CS, MIHE 12

 You should develop a class diagram and a use case model before starting to create an interaction diagram.  There are two kinds of interaction diagrams: Sequence diagram Communication diagram Kashif Ihsan, Lecturer CS, MIHE 13

 Sequence diagrams show a detailed flow for a specific use case or even just part of a specific use case. They are almost self explanatory; they show the calls between the different objects in their sequence and can show, at a detailed level, different calls to different objects.  A sequence diagram has two dimensions: The vertical dimension shows the sequence of messages/calls in the time order that they occur; the horizontal dimension shows the object instances to which the messages are sent. Kashif Ihsan, Lecturer CS, MIHE 14

15

 A sequence diagram shows the sequence of messages exchanged by the set of objects performing a certain task;  The objects are arranged horizontally across the diagram.  An actor that initiates the interaction is often shown on the left.  The vertical dimension represents time.  A vertical line, called a lifeline, is attached to each object or actor.  A message is represented as an arrow between activation boxes of the sender and receiver.  A message is labelled and can have an argument list and a return value. Kashif Ihsan, Lecturer CS, MIHE 16

 Communication diagrams emphasise how the objects collaborate in order to realize an interaction  A communication diagram is a graph with the objects as the vertices.  Communication links are added between objects  Messages are attached to these links. Shown as arrows labelled with the message name  Time ordering is indicated by prefixing the message with some numbering scheme. Kashif Ihsan, Lecturer CS, MIHE 17

Kashif Ihsan, Lecturer CS, MIHE 18

Kashif Ihsan, Lecturer CS, MIHE 19

 A communication link can exist between two objects whenever it is possible for one object to send a message to the other one.  Several situations can make this message exchange possible: 1. The classes of the two objects have an association between them. This is the most common case. If all messages are sent in the same direction, then probably the association can be made unidirectional. Kashif Ihsan, Lecturer CS, MIHE 20

2. The receiving object is stored in a local variable of the sending method. This often happens when the object is created in the sending method or when some computation returns an object. The stereotype to be used is «local» or [L]. 3. A reference to the receiving object has been received as a parameter of the sending method. The stereotype is «parameter» or [P]. Kashif Ihsan, Lecturer CS, MIHE 21

4. The receiving object is global. This is the case when a reference to an object can be obtained using a static method. The stereotype «global», or a [G] symbol is used in this case. 5. The objects communicate over a network. We suggest to write «network». Kashif Ihsan, Lecturer CS, MIHE 22

 A state diagram describes the behaviour of a system, some part of a system, or an individual object.  At any given point in time, the system or object is in a certain state. Being in a state means that it will behave in a specific way in response to any events that occur.  Some events will cause the system to change state. In the new state, the system will behave in a different way to events.  A state diagram is a directed graph where the nodes are states and the arcs are transitions. Kashif Ihsan, Lecturer CS, MIHE 23

OXX XOO OXO Kashif Ihsan, Lecturer CS, MIHE 24

Kashif Ihsan, Lecturer CS, MIHE 25

 At any given point in time, the system is in one state.  It will remain in this state until an event occurs that causes it to change state.  A state is represented by a rounded rectangle containing the name of the state.  Special states: A black circle represents the start state. A circle with a ring around it represents an end state. Kashif Ihsan, Lecturer CS, MIHE 26

 A transition represents a change of state in response to an event,  It is considered to occur instantaneously  The label on each transition is the event that causes the change of state. Kashif Ihsan, Lecturer CS, MIHE 27

Kashif Ihsan, Lecturer CS, MIHE 28

 An activity is something that takes place while the system is in a state. It takes a period of time. The system may take a transition out of the state in response to completion of the activity, Some other outgoing transition may result in: The interruption of the activity, and An early exit from the state. Kashif Ihsan, Lecturer CS, MIHE 29

Kashif Ihsan, Lecturer CS, MIHE 30

 A state diagram can be nested inside a state.  The states of the inner diagram are called sub-states. Kashif Ihsan, Lecturer CS, MIHE 31

 An activity diagram is like a state diagram. Except most transitions are caused by internal events, such as the completion of a computation.  An activity diagram Can be used to understand the flow of work that an object or component performs. Can also be used to visualize the interrelation and interaction between different use cases.  One of the strengths of activity diagrams is the representation of concurrent activities. Kashif Ihsan, Lecturer CS, MIHE 32

33

 Activity diagrams are most often associated with several classes.  The partition of activities among the existing classes can be explicitly shown using swimlanes. Kashif Ihsan, Lecturer CS, MIHE 34

35