uml2.and.use.case.model.ver.0.0.4

106
30.10.2011 1 UML 2 & Use Case Mo d els Binnur Kurt, Ph.D. Omega Training and  Consultancy www.omegaegitim.com [email protected] UML 2 & Use Case Models  2  A g enda 1.  Modeling with UML 2 and Software Development Process 2.  Creating Use Case Diagrams 3.  Creating Use Case Scenarios and Forms

Upload: pip-pi

Post on 02-Jun-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 1/106

30.10.2011

1

UML 2 &Use Case Models

Binnur Kurt, Ph.D.Omega Training and  Consultancy www.omegaegitim.com

[email protected]

UML 2 & Use Case Models   2

 Agenda

1.   Modeling with UML 2 and Software Development Process2.   Creating Use Case Diagrams3.   Creating Use Case Scenarios and Forms

Page 2: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 2/106

30.10.2011

2

UML 2 & Use Case Models   3

Background

1995, B.Sc.

1997, M.Sc.

2007, Ph.D.

(All in Computer Engineering)

2004‐2008, Lecturer, ITU Computer Eng. Dept.

2008‐to date, Trainer & Consultant

UML 2 & Use Case Models   4

References – UML2

Page 3: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 3/106

30.10.2011

3

UML 2 & Use Case Models   5

References – UML2, Use Cases

UML 2 & Use Case Models   6

References –Use Cases

Page 4: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 4/106

30.10.2011

4

UML 2 & Use Case Models   7

BiographyDr. Binnur Kurt received BS, MS, and PhD degrees from Istanbul TechnicalUniversity in 1995, 1997, 2007 all in computer engineering. He was alecturer at the Computer Engineering Department of Istanbul TechnicalUniversity from 2004 to 2007 and offered courses mostly on webprogramming and object oriented software engineering. He is currentlyworking as an information technology consultant and trainer in JavaEnterprise Technologies, Object Oriented Analysis and Design, ServiceOriented Architecture, MySQL, Oracle Middleware Technologies, UnixProgramming and Administration, High performance computing, and Real‐Time Computer Vision systems. He has published many internationalconference and journal papers, and book chapters on these topics. He hasalso designed many IT trainings and written training materials onadvanced topics, including Spring Framework, JSF, XML Web Services,

Service Oriented Architecture, and OSGi. He holds several certifications,including Sun Certified Java Programmer, Oracle Certified ProfessionalMySQL 5.0 Developer, Oracle Certified Professional MySQL 5.0 DatabaseAdministrator and Red Hat Certified Engineer. He is also referee for theassessment of industrial projects submitted to TUBITAK Technology andInnovation Funding Programs Directorate (TEYDEB) and inspector forindustrial projects supported by TUBITAK Technology and InnovationFunding Programs Directorate (TEYDEB).

UML 2 & Use Case Models   8

>   Java Desktop and Enterprise Technologies

>  SOA

>  OOAD

>  MySQL>  Oracle Directory Server 

>  Application Servers: WebLogic, Glassfish, Tomcat

Areas of  Interest

Page 5: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 5/106

30.10.2011

5

1Modeling with UML 2and Software Development Process

UML 2 & Use Case Models Modeling with UML 2   101

Software Complexity

>  The profile and importance of  software has increased

Page 6: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 6/106

30.10.2011

6

UML 2 & Use Case Models Modeling with UML 2   111

Software Complexity is increasing

UML 2 & Use Case Models Modeling with UML 2   121

And things are only going to get worse

>  Increasingly complex, vulnerable and every changing platforms, applications and customer desires.

Page 7: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 7/106

30.10.2011

7

UML 2 & Use Case Models Modeling with UML 2   131

Important Skills

>   These skills are essential for the creation of  well‐designed, robust, andmaintainable software

>   Apply principles and patterns to create better object designs.

>   Follow a set of  common activities in analysis and design, based on theUnified Process as an example.

>   Create diagrams in the UML notation.

Skills

UML notation

Requirements analysis

Principles and guidelines

Patterns

Software 

Development Process Model

OOA/D

UML 2 & Use Case Models Modeling with UML 2   141

OO Concepts

>  Objects

>  Classes

>  Abstraction

>  Encapsulation>  Inheritance

>  Interfaces

>  Polymorphism

>  Cohesion

>  Coupling

>  Class associations and object links

>  Delegation

Page 8: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 8/106

30.10.2011

8

UML 2 & Use Case Models Modeling with UML 2   151

OOP Principals

>  The Single‐Responsibility Principle (SRP)

>  The Open/Closed Principle (OCP)

>  The Liskov Substitution Principle (LSP)

>  Common Closure Principle (CCP)

>  Acyclic Dependency Principle (ADP)

>  Stable Dependencies Principle (SDP)

>  Stable Abstractions Principle (SAP)

UML 2 & Use Case Models Modeling with UML 2   161

Patterns

>  Design Patterns  – GoF Patterns

>  Security Patterns

>  Networking Patterns

>  Concurrent, Parallel System Patterns>  Java EE Patterns

Page 9: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 9/106

30.10.2011

9

UML 2 & Use Case Models Modeling with UML 2   171

Describing Software Methodology

A methodology is “a body of  methods, rules, and postulatesemployed by a discipline” [Webster New Collegiate Dictionary]

>  In OOSD, methodology refers to the highest‐levelorganization of  a software project.

>  This organization can be decomposed into medium‐level phases. Phases are decomposed into workflows (disciplines). Workflows are decomposed into activities.

>  Activities transform the artifacts from one workflow to

another. The output of  one workflow becomes theinput into the next.

>  The final artifact is a working software system thatsatisfies the initial artifacts: the system requirements.

UML 2 & Use Case Models Modeling with UML 2   181

The OOSD Hierarchy

Page 10: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 10/106

30.10.2011

10

UML 2 & Use Case Models Modeling with UML 2   191

Listing the Workflows of  the OOSD Process

Software development has traditionally encompassed thefollowing workflows:

>  Requirements Gathering

>  Requirements Analysis

>  Architecture

>  Design

>  Implementation

>  Testing

>  Deployment

UML 2 & Use Case Models Modeling with UML 2   201

Describing the Software Team Job Roles

Page 11: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 11/106

30.10.2011

11

UML 2 & Use Case Models Modeling with UML 2   211

Describing the Software Team Job Roles

UML 2 & Use Case Models Modeling with UML 2   221

Exploring the Requirements GatheringWorkflow

Page 12: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 12/106

30.10.2011

12

UML 2 & Use Case Models Modeling with UML 2   231

Activities and Artifacts of  the RequirementsGathering Workflow

UML 2 & Use Case Models Modeling with UML 2   241

Exploring the Requirements AnalysisWorkflow

Page 13: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 13/106

30.10.2011

13

UML 2 & Use Case Models Modeling with UML 2   251

Activities and Artifacts of  the RequirementsAnalysis Workflow

UML 2 & Use Case Models Modeling with UML 2   261

Exploring the ArchitectureWorkflow

Page 14: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 14/106

30.10.2011

14

UML 2 & Use Case Models Modeling with UML 2   271

Activities and Artifacts of  the ArchitectureWorkflow

UML 2 & Use Case Models Modeling with UML 2   281

Exploring the DesignWorkflow

Page 15: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 15/106

30.10.2011

15

UML 2 & Use Case Models Modeling with UML 2   291

Exploring the DesignWorkflow

UML 2 & Use Case Models Modeling with UML 2   301

Activities and Artifacts of  the DesignWorkflow

Page 16: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 16/106

30.10.2011

16

UML 2 & Use Case Models Modeling with UML 2   311

Exploring the Implementation, Testing, andDeployment Workflows

UML 2 & Use Case Models Modeling with UML 2   321

Exploring the Implementation, Testing, andDeployment Workflows

Page 17: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 17/106

30.10.2011

17

UML 2 & Use Case Models Modeling with UML 2   331

Exploring the Benefits of  Modeling Software

>  The inception of  every software project starts as an idea insomeone’s mind.

>  To construct a realization of  that idea, the development team must create a series of  conceptual models that transform the idea into a production system.

UML 2 & Use Case Models Modeling with UML 2   341

Activities and Artifacts of  theImplementation, Testing, and DeploymentWorkflows

Page 18: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 18/106

30.10.2011

18

UML 2 & Use Case Models Modeling with UML 2   351

What is a Model?

“A model is a simplification of  reality.” (Booch UML User Guidepage 6)

>  A model is an abstract conceptualization of  some entity(such as a building) or a system (e.g. software).

>   Different views show the model from different perspectives.

