Systems Analysis and Design with UML Version 2.0, … Analysis and Design with UML Version 2.0,...

33
Systems Analysis and Systems Analysis and Design with UML Version Design with UML Version 2.0, Second Edition 2.0, Second Edition Alan Dennis, Barbara Wixom, and David Slide 1 Alan Dennis, Barbara Wixom, and David Tegarden Chapter 6: Functional Modeling John Wiley & Sons, Inc. Copyright 2005

Transcript of Systems Analysis and Design with UML Version 2.0, … Analysis and Design with UML Version 2.0,...

Page 1: Systems Analysis and Design with UML Version 2.0, … Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Wixom, and David Slide 1 Tegarden Chapter 6: Functional

Systems Analysis and Systems Analysis and Design with UML Version Design with UML Version 2.0, Second Edition2.0, Second Edition

Alan Dennis, Barbara Wixom, and David

Slide 1

Alan Dennis, Barbara Wixom, and David

Tegarden

Chapter 6: Functional Modeling

John Wiley & Sons, Inc.

Copyright 2005

Page 2: Systems Analysis and Design with UML Version 2.0, … Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Wixom, and David Slide 1 Tegarden Chapter 6: Functional

Copyright © 2005John Wiley & Sons, Inc.

All rights reserved. Reproduction or translation of this work beyond that permitted in Section 117 of the 1976 United States Copyright Act without the express written permission of the copyright owner is unlawful.

Request for further information should be addressed to the Permissions Department, John Wiley & Sons, Inc.

Slide 2

the Permissions Department, John Wiley & Sons, Inc.

The purchaser may make back-up copies for his/her own use only and not for redistribution or resale.

The Publisher assumes no responsibility for errors, omissions, or damages, caused by the use of these programs or from the use of the information contained herein.

Page 3: Systems Analysis and Design with UML Version 2.0, … Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Wixom, and David Slide 1 Tegarden Chapter 6: Functional

Objectives

■ Understand the rules and style guidelines for activity diagrams.

■ Understand the rules and style guidelines for use cases and use case diagrams.

■ Understand the process used to create

Slide 3

■ Understand the process used to create use cases and use case diagrams.

■ Be able to create functional models using activity diagrams, use cases, and use

case diagrams.■ Become familiar with the use of use case points.

Page 4: Systems Analysis and Design with UML Version 2.0, … Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Wixom, and David Slide 1 Tegarden Chapter 6: Functional

Business Process Modeling with Activity Diagrams

Elements of an Activity Diagram

Slide 4

Elements of an Activity Diagram

Guidelines for Creating Activity Diagrams

Page 5: Systems Analysis and Design with UML Version 2.0, … Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Wixom, and David Slide 1 Tegarden Chapter 6: Functional

BPM With Activity Diagrams

A number of activities support a business process across several departments

Activity diagrams model the

Slide 5

Activity diagrams model the behavior in a business processSophisticated data flow diagrams

Addresses Parallel concurrent activities and complex processes

Page 6: Systems Analysis and Design with UML Version 2.0, … Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Wixom, and David Slide 1 Tegarden Chapter 6: Functional

Activity Diagram Example

Slide 6

Page 7: Systems Analysis and Design with UML Version 2.0, … Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Wixom, and David Slide 1 Tegarden Chapter 6: Functional

Creating Activity Diagrams

1. Since an activity diagram can be used to model any kind of process, you should

set the context or scope of the activity being modeled. Once you have determined

the scope, you should give the diagram an appropriate title.

Slide 7

appropriate title.2. You must identify the activities, control flows,

and object flows that occurbetween the activities.3. You should identify any decisions that are part

of the process being modeled.4. You should attempt to identify any prospects

for parallelism in the process.5. You should draw the activity diagram.

Page 8: Systems Analysis and Design with UML Version 2.0, … Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Wixom, and David Slide 1 Tegarden Chapter 6: Functional

USE-CASE DESCRIPTIONS

Slide 8

Page 9: Systems Analysis and Design with UML Version 2.0, … Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Wixom, and David Slide 1 Tegarden Chapter 6: Functional

