Software Engineering: Models David Millard

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

Activity Diagrams in UML. Definition Activity diagrams represent the dynamics of the system. They are flow charts that are used to show the workflow of.
Chapter 4 - Object-Oriented Analysis and Design in a Nutshell1 Chapter 4 Object-Oriented Analysis and Design in a Nutshell.
UML (Sequence Diagrams, Collaboration and State Chart Diagrams) Presentation By - SANDEEP REDDY CHEEDEPUDI (Student No: ) - VISHNU CHANDRADAS (Student.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 9 Slide 1 Appendix 3 Object-Oriented Analysis and Design.
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
The Unified Software Development Process - Workflows Ivar Jacobson, Grady Booch, James Rumbaugh Addison Wesley, 1999.
Unified Modeling Language (UML) Fawzi Emad Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
03/12/2001 © Bennett, McRobb and Farmer Activity Diagrams Based on Chapter 5 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and.
© Copyright Eliyahu Brutman Programming Techniques Course.
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix.
Requirements Analysis Activity Diagrams b511.ppt © Copyright De Montfort University 2000 All Rights Reserved INFO2005 Requirements Analysis.
UML Needed for Requirements Spec Pepper. Need UML for Requirements Use Case Activity Diagram Tool: StarUML.
1COM6030 Systems Analysis and Design © University of Sheffield 2005 COM 6030 Software Analysis and Design Lecture 6 - Use cases and activity diagrams Dr.
Unified Modeling Language(UML) BY
UML Sequence Diagrams Michael L. Collard, Ph.D. Department of Computer Science Kent State University.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
IS0514 Lecture - Week 2 Best Practice Development Methodology.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
Slide 16B.51 © The McGraw-Hill Companies, 2005 Object-Oriented and Classical Software Engineering.
Introduction to UML By: Prof. Aiman Hanna Department of Computer Science, Concordia University, Montreal, Canada.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 21. Review ANALYSIS PHASE (OBJECT ORIENTED DESIGN) Functional Modeling – Use case Diagram Description.
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix A Object-Oriented.
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.
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
Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.
ECE450 - Software Engineering II1 ECE450 – Software Engineering II Today: An Aside: The Quickest Tour through the UML that you will ever get.
1 Devon M. Simmonds University of North Carolina, Wilmington CSC450 Software Engineering WorkFlow Modeling with Activity Diagrams.
Copyright © 2013 Curt Hill UML Unified Modeling Language.
9-1 © Prentice Hall, 2007 Chapter 9: Analysis Classes Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
An Introduction to the Unified Modeling Language
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
Course Instructor: Kashif Ihsan 1. Chapter # 3 2.
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.
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.
OMT Modeling 1. Object Model : presented by the object model and the data dictionary. 2. Dynamic Model: presented by the state diagrams and event flow.
UML: The Unified Modeling Language Excertos do livro: The Unified Modelling Language User Guide by Grady Booch, James Rumbaugh and Ivar Jacobson.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
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.
MADALINA CROITORU Software Engineering week 4 Practical Madalina Croitoru IUT Montpellier.
1 Unified Modeling Language, Version 2.0 Chapter 2.
7-1 © Prentice Hall, 2007 Topic 7: Analysis Classes Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
Generalizable Element Namespace Model Element name visibility isSpecification Classifier isRoot Constraint Body Coming up: Unified Modeling Language Introduction.
UML Activity Diagrams.
CSCI 3428: Software Engineering Tami Meredith UML Unified Modeling Language.
UML Course Instructor: Rizwana Noor. Overview  Modeling  What is UML?  Why UML?  UML Diagrams  Use Case  Components  Relationships  Notations.
1 BTS330 Visual Modeling. What is Visual Modeling? 2 Copyright © 1997 by Rational Software Corporation Computer System Business Process Order Item Ship.
Basic Characteristics of Object-Oriented Systems
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.
Introduction to Unified Modeling Language (UML) By Rick Mercer with help from The Unified Modeling Language User Guide, Grady Booch, James Rumbaugh, Ivar.
SWE 214 (071) Introduction to UML Slide 1 Introduction to UML.
Requirements capture: Using UML Use Cases David Millard and Yvonne Howard {dem,
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 1 Object-Oriented Design.
UML Activity and Sequence Diagrams David Millard
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
Introduction to the Unified Model Language (UML) Rob Byrd
Introduction to UML.
Analysis Classes Unit 5.
Systems Analysis and Design With UML 2
Unified Modeling Language
Introduction to Unified Modeling Language (UML)
Systems Analysis and Design With UML 2
Business System Development
UML Activity Diagrams.
Appendix 3 Object-Oriented Analysis and Design
Presentation transcript:

Software Engineering: Models David Millard

Overview Definitions of Modeling UML Use Case Diagrams (recap) A Modeling Problem UML Activity Models ▫What are they? ▫How do you create them? ▫When do you use them?

Definitions Modeling (n) “A modeling language is any artificial language that can be used to express information or knowledge or systems in a structure that is defined by a consistent set of rules. The rules are used for interpretation of the meaning of components in the structure.” Wikipedia "Modeling has been an essential part of engineering, art and construction for centuries. Complex software designs that would be difficult for you to describe textually can readily be conveyed through diagrams. Modeling provides three key benefits: visualization, complexity management and clear communication.” IBM “Some development managers wonder why modeling is important at all. After all, the code should speak for itself… Why add an extra layer of abstraction that we have to maintain as the project progresses? The reason is that there are a number of clear benefits that models provide a development organization. They are enhanced communication, better planning, reduced risk, and reduced costs” Software Modeling Introduction – Borland White Paper

Definitions Modeling (n) “A modeling language is any artificial language that can be used to express information or knowledge or systems in a structure that is defined by a consistent set of rules. The rules are used for interpretation of the meaning of components in the structure.” Wikipedia "Modeling has been an essential part of engineering, art and construction for centuries. Complex software designs that would be difficult for you to describe textually can readily be conveyed through diagrams. Modeling provides three key benefits: visualization, complexity management and clear communication.” IBM “Some development managers wonder why modeling is important at all. After all, the code should speak for itself… Why add an extra layer of abstraction that we have to maintain as the project progresses? The reason is that there are a number of clear benefits that models provide a development organization. They are enhanced communication, better planning, reduced risk, and reduced costs” Software Modeling Introduction – Borland White Paper

Definitions Modeling (n) “A modeling language is any artificial language that can be used to express information or knowledge or systems in a structure that is defined by a consistent set of rules. The rules are used for interpretation of the meaning of components in the structure.” Wikipedia "Modeling has been an essential part of engineering, art and construction for centuries. Complex software designs that would be difficult for you to describe textually can readily be conveyed through diagrams. Modeling provides three key benefits: visualization, complexity management and clear communication.” IBM “Some development managers wonder why modeling is important at all. After all, the code should speak for itself… Why add an extra layer of abstraction that we have to maintain as the project progresses? The reason is that there are a number of clear benefits that models provide a development organization. They are enhanced communication, better planning, reduced risk, and reduced costs” Software Modeling Introduction – Borland White Paper

Definitions Modeling (n) “A modeling language is any artificial language that can be used to express information or knowledge or systems in a structure that is defined by a consistent set of rules. The rules are used for interpretation of the meaning of components in the structure.” Wikipedia "Modeling has been an essential part of engineering, art and construction for centuries. Complex software designs that would be difficult for you to describe textually can readily be conveyed through diagrams. Modeling provides three key benefits: visualization, complexity management and clear communication.” IBM “Some development managers wonder why modeling is important at all. After all, the code should speak for itself… Why add an extra layer of abstraction that we have to maintain as the project progresses? The reason is that there are a number of clear benefits that models provide a development organization. They are enhanced communication, better planning, reduced risk, and reduced costs” Software Modeling Introduction – Borland White Paper

Unified Modeling Language UML - Unified Modelling Language - 3 creators: ▫Grady Booch, Ivar Jacobson and James Rumbaugh ▫ started in early 1990’s A visual language for developing software systems

UML Use Cases to capture requirements Use cases model ▫What the system should do ▫Who uses (benefits from) the system ▫From the user’s point of view

…but how to capture behaviour?

Inside the box!

Problem With a partner draw a diagram to capture the following process (as if you were graphically describing it): “You’re dozing in bed, waiting for your alarm. When it goes off you get up, get dressed and go downstairs. You make some breakfast and eat it while reading the morning paper. When you finish you leave the house.”

Look at Your Diagram What were the features of your diagram? ▫Actions or Events ▫…

Look at Your Diagram What were the features of your diagram? ▫Actions or Events ▫Sequence ▫Parallel ▫A Start and Stop ▫Decisions ▫Logical Partitions?

UML Activity Diagrams UML Equivalent of a FlowChart ▫Provides a high level view of what’s going on inside a Use Case ▫(Is a variation of a UML State Diagram)

UML Activity Diagrams Get Up Get Dressed StartTransitionStop Is based on: ▫Activities ▫Linked with Transitions ▫With one Start and one Stop Activity

UML Activity Diagrams Doze Alarm gone off? Get Up [Yes] [No] Decisions points (branches) are written as diamonds ▫A Branch has an optional description ▫Transitions out of a branch are labeled (guard conditions) Branch Guard Conditions

UML Activity Diagrams Make Breakfast Leave House Eat Breakfast Read Paper Bars (Forks and Joins) ▫Used to show that things happen in parallel ▫Or to bring together several transitions ForkJoin

Putting it All Together Make Breakfast Leave House Eat Breakfast Read Paper Doze Alarm gone off? Get Dressed [Yes] [No] Go Downstairs Get Up

Adding Swimlanes Make Breakfast Leave House Eat Breakfast Read Paper Doze Alarm gone off? [Yes] [No] Go Downstairs Upstairs Downstairs Get Dressed Get Up

Adding Swimlanes Swimlanes partition a diagram ▫Used to show different logical areas Diagrams can often be partitioned in different ways ▫According to a Phase ▫According to the Actor ▫According to Department There is no right way ▫Partition in whatever is the most useful way

When to use Activity Diagrams?

When analysing a use case ▫What actions are there and when do they happen? ▫This is sometimes called Workflow Useful for communicating order and dependency But they do not show Interactions, Data or State ▫Other UML diagrams for this!

Summary Modeling is ▫An abstract representation… ▫…of some complex knowledge or design… ▫…to help communicate it UML Use Cases model requirements from the user view UML Activity Diagrams model workflow from the system view ▫Formal version of flowcharts ▫Activity Diagrams include:  Branching (decision making)  Forks and Join (parallel activities)  Swimlanes (logical partitioning)