CS4320 - Software Processes

MWF 1300-1400  Room 53 CoC

Instructor: Bob Waters , CoC Room 120, Send Email, Office Hours by appointment.  Normally available Tue/Thursday anytime, drop by.

TA: TBA

Textbook:

Software Engineering Process with the UPEDU

Pierre Robillard, Philippe Kruchten and Patrick d'Astous

Addison Wesley, 2003

Objectives

This course provides students with an overall context in which software systems are developed from the viewpoint of processes that support the development. Software engineering is described as the set of activities developers engage in to create high-quality products within schedule and budget constraints.

Learning Objectives:

Topics

This course has six major parts which we will examine:
  1. Total Quality Management (TQM): The basis of all process improvement methodologies
  2. Process Modeling: How do we specify and model processes?
  3. Personal Software Process (PSP): Process Improvement at the individual level
  4. Team Software Process (TSP): Process Improvement at the team level
  5. Capability Maturity Model (CMM): Process Improvement at the organizational level
  6. Extereme Programming (XP): The quintessential minimalist process
Interspersed throughout these topics we will look at industry best practices and how they relate to process improvement.

Grading

Final Exam                    25%
Final Project                  35%
Homeworks                  30%

Individual Presentation   10%

Homeworks

Each homework will be an exercise illustrating issues with various levels of software process improvement efforts.

HW 1: TQM Statistical Process Control Exercise (Individual) (5%)
HW 2: PSP Exercise (Individual) (5%)
HW 3: TSP Exercise (5 Person Team) (8%)
HW 4: CMM Exercise (Individual) (7%)
HW 5: XP Exercise (2 Person Team) (5%)

Final Project Suggestions

The final project will consist of a team software development project which uses the Rational Unified Process.  The entire class will work on the same project.  I have in mind developing a tool to support the team software process.  We will decide as a class the first couple of weeks what we want to work on together.  Some class periods will be devoted to team meetings and reports on the rational process.

Syllabus

Final Project