Teaching a Software Project Course Using the Team Software Process

advertisement
Teaching a Software Project Course
Using the Team Software Process
Robert Cannon
Department of Computer Science
University of South Carolina
cannon@sc.edu
Thomas B. Hilburn
Department of Computing and
Mathematics
Embry-Riddle Aeronautical University
hilburn@db.erau.edu
Jorge Diaz-Herrera
Department of Computer Science,
Southern Polytechnic State University
jdiaz@spsu.edu
Abstract
effective teams, task scheduling and tracking, quality
assurance, software metrics, configuration management
and risk planning.
The tutorial is intended for faculty that will be teaching or
have taught a software project course. It provides
attendees with ideas, concepts, guidelines and experiences
for teaching such a course using the introductory Team
Software Process.
1
The tutorial is intended for faculty that will be teaching or
have taught a software project course. It provides the
attendee with ideas, concepts, guidelines and experiences
for effective teaching o f such a course. The tutorial
concentrates upon planning, organization, and execution
of a software project course. A focus o f the tutorial is an
overview of the introductory Team Software Process
(TSPi). The TSPi is based upon the Personal Software
Process sM (PSP sm) [3] md the Team Software Process sM
(TSP sM) [4] which were developed to help to improve
software engineering practices at the individual and team
level. The tutorial shows faculty how the TSPi can be
used to guide students through the steps of a team
software project course.
Using an incremental
development model, it provides course designers with
detailed direction about team formation, team roles and
tasks, and explicit process guidance and support for
planning, requirements specification, design specification,
implementation and testing. The tutorial also exposes
faculty to the wealth of data and metrics that can be used
for an in-depth quality analysis of the both product and
the process.
Tutorial Objectives
The objectives o f the tutorial are as follows:
Provide information, ideas, and discussion about
teaching a team project course.
Provide an overview understanding of the TSPi
Inform faculty how to use the TSPi to develop such a
team project course or help them improve a course
they are currently teaching.
-
2
Expectations
For quite some time now, there has been increasing
interest in how we can better prepare graduates of
computing programs for careers in software development
[2]. Many, if not most, programs have a capstone project
course in software engineering. In fact, Volume II o f the
steelman version of Computing Curricula 2001
recommends that all programs have such a capstone
project course; also there is an entire chapter devoted to
Professional Practice that emphasizes the importance of
including "work environment" type activities in a
computing curriculum [1]. The project course is not just
about producing computer programs that work, but it is
concerned with the use o f accepted software engineering
practices. These practices involve phased development,
which includes planning, requirements analysis and
requirements specification, high level design and detailed
design, construction, and testing. Attention is also being
devoted to the so-called process issues: how to build
The presenters share their experience in using the TSPi to
teach a project course, and discuss lessons learned and
ideas and suggestions for course implementation. They
also share opinion and experiences in this area from
faculty at other schools.
3
Tutorial Outline
The following is an outline o f the topics covered in the
tutorial:
-
Copyright is held by the author/owner(s).
SIGCSE'02, February 27- March 3, 2002, Covington, Kentucky, USA.
ACM 1-58113-473-8/02/0002.
369
Introduction
*
Discussion o f software project course issues and
problems
*
ii.
Software Processes
Description and Overview o f the TSPi
*
TSPi objectives
*
Key features o f the TSPi
*
Development Structure and Process
*
Team Structure and Roles
*
Data and Metrics
*
TSPi support
>
Textbook and Instructor's Manual
>
TSPi Tool
TSPi Implementation and Experiences
*
at University o f South Carolina
*
at Southern Polytechnic University
*
at Embry-Riddle Aeronautical University
Open Discussion
References
[1] ACM/IEEE-CS Joint Task Force on Computing
Curricula,. Computing Curricula 2001, Volume l IComputer Science, Steelman version (August 2001).
Available W W W :
httn:t/www.acm.org/sigcse/cc200 l/steelman/
[2] Coulter, N.S., Gibbs, N.E. editors. The Annals o f
Software Engineering. Vol. 6, (April 1999) [special
issue on software engineering education]
[3] Humphrey, W. S. Introduction to the Personal
Software Process, Addison-Wesley, Reading,
Massachusetts (1997).
[4] Humphrey, W. S. Introduction to the Team $oj~ware
Process, Addison-Wesley, Reading, Massachusetts
(2000).
SMpersonal Software Process, PSP, Team Software Process, and
TSP are service marks of Carnegie Mellon University.
370
Download