Lecture 8: Use Case -Driven Design. Where UML fits in

Similar documents
Lecture 7: Software Processes. Refresher: Software Always Evolves

Lecture 17: Testing Strategies. Developer Testing

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

more uml: sequence & use case diagrams

Software Life-Cycle Models

The Unified Modeling Language (UML)

Lecture 13 Introduction to Software Architecture

RUP for Systems Z and other Legacy Systems

Lecture 16: (Architecture IV)

Architectural Blueprint The 4+1 View Model of Software Architecture. Philippe Kruchten

Reducing the costs of rework. Coping with change. Software prototyping. Ways to Cope with change. Benefits of prototyping

An Architect s Point of View. TSP Symposium Software Engineering Institute Carnegie Mellon University Pittsburgh, PA 15213

17-Design. Jackson System Development (JSD) Step 1: Entity/action step. Student Loan Example. CMPSCI520/620 Design ***DRAFT*** 11/4/04

index_ qxd 7/18/02 11:48 AM Page 259 Index

Basic Structural Modeling. Copyright Joey Paquet,

Introduction to Software Engineering. ECSE-321 Unit 9 Architectural Design Approaches

From Analysis to Design. LTOOD/OOAD Verified Software Systems

Architectural Blueprint

Best Practices for Collecting User Requirements

Software Engineering with Objects and Components Open Issues and Course Summary

Object-Oriented Systems Analysis and Design Using UML

Outline of Unified Process

Software Engineering I (02161)

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

Introduction to UML. Danang Wahyu utomo

Domain Modeling. CSSE 574: Week 1, Part 3. Steve Chenoweth Phone: Office (812) Cell (937)

Designing Component-Based Architectures with Rational Rose RealTime

ADD 3.0: Rethinking Drivers and Decisions in the Design Process

Software Architectures. Lecture 6 (part 1)

Essentials of design management with Rational Software Architect

<Insert Picture Here> Forms Strategies: Modernizing Your Oracle Forms Investment

How to Write Effective Use Cases? Written Date : January 27, 2016

Architecture of Business Systems Architecture and the Role of the Architect

Enterprise Architect Training Courses

Software Architecture. Lecture 5

Class Diagrams in Analysis

DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING CS2353-OBJECT ORIENTED ANALYSIS AND DESIGN. Unit-I. Introduction to OOAD

Analysis and Design with UML

CEN4021 Distance Learning Software Engineering II Assignment 3. Che Cobb CEN4021 Assignment 3 Use Case Packet. Use Case Diagram

CS6502-OBJECT ORIENTED ANALYSIS AND DESIGN Two Marks Question with Answers Unit-I Introduction to OOAD

Oliopäivät Modelling Now and in the Future, with Acronyms or without = RSA

Rational Software White paper

Agile Model-Driven Development with UML 2.0 SCOTT W. AM BLER. Foreword by Randy Miller UNIFIED 1420 MODELING LANGUAGE. gile 1.

Refresher: Lifecycle models. Lecture 22: Moving into Design. Analysis vs. Design. Refresher: different worlds. Analysis vs. Design.

Requirements to models: goals and methods

Architectural Design

BDSA08 Advanced Architecture

Architectural Design

CSSE 374: UML Activity Diagrams. Shawn Bohner Office: Moench Room F212 Phone: (812)

Chapter 1: Programming Principles

Chapter 6 Architectural Design. Lecture 1. Chapter 6 Architectural design

Contents GENERAL OVERVIEW 3. User Profile and Permissions... 3 Regional Manager... 3 Manager... 3 User... 4 Security... 4

04-T1. Assignement 1 Zachman fwk, class diagram, ECA rules

Lecture Notes UML UNIT-II. Subject: OOAD Semester: 8TH Course No: CSE-802

Copyright Wyyzzk, Inc Version 5.0. Introduction to Software Architecture

The Web Service Sample

IBM Rational Software Architect

350 Index 2005 GOAL/QPC

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

Using the ICONIX Process Roadmap

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

Hippo Software BPMN and UML Training

APPENDIX M INTRODUCTION TO THE UML

Final Exam CISC 475/675 Fall 2004

Oral Questions. Unit-1 Concepts. Oral Question/Assignment/Gate Question with Answer

6/20/2018 CS5386 SOFTWARE DESIGN & ARCHITECTURE LECTURE 5: ARCHITECTURAL VIEWS C&C STYLES. Outline for Today. Architecture views C&C Views

On to Iteration 3, and Activity Diagrams CSSE 574: Session 6, Part 1

The software lifecycle and its documents

COIT20248: Information Systems Analysis and Design Term 2, 2015 Assignment 2. Lecturer: Dr. Meena Jha Tutor: Aries Tao

For assistance while using your Premier Page, click on the Help link located at the top or bottom of your page.

Object-Oriented Development and UML. Announcement. Agenda 7/3/2008. Class will resume on July 22. Try to complete the lab assignments by July.

Incremental development A.Y. 2018/2019

user.book Page 45 Friday, April 8, :05 AM Part 2 BASIC STRUCTURAL MODELING

Goal: build an object-oriented model of the realworld system (or imaginary world) Slicing the soup: OOA vs. OOD

