IS 0020 Program Design and Software Tools

Similar documents
Analysis and Design with UML

Architecture and the UML

Unified Modeling Language (UML) Class Diagram

Chapter 10. Object-Oriented Analysis and Modeling Using the UML. McGraw-Hill/Irwin

What is use case modeling? 10 - UML Overview. Use-Case diagrams CMPSCI520/620. Rick Adrion 2003 (except where noted) 1

Basic Structural Modeling. Copyright Joey Paquet,

Meltem Özturan

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

Unified Modeling Language (UML) and Modeling

SOFTWARE DESIGN COSC 4353 / Dr. Raj Singh

Unified Modeling Language (UML)

COSC 3351 Software Design. An Introduction to UML (I)

Introduction to UML. Danang Wahyu utomo

Index. Add Diagram > Sequence Diagram command,

Introduction to UML Dr. Rajivkumar S. Mente

Software Engineering Lab Manual

Lesson 11. W.C.Udwela Department of Mathematics & Computer Science

UML Fundamental. OutLine. NetFusion Tech. Co., Ltd. Jack Lee. Use-case diagram Class diagram Sequence diagram

OMG Modeling Glossary B

Object-Oriented Systems Analysis and Design Using UML

UML Tutorial. Unified Modeling Language UML Tutorial

Object-Oriented Design

Software Service Engineering

Enterprise Architect basic usage

Object Oriented Modeling

Pattern for Structuring UML-Compatible Software Project Repositories

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

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified)

UNIT-4 Behavioral Diagrams

Today s Topic. Lecture 5. What is UML? Why Use UML. UML Diagrams. Introduction to UML. What is UML Why use UML? UML Diagrams

UNIT II. Syllabus. a. An Overview of the UML: Visualizing, Specifying, Constructing, Documenting

Modeling with UML. (1) Use Case Diagram. (2) Class Diagram. (3) Interaction Diagram. (4) State Diagram

StarUML Documentation

Ch t 8 Chapter 8. System Models

Pertemuan 8. Object Oriented Modeling and Design

Unified Modeling Language (UML)

Lecture 17: (Architecture V)

UML diagrams. Software artifacts include: SRS, SDS, test cases, source code, technical/user manual, software architecture, etc.

UML 2.0 UML 2.0. Scott Uk-Jin Lee. Division of Computer Science, College of Computing Hanyang University ERICA Campus

Class diagrams. Modeling with UML Chapter 2, part 2. Class Diagrams: details. Class diagram for a simple watch

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

UML REFERENCE SHEETS. 2013, 2014 Michael Marking; all rights reserved, including moral rights. Web site:

Class diagrams. Modeling with UML Chapter 2, part 2. Class Diagrams: details. Class diagram for a simple watch

Lecture 17 Engineering Design Resolution: Generating and Evaluating Architectures

Object-Oriented and Classical Software Engineering

Object-Oriented Analysis and Design Using UML (OO-226)

A - 1. CS 494 Object-Oriented Analysis & Design. UML Class Models. Overview. Class Model Perspectives (cont d) Developing Class Models

The Unified Modeling Language User Guide

Lab Manual. Object Oriented Analysis And Design. TE(Computer) VI semester

Progress Report. Object-Oriented Software Development: Requirements elicitation (ch. 4) and analysis (ch. 5) Object-oriented software development

Introduction to Unified Modelling Language (UML)

UML: Unified Modeling Language

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

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

Object Oriented Design. Program Design. Analysis Phase. Part 2. Analysis Design Implementation. Functional Specification

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified) MODEL ANSWER

Software Design Methodologies and Testing. (Subject Code: ) (Class: BE Computer Engineering) 2012 Pattern

Unified Modeling Language (UML)

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified)

OO Analysis and Design with UML 2 and UP

Component Design. Systems Engineering BSc Course. Budapest University of Technology and Economics Department of Measurement and Information Systems

SOFTWARE MODELING AND DESIGN. UML, Use Cases, Patterns, and. Software Architectures. Ki Cambridge UNIVERSITY PRESS. Hassan Gomaa

UML Primer. -Elango Sundaram

UNIVERSITY OF MASSACHUSETTS AMHERST

UNIT-II Introduction to UML

Object-Oriented Systems Development: Using the Unified Modeling Language

Object-Oriented Software Engineering Practical Software Development using UML and Java

Object-Oriented Design

