Applying Use Cases to Implementation (Chapters 25,26 - Requirements Text) Steve Chenoweth & Chandan...

16
Applying Use Cases to Implementation Applying Use Cases to Implementation (Chapters 25,26 - Requirements Text) (Chapters 25,26 - Requirements Text) Steve Chenoweth & Chandan Rupakheti Question 1

Transcript of Applying Use Cases to Implementation (Chapters 25,26 - Requirements Text) Steve Chenoweth & Chandan...

Page 1: Applying Use Cases to Implementation (Chapters 25,26 - Requirements Text) Steve Chenoweth & Chandan Rupakheti Question 1.

Applying Use Cases to ImplementationApplying Use Cases to Implementation(Chapters 25,26 - Requirements Text)(Chapters 25,26 - Requirements Text)

Steve Chenoweth & Chandan Rupakheti

Question 1

Page 2: Applying Use Cases to Implementation (Chapters 25,26 - Requirements Text) Steve Chenoweth & Chandan Rupakheti Question 1.

OutlineOutline

Use Cases in Design and Implementation From Use Cases to Test Cases

Page 3: Applying Use Cases to Implementation (Chapters 25,26 - Requirements Text) Steve Chenoweth & Chandan Rupakheti Question 1.

What Are the Design Issues?What Are the Design Issues?

It is easier to design and implement certain system feature than others [From the perspective of traceability]

Orthogonal Design – could be as bad as this:

Question 2

How requirementsare expressed

How the designshould be done

(How testingshould be done,maybe?)

Page 4: Applying Use Cases to Implementation (Chapters 25,26 - Requirements Text) Steve Chenoweth & Chandan Rupakheti Question 1.

Solving the Orthogonality ProblemSolving the Orthogonality Problem

Object-oriented design◦ Derived from use cases as much as possible

◦ Internal algorithms could be a big exception Well written use cases Modeling Software Systems Test cases developed from use cases –

◦ Gets rid of that possible third axis on the prior slide!

Start Question 3

Page 5: Applying Use Cases to Implementation (Chapters 25,26 - Requirements Text) Steve Chenoweth & Chandan Rupakheti Question 1.

Solving the Orthogonality ProblemSolving the Orthogonality Problem

The software architecture helps us understand “what the system does and how it works, how the elements

interact, and what type of patterns and pieces or the system are involved”

Page 6: Applying Use Cases to Implementation (Chapters 25,26 - Requirements Text) Steve Chenoweth & Chandan Rupakheti Question 1.

Solving the Orthogonality Problem (continued)Solving the Orthogonality Problem (continued)

Architectural views :◦ Logical (for users)◦ Implementation

(programmers)◦ Process (integrators)◦ Deployment

(system engineers)

End Question 3

Page 7: Applying Use Cases to Implementation (Chapters 25,26 - Requirements Text) Steve Chenoweth & Chandan Rupakheti Question 1.

Extra CreditExtra Credit

How are use cases realized in the design model? Read Chapter 25 and submit a report. Please submit it via (Angel – Lessons – Extra Credit – Week 5 – Use Case Realization)

And see also the example under Resources on the course web site (“Sample use case in requirements vs design.doc”)

And, answer the question in the notes, below…

Page 8: Applying Use Cases to Implementation (Chapters 25,26 - Requirements Text) Steve Chenoweth & Chandan Rupakheti Question 1.

OutlineOutline

Use Cases in Design and Implementation From Use Cases to Test Cases

Page 9: Applying Use Cases to Implementation (Chapters 25,26 - Requirements Text) Steve Chenoweth & Chandan Rupakheti Question 1.

Questions before TestingQuestions before Testing

What is this system supposed to do? What are the things that can go wrong?

◦ How does the system respond? How do I create and record testing scenarios? How do I know that the system has been tested

completely?

Is there anything else the system is supposed to do?

Question 4

Page 10: Applying Use Cases to Implementation (Chapters 25,26 - Requirements Text) Steve Chenoweth & Chandan Rupakheti Question 1.

Testing TermsTesting Terms

Test Plan Test Case Test Procedure Test Script Test Item

See definitions in the notes, below.

Page 11: Applying Use Cases to Implementation (Chapters 25,26 - Requirements Text) Steve Chenoweth & Chandan Rupakheti Question 1.

Test PlansTest Plans

1. The use cases each become multiple test cases in the test plan.

Page 12: Applying Use Cases to Implementation (Chapters 25,26 - Requirements Text) Steve Chenoweth & Chandan Rupakheti Question 1.

How do we use the use case?How do we use the use case?

Steps in creating a test case:

◦ Identify use-case scenarios (basic and alternate flows)

◦ Identify the test cases

◦ Identify the test conditions

◦ Add data values to the test case

Page 13: Applying Use Cases to Implementation (Chapters 25,26 - Requirements Text) Steve Chenoweth & Chandan Rupakheti Question 1.

1. Identify the Scenarios1. Identify the Scenarios

Identify the various paths through the system

Scenario Number

OriginatingFlow

Alternate Flow

Next Alternate

Next Alternate..

Page 14: Applying Use Cases to Implementation (Chapters 25,26 - Requirements Text) Steve Chenoweth & Chandan Rupakheti Question 1.

2. Identify the Test cases2. Identify the Test cases

More than one test case can occur from each scenario. For instance, based on the input the expected result could be different.

See the sample file (“Sample use case w test cases.doc”) under Resources on the course web site, showing test cases derived from a use case.

Test Case ID

Scenario Description

Expected Result

Actual Result

Page 15: Applying Use Cases to Implementation (Chapters 25,26 - Requirements Text) Steve Chenoweth & Chandan Rupakheti Question 1.

3 & 4. Identify Conditions and Populate table3 & 4. Identify Conditions and Populate table

Test Case

Id

Scenario Description Cond.

1

Cond.

2

Cond.

3

Expected Result

Actual Result

Use as many conditions as necessary for a use case,

Page 16: Applying Use Cases to Implementation (Chapters 25,26 - Requirements Text) Steve Chenoweth & Chandan Rupakheti Question 1.

Some final remarksSome final remarks

How much do we test? Black box testing tests the functionality. What about the

internal design decisions?

Questions 5,6