BUILDING BLOCKS. UML & more...

Similar documents
Interaction Modelling: Sequence Diagrams

Unified Modeling Language

UML Component Diagrams A.Y 2018/2019

CISC 322 Software Architecture

UML part I. UML part I 1/41

Unified Modeling Language (UML)

Introduction to Software Engineering. 5. Modeling Objects and Classes

CHAPTER 1. Topic: UML Overview. CHAPTER 1: Topic 1. Topic: UML Overview

Sequence Diagrams. Massimo Felici. Massimo Felici Sequence Diagrams c

Engineering Design w/embedded Systems

Unified Modeling Language (UML)

CSE 308. UML Overview Use Case Diagrams. Reference. Class diagrams. Session 6 UML Intro/Use cases. Robert Kelly, B. Bruegge,

Course "Softwaretechnik" Book Chapter 2 Modeling with UML

SOFTWARE DESIGN COSC 4353 / Dr. Raj Singh

UML Primer. -Elango Sundaram

Software Development. Modular Design and Algorithm Analysis

BDSA Introduction to OOAD. Jakob E. Bardram

INTRODUCTION TO UNIFIED MODELING MODEL (UML) & DFD. Slides by: Shree Jaswal

Software Engineering Lab Manual

Model Driven Development Unified Modeling Language (UML)

3.0 Object-Oriented Modeling Using UML

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico

UML Modeling. Sumantra Sarkar. 29 th June CIS 8090 Managing Enterprise Architecture

System Sequence Diagrams. Based on Craig Larman, Chapter 10 and Anuradha Dharani s notes

Lecture 33 April 4, Unied Modelling Language. ECE155: Engineering Design with Embedded Systems Winter Patrick Lam version 1

CS2353 OBJECT ORIENTED ANALYSIS AND DESIGN UNIT- I

Rational Software White paper

Unified Modeling Language (UML) Object Diagram and Interaction Diagrams

i219 Software Design Methodology 1. Overview of software design methodology Kazuhiro Ogata (JAIST) Outline of lecture

Software Engineering

CSE 308. UML Overview Use Case Diagrams. Reference. en.wikipedia.org/wiki/class_diagram. Robert Kelly, B. Bruegge,

UML. By Somenath Mukhopadhyay.

Software Development Cycle. Unified Modeling Language. Unified Modeling Language. Unified Modeling Language. Unified Modeling Language.

administrivia today UML start design patterns Tuesday, September 28, 2010

CS 370 REVIEW: UML Diagrams D R. M I C H A E L J. R E A L E F A L L

Introduction to Software Engineering. 5. Modeling Objects and Classes

Processes, Methodologies and Tools. Fall 2005

OO Analysis and Design with UML 2 and UP

UML- a Brief Look UML and the Process

MSc programme (induction week) Department of Informatics INTRODUCTION TO UML

1 Introduction. 1.1 Introduction

Ingegneria del Software Corso di Laurea in Informatica per il Management. Introduction to UML

Interaction Modelling: Use Cases

Course 3 7 March

LABORATORY 1 REVISION

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

Tool Support for Design Inspection: Automatic Generation of Questions

Introduction. Chapter 1. What Is Visual Modeling? The Triangle for Success. The Role of Notation. History of the UML. The Role of Process

1 Reference Material for these slides is taken from many UML reference books. However, the two I most often used are: UML Explained, by Kendall Scott,

UNIT-I Introduction of Object Oriented Modeling

SEEM4570 System Design and Implementation Lecture 11 UML

Course "Softwaretechnik Modeling with UML Stephan Salinger

Advanced Interaction

IBM Software Group. Mastering Requirements Management with Use Cases Module 10: Structure the Use-Case Model

Index. Add Diagram > Sequence Diagram command,

The Unified Modeling Language User Guide

Chapter 2, Modeling with UML, Part 2

Software Service Engineering

A Role-based Use Case Model for Remote Data Acquisition Systems *

CHAPTER 1. Objects, UML, and Java