Enterprise Architect. User Guide Series. UML Models. Author: Sparx Systems. Date: 30/06/2017. Version: 1.0 CREATED WITH

Allenhouse Institute of Technology (UPTU Code : 505) OOT Notes By Hammad Lari for B.Tech CSE V th Sem

ArchiMate 2.0. Structural Concepts Behavioral Concepts Informational Concepts. Business. Application. Technology

CSE 403: Software Engineering, Spring courses.cs.washington.edu/courses/cse403/15sp/ UML Class Diagrams. Emina Torlak

Objectives. Explain the purpose and objectives of objectoriented. Develop design class diagrams

SOFTWARE ENGINEERING UML FUNDAMENTALS. Saulius Ragaišis.

CHAPTER 5 CO:-Sketch component diagram using basic notations 5.1 Component Diagram (4M) Sample Component Diagram 5.2 Deployment Diagram (8M)

SEEM4570 System Design and Implementation. Lecture 10 UML

Metamodeling. Janos Sztipanovits ISIS, Vanderbilt University

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

OBJECT ORIENTED DESIGN with the Unified Process. Use Case Realization

ISO/IEC INTERNATIONAL STANDARD. Information technology Metadata registries (MDR) Part 3: Registry metamodel and basic attributes

Class Diagram. Classes consist of. Note that class diagrams contain only classes, not objects.