Key Ideas

A use case illustrates the activities that are performed by users of a system.

Use cases are logical models -- they

Slide 9

Use cases are logical models -- they describe the activities of a system without specifying how the activities are implemented.

Page 10: Systems Analysis and Design with UML Version 2.0, … Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Wixom, and David Slide 1 Tegarden Chapter 6: Functional

What are Use-Case Descriptions?

Describe basic functions of the system

What the user can do

Slide 10

What the user can do

How the system responds

Use cases are building blocks for continued design activities.

Page 11: Systems Analysis and Design with UML Version 2.0, … Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Wixom, and David Slide 1 Tegarden Chapter 6: Functional

How Are Use-Cases Created?

Two steps:

Write text-based case descriptions

Translate descriptions into diagrams

Slide 11

diagrams

Describes one and only one function, but may have multiple paths.

Developed working with users for content.

Page 12: Systems Analysis and Design with UML Version 2.0, … Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Wixom, and David Slide 1 Tegarden Chapter 6: Functional

Types of Use-Cases

Overview versus detail

■ The use case represents an important

business process.

■ The use case supports revenue

Slide 12

■ The use case supports revenue

generation or cost reduction.

■ Technology needed to support the use

case is new or risky and therefore will require considerable research.

Essential versus real

Page 13: Systems Analysis and Design with UML Version 2.0, … Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Wixom, and David Slide 1 Tegarden Chapter 6: Functional

Elements of a Use-Case Description

Use Case Name: ID: Importance Level:

Primary Actor: Use Case Type:

Stakeholders and Interests:

Brief Description:

Slide 13

Brief Description:

Trigger:

Relationships: (Association, Include, Extend, Generalization)

Normal Flow of Events:

Subflows:

Alternate/Exceptional Flows:

Page 14: Systems Analysis and Design with UML Version 2.0, … Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Wixom, and David Slide 1 Tegarden Chapter 6: Functional

Guidelines for Creating Use-Case Descriptions

Write each step in “SVDPI” form

Clarify initiator and receivers of action

Write from independent observer perspective

Slide 14

perspective

Write at same level of abstraction

Ensure a sensible set of steps

Apply KISS principle liberally

Write repeating instructions after the set of steps to be repeated.

Page 15: Systems Analysis and Design with UML Version 2.0, … Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Wixom, and David Slide 1 Tegarden Chapter 6: Functional

Your Turn

How would you make requirements gathering (interviews, questionnaires, observation, and document analysis) more effective

Slide 15

document analysis) more effective by knowing that eventually you will be creating use-case descriptions and diagrams?

Page 16: Systems Analysis and Design with UML Version 2.0, … Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Wixom, and David Slide 1 Tegarden Chapter 6: Functional

USE-CASE DIAGRAMS

Slide 16

Page 17: Systems Analysis and Design with UML Version 2.0, … Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Wixom, and David Slide 1 Tegarden Chapter 6: Functional

Syntax for Use-Case Diagram

Slide 17

Page 18: Systems Analysis and Design with UML Version 2.0, … Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Wixom, and David Slide 1 Tegarden Chapter 6: Functional

The Use-Case Diagram for Appointment System

Slide 18

Page 19: Systems Analysis and Design with UML Version 2.0, … Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Wixom, and David Slide 1 Tegarden Chapter 6: Functional

Use-Case Diagram with Specialized Actor

Slide 19

Page 20: Systems Analysis and Design with UML Version 2.0, … Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Wixom, and David Slide 1 Tegarden Chapter 6: Functional

Extend and Include Relationships

Slide 20

Page 21: Systems Analysis and Design with UML Version 2.0, … Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Wixom, and David Slide 1 Tegarden Chapter 6: Functional

CREATING USE-CASE DESCRIPTIONS AND USE-CASE DIAGRAMS

Slide 21

Page 22: Systems Analysis and Design with UML Version 2.0, … Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Wixom, and David Slide 1 Tegarden Chapter 6: Functional

Major Steps in Writing Use-Cases

Case Diagrams