CS 160: Lecture 15. Outline. How can we Codify Design Knowledge? Motivation for Design Patterns. Design Patterns. Example from Alexander: Night Life

HUG038. Change Management User Guide. Holocentric User Guide

Process Modelling. Data flow Diagrams. Process Modelling Data Flow Diagrams. CSE Information Systems 1

Prolaborate User Guides: Administrator Guide

VO Software Engineering

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

INF 111 / CSE 121. Laboratory 6: Package and Sequence Diagrams using ArgoUML

Software Design and Implementation. Example Architecture KIWC

Software Development Methodologies

Engr. M. Fahad Khan Lecturer Software Engineering Department University Of Engineering & Technology Taxila

MSO Analysis & UML. Hans Philippi (based on the course slides of Wouter Swierstra) August 24, Analysis & UML 1 / 56

5 Object Oriented Analysis

Tasks and Objectives: Certified LabVIEW Architect

Disclaimer This presentation may contain product features that are currently under development. This overview of new technology represents no commitme

PESIT Bangalore South Campus Hosur road, 1km before Electronic City, Bengaluru -100 Department of MCA

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

Ch 1: The Architecture Business Cycle

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

Structured Analysis and Structured Design

BDSA Introduction to OOAD. Jakob E. Bardram

CS 575: Software Design

Software Processes. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 4 Slide 1

Designing High-Performance Data Structures for MongoDB

Enterprise Architecture Views and Viewpoints in ArchiMate

Chapter 6 Architectural Design. Chapter 6 Architectural design

Process of Interaction Design and Design Languages

Transcription:

Lecture 8: Use Case -Driven Design The Role of UML in the Software Process E.g. ICONIX Domain Models Use Cases 2008 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 1 Where UML fits in Analysing Requirements Use cases - functionality from users perspective Class diagrams - key domain concepts & terminology Activity diagrams - workflow of the organisation State diagrams - for domain objects with interesting lifecycles Design Class diagrams - Map of the software structure Sequence diagrams - explain common scenarios Package diagrams - show the overall architecture State diagrams - for object with complex lifecycles Deployment diagrams - physical layout of the software Documentation Any sketches that explain key design decisions E.g. patterns used, conceptual architecture, unused design alternatives (!) Understanding Legacy Code Any sketches that drill down into key parts 2008 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 2 1

Refresher: UML Notations UML Class Diagrams information structure relationships between data items modular structure for the system Use Cases user s view Lists functions visual overview of the main requirements UML Package Diagrams Overall architecture Dependencies between components UML Sequence Diagrams individual scenario interactions between users and system Sequence of messages (UML) Statecharts responses to events dynamic behavior event ordering, reachability, deadlock, etc Activity diagrams business processes; concurrency and synchronization; dependencies between tasks; 2008 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 3 ICONIX process 2008 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 4 2

Domain Model 2008 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 5 Use Case Diagram Set Limits Trading manager Analyse Risks <<includes>> Update Accounts Accounting System Price a <<includes>> Value a Trader Capture a Salesperson 2008 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 6 3

For each use case: Documenting Use Cases prepare a flow of events document, written from an actor s point of view. describe what the system must provide to the actor when the use case is executed. Typical contents How the use case starts and ends; Normal flow of events; Alternate flow of events; Exceptional flow of events; Documentation style: Choice of how to elaborate the use case: English language description Activity Diagrams - good for business process Collaboration Diagrams - good for high level design Sequence Diagrams - good for detailed design 2008 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 7 Detailed Use Case Buy a Product Main Success Scenario: 1. Customer browses catalog and selects items to buy 2. Customer goes to check out 3. Customer fills in shipping information (address, next-day or 3-day delivery) 4. System presents full pricing information 5. Customer fills in credit card information 6. System authorizes purchase 7. System confirms sale immediately 8. System sends confirming email to customer Extensions: 3a: Customer is Regular Customer.1 System displays current shipping, pricing and billing information.2 Customer may accept or override these defaults, returns to MSS at step 6 6a: System fails to authorize credit card.1 Customer may reenter credit card information or may cancel 2008 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 8 4

Finding Use Cases Browse through existing documents noun phrases may be domain classes verb phrases may be operations and associations possessive phrases may indicate attributes For each actor, ask the following questions: Which functions does the actor require from the system? What does the actor need to do? Does the actor need to read, create, destroy, modify, or store some kinds of information in the system? Does the actor have to be notified about events in the system? Does the actor need to notify the system about something? What do those events require in terms of system functionality? Could the actor s daily work be simplified or made more efficient through new functions provided by the system? 2008 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 9 Good Advice (from RUP) Adapt the Process Rightsize your process Continuously reevaluate what you do Balance Stakeholder Priorities Understand the problem domain Describe requirements from the user s perspective Prioritize requirements for implementation Leverage legacy systems Collaborate across Teams Build high-performance teams Organise around the architecture Manage versions Demonstrate Value Iteratively Manage risk Do the project in iterations Embrace and manage change Measure progress objectively Elevate the level of abstraction Use patterns Architect with components and services Actively promote reuse Model key perspectives Focus continuously on quality Test your Own Code Use test automation where appropriate Everyone owns the product 2008 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 10 5