Summer 1999 CS 665: Advanced Software Engineering Project

Catalog Description - "CS 665 Advanced Software Engineering Project: Team analysis, planning, development, and maintenance of a software product, using principles and practices from CS 577ab. Analysis of project lessons learned. Prerequisite: CS577a; corequisite CS577b."

Implementation Description - CS 665 Advanced Software Engineering Project: Individual analysis, planning, development, and maintenance of a software product or development artifact, using principles and practices the Personal Software Process. Analysis of project lessons learned. Prerequisite: none.

CS665 is the third of three courses in an evolving Software Engineering sequence which constitutes the core of a Master of Science in Computer Science with specialization in Software Engineering. Software Engineering I (CS577a) focuses on software plans, processes, requirements and architectures. Software Engineering II (CS577b) focuses on software product creation, integration, test and transition with an emphasis on quality software production. Both CS577 a and b are team project courses. CS665 will focus on planning, development, deployment and maintenance of a software product by an individual using a Personal Project Management Process (PPMP) and the Personal Software Process (PSP).

The course concept includes learning and application of a PPMP to the software engineering activities involved with productization of extensions or enhancements of existing products. The PPMP is subset of Watts Humphrey's "Personal Software Process" which focuses on project planning and tracking, including process definition, estimating and scheduling. The homework assignments for the first half of the course are all related to learning and practicing PPMP; providing a personal, spreadsheet-based tool set for PSP; and gathering data to be used during the second half of the course. The second half of the course teaches the rest of PSP and applies PSP and PPMP to the further development and productization of extensions or enhancements of existing products.

This summer version will cover the same material as the previous Winter/Spring offering, but delivery of the course will be VERY different. CS 665 for this summer will use the same lectures being used for a Professional Development (PD) version of PPMP and PSP being offered by IITV.

Part One: PPMP

May 24, 26, 28;

9:00 AM - 1:00 PM

June 2, 4, 7, 9, 11 & 14

9:00 AM - 1:00 PM

Part Two: PSP-B

June 21, 23, 28, 30;

9:00 AM - 1:00 PM

July 7, 9, 12, 14, 19, 21, 26, 28;

9:00 AM - 1:00 PM

Aug. 2 & 4

9:00 AM - 1:00 PM

CS665: Project

June 25; July 2, 16, 23; Aug. 7

9:00 AM - 1:00 PM

Sharing lectures with PPMP-PD and PSP-PD means has several advantages. ALL PPMP exercises will be done IN CLASS: there should be no need to do any of that work outside of class. All work for PSP-B will be started in class, and if possible completed during class. You will have the first week of the summer session "off" and the fifth week can be devoted to completing your first project delivery. Also, the long class sessions are designed to avoid the need for office hours, while providing support and insight for all, especially the remote students.

In general, it is planned that the last 30 minutes of each class during Part 1, PPMP, will be devoted to the 665 Class and your project related assignments. A similar arrangement is envisioned for Part 2, PSP. During Part 2, the CS665 Friday sessions will be scheduled and used as needed, for instance to handle office hours types of situations.

CS 665 for this summer is available ONLY to matriculated graduate students.

The course projects for the summer 1999 semester will be either enhancements or extensions of the USC-CSE COCOMO™ II product line. Students will be required to plan, implement and deploy two releases of their project(s) during the semester. The projects will be developed in conjunction with staff from the USC Center for Software Engineering (CSE) and delivered to CSE, COCOMO™ II Affiliates, or other students for evaluation and feedback.

Text:

  1. Watts Humphrey, A Discipline for Software Engineering Addison-Wesley, 1995
  2. Course notes

Lecture Time and Location: MWF 9:00 to 1:00, OHE 100 Studio B

Assignments and Grading:

Instructor:

Teaching Assistant:

For updates, see our web page at http://sunset.usc.edu/classes/cs665s99