Introduction to Unified Modelling Language (UML)

Object-Oriented Analysis and Design. Pre-UML Situation. The Unified Modeling Language. Unification Efforts

MechEng SE3 Lecture 7 Domain Modelling

Object-Interaction Diagrams: Sequence Diagrams UML

UML Modeling I. Instructor: Yongjie Zheng September 3, CS 490MT/5555 Software Methods and Tools

Object-Oriented and Classical Software Engineering

How and Why to Use the Unified Modeling Language. among software components, architectural-based

History of object-oriented approaches

Chapter 12. UML and Patterns. Copyright 2008 Pearson Addison-Wesley. All rights reserved

UML Start-Up Training UB1

Object Interaction Sequence Diagrams

UML: Unified Modeling Language

The learning objectives of this chapter are the followings. At the end of this chapter, you shall

CIS 771: Software Specifications

UML & OO FUNDAMENTALS CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 3 08/30/2011

A PROPOSAL FOR MODELING THE CONTROL SYSTEM FOR THE SPANISH LIGHT SOURCE IN UML

Course "Softwaretechnik" Book Chapter 2 Modeling with UML

UNIT I. 3. Write a short notes on process view of 4+1 architecture. 4. Why is object-oriented approach superior to procedural approach?

Exercise Unit 2: Modeling Paradigms - RT-UML. UML: The Unified Modeling Language. Statecharts. RT-UML in AnyLogic

Software Engineering from a

For 100% Result Oriented IGNOU Coaching and Project Training Call CPD: ,

SEEM4570 System Design and Implementation. Lecture 10 UML

OBJECT ORIENTED ANALYSIS AND DESIGN

INTERACTION ARCHITECTURAL MODELING. Lecture 9 Interaction Architectureal Modeling

Domain Engineering And Variability In The Reuse-Driven Software Engineering Business.

Modeling Requirements

The Unified Modeling Language (UML)

UML Tutorial. Unified Modeling Language UML Tutorial

Notation Standards for TOGAF:

Meltem Özturan

Software Engineering

1 OBJECT-ORIENTED ANALYSIS

2 UML for OOAD. 2.1 What is UML? 2.2 Classes in UML 2.3 Relations in UML 2.4 Static and Dynamic Design with UML. UML for OOAD Stefan Kluth 1

SOFTWARE ENGINEERING UML FUNDAMENTALS. Saulius Ragaišis.

Object Oriented Modeling

TTool Training. I. Introduction to UML

LESSON PLAN SUB NAME : OBJECT ORIENTED ANALYSIS AND DESIGN UNIT SYLLABUS

DOWNLOAD OR READ : THE UNIFIED MODELING LANGUAGE UML98 BEYOND THE NOTATION BEYOND THE NOTATION FIRST INTERNATIONAL PDF EBOOK EPUB MOBI

Index. : (colon), 80 <<>> (guillemets), 34, 56

Unified Modelling Language User Guide READ ONLINE

Transcription:

BUILDING BLOCKS UML & more... banerjee@cs.queensu.ca 1

Main Sections UML Sequence Use Case Diagrams Diagrams 2

So, what is the problem? Software is extremely complex. - Once a structure is in place, very difficult to change. - Requires teamwork to build. - Software usually requires maintenance. - Requirements need to be traced. Should we reduce effective complexity? Structure in place, hard to change. Teamwork required. Team mates need to communicate. Maintenance, hence documentation. Traceability is important to check if the final product delivers on the functional requirements. 3

Why Reduce Effective Complexity? Software is ubiquitous. Chances are, you will encounter it. Will require less work from each team member to get it right the first time. Easier documentation and greater maintainability. How to reduce effective complexity? 1. Definitely computer scientists. 2. If team members share a common vocabulary and can communicate, it ll be easier for everyone. 3. Reduce risk of failure. 4