Identify the major use-cases

Expand the major use-case

Slide 22

Expand the major use-case

Confirm the major use-cases

Create the use-case diagram

Page 23: Systems Analysis and Design with UML Version 2.0, … Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Wixom, and David Slide 1 Tegarden Chapter 6: Functional

Identifying the Major Use-Cases

Identify the system’s boundaries

List the primary actors

List the goals of each primary actor

Slide 23

Identify and write the major use-cases

Carefully review use-cases

Page 24: Systems Analysis and Design with UML Version 2.0, … Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Wixom, and David Slide 1 Tegarden Chapter 6: Functional

Writing Effective Use-Case Descriptions

Slide 24

Page 25: Systems Analysis and Design with UML Version 2.0, … Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Wixom, and David Slide 1 Tegarden Chapter 6: Functional

Expand the Major Use-Cases

Choose one major use-case to expand

Fill in details on the use-case template

Fill in the steps of the normal flow of events

Slide 25

events

Normalize the size of each step

Describe alternate or exceptional flows

Simplify and organize as necessary

Page 26: Systems Analysis and Design with UML Version 2.0, … Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Wixom, and David Slide 1 Tegarden Chapter 6: Functional

Confirm the Major Use Cases

Review the current set

Consider semantics and syntax

Helpful to involve the users

Slide 26

Helpful to involve the users

Iterate the entire set of steps until all use cases are defined

Page 27: Systems Analysis and Design with UML Version 2.0, … Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Wixom, and David Slide 1 Tegarden Chapter 6: Functional

Create the Use-Case Diagram

Start with system boundary

Place elements in order to be easy to read

Slide 27

easy to read

Place actors on the diagram

Conclude by connecting actors to use cases by lines

Page 28: Systems Analysis and Design with UML Version 2.0, … Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Wixom, and David Slide 1 Tegarden Chapter 6: Functional

Selecting the Appropriate Techniques

Interviews JAD Questionnaires Document Observation

Analysis

Type of As-Is As-Is As-Is As-Is As-IsInformation Improve. Improve. Improve.

To-Be To-Be

Depth of High High Medium Low Low

Slide 28

Depth of High High Medium Low LowInformation

Breadth of Low Medium High High LowInformation

Integration Low High Low Low Lowof Info.

User Medium High Low Low LowInvolvement

Cost Medium Low- Low Low Low-Medium Medium

Page 29: Systems Analysis and Design with UML Version 2.0, … Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Wixom, and David Slide 1 Tegarden Chapter 6: Functional

Refining Project Size with Case Points

Create essential use cases and use case diagram

Determine Unadjusted Actor Weighting Table

Slide 29

Weighting Table

Obtain Unadjusted Use Case Weight Total

Compute value of Unadjusted Use Case Points

Page 30: Systems Analysis and Design with UML Version 2.0, … Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Wixom, and David Slide 1 Tegarden Chapter 6: Functional

Identify the major use-cases

Expand the major use-case

Confirm the major use-cases

Slide 30

Confirm the major use-cases

Create the use-case diagram

Page 31: Systems Analysis and Design with UML Version 2.0, … Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Wixom, and David Slide 1 Tegarden Chapter 6: Functional

Your Turn

Create a set of use cases for campus housing. Consider the steps in registering for campus housing, in being assigned to a

Slide 31

housing, in being assigned to a particular unit, to being matched with roommates, to moving in.

Page 32: Systems Analysis and Design with UML Version 2.0, … Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Wixom, and David Slide 1 Tegarden Chapter 6: Functional

Expanding the Domain

Additional resources regarding use-cases and many other object-oriented development topics can be found at:

Slide 32

topics can be found at:

http://www.omg.org

Page 33: Systems Analysis and Design with UML Version 2.0, … Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Wixom, and David Slide 1 Tegarden Chapter 6: Functional

Summary

Use-case descriptions are the basis for further analysis and design. They are created based on 7 guidelines and 13 steps.

Slide 33

guidelines and 13 steps.

Use-case diagrams present a graphical overview of the main functionality of a system.