UML 2 & Use Case Models Modeling with UML 2   361

Why Model Software?

“We build models so that we can better understand the system we are developing.” (Booch UML User Guide page 6)

>  Specifically, modeling enables us to:

—Visualize new or existing systems

—Communicate decisions to the project stakeholders—Document the decisions made in each OOSD workflow

—Specify the structure (static) and behavior (dynamic)elements of  a system

—Use a template for constructing the software solution

Page 19: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 19/106

30.10.2011

19

UML 2 & Use Case Models Modeling with UML 2   371

Information Systems and IT Systems

>   An IT system is a computer‐based system—a system that provides information needed for the execution of  certain business processes.

>   A business model is a framework for creating economic, social, and/or other forms of  value.

>   A business process is a collection of  related, structured activities or tasks that produce a specific service or product for a particular customer or customers. 

UML 2 & Use Case Models Modeling with UML 2   381

Definition: Business Process Management

Business Process Management  (BPM) is defined as a strategy for managing and improving the performance of  a business through continuous optimization of  business 

processes in a closed‐loop cycle of  modeling, execution, and measurement. 

ModelingExecution

Measurement

Page 20: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 20/106

30.10.2011

20

UML 2 & Use Case Models Modeling with UML 2   391

Definition: Business Process

A business  process is a set of  linked activities performed by people and systems that deliver some kind of  value through a product or process to internal or external customers.

UML 2 & Use Case Models Modeling with UML 2   401

Real‐World Business Processes

Enterprise infrastructure  services(portal, SOA, IDRS, LDAP, EAI, Email, IT operations)

Organizational  Units

Manu‐facturing

Operations Finance and HR

Sales and Marketing

Order Management

Product Configuration

Warranty and Returns Management

Processes 

Page 21: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 21/106

30.10.2011

21

UML 2 & Use Case Models Modeling with UML 2   411

Real‐World Business Process Management

Enterprise infrastructure  services(portal, SOA, IDRS, LDAP, EAI, Email, IT operations)

Order Management Process

Manu‐facturing

Operations   Finance and HR

Sales and Marketing

UML 2 & Use Case Models Modeling with UML 2   421

Summary: Business Process Management

X

Systems People Information

Process

Strategy Goals Policies

Page 22: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 22/106

30.10.2011

22

UML 2 & Use Case Models Modeling with UML 2   431

Elements of  a BPMN Business Process Model

Sequence FlowEvent

Task

Gateway

Start Activity1

Activity2

UserTask

End

UML 2 & Use Case Models Modeling with UML 2   441

OOSD as Model Transformations

>  Software development can be viewed as a series of transformations from the Stakeholder’s mental model to the actual code:

Page 23: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 23/106

30.10.2011

23

UML 2 & Use Case Models Modeling with UML 2   451

OOSD as Model Transformations

Application domain

 public class Book {

 private String title;

 public void turnPage(int pn){...}

}

Book

title

Book

‐title: String

+turnPage(int)Application domain model

Software domain model

UML 2 & Use Case Models Modeling with UML 2   461

Defining the UML

“The Unified Modeling Language (UML) is a graphical language for visualizing, specifying, constructing, and documenting the artifacts of  a software‐intensive system.” (UML v1.4 page xix)

>  Using the UML, a model is composed of:

—Elements (things and relationships)—Diagrams (built from elements)—Views (diagrams showing different perspectives of  a

model)

Page 24: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 24/106

30.10.2011

24

UML 2 & Use Case Models Modeling with UML 2   471

UML Elements

UML 2 & Use Case Models Modeling with UML 2   481

UML Diagrams

Page 25: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 25/106

30.10.2011

25

UML 2 & Use Case Models Modeling with UML 2   491

UML Diagram Categories

UML 2 & Use Case Models Modeling with UML 2   501

Common UML Elements and Connectors

>  UML has a few elements and connectors that are commonacross UML diagrams. These include:

—Package

—Note

—Dependency

—Stereotypes

Page 26: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 26/106

30.10.2011

26

UML 2 & Use Case Models Modeling with UML 2   511

Packages and Notes

>  Package

>  Notes

UML 2 & Use Case Models Modeling with UML 2   521

Dependency and Stereotype

Page 27: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 27/106

30.10.2011

27

UML 2 & Use Case Models Modeling with UML 2   531

What UML Is and Is Not

UML 2 & Use Case Models Modeling with UML 2   541

History of  UML

Page 28: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 28/106

30.10.2011

28

UML 2 & Use Case Models Modeling with UML 2   551

UML Subspecifications

UML Version 2.0 has been formally divided into the following sub‐specifications:

>  Infrastructure: Core of  the architecture, profiles, and stereotypes.

>  Superstructure: Static and dynamic model elements.

>  Object  Constraint  Language (OCL): A formal language used to describe expressions on UML models.

>  Diagram Interchange: The UML interchange format for diagrams.

UML 2 & Use Case Models Modeling with UML 2   561

The Metamodel of  UML 2.0

The UML 2.0 language is largely defined in a so‐called metamodel. 

>  The reason for the prefix meta is that the language resides one abstraction level above the model that a UML user models. 

>  Now, the metamodel might seem confusing and illogical at first because the metamodel is a UML class model that describes UML. 

>   In other words, UML is defined  in UML.

Page 29: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 29/106

30.10.2011

29

UML 2 & Use Case Models Modeling with UML 2   571

The four‐layer architecture of  UML

UML 2 & Use Case Models Modeling with UML 2   581

Datatypes

UML distinguishes between the following data types:

>  Simple data types (DataType)—A simple data type is a type with values that have no identity (e.g., money, banking information

>  Primitive data types (PrimitiveType)—A primitive data type is a simple data type without structures. 

>  UML itself  defines the following primitive data types:

—Integer : (Infinite) set of  integers: (...,−2,−1,0,1,2,...) 

—Boolean: true, false

—UnlimitedNatural  (Infinite) set of  natural numbers (0, 1, 2, . . .)

Page 30: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 30/106

30.10.2011

30

UML 2 & Use Case Models Modeling with UML 2   591

Datatypes

>  UML itself  defines the following primitive data types:

—Enumeration types—Enumeration types are simple data types with values that originate from a limited set of  enumeration literals

UML 2 & Use Case Models Modeling with UML 2   601

The metamodel of  data types

Page 31: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 31/106

30.10.2011

31

UML 2 & Use Case Models Modeling with UML 2   611

Overview of  the UML diagrams

UML 2 & Use Case Models Modeling with UML 2   621

Stereotypes

>  Stereotypes are formal extensions of  existing model elements within the UML metamodel, that is, metamodel 

extensions. 

>  The modeling element is directly influenced by the 

semantics defined by the extension. 

>  Rather than introducing a new model element to the metamodel, stereotypes add semantics to an existing model element.

Page 32: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 32/106

30.10.2011

32

UML 2 & Use Case Models Modeling with UML 2   631

Multiple Stereotyping

>  Several stereotypes can be used to classify one single modeling element. 

>  Even the visual representation of  an element can be influenced by allocating stereotypes. 

>  Moreover, stereotypes can be added to attributes, operations, and relationships.

>  Further, stereotypes can have attributes to store 

additional information.

UML 2 & Use Case Models Modeling with UML 2   641

Notation

>  A stereotype is placed before or above the element name (e.g., class name) and enclosed in guillemets («, »). 

>  The characters « and », sometimes referred to as angled quotes, should not be mistaken for doubled greater‐than,

>>, or smaller‐than, << , characters.

>  Not every occurrence of  this notation means that you are looking at a stereotype. 

>  Keywords predefined in UML are also enclosed in guillemets.

Page 33: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 33/106

30.10.2011

33

UML 2 & Use Case Models Modeling with UML 2   651

Graphical Symbols

>  As an alternative to this purely textual notation, special symbols can be used. 

>  Examples: «entity », «boundary », and «control »

>   In addition, tools are free to use special color marking or other visual highlighting

UML 2 & Use Case Models Modeling with UML 2   661

UML Standard Stereotypes

Page 34: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 34/106

30.10.2011

34

UML 2 & Use Case Models Modeling with UML 2   671

UML Standard Stereotypes

UML 2 & Use Case Models Modeling with UML 2   681

Non‐Standard UML Stereotypes

Page 35: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 35/106

30.10.2011

35

UML 2 & Use Case Models Modeling with UML 2   691

Non‐Standard UML Stereotypes

UML 2 & Use Case Models Modeling with UML 2   701

UML Tools

>  UML itself  is a tool. You can create UML diagrams on paper or a white board. However, software tools are available to:

>  Provide computer‐aided drawing of  UML diagrams

>  Support (or enforce) semantic verification of  diagrams

>  Provide support for a specific methodology

>  Generate code skeletons from the UML diagrams

>  Organize all of  the diagrams for a project

>  Automatic generation of  modeling elements for designpatterns, Java™ Platform, Enterprise Edition (Java™ EE platform) components, and so on

Page 36: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 36/106

30.10.2011

36

UML 2 & Use Case Models Modeling with UML 2   711

 An Example:Dice Game

UML 2 & Use Case Models Modeling with UML 2   721

An Example

>  Before diving into the details of  requirements analysis andOOA/D, this section presents a birds‐eye view of  a few keysteps and diagrams, using a simple example

—A "dice game" in which a player rolls two die. 

  If  the total is seven, they win

  Otherwise, they lose.

Page 37: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 37/106

30.10.2011

37

UML 2 & Use Case Models Modeling with UML 2   731

Define Use cases

>  Use cases are not an object‐oriented artifact—they are simply written stories.

>  However, they are a popular tool in requirements analysis and are an important part of  the Unified Process.

UML 2 & Use Case Models Modeling with UML 2   741

Dice Game use case

>  Play a Dice Game: A player picks up and rolls the dice. If  the dice face value total seven, they win; otherwise, they lose.

Page 38: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 38/106

30.10.2011

38

UML 2 & Use Case Models Modeling with UML 2   751

Define a Domain Model

>  Object‐oriented analysis is concerned with creating a description of  the domain from the perspective of  classification by objects. 

>  A decomposition of  the domain involves an identification of  the concepts, attributes, and associations that areconsidered noteworthy.

UML 2 & Use Case Models Modeling with UML 2   761

Define Interaction Diagrams

>  Object‐oriented design is concerned with defining software objects and their collaborations.

>  A common notation to illustrate these collaborations is the interaction diagram.

Page 39: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 39/106

30.10.2011

39

UML 2 & Use Case Models Modeling with UML 2   771

Define Interaction Diagrams

:DiceGame

play()

die1 : Die

fv1 := getFaceValue()

die2 : Die

roll()

roll()

fv2 := getFaceValue()

UML 2 & Use Case Models Modeling with UML 2   781

Define Design Class Diagrams

>  In addition to a dynamic view of  collaborating objects shown in interaction diagrams, it is useful to create a static view of  the class definitions with a design class diagram. 

>  This illustrates the attributes and methods of  the classes.

2

Die

faceValue : int

getFaceValue() : introll()

DiceGame

die1 : Diedie2 : Die

play()

1

Page 40: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 40/106

30.10.2011

40

? ???

2Creating Use Case Diagrams

UML 2 & Use Case Models Creating Use Case Diagrams   802

Page 41: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 41/106

30.10.2011

41

UML 2 & Use Case Models Creating Use Case Diagrams   812

Process Map

UML 2 & Use Case Models Creating Use Case Diagrams   822

Process Map

Page 42: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 42/106

30.10.2011

42

UML 2 & Use Case Models Creating Use Case Diagrams   832

Justifying the Need for a Use Case Diagram

Following are reasons a Use Case diagram is necessary:>  A Use Case diagram enables you to identify—by

modeling—the high‐level functional requirements (FRs) that are required to satisfy each user’s goals.

>  The client‐side stakeholders need a big picture view of the system.

>  The use cases form the basis from which the detailed FRs 

are developed.>  Use cases can be prioritized and developed in order of 

priority.

>  Use cases often have minimal dependencies, whichenables a degree of  independent development.

UML 2 & Use Case Models Creating Use Case Diagrams   842

Use cases and other requirementsDesign constraints

>   Operating systems

>   Environments

>  Compatibility

>  Application standards

FURPS

>   Functionality

>   Usability

>   Reliability

>   Performance>   Supportability

Legal and regulatory requirements

>   Federal Communication Commission

>   Food and Drug Administration

>  Department of  Defense

>   Canadian Standards Association

>   European Union Directive

Use Cases

Page 43: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 43/106

30.10.2011

43

UML 2 & Use Case Models Creating Use Case Diagrams   852

Use cases drive software development

     I    m    p     l    e    m    e    n    t    e     d     b    y

Implementation Model

Test ModelDesign Model

Use‐Case Model

UML 2 & Use Case Models Creating Use Case Diagrams   862

Identifying the Elements of  a Use Case Diagram

>  A Use Case diagram shows the relationships between actors (roles) and the goals they wish to achieve.

>  A physical  job title can assume multiple actors (roles).

Page 44: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 44/106

30.10.2011

44

UML 2 & Use Case Models Creating Use Case Diagrams   872

>  This diagram illustrates an alternate style that explicitlyshows an association between the Receptionist actor (role) and the Manage Reservation use case.

Identifying the Elements of  a Use Case Diagram

UML 2 & Use Case Models Creating Use Case Diagrams   882

Actors

An actor:

>  Models a type of  role that is external to the system andinteracts with that system

>  Can be a human, a device, another system, or time

>  Can be primary or secondary

—Primary: Initiates and controls the whole use case

—Secondary: Participates only for part of  the use case

A single physical instance of  a human, a device, or a systemmay play the role of  several different actors.

Page 45: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 45/106

30.10.2011

45

UML 2 & Use Case Models Creating Use Case Diagrams   892

Actors

This icon represents a human actor (user) of  the system.

This icon canrepresent any actor, but is usually used to represent external 

systems, devices, or time.

This icon represents a time‐trigger mechanism that activates a use case.

UML 2 & Use Case Models Creating Use Case Diagrams   902

Actors

Müşteri

 Amaç: Mal sat ın almak 

VergiDairesi

 Amaç: Vergileri doğ ru toplamak 

Dükkan

Müşteriye Satış Sistemi

Satış İncelemeSistemi

 Amaç:Firmanın sat ışPerformansını belirlemek 

 Amaç: Sat ışı yapmak 

KasaGörevlisi

Terminal

(kasa)

Page 46: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 46/106

30.10.2011

46

UML 2 & Use Case Models Creating Use Case Diagrams   912

Use Cases

A use case describes an interaction between an actor and the system to achieve a goal.

>  A use case encapsulates a major piece of  system behavior with a definable outcome.

>  A use case is represented as an oval with the use case title 

in the center.>  A good use case title should consist of  a brief  but

unambiguous verb‐noun pair.

>  A use case can often be UI independent.

UML 2 & Use Case Models Creating Use Case Diagrams   922

System Boundary

>  The use cases may optionally be enclosed by a rectangle that represents the system boundary.

The system boundary box is optional.

This equivalent Use Case diagram shows the system boundary for clarity.

Page 47: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 47/106

30.10.2011

47

UML 2 & Use Case Models Creating Use Case Diagrams   932

Use Case Associations

A use case association represents “the participation of  an actor in a use case.” (UML v1.4 spec. page 357)

>  An actor must be associated with one or more use cases.>  A use case must be associated with one or more actors.

>  An association is represented by a solid line with noarrowheads. However, some UML tools use arrows bydefault.

UML 2 & Use Case Models Creating Use Case Diagrams   942

Creating the Initial Use Case Diagram

>  One of  the primary aims of  the initial meeting with theproject’s business owner is to identify the business‐significant use cases.

—A use case diagram may be created during the meeting.

—Alternatively, the diagrams can be created after themeeting from textual notes.

>  The next two slides present some text showing an abstract of the use‐case‐specific topics discussed during the meeting.

Page 48: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 48/106

30.10.2011

48

UML 2 & Use Case Models Creating Use Case Diagrams   952

Creating the Initial Use Case Diagram

>   The booking agent (internal staff) must be able to manage reservations on behalf of  customers who telephone or e‐mail with reservation requests. The majority of these requests will make a new reservation, but occasionally they will need toamend or cancel a reservation. A reservation holds one or more rooms of  a room type for a single time period, and must be guaranteed by either an electronic card payment or the receipt of  a purchase order for corporate customers and travel agents. These payment guarantees must be saved for future reference.

>   A reservation can also be made electronically from the Travel Agent system and also by customers directly via the internet.

UML 2 & Use Case Models Creating Use Case Diagrams   962

Creating the Initial Use Case Diagram

>   The receptionist must be able to check in customers arriving at the hotel. This action will allocate one or more rooms of  the requested type. In most cases, a further electronic card payment guarantee is required.

>   Most receptionists will be trained to perform the booking agent tasks for customers who arrive without a booking or need to change a booking.

>   The marketing staff  will need to manage promotions (special offers) based on a review of  past and future reservation statistics. The marketing staff  will elaborate on the detailed requirements in a subsequent meeting.

>   The management needs a daily status report, which needs to be produced when the hotel is quiet. This activity is usually done at 3 a.m.

Page 49: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 49/106

30.10.2011

49

UML 2 & Use Case Models Creating Use Case Diagrams   972

Creating the Initial Use Case Diagram

UML 2 & Use Case Models Creating Use Case Diagrams   982

Identifying additional Use Cases

>  During the meeting with the business owner, you willtypically discover 10 to 20 percent of  the use cases needed for the system.

>  During the meeting with the other stakeholders, you will

discover many more use case titles that you can add to the diagram. 

>  For example:

—Maintain Rooms

  Create, Update, and Delete

—Maintain RoomTypes

  Create, Update, and Delete

Page 50: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 50/106

30.10.2011

50

UML 2 & Use Case Models Creating Use Case Diagrams   992

Identifying additional Use Cases

>  The time of  discovery depends upon the developmentprocess.

>  In a non‐iterative process:

—You ideally need to discover all of  the remaining usecase titles, bringing the total to 100 percent.

—However, this is a resource‐intensive task and is rarely completely accurate.

UML 2 & Use Case Models Creating Use Case Diagrams   1002

Identifying additional Use Cases

>  In an iterative/incremental development process, anoption is to:

—Discover a total of  80 percent of  the use case titles inthe next few iterations for 20 percent of  the effort. This 

is  just one of  the many uses of  the 80/20 rule.

—Discover the remaining 20 percent of  use case titles in the later iterations for minimal effort.

>  This process works well with software that is built toaccommodate change.

Page 51: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 51/106

30.10.2011

51

UML 2 & Use Case Models Creating Use Case Diagrams   1012

Workflow of  use case modeling

>   Seek Actors: Name and describe>   Seek Use Cases:

—For each actor ask “What'd you like to use the system for?”>   Name and briefly describe each Use Case

>   Iterate based on previous findings

Iterate

Seek Actors

Describe the Use Cases

Seek Use Cases

UML 2 & Use Case Models Creating Use Case Diagrams   1022

Finding actors

>  Actors are “end points” for communication, or add some information. (“A button is not an actor if  it has no other function than to inform the system that someone has pressed it.”)

>  Concentrate on the active actors. They give you the Use Cases.

>  Remember: 

—Actors represent roles! 

—Actors are always outside the system!

>  Examples: users, other systems, external hardware etc.

Page 52: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 52/106

30.10.2011

52

UML 2 & Use Case Models Creating Use Case Diagrams   1032

Finding use cases

>  Black Box view of  the system

>  A use case should satisfy a major goal for the actor

>  Put yourself  in the situation of  an (active) actor. Ask yourself: “What do I want to do with the system?”

>  Name each use case using a verb/noun combination

>  The Use Case shall represent a complete functionality for the initiating actor. Do not divide it into parts that must be 

used together to add some value to the actor

UML 2 & Use Case Models Creating Use Case Diagrams   1042

Use case drawing guide>  Use different use case diagrams to separate use cases in 

a logical way

>  Group use cases that are initiated by common actors

>  Do not put unrelated use cases in the same diagram

>  Limit the number of  use cases per diagram to 10

Page 53: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 53/106

30.10.2011

53

UML 2 & Use Case Models Creating Use Case Diagrams   1052

Use Case Elaboration

>  During the meeting with the other stakeholders, you will discover many more use cases that you can add to the diagram.

>  You might also find that some use cases are too high‐level. In this case, you can introduce new use cases that separate the workflows.

Example: Becomes:

UML 2 & Use Case Models Creating Use Case Diagrams   1062

Expanding High‐Level Use Cases

>  Typically, managing an entity  implies being able toCreate, (Retrieve), Update, and Delete an entity (so called, CRUD operations). Other keywords include:

—Maintain

—Process

>  Other high‐level use cases can occur. Identify these byanalyzing the use case scenarios and look for significantly divergent flows.

>  If  several scenarios have a different starting point, thesescenarios might represent different use cases.

Page 54: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 54/106

30.10.2011

54

UML 2 & Use Case Models Creating Use Case Diagrams   1072

Expanding High‐Level Use Cases

>  The expanded diagram:

UML 2 & Use Case Models Creating Use Case Diagrams   1082

Analyzing Inheritance Patterns

Inheritance can occur in Use Case diagrams for both actorsand use cases:

>  An actor can inherit all of  the use case associations fromthe parent actor.

>  A use case can be subclassed  into multiple, specialized use cases.

Page 55: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 55/106

30.10.2011

55

UML 2 & Use Case Models Creating Use Case Diagrams   1092

Actor Inheritance

>  An actor can inherit all of  the use case associations from the parent actor.

>  This inheritance should be used only if  you can apply the “is a kind  of”  rule between the actors.

UML 2 & Use Case Models Creating Use Case Diagrams   1102

Use Case Specialization

A use case can be subclassed  into multiple, specialized usecases:

>  Use case specializations are usually  identified bysignificant variations in the use case scenarios.

>   If  the base use case cannot be instantiated, you mustmark it as abstract.

Page 56: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 56/106

30.10.2011

56

UML 2 & Use Case Models Creating Use Case Diagrams   1112

Analyzing Use Case Dependencies

Use cases can depend on other use cases in two ways:

>  One use case (a) includes another use case (i).

This means that the one use case (a) requires thebehavior of  the other use case (i) and always performs the included use case.

>  One use case (e) can extend  another use case (b).

This means that the one use case (e) can (optionally)

extend the behavior of  the other use case (b).

UML 2 & Use Case Models Creating Use Case Diagrams   1122

The «include» Dependency

>  The include dependency enables you to identify behaviors of the system that are common to multiple use cases.

>  This dependency is drawn like this:

Page 57: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 57/106

30.10.2011

57

UML 2 & Use Case Models Creating Use Case Diagrams   1132

The «include» Dependency

>  An include relationship is used to integrate a use case into 

another use case, thus becoming a logical part of  that use case.

UML 2 & Use Case Models Creating Use Case Diagrams   1142

The «include» Dependency

Identifying and recording common behavior:

>  Review the use case scenarios for common behaviors.

>  Give this behavior a name and place it in the Use Casediagram with an «include» dependency.

Page 58: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 58/106

30.10.2011

58

UML 2 & Use Case Models Creating Use Case Diagrams   1152

The «include» Dependency

Identifying behavior associated with a secondary actor:

>  Review the use case scenarios for significant behavior that involves a secondary actor.

UML 2 & Use Case Models Creating Use Case Diagrams   1162

The «include» Dependency

>  Split the behavior that interacts with this secondary actor. Give this behavior a Use Case title, and place it in the Use Case diagram with an «include» dependency.

Page 59: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 59/106

30.10.2011

59

UML 2 & Use Case Models Creating Use Case Diagrams   1172

The «extend» Dependency

>  The extend dependency enables you to identify behaviors of the system that are not part of  the primary flow, but exist in alternate scenarios.

>  This dependency is drawn like this:

UML 2 & Use Case Models Creating Use Case Diagrams   1182

The «extend» Dependency

Identifying and recording behaviors associated with analternate flow of  a use case:

>  Review the use case scenarios for significant and cohesive sequences of  behavior.

>  Give this behavior a name and place it in the Use Casediagram with a «extend» dependency.

Page 60: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 60/106

30.10.2011

60

UML 2 & Use Case Models Creating Use Case Diagrams   1192

A Combined Example

UML 2 & Use Case Models Creating Use Case Diagrams   1202

«extend» or «include» 

Page 61: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 61/106

30.10.2011

61

UML 2 & Use Case Models Creating Use Case Diagrams   1212

Packaging the Use Case Views

>   It should be apparent that any non‐trivial softwaredevelopment would need more use cases than could beviewed at one time. Therefore, you need to be able to manage this complexity.

>  One way of  managing this complexity is to break down theuse cases into packages.

UML 2 & Use Case Models Creating Use Case Diagrams   1222

Packaging the Use Case Views

Page 62: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 62/106

30.10.2011

62

UML 2 & Use Case Models Creating Use Case Diagrams   1232

Packaging the Use Case Views

>  You can look inside each package to reveal the detailedcontent.

>  A use case element may exist in multiple packages, where it participates in multiple views.

UML 2 & Use Case Models Creating Use Case Diagrams   1242

Packaging the Use Case Views

>  A diagram consists of  an area within a rectangle and a header in the upper left corner. The diagram header shows the diagram type (optional), the diagram name (mandatory), and parameters (optional).

Page 63: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 63/106

30.10.2011

63

UML 2 & Use Case Models Creating Use Case Diagrams   1252

Packaging the Use Case Views

UML 2 & Use Case Models Creating Use Case Diagrams   1262

The Metamodel for Use cases and Actors

Page 64: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 64/106

30.10.2011

64

3Creating

Use Case Scenariosand Forms

UML 2 & Use Case Models Creating UC Scenarios & Forms   1283

Process Map

Page 65: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 65/106

30.10.2011

65

UML 2 & Use Case Models Creating UC Scenarios & Forms   1293

Black‐Box Use Cases

>  Black‐box use cases are the most common and recommended kind; 

>  They do not describe the internal workings of  the system, its components, or design. 

>  The system is described as having responsibilities, which is a common unifying metaphorical theme in object‐oriented thinking

Black‐box style Not

The system records the sale. The system writes the sale to a database....or (even worse):The system generates a SQL INSERTstatement for the sale...

UML 2 & Use Case Models Creating UC Scenarios & Forms   1303

Formality  Types

>  Use cases are written in different formats, depending on need. In addition to the black‐box versus white‐box visibility  type, use cases are written in varying degrees of  

 formality:

—brief —terse one‐paragraph summary, usually of  the main success scenario.

—casual —informal paragraph format. Multiple paragraphs that cover various scenarios. 

— fully  dressed —the most elaborate. All steps and variations are written in detail, and there are supporting sections, such as preconditions and success

guarantees.

Page 66: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 66/106

30.10.2011

66

UML 2 & Use Case Models Creating UC Scenarios & Forms   1313

The usecases.org Format 

>  Various format templates are available for fully dressed use cases. 

>  However, perhaps the most widely used and shared format is the template available at www.usecases.org.

UML 2 & Use Case Models Creating UC Scenarios & Forms   1323

Use case description

The Use Case usually contains the following components:>   Name

—A verb/noun that satisfies a major goal for the actor>   Description

—One sentence describing what this use case is about

>   Pre‐Conditions—Condition(s) which must be satisfied before the use case can take place

>   Post‐Conditions—The state in which the system will be at the end of  the use case

>   Course of  Action—Describes the most conventional flow of  events through the use case

>   Alternative Flows—Describe less common flows through the use case

>   Exception Flows—Describe flows where errors have occurred and how to recover

Analysis

Page 67: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 67/106

30.10.2011

67

UML 2 & Use Case Models Creating UC Scenarios & Forms   1333

The Two‐Column Variation

>  Some prefer the two‐column or conversational format, which emphasizes the fact that there is an interaction going on between the actors and the system. 

>  It was first proposed by Rebecca Wirfs‐Brock, and is also promoted by Constantine and Lockwood to aid usability analysis and engineering.

UML 2 & Use Case Models Creating UC Scenarios & Forms   1343

The Two‐Column Variation

Page 68: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 68/106

30.10.2011

68

UML 2 & Use Case Models Creating UC Scenarios & Forms   1353

The Best Format?

>  There isn’t one best format; some prefer the one‐column style, some the two‐column.

>  Sections may be added and removed; heading names may change. 

>  None of this is particularly important; the key thing is to write the details of  the main success scenario and its extensions, in some form.

UML 2 & Use Case Models Creating UC Scenarios & Forms   1363

Recording Use Case Scenarios

>  A Use Case scenario is a concrete example of  a use case.

>  A Use Case scenario should:

—Be as specific as possible

—Never contain conditional statements—Begin the same way but have different outcomes

—Not specify too many user interface details

—Show successful as well as unsuccessful outcomes (indifferent scenarios)

>  Use Case scenarios drive several other OOAD workflows.

Page 69: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 69/106

30.10.2011

69

UML 2 & Use Case Models Creating UC Scenarios & Forms   1373

Selecting Use Case Scenarios

>  While it is ideal to have multiple scenarios for all use cases, doing so would take a lot of  time. Therefore, you can select appropriate scenarios by the following criteria:

—The use case involves a complex interaction with theactor.

—The use case has several potential failure points, suchas interaction with external systems or a database.

>  There are two types of  scenarios:—Primary (Happy) scenarios record successful results.

—Secondary (Sad) scenarios record failure events.

UML 2 & Use Case Models Creating UC Scenarios & Forms   1383

Writing a Use Case Scenario

A Use Case scenario is a story that:

>  Describes how an actor uses the system and how thesystem responds to the actions of  the actor.

>  Has a beginning, a middle, and an end.

Page 70: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 70/106

30.10.2011

70

UML 2 & Use Case Models Creating UC Scenarios & Forms   1393

Primary Use Case Scenario: Example

>  The beginning:

The use case begins when the booking agent receives a request to make a reservation for rooms in the hotel.

UML 2 & Use Case Models Creating UC Scenarios & Forms   1403

Primary Use Case Scenario: Example

>  The middle:

The booking agent enters the arrival date, the departure date, and the quantity of  each type of  room that is required. The booking agent then submits the entered 

details. The system finds rooms that will be available during the period of  the reservation and allocates the required number and type of rooms from the available rooms. The system responds that the specified rooms are available, returns the provisional reservation number, and marks the reservation as “held”. The booking agent accepts the rooms offered.

Page 71: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 71/106

30.10.2011

71

UML 2 & Use Case Models Creating UC Scenarios & Forms   1413

Primary Use Case Scenario: Example

>  More of  the middle:

The booking agent selects that the customer has visited one of the hotels in this group before, and enters the zip code and customer name. The system finds and returns a list of  matching customers with full address details. The booking agent selects one of  the customers as being the valid customer. The system assigns this customer to the reservation. The booking agent performs a payment guarantee check. This check is successful.

UML 2 & Use Case Models Creating UC Scenarios & Forms   1423

Primary Use Case Scenario: Example

>  The end:

The system assigns the payment guarantee to the reservation and changes the state of  the reservation to “confirmed”. The system returns the reservation ID and 

booking details.

Page 72: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 72/106

30.10.2011

72

UML 2 & Use Case Models Creating UC Scenarios & Forms   1433

Secondary Use Case Scenario: Example

>  The beginning:The use case begins when the booking agent receives a request to make a reservation for rooms in the hotel.

>  The middle:

The booking agent enters the arrival date, the departure date, and the quantity of  each type of  room that is required. The booking agent then submits the entered details. The system responds that there are no rooms available of  any type for the date range specified in the request.

>  The end:

The use case ends.

UML 2 & Use Case Models Creating UC Scenarios & Forms   1443

Supplementary Specifications

>  Some of  the project information that you gather cannot be stored with the use cases because this information needs to be shared by several use cases.

>  This additional information can be documented in a

Supplementary Specification Document, which oftencontains:

—NFRs

—Project Risks

—Project Constraints

—Glossary of  Terms

Page 73: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 73/106

30.10.2011

73

UML 2 & Use Case Models Creating UC Scenarios & Forms   1453

Non‐Functional Requirements (NFRs)

>  Non‐functional requirements (NFRs) define the qualitative characteristics of  the system. As in an animal, the NFRs describe strength, speed, and agility of  the internal features of  the animal. How fast can the animal move? How much weight can the animal carry?

>  Any adverbial phrase can be an NFR.

UML 2 & Use Case Models Creating UC Scenarios & Forms   1463

NFRs: Examples>  NFR1: The system must support 200 simultaneous users

in the Web application.

>  NFR2: The process for completing any reservationactivity must take the average user no more than 10minutes to finish.

>  NFR3: The capacity of  reservation records could grow to2,600 per month.

>  NFR4: The Web access should use the HTTPS transportlayer when critical customer information is beingcommunicated.

>  NFR5: The numerical accuracy of  all financial calculations(for example, reports and customer receipts) shouldfollow a 2‐significant‐digit precision with standard

rounding of  intermediate results.

Page 74: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 74/106

30.10.2011

74

UML 2 & Use Case Models Creating UC Scenarios & Forms   1473

NFRs: Examples

>  NFR6: The System must be available “7 by 24 by 365”.However, the applications can be shut down formaintenance once a week for one hour. This maintenanceactivity should be scheduled between 3 a.m. and 6 a.m.

>  NFR7: Based on historical evidence, there areapproximately 600 reservations per month pe property.

>  NFR8: The search for available rooms must take no longer

than 30 seconds.

UML 2 & Use Case Models Creating UC Scenarios & Forms   1483

Glossary of  Terms

>  The Glossary of  Terms defines business or IT terms that will be used in the project.

>  This is a living document, which should be appended withnew terms, or amended if  a term is found to be incorrect 

or needs redefinition.

Page 75: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 75/106

30.10.2011

75

UML 2 & Use Case Models Creating UC Scenarios & Forms   1493

Glossary of  Terms: Examples

UML 2 & Use Case Models Creating UC Scenarios & Forms   1503

Description of  a Use Case Form

>  A Use Case form provides a tool to record the detailedanalysis of  a single use case and its scenarios.

Page 76: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 76/106

30.10.2011

76

UML 2 & Use Case Models Creating UC Scenarios & Forms   1513

Description of  a Use Case Form

UML 2 & Use Case Models Creating UC Scenarios & Forms   1523

Description of  a Use Case Form

Page 77: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 77/106

30.10.2011

77

UML 2 & Use Case Models Creating UC Scenarios & Forms   1533

Description of  a Use Case Form

>  Some methodologies recommend more or less analysis of  the use cases. The Analysis workflow presented in this module tends to be more detailed.

>  Use Case forms are not standard. There are different styles that can be used to create a Use Case form.

UML 2 & Use Case Models Creating UC Scenarios & Forms   1543

Creating a Use Case Form

Steps to determine the information for Use Case form:1. Determine a brief  description from the primary 

scenarios.2. Determine the actors who initiate and participate in this

use case from the Use Case diagrams.3. Determine the priority of  this use case from discussions

with the stakeholders.4. Determine the risk from scenarios and from discussions

with the stakeholders.5. Determine the extension points from the Use Case

diagrams.6. Determine the pre‐conditions from the scenarios.

7. Determine the trigger from the scenarios.

Page 78: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 78/106

30.10.2011

78

UML 2 & Use Case Models Creating UC Scenarios & Forms   1553

Creating a Use Case Form

8. Determine the flow of  events from the primary (happy)scenarios.

9. Determine the alternate flows from the secondary (sad)scenarios.

10. Determine the business rules from scenarios and fromdiscussions with stakeholders.

11. Determine the post‐conditions.

12. Determine the new NFRs from discussions withstakeholders.

13. Add notes for information—gathered from discussionswith stakeholders—that does not fit into the standardsections of  the form.

UML 2 & Use Case Models Creating UC Scenarios & Forms   1563

Fill in Values for the Use Case Form

>  Fill in elements derived from stakeholders and previousartifacts

Page 79: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 79/106

30.10.2011

79

UML 2 & Use Case Models Creating UC Scenarios & Forms   1573

Fill in Values for the Use Case Form

UML 2 & Use Case Models Creating UC Scenarios & Forms   1583

Fill in Values for the Use Case Form

Page 80: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 80/106

30.10.2011

80

UML 2 & Use Case Models Creating UC Scenarios & Forms   1593

Fill in Values for the Alternate Flow of Events

>  Determine the alternate flows from the secondary scenarios and remaining primary scenarios:

>  Perform a difference analysis between the scenario usedfor the main flow and each of  the other scenarios (inturn).

>  The alternate flows are the steps that are differentbetween the scenario used for the main flow and each of  

the other scenarios.

UML 2 & Use Case Models Creating UC Scenarios & Forms   1603

Fill in Values for the Alternate Flow of Events

Page 81: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 81/106

30.10.2011

81

UML 2 & Use Case Models Creating UC Scenarios & Forms   1613

Fill in Values for the Alternate Flow of Events

UML 2 & Use Case Models Creating UC Scenarios & Forms   1623

Fill in Values for the Business Rules

Page 82: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 82/106

30.10.2011

82

Appendix AImproving Requirement Quality 

UML 2 & Use Case Models Improving Requirement Quality  164A

Objectives

When you complete this module, you should be able to:—Know the best practice when writing requirements—Avoid common pitfalls—Critique individual requirements

Page 83: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 83/106

30.10.2011

83

UML 2 & Use Case Models Improving Requirement Quality  165A

Characteristics of  a good requirement

Unique Individual Identified

Correct Complete

Consistent Clear Verifiable

Traceable Feasible

Positive Modular  Design-free

UniqueIndividualIdentifiedCorrectCompleteConsistentClear VerifiableTraceableFeasiblePositiveModular Design-free

UML 2 & Use Case Models Improving Requirement Quality  166A

r572

“The Internet user shall be able to access their current account balance in less than 5 seconds.”

The challenge is to seek out the user type, end result, and success measure in every requirement that you define. 

User type   Positive end resultPerformance criteria

Measurable

Anatomy of  a good stakeholder requirement

Page 84: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 84/106

30.10.2011

84

UML 2 & Use Case Models Improving Requirement Quality  167A

Writing pitfalls to avoid

… or …

… and so on

… shall include but not be limited to …

Example:   “ The  pilot  or  co‐ pilot  shall  also be able to hear  or  

see a visible or  audible caution or  warning signal  

in case of  emergency, hazard, and  so on” 

Improvements:

 Ambiguity

UML 2 & Use Case Models Improving Requirement Quality  168A

Writing pitfalls to avoid (cont.)

Each requirement is a single sentence

Conjunctions

…and… , …or…. , …with… , …also…

Example:   “The user  shall  be notified  with a low  battery  

warning lamp light  when the voltage drops below  

3.6 Volts and  the current  workspace or  input  data 

shall  be saved.” 

Improvements:

 Ambiguity

Page 85: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 85/106

30.10.2011

85

UML 2 & Use Case Models Improving Requirement Quality  169A

Writing pitfalls to avoid (cont.)

‘let out’ clauses

…if… , …but… , …when… , …except…

…unless… , …although….

Example:   “The homeowner  shall  always hear  the smoke detector  

alarm when smoke is detected  unless the alarm is being 

tested  or  suppressed.” 

Improvements:

 Ambiguity

UML 2 & Use Case Models Improving Requirement Quality  170A

Writing pitfalls to avoid (cont.)

Long sentences

Arcane language

References to unreachable documents

Example:   “Provided  that  the designated  input  signals  from the 

specified  devices are received  by  the user  in the correct  

order  where the system is able to differentiate the 

designators, the output  signal  shall  comply  with the 

required   framework  of  section 3.1.5 to indicate the 

desired  input  state.” Improvements:

 Ambiguity

Page 86: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 86/106

30.10.2011

86

UML 2 & Use Case Models Improving Requirement Quality  171A

Writing pitfalls to avoid (cont.)

Mix user, system, design, test, and installation

High-level mixed with database design, software

terms, technical terms

Example:   “The user  shall  be able to view  the currently  selected  

channel  number, which shall  be displayed  in 14pt  Swiss 

type on an LCD  panel  tested  to Federal  Regulation 

Standard  567 ‐89 and  mounted  with shockproof  rubber  

washers.” 

Improvements:

 Ambiguity

UML 2 & Use Case Models Improving Requirement Quality  172A

Writing pitfalls to avoid (cont.)

Specify design envelope for level required

 Name components, materials, software objects,

fields, and records in stakeholder or systemrequirements

Example:   “The antenna shall  be capable of  receiving FM signals, 

using a copper  core with nylon covering and  a 

waterproof  hardened  rubber  shield” 

Improvements:

 Ambiguity

Page 87: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 87/106

30.10.2011

87

UML 2 & Use Case Models Improving Requirement Quality  173A

Writing pitfalls to avoid (cont.)

Wish lists

Vague about which stakeholder is speaking

…usually… , …generally… , …often… ,

…normally… , …typically…

Example:   “The alarm system will   probably  have to operate over  

normal   phone lines.” 

Improvements:

 Ambiguity

UML 2 & Use Case Models Improving Requirement Quality  174A

Writing pitfalls to avoid (cont.)

Qualitative terms

User friendly, highly versatile, and flexible

To the maximum extent, approximately, as much as

 possible, with minimal impact.

Example:   “The user  shall  be  provided  with a user ‐ friendly   front ‐

end.” 

Improvements:

 Ambiguity

Page 88: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 88/106

30.10.2011

88

UML 2 & Use Case Models Improving Requirement Quality  175A

Writing pitfalls to avoid (cont.)

Suggestions will be ignored by developers

May, might, should, ought, could, perhaps, or

 probably

Example:   “The network  manager  may  be  provided  with  possible 

network  contention  points, and  should  instantaneously  

re‐route the traffic.” 

Improvements:

 Ambiguity

UML 2 & Use Case Models Improving Requirement Quality  176A

Writing pitfalls to avoid (cont.)

Ask for the impossible

100% reliable, safe, handles all failures, fully

upgradeable, and runs on all platforms

Example:   “The network  manager  shall  handle all  unexpected  

errors without  crashing the system, and  be  fully  capable 

of  managing  future network  configurations.” 

Improvements:

 Ambiguity

Page 89: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 89/106

30.10.2011

89

Appendix BPractical Exercise

UML 2 & Use Case Models Practical Exercise   178B

1. The ATM user shall be allowed to withdraw money and be able to make a payment to any outstanding loan.

2. The ATM user shall be allowed to withdraw up to the current account balance amount in the selected account, the maximum amount available for withdrawal, or up to the maximum line of  credit for the account.

3. The ATM shall be able to display all prompts in the English language and other languages including, but not limited to, Spanish, French, and German.

4. The price of  the ATM shall not exceed $30,000 and allow the maintainer to request a notification be posted to indicate to all ATM users that the system is about to become unavailable.

5. Often an ATM user may usually perform multiple transactions during a single account session.

Page 90: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 90/106

30.10.2011

90

UML 2 & Use Case Models Practical Exercise   179B

6. The ATM shall probably have to access the bank provider 

system to determine what transactions are valid for this user.

7. The ATM user may probably wish to make a payment on any outstanding loan.

8. The ATM shall be able to provide foolproof  identification of  all ATM users to prevent any unauthorized access to a user’s account. 

9. The ATM user shall be able to view the current account 

balance after an update within 5 seconds.10.The ATM shall notify the user of  the closest ATM to the 

current unit in the event that the current unit is out of  cash.

UML 2 & Use Case Models Practical Exercise   180B

For each potential use case, determine whether it is a use case

Support IE7.0Have system 100% available

during regular business hours

Comply with SOX

Support English and Japanese

Place order 

Withdraw cash from an ATMTransfer funds

Display error messages within 30

seconds

Make reservation

Login

Create customer user interfaceSupport LDAP authentication

Page 91: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 91/106

30.10.2011

91

UML 2 & Use Case Models Practical Exercise   181B

The primary Use Cases for the Sample Bank ATM

UML 2 & Use Case Models Practical Exercise   182B

Supporting Use Cases for the Sample Bank ATM

Refill and Service the Machine

Configure the Machine

Check the Machine is in Working

Order 

 ATM Engineer 

 Analyze System Performance

Reconcile Transaction Logs

Update System Configuration

 ATM Operator 

Run Advertising CompaignService

 Administrator 

Page 92: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 92/106

30.10.2011

92

UML 2 & Use Case Models Practical Exercise   183B

Kullanıcı

Öğretmen   Öğrenci

<<actor>>

Veritabanı

Sınıf  listesigöster   Derse kayıt

Danışman

Geç kayıt

<<extend>>

Öğrenci Otomasyon 

Sistemi

Sisteme giriş

<<include>> <<include>>

Appendix C

Lecture Notes in Turkish

Page 93: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 93/106

30.10.2011

93

UML 2 & Use Case Models Lecture Notes in Turkish   185C

UML Nedir

>   UML yazılım sisteminin önemli bileşenlerini tanımlamayı, tasarlamayı ve dokümantasyonunu sağlayan grafiksel bir modelleme dilidir

>   Yazılım geliştirme sürecindeki tüm katılımcıların (kullanıcı, işçözümleyici, sistem çözümleyici, tasarımcı, programcı,...) gözüyle modellenmesine olanak sağlar, 

>   UML gösterimi nesneye dayalı yazılım mühendisliğine dayanır.

UML 2 & Use Case Models Lecture Notes in Turkish   186C

2

0

1 dx x

C

Ortak bir dil

>   Tüm mühendisler  simgesinin anlamını bilir >   Simge basit olsada arkasındaki anlam karmaşık ve derindir!

: Ters sekiz?

>   Kapasite?

Page 94: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 94/106

30.10.2011

94

UML 2 & Use Case Models Lecture Notes in Turkish   187C

UML’in Kazanımları

>   Yazılım sistemi herhangi bir kod yazmadan önce profesyonelce tasarlanır ve dokümantasyonu yapılır

>   Yeniden kullanılabilir kod parçaları kolaylıkla ayırt edilir ve en yüksek verimle kodlanır

>   Daha düşük geliştirme maliyeti

>   Tasarımdaki mantıksal boşluklar tasarım çizimlerinde kolaylıkla saptanabilir

UML 2 & Use Case Models Lecture Notes in Turkish   188C

>   Daha az sürpriz – yazılımlar beklendiğimiz şekilde davranırlar

>   Overall design will dictate the way software is developed  – tüm tasarım kararları kod yazmadan verilir

>   UML “resmin tamamını” görmemizi sağlar

>   More memory and processor efficient code is developed>   Sistemde değişiklik yapmayı kolaylaştırır

UML’in Kazanımları ─ 2

Page 95: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 95/106

30.10.2011

95

UML 2 & Use Case Models Lecture Notes in Turkish   189C

UML’in Kazanımları ─ 3

>   Less ‘re/learning’ of  the system takes place>   Diagrams will quickly get any other developer up to speed

>   Programcılar arasında daha etkin bir iletişime olanak sağlar

UML 2 & Use Case Models Lecture Notes in Turkish   190C

UML’in Geliştirme Sürecindeki Yeri

>   Three Amigos UML’i geliştirirken, dilin belirli bir süreç modeline bağlı olmamasına özen gösterdiler.

>   Farklı süreç modelleri: RUP, Shlaer‐Mellor, CRC ve Extreme Programming kullanılabilir.

>   RUP : Three Amigos taraf ı

ndan geliştirildi.>   Derste RUP’u inceleyeceğiz

>   Bu nedenle UML farklı yazılım projelerine cevap verebilecek genelliğe sahiptir:

E‐Ticaret Uygulaması  Askeri Uygulamalar

Dokümantasyon, Sınama, Performans

>   UML nasıl yazılım geliştirileceğini söylemez!

Page 96: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 96/106

30.10.2011

96

UML 2 & Use Case Models Lecture Notes in Turkish   191C

Hatırlatma

>   “Süreç Yönetimi” konusuna kısa bir geri dönüş yapalım:>   Şelale Modeli

>   V‐Modeli

>   Spiral Model

>   Artımsal ve Yinelemeli Modeller

UML 2 & Use Case Models Lecture Notes in Turkish   192C

Big‐Bang Etkisi

• “Küçük” projeler için uygun• Birkaç aylık projeler

Şelale Modeli

Page 97: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 97/106

30.10.2011

97

UML 2 & Use Case Models Lecture Notes in Turkish   193C

Risk

Hatayı DüzeltmeninMaliyeti

Zaman

Şelale Modelinin Yitimleri

UML 2 & Use Case Models Lecture Notes in Turkish   194C

Spril Model

Page 98: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 98/106

30.10.2011

98

UML 2 & Use Case Models Lecture Notes in Turkish   195C

Spiral Modelin Kazanımları

>   Takım yazılım yaşam çevriminin tüm aşamalarına katılır,>   Kısa sürede ve düzgün aralıklarla geri besleme alınır,

>   Riskli bileşenler önceden kestirilebilir ve gerçeklenebilir,

>   İşin ölçeği ve karmaşıklığı önceden keşfedilebilir,

>   Çalışan bir sürümün varlığı takımın moralini yüksek tutar,

>   Projenin durumu daha kesin olarak değerlendirilebilir.

UML 2 & Use Case Models Lecture Notes in Turkish   196C

RUP

>   RUP yinelemli, artımsal, mimari merkezli, risk güdümlü, kullanım senaryolarına dayalı bir yazılım geliştirme süreci modelidir.

>   RUP iyi tanımlanmış ve yapılandırılmış bir yazılım sürecidir:

Kimin Neden sorumlu olduğu, işlerin Nası

l ve Ne Zaman yapılacağı açıkça tanımlanır.

Page 99: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 99/106

30.10.2011

99

UML 2 & Use Case Models Lecture Notes in Turkish   197C

Customer 

(from Actors)

Barrow Book

(from <Use Case Name>)

aktör 

Kullanım Senaryosu Şeması

>   Kullanım senaryosu şeması, tasarlanacak sisteme kullanıcı gözüyle bakıldığındaki davranışını tanımlar.

>   Şemanın anlaşılması oldukça kolaydır.

>   [Bu nedenle] Hem geliştirme ekibinin hem de müşterinin ortak olarak çalışabileceği bir şemadır.

>   Analizde yardımcı olur, tasarımda isteklerin anlaşılmasında yardımcı olur.

UML 2 & Use Case Models Lecture Notes in Turkish   198C

Kullanım Senaryosu Şemasının Bileşenleri

Page 100: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 100/106

30.10.2011

100

UML 2 & Use Case Models Lecture Notes in Turkish   199C

Start Up

(from <Use Case Name>)

Shutdown

(from <Use Case Name >)

Operator 

(from Actors)

Produce Report

(from <Use Case Name >)

Order System

(from Actors)View Order Status

(from <Use Case Name >)

>   Bir aktör birden fazla kullanım senaryosunda yer alabilir

>   Aynı senaryoda birden fazla aktör olabilir.

Kullanım Senaryosu Şeması

UML 2 & Use Case Models Lecture Notes in Turkish   200C

>   Aktör eylemi başlatan nesnedir.

>   Aktör nesnesi mutlaka bir kişi olmak zorunda değil.

>   Soyut bir nesne olabilir: zaman, tarih, ...

>   Aktör sistemin dışından bir nesne olabilir

>   Kullanılan Simge:

Operator 

(from Actors)

>   Her aktör en az bir senaryo ile ilişkilendirilmelidir:

Operator 

(from Actors)

Start Up

(from <Use Case Name>)

Shutdown

(from <Use Case Name>)

Produce Report

(from <Use Case Name>)

Actor

Page 101: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 101/106

30.10.2011

101

UML 2 & Use Case Models Lecture Notes in Turkish   201C

Kullanım Senaryolarının Sağladığı Kazanımlar

>   Sistemin erimini, sınırlarını belirler.>   Böylelikle geliştirilecek sistemin boyutunu ve karmaşıklığını 

kafamızda daha rahat canlandırabiliriz. 

>   Kullanım senaryoları isteklerin çözümlenmesine çok benzemektedir: daha nettir ve tamdır.

>   Basit oluşu müşteri ile geliştirme ekibi arasında iletişime olanak tanır.

>   Geliştirme aşaması için temel oluşturur.

>   Sistem testi için temel oluşturur.>   Kullanıcı klavuzu hazırlamaya yardımcı olur.

UML 2 & Use Case Models Lecture Notes in Turkish   202C

Enter PIN

(from <Use Case Name>)

Confirm Amount

(from <Use Case Name>)

Select Amount

(from <Use Case Name>)

Enter Card

(from <Use Case Name>)

Take Receipt

(from <Use Case Name>)

Customer 

(from Actors)

Remove Card

(from <Use Case Name>)

Çözünürlük Ne Olmalı?

>  Kullanım senaryosunun kullanımına ilişkin bir örnek: ATM cihazından para çekmek

Page 102: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 102/106

30.10.2011

102

UML 2 & Use Case Models Lecture Notes in Turkish   203C

Withdraw Money

(from <Use Case Name>)

Customer 

(from Actors)

Amaç: para çekmek

Çözüm

> Kullanım senaryosu, aktör için bir amacı yerine getirmelidir.

UML 2 & Use Case Models Lecture Notes in Turkish   204C

Withdraw Money

(from <Use Case Name>)

Trans fer Money

(from < Use Case Name>)

Check Balance

(from <Use Case Name>)

Customer 

(from Actors)

Page 103: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 103/106

30.10.2011

103

UML 2 & Use Case Models Lecture Notes in Turkish   205C

Kullanım Senaryoları Arası İlişkiler

>  Kullanım senaryoları arasında üç tür ilişki bulunabilir>   İçerme «include»

Bir senaryo grubu içinde kullanılan başka bir senaryo grubudur

>   Genişletme «extend»

Senaryo grupları doğal akışa göre verilirler. Bu akıştan olan sapmalar genişletme ilişkisi ile ana senaryodan olan sapma gösterilir.

>   Genelleştirme

Sınıflar arasındaki türeme ilişkisine benzer. Genel bir senaryo grubundan özel bir senaryo grubu türetilir.

UML 2 & Use Case Models Lecture Notes in Turkish   206C

Withdraw Money

(from <Use Case Name>)

Update Account

(from <Use Case Name>)

<<include>>

Withdraw Money with Overdraft

Protection

(from <Use Case Name>)

Protect Overdraft

(f rom <Use Case Nam e>)

Customer 

(from Actors)

<<extend>>

Örnek Kullanım Senaryosu

Page 104: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 104/106

30.10.2011

104

UML 2 & Use Case Models Lecture Notes in Turkish   207C

Kullanım Senaryosu Anlatımı

1. Müşteri kartı

 ATM cihazı

na tanı

r. Sistem karttaki bilgileri okur ve doğrular.

2. Sistem PIN kodunu sorar. Müşteri PIN kodunu girer. Sistemi PIN kodunu doğrular.

3. Sistem hangi tür işlem yapmak istediğini sorar. Müşteri “Para Çek“’i seçer

4. Sistem çekilecek miktarı sorar. Müşteri miktarı girer.

5. Sistem hesap türünü sorar. Müşteri hesap türünü girer.

6. Sistem ATM ağını kullanarak kimlik, PIN kodu ve çekilen miktarı doğrular.

7. Sistem makbuz istenip istenmediğini sorar. Bu işlem cihazda kağıt varsa 

yürütülür.8. Sistem müşteriden kartı yuvasından almasını ister. Müşteri kartını alır. (Bu 

istek müşterinin kartı cihazda unutmadığından emin olmak için güvenlik amacıyla yapılır.)

9. Sistem istenilen miktar banknotu verir .

10.Eğer müşteri istemişse sistem kağıt makbuzu verir. Senaryo sona erer.

UML 2 & Use Case Models Lecture Notes in Turkish   208C

Senaryo: Senaryo ad ı Özet tanıtım: Senaryonun k ısa bir  tanımlaması

Ön koşullar: Senaryonun başlaması için sağlanması gereken koşullar 

Sonuç koşulları: Senaryonun sonunda neler  olduğu tanımlanır 

Ana Akış: Sistem için olağan senaryo durumunda 

gerçekleşen etkileşimlerin bir  listesi  verilir. 

Alternatif  Akış: Olası alternatif  etkileşimlerin tanımlanması

Sıradışı Akış: Beklenmeyen yada öngörülmeyen olaylar ın 

gerçekleşti ği  senaryolar  tanımlanır 

Kullanım Senaryosu Anlatımı

►Standart bir format yok.

►Her firma kendine uygun bir format belirleyebilir.

Page 105: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 105/106

30.10.2011

105

UML 2 & Use Case Models Lecture Notes in Turkish   209C

Kullanım Senaryolarının Yazılması

Aktörlerin Belirlenmesi: –   Sistemin temel işlevlerini kim kullanacak?

 –   Sistemin bakımını ve işletimini kim yapacak?

 –   Sistem hangi cihazları kullanacak?

 –   Diğer hangi sistemlerle etkileşimde bulunacak?

 –   Sistemin çıkışlarını kimleri ilgilendirir?

UML 2 & Use Case Models Lecture Notes in Turkish   210C

Sistem Davranışının Belirlenmesi

►Aktörlerden yararlanarak sistem davranışının belirlenmesi

 –  Aktörlerin temel işlevi nedir?

 –  Aktör sistem bilgilerine erişmeli mi?

 –  Durum değişiklikleri aktöre bildirilecek mi?

 –  Aktör hangi işlevlere ihtiyaç duyar?►Bazı davranışlar aktörlerden yola çıkarak belirlenemeyebilir. Bu 

durumda aşağıdaki soruları da sormak uygun olur:

 –  Sistemin gerek duyduğu giriş ve çıkış nedir?

 –  Sistem dış olaylardan etkilenir?

 –  Şu andaki sistemin eksiklikleri ve problemleri nelerdir?

 –  Periyodik olarak gerçekleştirilen işlemler var mı?

Page 106: Uml2.and.use.Case.model.ver.0.0.4

8/10/2019 Uml2.and.use.Case.model.ver.0.0.4

http://slidepdf.com/reader/full/uml2andusecasemodelver004 106/106

30.10.2011

UML 2 & Use Case Models Lecture Notes in Turkish   211C

Kullanım Senaryolarının Saptanması

►Olası sistem kullanıcıları ile görüşme yapmak►Joint Requirements Planning Workshop (JRP)

 –   Beyinf ırtınası: olası tüm aktörler saptanır

 –   Beyinf ırtınası: olası tüm senaryolar saptanır

 –   Her senaryo için Kullanım Senaryo Anlatımı kağıda aktarılır ve doğrulanır

 –  Model CASE Tool kullanılarak bilgisayarda oluşturulur