How to reduce Effective Complexity? Visualize software UML designed with the following major goals A Plan Visualize different layers of detail Apply to new and legacy systems Universal Support parallel dev. of large systems Software construction needs a plan. The overall scope of the software can quickly and easily be defined at the start of the project with a high level model allowing for accurate estimation. Increasing levels of detail can then be added to each part of the software as it is constructed Universal + Unified = standard for software modelling languages. 5 Just like a building

UML (design and represent Building Blocks) UML - Unified Modelling Language The three amigos James Rumbaugh (OMT + UML, RUP) Grady Booch (Booch Method, RUP) Ivar Jacobson (RUP, EssUP) OMT - Object modelling technique 6

UML (design and represent Building Blocks) UML - Published by the OMG Source: omg.org OMG - Object Modelling Group UML 2.4 - March 2011 7

UML (contd.) Structure diagram (not our focus!) - Shows the static structure of the system. Implementation Class Diagram, Source: uml-diagrams.org - The elements in a structure diagram represent the meaningful concepts of a system, and may include abstract, real world and implementation concepts. 8

UML (contd.) Behavior diagram - Shows the dynamic structure of the system. Sequence Diagram, Source: uml-diagrams.org - The elements in a behavior diagram represent a series of changes to the system over time. 9

Use Case Diagrams A closer look! - Use case diagrams are also known as extensions of class diagrams. - Use case diagrams are supposed to be behavior and structure diagrams according to UML 2.4 10

Use case diagrams are used to specify: Use Case Diagrams (contd.) (external) requirements. what a system can do; how environment should interact with the subject so that the system will be able to perform its services. Use Case - A set of actions Subject - System under analysis to which a set of use cases apply. Actor - external users of a system Use case - Set of actions performed by the system to yield an observable result. Subject - The subject could be a business or company, software system, physical system or device, or a smaller subsystem having some behavior. Actor - Standard UML notation for actor is "stick man" icon with the name of the actor above or below of the icon. Actor names should follow the capitalization and punctuation guidelines for classes. The names of abstract actors should be shown in italics. Custom icons can be used, such as the non-human payment service. Actors are associated to use-cases, there can be multiple associations for each actor. 11

Use Case Diagrams (contd.) Extend, Include - Shown using a dotted line. A Plan Visualize different layers of detail Apply to new and legacy systems Universal Support parallel dev. of large systems Include similar to abstract use case defined in UML 1.xxx, UML 2.4 specifies an include relationship, which means what is left in the base use case is usually not complete. Extend - open arrowhead directed from the extending use case to the extended (base) use case. 12

Sequence Diagrams Focusses on message interchange between lifelines 13

Sequence Diagrams (Main Elements.) Lifeline: is a named element which represents an individual participant in the interaction Message: is a named element which defines a specific kind of communication between lifelines. Message specifies not only the kind of communication, but also the sender and the receiver. Sender and receiver are normally two occurrence specifications (points at the ends of messages). 14

Sequence Diagrams (Main Elements.) Message Types: Synchronous Call, Asynchronous Call, Asynchronous signal, Create, Delete, Reply Synchronous Call Asynchronous Call Create Delete Reply Synchronous Call - represents operation call - send message and suspend execution while waiting for response Asynchronous Call- send message and proceed immediately without waiting for return value. Asynchronous Signal - message corresponds to asynchronous send signal Create message is sent to lifeline to create itself Delete message (called stop in previous versions of UML) is sent to terminate another lifeline (x marks the destruction occurence). 15

Sequence Diagrams (Simplified for this course) Component 1 Component 1 Component II Lifeline Lifeline + Messages 16

Sequence Diagrams (example extract) UI/Form Browser Network LayoutEngine enters URL, hits go display (URL) IsURLCached(URL) = false getdata(url) pagedata render(pagedata) Javascript + DOM etc. [Building DOM] [displays bitmap] pagebitmap 17 The large gray box is abstracted for now, basically the DOM, XML parser etc. Note that this is the partial sequence diagram when the page is not cached. The dashed backwards arrow represents a reply (check earlier slides). You should use a dashed forward arrow if there is a component that is created (not shown here).

THANK YOU 18