1 phase implementation and test plan. making your implementation plan first steps consider your use...

21
1 Phase Implementation and Test Plan

Upload: alaina-ball

Post on 11-Jan-2016

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 Phase Implementation and Test Plan. Making your implementation plan First Steps  Consider your use case diagram and your prioritization of use cases

1

Phase

Implementation and Test Plan

Page 2: 1 Phase Implementation and Test Plan. Making your implementation plan First Steps  Consider your use case diagram and your prioritization of use cases

Making your implementation planFirst Steps

Consider your use case diagram and your prioritization of use cases from your design document (checked against provided list)

Use the prioritization (and provided list) to decide the priority or priorities of each use case

Modify your use case diagram to show your priorities.

Janice Regan, 2008 2

Page 3: 1 Phase Implementation and Test Plan. Making your implementation plan First Steps  Consider your use case diagram and your prioritization of use cases

Janice Regan, 2008 3

LMS partial use case diagram Order based on importance of each use case as

expressed by the user/client

Calculate overdue fee

Library staff

Generate overdue letter ….

browseResource

reserveResourcemanageResource

checkInResource

checkOutResource

resourcepatron

managePatron

Overdue form letter

Phase 4

Phase 1

Phase 2

Phase 3

Page 4: 1 Phase Implementation and Test Plan. Making your implementation plan First Steps  Consider your use case diagram and your prioritization of use cases

Consider your time constraints, Decide which phases will be completed for each presentation date

Iteration 1 Client Demonstration (July 21)

20 minutes, prepare your system before meeting

Iteration 2 Client Demonstration (July 30 )

20 minutes, prepare your system before meeting

User Acceptance Test (Aug. 5-7)

60 minutes, install from code during meeting

Janice Regan, 2008 4

Making your implementation planNext schedule each phase

Page 5: 1 Phase Implementation and Test Plan. Making your implementation plan First Steps  Consider your use case diagram and your prioritization of use cases

Consider your time constraints,

Consider dates, July 21, July 30, Aug 5-7

You will be told which phases to present at each meeting,

Leave time to be sure you have fully tested the components for a phase before the meeting.

You may develop more than is needed for the presentation meeting (particularly the first two meetings) before the meeting but present only what is promised)

The system you present should be stable, it is better to miss a deadline on one promised feature than to present an unstable system.

Janice Regan, 2008 5

Making your implementation planConsiderations in scheduling

Page 6: 1 Phase Implementation and Test Plan. Making your implementation plan First Steps  Consider your use case diagram and your prioritization of use cases

Divide you group into implementation phase subgroups

Divide into pairs (or a single or triple if you have an odd number of members)

Decide which use cases / classes will be developed by each pair in each phase of development.

Decide how much time to allow for each part of the implementation process, for each of the use cases / classes or groups of use cases /classes (within the duration of each phase)

Janice Regan, 2008 6

Making a schedule: First steps

Page 7: 1 Phase Implementation and Test Plan. Making your implementation plan First Steps  Consider your use case diagram and your prioritization of use cases

Important parts of implementation Create implementation test plan Create unit test plan Implement Code inspection Unit testing Integration test plan Integration into system Integration testing Create System test plan System testing User acceptance testing (UAT for your project)

Janice Regan, 2008 7

Page 8: 1 Phase Implementation and Test Plan. Making your implementation plan First Steps  Consider your use case diagram and your prioritization of use cases

Janice Regan, 2008 8

For each group of units

Overview of Implementation phase

Create Class Skeletons

Define Implementation Plan (+ determine subphases)

Define Coding Standards

For each unit

ImplementMethods in class/es

Code review

Unit test

Create integration Test plan

Create unitTest plans Release unit

for integration

IntegrationTesting

System Testing

Create systemTest plan

Page 9: 1 Phase Implementation and Test Plan. Making your implementation plan First Steps  Consider your use case diagram and your prioritization of use cases

Janice Regan, 2008 9

Planning using Gantt chart The Gantt chart in the next slide illustrates the

following items that you should include in a project schedule GANTT chart

Milestones: Due dates of deliverables Dates of important meetings (UAT, Client Meeting …)

Phases Start and end date of each phase

Tasks (sub phases, activities) Start and end date of each task Tasks on critical path highlighted

Page 10: 1 Phase Implementation and Test Plan. Making your implementation plan First Steps  Consider your use case diagram and your prioritization of use cases

Janice Regan, 2008 10

Project Schedule – An Example

MICROSOFT PROJECT CAN BE USED TO MAKE A GANTT CHART

Page 11: 1 Phase Implementation and Test Plan. Making your implementation plan First Steps  Consider your use case diagram and your prioritization of use cases

Janice Regan, 2008 11

On your Gantt chart also include The Gantt chart in the next slide illustrates the

following additional items that should be included in a project schedule GANTT chart

Tasks (activities)

Names of resources (team members) responsible for each task

Percentage of available time of resource on each task (when a resource is assigned to more than 1 task at a time)

Dependencies between tasks (does task A need to be finished before task B starts)

Page 12: 1 Phase Implementation and Test Plan. Making your implementation plan First Steps  Consider your use case diagram and your prioritization of use cases

Janice Regan, 2008 12

Project Schedule – Another Example

