Class #10

advertisement
Software Engineering Process II
Review
INFO 637
Glenn Booker
INFO 637
Lecture #10
1
TSP Overview
The TSP is designed for teams of up to
20 people
Here we used TSPi, which uses the same
concepts, but designed for a team of 4-8 people
TSPi is based on a waterfall-like life cycle
model, adapted for cyclical development
Features are developed in cycles, which each
build on previous cycles
INFO 637
Lecture #10
2
TSP Steps Within Each Cycle
Strategy
Plan
Requirements
Design
Implementation
Test
Postmortem
INFO 637
Lecture #10
3
TSP Structure
The structure of the TSP is designed to
avoid most common problems associated
with team formation and lack of peer
review
Everyone is assumed to be a software
developer (Development Engineer), and
also take on an additional role
INFO 637
Lecture #10
4
TSP is Implementation-Independent
TSP doesn’t assume any type of
development methodology
Object oriented
Procedural development
Any kind of analysis techniques or models
could be used
Use cases, formal specification, ERD, DFD,
class diagram, interaction diagrams, etc.
INFO 637
Lecture #10
5
TSP Roles
Team Leader
Development Manager
Planning Manager
Quality and Process Manager
May be two separate roles
Support Manager
INFO 637
Lecture #10
6
TSP Activities
The management of activities is similar to
version 2.0 of the PSP
Time is logged for all activities
Defects are logged
Tasks are planned, and actual times recorded
Size of work products is estimated, and
compared to actuals
Risks and issues are identified and tracked
INFO 637
Lecture #10
7
TSP Activities
TSP also introduces a peer review
process, which allows estimation of
defects missed during inspection
A change control process is added to
prevent conflicting changes to the same
artifact (code, documentation, etc.)
INFO 637
Lecture #10
8
Typical Scripts for one Cycle
We used the scripts for one project cycle
Launch & Development Strategy
Development Plan
SRS and System Test Plan
Design and Integration Test Plan
Implementation Script
Test Script (conduct integration & system test)
Post Mortem
INFO 637
Lecture #10
9
Launch Script
The launch script includes:
Course overview
Assigning roles
Describing the objectives of your product
How will you know if it’s been created correctly?
Hold the first team meeting
Review of data reporting requirements
INFO 637
Lecture #10
10
Development Strategy Script
Key steps in this phase are:
Create Conceptual Design of the product
Define Development Strategy
What features go into each cycle?
Estimate Product size and development effort
Assess Risks
Document the Development Strategy
Define Configuration Management Plan
INFO 637
Lecture #10
11
Development Plan Script
Based on the conceptual design
Identify specific products to be produced,
and estimate their sizes
Record STRAT data in SUMS
Produce task plan using TASK form
Produce team’s schedule plan using
SCHEDULE form, including expected
weekly hours per person
INFO 637
Lecture #10
12
Development Plan Script
Produce the quality plan using estimated
SUMP and SUMQ plans
Break out individual plans based on the
team TASK and SCHEDULE plans
Balance workload, then reconsolidate the
team TASK and SCHEDULE plans
Send TASK, SCHEDULE, SUMS, SUMP,
and SUMQ to team members and
instructor
INFO 637
Lecture #10
13
SRS Script
The development script for creating the
SRS includes:
Reviewing and clarifying the system needs
Allocating parts of the SRS to be done by
each team member
Developing the system test plan
Inspecting the SRS and test plan
Refining the SRS and test plan
INFO 637
Lecture #10
14
Design Scripts
Conduct high level design to identify and
name the major components
Capture the design using one or more methods
mentioned earlier
Define design standards (like in the PSP)
Allocate design tasks to team members
INFO 637
Lecture #10
15
Design Scripts
Prepare parts of the SDS separately
Prepare the integration test plan
Inspect the draft design document and
test plan
Update and agree upon the final SDS,
and prove that it is traceable to the SRS
INFO 637
Lecture #10
16
Implementation Script
Plan implementation tasks using SUMP
and SUMQ
Allocate tasks to team members
Conduct detailed design
Do design review using LOGD and LOGT
Create unit test plan, test cases,
procedures, and test data
INFO 637
Lecture #10
17
Implementation Script
Inspect the detailed design for each
component using INS and LOGD
Create the code, and review it using
code checklist
Record defects using LOGD and LOGT
Do formal code inspection using INS
and LOGD
INFO 637
Lecture #10
18
Implementation Script
Have quality manager verify
every component
Release accepted components
Hence the outputs from this script are:
Completed code
Forms INS, SUMP, SUMQ, LOGD, and LOGT
Test plans and materials (test cases, etc.)
Updated project notebook
INFO 637
Lecture #10
19
Test Scripts
Test script includes:
Develop build, integration test, and system
test procedures
Determine size, time, and materials needed
for each test
Build the product
Conduct integration testing
Conduct system testing
INFO 637
Lecture #10
20
Test Scripts
Produce user documentation, review and fix it
Outputs include
An integrated and tested product for this cycle
Completed LOGD and LOGTEST forms for
all tests
Completed user documentation
Time, size, and defect data in TSP system
INFO 637
Lecture #10
21
Post Mortem Scripts
The post mortem is started when the team
has completed, tested, and documented
this cycle’s product
Review the SUMP and SUMQ forms
from this cycle
Which processes worked, and which didn’t?
How did product quality compare to
previous cycles (if any) or expectations?
INFO 637
Lecture #10
22
Post Mortem Scripts
Did process efficiency change much (e.g. the
productivity measures)?
Were the roles successfully executed?
Were there any problems with any roles?
Look for improvement ideas, and submit
them on PIP forms
Prepare a cycle report
INFO 637
Lecture #10
23
Cycle Report
Each team member writes a description of
What did you produce?
What processes did you use?
What roles did you perform?
What worked, and what didn’t?
How well did your role work with the team?
How were you as a developer?
INFO 637
Lecture #10
24
Waterfall Similarities
Notice that the combination of test
planning with development phases is
straight from classic waterfall structure
The system test plan is written with the system
requirements
The integration test plan is written with the high
level design
The unit test plan is written with detailed design
(in the implementation phase)
INFO 637
Lecture #10
25
Continuous Evaluation and Improvement
As each cycle progresses, earned value
is tracked, and measures of quality,
productivity, and defect removal
effectiveness are made
This forms, over many cycles, an objective
basis for predicting future development
efforts and truly understanding the caliber
of work produced by your team
INFO 637
Lecture #10
26
That’s it!
And that is the Team Software Process
INFO 637
Lecture #10
27
Download