Introduction to UML: Structural &Use Case Modeling

Slides:



Advertisements
Similar presentations
UML an overview.
Advertisements

CS 501: Software Engineering Fall 2000 Lecture 2 The Software Process.
Lecture # 2 : Process Models
Chapter 4 - Object-Oriented Analysis and Design in a Nutshell1 Chapter 4 Object-Oriented Analysis and Design in a Nutshell.
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
CS3773 Software Engineering Lecture 03 UML Use Cases.
Object-Oriented Analysis and Design
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
The Unified Software Development Process - Workflows Ivar Jacobson, Grady Booch, James Rumbaugh Addison Wesley, 1999.
SE 555 Software Requirements & Specification1 Use-Case Modeling: Overview and Context.
Part 1 Structural Modeling Use case modeling
1/31 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2005] January 22, 2009.
© Copyright Eliyahu Brutman Programming Techniques Course.
Itntroduction to UML, page 1 Introduction to UML.
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
David Harrison Senior Consultant, Popkin Software 22 April 2004
UML and Object Oriented Concepts
Chapter 6 View Alignment Techniques and Method Customization (Part I) Object-Oriented Technology From Diagram to Code with Visual Paradigm for UML Curtis.
Introduction To System Analysis and design
What is UML? What is UP? [Arlow and Neustadt, 2005] January 23, 2014
UML Unified Markup Language Ziya Karakaya Atılım University, Computer Engineering
2Object-Oriented Analysis and Design with the Unified Process Objectives  Explain the purpose and various phases of the traditional systems development.
Introduction to UML 1 Quick Tour Why do we model? What is the UML? Foundation elements Unifying concepts Language architecture Relation to other OMG technologies.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
CONCEPTUAL DESIGN: UML CLASS DIAGRAM RELATIONSHIPS
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Introduction to the Unified Modeling Language “The act of drawing a diagram does not constitute analysis or design. … Still, having a well-defined and.
Introduction to UML By: Prof. Aiman Hanna Department of Computer Science, Concordia University, Montreal, Canada.
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
Lecture 3: Visual Modeling & UML 1. 2 Copyright © 1997 by Rational Software Corporation Computer System Business Process Order Item Ship via “ Modeling.
Introduction to UML: Structural and Use Case Modeling.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
By: DiGitAll UML an overview. Topics covered in this Session 1. Introducing UML. 2. What constitutes the UML. 3. Concepts of UML.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
Rational Unified Process Mr Hisham AlKhawar. Iterative versus Waterfall  We need to use a life cycle model in order to approach developing a system easily,
 What is Modeling What is Modeling  Why do we Model Why do we Model  Models in OMT Models in OMT  Principles of Modeling Principles of Modeling 
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 15 The Unified Modeling Language: a Primer.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 1: Introduction.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
1 Unified Modeling Language, Version 2.0 Chapter 2.
Ivar Jacobson, Grady Booch, and James Rumbaugh The Unified Software Development Process Addison Wesley, : James Rumbaugh's OOMD 1992: Ivar Jacobson's.
Generalizable Element Namespace Model Element name visibility isSpecification Classifier isRoot Constraint Body Coming up: Unified Modeling Language Introduction.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Session 1 What Is the UML? Written by Thomas A. Pender Published by Wiley Publishing, Inc. October 5, 2011 Presented by Kang-Pyo Lee.
Copyright (C), No Magic, Inc Welcome to No Magic!
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.
SWE 214 (071) Introduction to UML Slide 1 Introduction to UML.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 1 Object-Oriented Design.
UML (Unified Modeling Language)
UML AN OVERVIEW. Topics covered in this Session 1. Introducing UML. 2. What constitutes the UML. 3. Concepts of UML.
1 Advanced DataBases Unified Modelling Language An Introduction and Use Case Lecture 2 Susan Curtis.
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
Introduction to UML.
Evolution of UML.
Object-Oriented Analysis and Design
What is UML? What is UP? [Arlow and Neustadt, 2005] October 5, 2017
Systems Analysis and Design With UML 2
Unified Modeling Language
Introduction to Unified Modeling Language (UML)
University of Central Florida COP 3330 Object Oriented Programming
Introduction to Object Oriented Analysis, Design and Unified Modeling Language (UML) Shanika Karunasekera.
Introduction to UML.
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:

Introduction to UML: Structural &Use Case Modeling

1. Software Engineering Tour

5 stages of software development process Requirements analysis and definition: Establish the application’s goals and constraints in consultation with users Design: Establish the system’s architecture Implementation and unit testing: Realize the design as a set of programs or program units Unit testing verifies that each unit meets its specification Integration and system testing: Integrate the program units and test as a complete system Maintenance: Correct errors, improve implementation, and enhance the system’s services as new requirements are discovered

What is the primary driver of software costs? Most money and effort (82%) spent in testing and maintenance But: 85% of errors are introduced during requirements analysis and design 3% 8% 7% 15% 67% Requirements -- 3% Design -- 8% Implementation -- 7% Testing -- 15% Maintenance -- 67% Software Cost

Waterfall model of software process A sequential software development model (a process for the creation of software) in which development is seen as flowing steadily downwards (like a waterfall) through the phases of requirements analysis, design, implementation, testing (validation), integration, and maintenance.

Waterfall model Progress flows from the top to the bottom, like a waterfall.

V model of software process An extension of the waterfall model. Instead of moving down in a linear way, the process steps are bent upwards after the coding phase, to form the typical V shape. The V-Model demonstrates the relationships between each phase of the development life cycle and its associated phase of testing.

V model

