UML and the Software Lifecycle

Slides:



Advertisements
Similar presentations
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
Advertisements

Karolina Muszyńska Based on:
Documenting a Software Architecture By Eng. Mohanned M. Dawoud.
Introduction To System 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.
Revision Session 1.UML Overview 2.Detailed software design : operation specification, designing for re-use.
1 SWE Introduction to Software Engineering Lecture 25 – Object-Oriented Design (Chapter 14)
Requirements Analysis 1 Use Cases -> Class Diagrams Moving from the user towards the system.
Documenting Requirements using Use Case Diagrams
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented design 2.
Rational Worldwide Software Symposium
IELM 511: Information System design
© Copyright Eliyahu Brutman Programming Techniques Course.
Data Analysis (and User Interaction) GEOG 463 5/7/04.
Requirements Gathering : Determining the scope of the system 1. Elicitiation – fact finding 2. Specification 3. Validation.
SE-565 Software System Requirements More UML Diagrams.
Unified Modeling Language
Introduction To System Analysis and design
2005/05/25 Unified Modeling Lanauage 1 Introduction to Unified Modeling Language (UML) – Part One Ku-Yaw Chang Assistant Professor.
1COM6030 Systems Analysis and Design © University of Sheffield 2005 COM 6030 Software Analysis and Design Lecture 4 - System modelling Dr Richard Clayton.
Software Engineering CS B Prof. George Heineman.
Changing Perspective From Structured to Object-oriented.
Slide 1 UML Review Chapter 2: Introduction to Object-Oriented Systems Analysis and Design with the Unified Modeling Language, Version 2.0 Alan Dennis,
Unified Modeling Language, Version 2.0
1 SYS366 Lecture Visual Modeling and Business Use Case Diagrams.
Lecture 3: Visual Modeling & UML 1. 2 Copyright © 1997 by Rational Software Corporation Computer System Business Process Order Item Ship via “ Modeling.
Introduction To System Analysis and Design
Object Management Group (OMG) Specifies open standards for every aspect of distributed computing Multiplatform Model Driven Architecture (MDA)
UML Diagrams: Sequence Diagrams The Requirements Model, and The Dynamic Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical.
Modeling Shari L. Pfleeger and Joanne M. Atlee, Software Engineering: Theory and Practice, 4 th edition, Prentice Hall, Hans Van Vliet, Software.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 1: Introduction to Use-Case Modeling.
TAL7011 – Lecture 4 UML for Architecture 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:
Business Analysis with For PG MDI, Gurgaon Kamna Malik, Ph.D.
SWT - Diagrammatics Lecture 4/4 - Diagramming in OO Software Development - partB 4-May-2000.
Michael Schloh von Bennewitz 1. Oktober 2002 The Unified Modeling Language Overview of theory and practice of the OMG Unified Modeling.
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
CIM LAB MEETING Presentation on UML Rakesh Mopidevi Kwangyeol Ryu.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Systems Analysis and Design in a Changing World, Thursday, Feb 15.
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.
UML (Unified Modeling Language)
UML Course Instructor: Rizwana Noor. Overview  Modeling  What is UML?  Why UML?  UML Diagrams  Use Case  Components  Relationships  Notations.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
CSIS 4850: CS Senior Project – Spring 2009 CSIS 4850: Senior Project Spring 2009 Object-Oriented Design.
Object Oriented Analysis and Design Introduction to Rational Rose.
Fall 2007 Week 9: UML Overview MSIS 670: Object-Oriented Software Engineering.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
1 BTS330 Visual Modeling. What is Visual Modeling? 2 Copyright © 1997 by Rational Software Corporation Computer System Business Process Order Item Ship.
1 Architectural Blueprints—The “4+1” View Model of Software Architecture (
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
1 SYS366 Week 2 - Lecture 2 Visual Modeling & UML.
1 More About UML Todd Bacastow Penn State University Geospatial System Analysis & Design.
Basic Characteristics of Object-Oriented Systems
Introduction to UML and Rational Rose UML - Unified Modeling Language Rational Rose 98 - a GUI tool to systematically develop software through the following.
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
Design Review.
Introduction to UML.
Systems Analysis and Design in a Changing World, Fourth Edition
Case Study -- Weather system
Systems Analysis and Design With UML 2
Unified Modeling Language
Rational Worldwide Software Symposium
Unified Modeling Language
Rational Worldwide Software Symposium
Rational Worldwide Software Symposium
Presentation transcript:

UML and the Software Lifecycle

What is UML? Unified Modelling language Developed to enable IT professionals to model computer applications in a standard language-independent way. UML provides diagrams that increase the ease of understanding of an application under development

Main UML diagrams and the software Lifecycle Use Case Diagrams Activity Diagrams Class Diagram Sequence Diagrams State Diagrams Package Diagrams Deployment diagrams Requirements gathering Requirements analysis ANALYSIS DESIGN Software design Implementation

Requirements Gathering: Use Case Diagram shows SCOPE Source: IBM Rational

.

.

Use Case Diagrams Business requirements – essential use cases Guest Book spa Hotel self service subsystem Check valid room number Order food/ drink <<includes>> Request alarm call Guest

Each Use Case Describes a system function from a user’s perspective Details business events and users interaction with the system during that event Represents a system activity, a well-defined part of the system’s functionality Has a goal Supported by behaviour specifications Has a more detailed description, possibly specifying a number of scenarios or alternate courses of action

Use cases are initially defined at a high level and successively refined as the analysis and software development process unfolds. Williams 2004

The UML Class Diagram provides a model that can be easily translated into software components. Use case realisation includes identifying a set of classes with an understanding of how they work together to provide the functionality of the use case. Williams 2004

Class Diagram static structure of the system shows how different entities/objects relate Can be used in analysis to show... logical classes - things relating to the organisation And in software design to show.... implementation classes, which are the things that programmers typically deal with.

The class diagram is refined and modified through the lifecycle to add more detail relevant to the implementation

Example class diagram 1 0..* Is made up of <boundary> User Interface:: addmemberUI Startnewmember() Createnewmember() Select membertype() Recordpayment() <control> Control:: addmember Select membertype() Recordpayment() Createnewmember() <entity> Member Name Address Phone Mobile Email Type Createnewmember() Update membertype() Updatememberdetails() Deletemember() <entity> Filmclub Club name Location Night Time Contact Phone email Create filmclub() 1 0..* Is made up of

Williams 2004

Class diagrams can show Inheritance relationships Association relationships (like in E-R diagrams)

Activity Diagrams Activity diagrams are used to show sequences of activities. show workflows from start point to finish point detailing the many decision paths that exist in the progression of events contained in the activity. can be used to model higher-level business processes or low-level internal class actions. Swim lanes can be used to show who is responsible for an action

Activity Diagrams

Activity diagram with swimlanes Source: IBM Rational http://www.ibm.com/developerworks/rational/library/769.html

Statechart Diagram The statechart diagram models the different states that a class can be in and how that class transitions from state to state Only necessary for classes with 3 or more states.

Statechart Diagram Williams 2004

Sequence Diagrams Dynamic view of the system represent or model the flow of messages, events and actions between the objects in a system. show the calls between the different objects in their sequence for a use case or part of a use case used to design, document and validate the architecture, interfaces and logic of the system

Sequence Diagrams

Williams 2004

Component Diagram physical view of the system shows the dependencies that the software has on other software components (e.g. software libraries) in the system. The diagram can be shown at a very high level, with just the large-grain components, or it can be shown at the component package level. [Note: The phrase component package level is a programming language-neutral way of referring to class container levels such as .NET's namespaces (e.g., System.Web.UI) or Java's packages (e.g., java.util).]

Component Diagram Source: IBM Rational http://www.ibm.com/developerworks/rational/library/769.html

Deployment Diagram shows how a system will be physically deployed in the hardware environment where the different components of the system will physically run and how they will communicate with each other.

Deployment Diagram

Sources Williams, Laurie (2004) An Introduction to the UML Modelling Language IBM Rational - UML Overview http://www.ibm.com/developerworks/rational/library/769.html