Page 13: 1 Phase Implementation and Test Plan. Making your implementation plan First Steps  Consider your use case diagram and your prioritization of use cases

Janice Regan, 2008 13

Updates to your Gantt chart At the end of each phase of the project

the Gantt chart should be updated to reflect the details of the next phase.

Some tasks may be unfinished and need to be added to the next phase

Some tasks may be finished early and need to be moved back from the next phase

Page 14: 1 Phase Implementation and Test Plan. Making your implementation plan First Steps  Consider your use case diagram and your prioritization of use cases

Janice Regan, 2008 14

LMS partial use case diagram Order based on importance of each use case as

expressed by the user/client

Calculate overdue fee

Library staff

Generate overdue letter ….

browseResource

reserveResourcemanageResource

checkInResource

checkOutResource

resourcepatron

managePatron

Overdue form letter

Phase 4

Phase 1

Phase 2

Phase 3

Page 15: 1 Phase Implementation and Test Plan. Making your implementation plan First Steps  Consider your use case diagram and your prioritization of use cases

Janice Regan, 2008 15

LMS Example: Make the test plan for first phase (or group of phases) Implement the use cases or parts of use cases in the first

phase (or group of phases) Each pairs use cases/classes may be consider a unit

Complete code reviews of the written code, code should be reviewed by a different pair (not the pair that wrote it)

Unit test the code (run and test) Once each unit is unit tested, integrate all units into build 1

(the build containing all use cases or parts of used cases in the first phase)

Build 1 can be tested (integration testing) by performing the checkInResource use case (function) and the checkOutResource use cases

Build 1 may be presented to the client

Page 16: 1 Phase Implementation and Test Plan. Making your implementation plan First Steps  Consider your use case diagram and your prioritization of use cases

Janice Regan, 2008 16

LMS partial use case diagram Order based on importance of each use case as

expressed by the user/client

Calculate overdue fee

Library staff

Generate overdue letter ….

browseResource

reserveResourcemanageResource

checkInResource

checkOutResource

resourcepatron

managePatron

Overdue form letter

Phase 4

Phase 1

Phase 2

Phase 3

Page 17: 1 Phase Implementation and Test Plan. Making your implementation plan First Steps  Consider your use case diagram and your prioritization of use cases

Janice Regan, 2008 17

LMS Example: Phase 2 You need to consider if the parts of the classes

being implemented in phase 2 are substantially independent of those implemented in phase 1

CASE A: If they are substantially different You can produce build 2 by integrating all units developed

during phase 2. Build 2 can be developed at the same time as build 1. When build 1 and build 2 have been individually

integration tested they can be integrated together into build 3 and integration tested.

Page 18: 1 Phase Implementation and Test Plan. Making your implementation plan First Steps  Consider your use case diagram and your prioritization of use cases

Janice Regan, 2008 18

LMS Example: Thread phase 2 Make the test plan for 2nd phase (or 2nd group of phases) Implement the use cases or parts of use cases in the 2nd

phase (or 2nd group of phases) Each pairs use cases/classes may be consider a unit

Complete code reviews of the written code, code should be reviewed by a different pair (not the pair that wrote it)

Unit test the code (run and test) Once each unit is unit tested, integrate all units into build 2

(the build containing all use cases or parts of used cases in the 2nd phase or 2nd group of phases)

Build 2 can be tested (integration testing) by performing the manageResource use case (function)

Build 2 can be presented to the client

Page 19: 1 Phase Implementation and Test Plan. Making your implementation plan First Steps  Consider your use case diagram and your prioritization of use cases

Janice Regan, 2008 19

LMS Example: Alternate approach You need to consider if the parts of the classes

being implemented in thread 2 are substantially independent of those implemented in thread 1

CASE B: If they have many interdependent components It may be more efficient to modify build 1 by sequentially

integrating the partial classes (units) produced in thread 2 into build 1.

When all units for thread two have been integrated you have produced build 2.

Page 20: 1 Phase Implementation and Test Plan. Making your implementation plan First Steps  Consider your use case diagram and your prioritization of use cases

Janice Regan, 2008 20

LMS Example: Phase 2 For this case use cases in phase 2 are strongly related

(coupled) to the use cases in phase 1 Many parts of phase 2 use or depend on code developed in

phase 1 The phase 1 code will be used as a basis for developing the

phase 2 code Therefore development of phase 2 follows development of

phase 1, they cannot be developed simultaneously Make the test plan for 2nd phase (or 2nd group of phases) Implement the use cases or parts of use cases in the 2nd

phase (or 2nd group of phases) Each pairs use cases/classes may be consider a unit Units are added to phase 1 code after unit testing

Page 21: 1 Phase Implementation and Test Plan. Making your implementation plan First Steps  Consider your use case diagram and your prioritization of use cases

Janice Regan, 2008 21

LMS Example: Phase 2

Complete code reviews of the written code Again code should be reviewed by another pair before testing begins

Unit test the code (run and test) Once each unit is unit tested, integrate all units (one unit at

a time) into build 1 Intermediate builds (1.1, 1.2 …) are produced each time a

new unit is integrated into the previous intermediate build. Integration testing is done at each step

Build 2 can be tested (system testing) by performing the manageResource use case (function) the checkInResource use case (function) and the checkOutResource use cases

Build 2 can be presented to the client