Prototyping of software process This model adds prototyping as sub-process A prototype is a partially developed product that enables customers and developers to examine some aspect of a proposed system and decide if it is suitable for a finished product Why add prototypes to the life cycle? Used to explore the risky aspects of the system: Risk of developing the “wrong” system (what customer doesn’t want), can be a user interface without functionality Other technical risks – e.g. performance, using a new technology, alternative algorithms, etc. Prototype may be thrown away or evolve into product

Rational Unified Process (RUP) Developed by “three amigos” at Rational Software (IBM) Grady Booch, Ivar Jacobson, and Jim Rumbaugh Unified Modeling Language (UML) is a set of graphical and linguistic notations for modeling systems, not a process or method The three amigos also developed Rational Unified Process (RUP) You don’t have to use RUP to use UML Interestingly different from the traditional waterfall model Highly iterative and incremental process Software product is not released in one big bang at end of project Instead, developed and released in pieces (prototypes, partial releases, beta, etc.)

How do traditional stages iterate? Workflows look traditional, but they iterate in four phases

What does iteration imply about RUP? How can iterations reduce risk or reveal problems?

2. UML Modeling Basics

What is UML? UML stands for Unified Modeling Language In the field of software engineering, UML is a standardized specification language for object modeling. UML is a general-purpose modeling language that includes a graphical notation used to create an abstract model of a system, referred to as a UML model.

Why UML?

What is UML? Is a language. It is not simply a notation for drawing diagrams, but a complete language for capturing knowledge(semantics) about a subject and expressing knowledge(syntax) regarding the subject for the purpose of communication. Applies to modeling and systems. Modeling involves a focus on understanding a subject (system) and capturing and being able to communicated in this knowledge. It is the result of unifying the information systems and technology industry’s best engineering practices (principals, techniques, methods and tools).

Unified Modeling Language (UML) used for both database and software modeling version 1.1 was adopted in November 1997 by the Object Management Group (OMG) as a standard language for object-oriented analysis and design Initially based on a combination of the Booch, OMT (Object Modeling Technique) and OOSE (Object-Oriented Software Engineering) methods, UML was refined and extended by a consortium of several companies, and is undergoing minor revisions by the OMG Revision Task Force. Ivar Jacobson is known as the father of Use Cases.

Topics on UML 1. Structural Modeling with UML Structural model: a view of an system that emphasizes the structure of the objects, including their classes, relationships, attributes and operations. 2. Use Case Modeling with UML Use case model: a view of a system that emphasizes the behavior as it appears to outside users. A use case model partitions system functionality into transactions (‘use cases’) that are meaningful to users (‘actors’).

2.1 Structural Modeling What is structural modeling? Core elements Core relationships Structural diagram

What is structural modeling? Structural model: a view of an system that emphasizes the structure of the objects, including their classes, relationships, attributes and operations.

Structural Modeling: Core Elements

Structural Modeling: Core Elements (cont’d) ¹ An extension mechanism useful for specifying structural elements.

Structural Modeling: Core Relationships

Structural Modeling: Core Relationships (cont’d)

Structural Diagram Tour Show the static structure of the model the entities that exist (e.g., classes, interfaces, components, nodes) internal structure relationship to other entities Do not show temporal information Kinds static structural diagrams class diagram object diagram implementation diagrams component diagram deployment diagram

Static Structural Diagrams Shows a graph of class elements connected by static relationships. kinds class diagram: class view object diagram: instance view

Class/Object

Class: compartments with names

Class: method body

Types and Implementation Classes

Interfaces: Shorthand Notation

Interfaces: Longhand Notation

Associations

Composition

Generalization

Dependencies

Derived Attributes and Associations

Constraints and Comments

Implementation Diagrams Show aspects of model implementation, including source code structure and run-time implementation structure Kinds component diagram deployment diagram

Component Diagram Shows the organizations and dependencies among software components Components may be specified by classifiers (e.g., implementation classes) implemented by artifacts (e.g., binary, executable, or script files)

Component Diagram Example Order System component depends both on the Customer Repository and Inventory System components

Deployment Diagram Models the physical deployment of artifacts (software components) on nodes (hardware components) Deployment diagrams are used to show which components may run on which nodes

Deployment Diagram Example Deployment Diagram of Order Management System (a web based application is deployed in a clustered environment using server 1, 2, and 3.)

2.2 Use Case Modeling What is use case modeling? Core elements Core relationships Diagram tour Example: Online HR System

What is use case modeling? use case model: a view of a system that emphasizes the behavior as it appears to outside users. A use case model partitions system functionality into transactions (‘use cases’) that are meaningful to users (‘actors’).

Use Case Modeling: Core Elements

Use Case Modeling: Core Relationships <<extend>>

Use Case Modeling: Core Relationships (cont’d) <<include>>

Use Case Diagram Tour Shows use cases, actor and their relationships Use case internals can be specified by text and/or interaction diagrams Kinds use case diagram use case description

College Registration System Use Case Diagram College Registration System

Example: Online HR System

Online HR System: Use Case Relationships

Online HR System: Update Benefits Use Case Actors: employee, employee account db, healthcare plan system, insurance plan system Preconditions: Employee has logged on to the system and selected ‘update benefits’ option Basic course System retrieves employee account from employee account db System asks employee to select medical plan type; include Update Medical Plan System asks employee to select dental plan type; include Update Dental Plan … Alternative courses If health plan is not available in the employee’s area the employee is informed and asked to select another plan...

Ideas to Take Away UML is effective for modeling large, complex software systems It is simple to learn for most developers, but provides advanced features for expert analysts, designers and architects It can specify systems in an implementation-independent manner Structural modeling specifies a skeleton that can be refined and extended with additional structure and behavior Use case modeling specifies the functional requirements of system in an object-oriented manner

3. UML Modeling Tools

Violet UML Editor Tool

Thank You !