S T R U C T U R A L M O D E L I N G ( M O D E L I N G A S Y S T E M ' S L O G I C A L S T R U C T U R E U S I N G C L A S S E S A N D C L A S S D I A

Software Engineering from a

Computer Science 520/620 Spring 2013 Prof. L. Osterweil" Use Cases" Software Models and Representations" Part 4" More, and Multiple Models"

Computer Science 520/620 Spring 2013 Prof. L. Osterweil" Software Models and Representations" Part 4" More, and Multiple Models" Use Cases"

Notation Part 1. Object Orientated Analysis and Design. Benjamin Kenwright

What s Next. INF 117 Project in Software Engineering. Lecture Notes -Spring Quarter, Michele Rousseau Set 6 System Architecture, UML

AUTHOR(S) Jacqueline Floch CLIENT(S) SINTEF Telecom and Informatics CLASS. THIS PAGE ISBN PROJECT NO. NO. OF PAGES/APPENDICES

Class Diagram. Classes consist of. Note that class diagrams contain only classes, not objects.

Use Case Model. Static Structure. Diagram. Collaboration. Collaboration. Diagram. Collaboration. Diagram. Diagram. Activity. Diagram.

Advanced Software Engineering

Introduction to UML p. 1 Introduction to the Object-Oriented Paradigm p. 1 What Is Visual Modeling? p. 6 Systems of Graphical Notation p.

UNIT 5 - UML STATE DIAGRAMS AND MODELING

OBJECT ORIENTED DESIGN with the Unified Process. Use Case Realization

Software Engineering with Objects and Components Open Issues and Course Summary

Practical UML - A Hands-On Introduction for Developers

Outline of Lecture 3. Identifying Objects. Requirements Analysis Overview. Actors, Objects and Classes

Object-Oriented Design and Modeling Using the UML

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

Unified Modeling Language

Transcription:

1 IS 0020 Program Design and Software Tools Unified Modeling Language Lecture 13 April 13, 2005

What is UML? 2 The Unified Modelling Language is a standard notation to model [object oriented] systems. Syntax and semantics Model systems Visual documentations Collections of best practices Used to produce a set of artifacts that can be delivered Wide support Independent of programming languages Support high level concepts

UML Diagram Types 3 Use Case diagrams Static structure diagrams Class diagrams Object diagrams Interaction diagrams Sequence diagrams Collaboration diagrams Statechart diagrams Activity diagrams Component diagrams Deployment diagram

Actors 4 An actor is someone or some thing that must interact with the system under development Registrar Professor Student Billing System Copyright 1997 by Rational Software Corporation

Use Cases 5 A use case is a pattern of behavior the system exhibits Each use case is a sequence of related transactions performed by an actor and the system in a dialogue Actors are examined to determine their needs Registrar -- maintain the curriculum Professor -- request roster Student -- maintain schedule Maintain Curriculum Request Course Roster Maintain Schedule

Use Case Diagram 6 Use case diagrams are created to visualize the relationships between actors and use cases Request Course Roster Student Professor Maintain Schedule Billing System Maintain Curriculum Registrar Copyright 1997 by Rational Software Corporation

Use Case Realizations 7 The use case diagram presents an outside view of the system Interaction diagrams describe how use cases are realized as interactions among societies of objects Two types of interaction diagrams Sequence diagrams Collaboration diagrams Copyright 1997 by Rational Software Corporation

Class Diagram 8 Class diagrams are the most commonly used diagrams in UML. Class diagrams are for visualizing, specifying and documenting the system from a static perspective. Class diagrams indicate which classes know about other classes and, if they do, what type of relationship exists. Class diagrams will have different levels of detail (abstraction) depending on where we are in the software development process.

Class Diagrams 9 Class diagrams describe types of objects in a system and their relationships. There are three types of relationships between classes: Dependency ( uses ) Aggregation ( has ) Inheritance ( is ) Class diagrams also show the attributes and operations of a class.

Class Diagrams 10 Class diagrams consist of several classes connected with relationships Representation of a class:

Class Diagram 11

Convention 12 Name of class is a word with initial upper case letter Capitalize first letter of every word in name Name of attributes is lower case letter Capitalize first letter of every word other than first Operations have same naming schemes as attributes Brackets include parameter operation works on

Associations 13 relationship between different objects of one or more classes

Connectors 14

Multiplicities 15

UML Class Diagram 16 Label Multiplicity Class Association

Class 17 Construct Description Syntax class a description of a set of objects that share the same attributes, operations, methods, relationships and semantics. Derived from the CRC Cards Sections: name, attributes, operations Name Attributes Methods

Association 18 Construct Description Syntax association a relationship between two or more classifiers that involves connections among their instances. It is more important to identify classes than to identify associations Too many associations can be confusing Classes may have association with themselves person * 1 manages

Generalization 19 Construct Description Syntax generalization a taxonomic relationship between a more general and a more specific element. Generalization: identifying commonality among classes

Aggregation 20 Construct Description Syntax aggregation A special form of association that specifies a whole-part relationship between the aggregate (whole) and the component part. A composite aggregation (filled diamond) means that the multiplicity at the composite end may be at most one. Shared aggregation (hollow diamond) means that the multiplicity at the composite end may be more than one.

Aggregation Guidelines 21 There is an obvious physical or logical assembly The part and composite have the same lifetime Operations applied to the composite propagate to the parts e.g. destruction, movement, etc.

22 Objects and Inheritance supertype dependency subtype

23 Classifier A classifier is a mechanism that describes structural and behavioral features. Types of classifiers are classes, interfaces, datatypes, signals, components, nodes, use cases and subsystems. Classes are the most important kind of classifier. Classes have a number of features beyond attributes and behaviors that allow you to model some of the more subtle/advanced features of a system.

Advanced Class Features 24

Abstract and Concrete Classes and Operations 25

Template Icon 26 A parameterized element. Represented in UML as a dashed box in the upper right-hand corner of the class icon, which lists the template parameters.

State Transition Diagram 27 Initialization do: Initialize course Cancel Canceled do: Notify registered students Add Student / Set count = 0 Cancel Cancel Add student[ count < 10 ] Closed do: Finalize course Open entry: Register student exit: Increment count [ count = 10 ]

Sequence Diagram 28 A sequence diagram displays object interactions arranged in a time sequence : Student registration form registration manager math 101 math 101 section 1 1: fill in info 2: submit 3: add course(joe, math 01) 4: are you open? 6: add (joe) 5: are you open? 7: add (joe) Copyright 1997 by Rational Software Corporation

Collaboration Diagram 29 A collaboration diagram displays object interactions organized around objects and their links to one another 1: set course info 2: process course form : CourseForm : Registrar 3: add course acourse : Course 4: new course themanager : CurriculumManager Copyright 1997 by Rational Software Corporation

The Physical World 30 Component diagrams illustrate the organizations and dependencies among software components A component may be A source code component A run time components or An executable component

Component Diagram 31 Billing.exe Register.exe Billing System Course.dll Course People.dll User Student Professor Course Course Offering

Deploying the System 32 The deployment diagram shows the configuration of run-time processing elements and the software processes living on them The deployment diagram visualizes the distribution of components across the enterprise.

Deployment Diagram 33 Registration Database Library Main Building Dorm Copyright 1997 by Rational Software Corporation