University of Utah

School of Computing

Software Engineering Laboratory

 

CS 4500 Spring Semester, 2008
WEB 2230   TH 2:00-3:20

Instructor: Thomas C. Henderson


Announcements

Week 16 (21-24 Apr 2008)



Week 15 (14-18 Apr 2008)



Week 14 (7-11 Apr 2008)


Week 13 (31 Mar - 4 Apr 2008)


Week 12 (24-28 Mar 2008)


Week 11 (17-21 Mar 2008)

SPRING BREAK!

Week 10 (10-14 mar 2008)

Week 9 (3-7 Mar 2008)



Week 8 (25-29 Feb 2008)


Week 7 (18-22 Feb 2008)



Week 6 (11-15 Feb 2008)


Week 5: No Announcements

Week 4


Week 3


    
Blue indicates new as of 26 Jan 2008:

     Red indicates new as of 23 Jan 2008:

Week 2

Week 1

   New (9 Jan 2008):



Overview of Course / Links


Course Objectives

Engineer (n): a designer or builder of engines
Engineer (vt): to lay out, construct, or manage as an engineer
Engineering (n): the art of managing engines

This course is the senior software engineering lab course. According to the CS department class catalog this course involves:

Development of significant software systems by small student groups, with emphasis on applying sound, disciplined software engineering practice.

Because of the prerequisites for the course, we assume that you have had lots of opportunities to learn sound, disciplined software engineering practice. Now here's your chance to show off a little on a significant project. Show us what you can do!

· 



Instructor
 

·  Thomas C. Henderson, Professor  

·  E-Mail:  tch@cs.utah.edu

·  Phone:     801-581-3601

·  Fax:         801-581-5843

·  Office Hours:   By appointment  3450 MEB (arrange by email).

·  TA: None

·  Recommended (Not Required) Book for class: Software Project Survival Guide, McConnell
You can contact me with questions by email at:   teach-cs4500@cs
Subscribe! to the class mailing list:   cs4500@cs


Prerequisites

The prerequisite is successful completion of CS 3500.


Course Description

This offering of the course will be structured in terms of deliverables.

Teams

Teams must have 3 or 4 members and must be formed by the end of class (8 Jan 2008).

Bids

Each team must submit 2 or 3 bids on projects by 11 Jan 2008.

Possible Projects

There are 3 possible types of projects:

Meetings

Once teams are formed, and projects are picked, the rest of the course will be largely lecture-free. Instead, each group will meet whenever requested to meet by Professor Henderson, or after requesting a meeting and arranging a meeting time.  Attendance at these update meetings will be mandatory.

Each team must turn in a Weekly Management Report by Monday noon each week; this is done by posting it on the team web page.

Deliverables

In addition to the update meetings, you will be required to maintain and make available the following deliverables during the semester (details on formats of documents, etc. can be found in Guidelines link above):

  1. Bids on 2 or 3 projects
  2. Individual Logs detailing work on project
  3. Project Plan
  4. Software Requirements Specification
  5. Software Design Specification (2 versions: v1: high-level design and v2: detailed design)
  6. Verification and Validation Planning
  7. Verification and Validation Results
  8. Staged Releases
  9. Product Release
  10. Final Report
  11. Legacy Turn-In Materials

Note that you must deliver reports in a format that I approve.  One specific document deliverables and formats can be found at  formats for this class - they are based on a class at the University of Texas.  You are not to follow these formats blindly; you must tailor them to your specific project needs (however, you must be able to defend your deliverables and modify them upon request).  If you would like to use another software development methodology (e.g., agile programming, etc.), you must arrange a meeting to discuss the details and get approval.


Software Used to Support Class

Students can use whatever platform they like to develop their projects. A UNIX environment is available in the CADE lab, and an NT environment is available in the NT lab. Your choice of platform and development environment should be justified in your group meetings.


Assignments

Each team will be assigned a project, hopefully from their ordered list of preferences. Each of the sponsors will present their projects on the first day of class to help you choose your preferences.  The schedule for assignments is as follows:
 

           Date

    Particularly Appropriate Reading

  Assignments

     Assignments Due



Team meeting with prof every 2 weeks


Week 1: Jan  8-10

Chapters 1-4, 18

(1) Form team (2) Make bids (3) Start logs (4) Create project website

 (1) Team formed (2) Bids submitted (11 Jan by midnight)

Week 2: Jan 15-17

Chapters 5-7

(1) Project Plan (2) SRS

(1) Updates to logs

Week 3: Jan 22-24

Chapters 8-9

(1) SDS (both versions) (2) VVP

(1) Project Plan (Thursday 31 Jan)

Week 4: Jan 29-31

Chapters 10-13



Week 5: Feb 5-7

Chapters 14-18

(1) VVR (2) Stage 1 Release

(1) (logs updates) (2) SRS, v1 (Tuesday 5 Feb) (3) SDS, v1 (Friday 8 Feb)

Week 6: Feb 12-14



(1) SDS, v2 (Friday 15 Feb)

Week 7: Feb 19-21



(1) VVP (Friday 22 Feb)

Week 8: Feb 26-28



(logs updates)

Week 9: Mar 4-6



 

Week 10: Mar 11-13


(1) VVR (2) Stage 2 Release

(1) VVR (2) Stage 1 Release (Friday 14 March        (logs updates)

Week 11: Mar 18-20


Have fun!


Week 12: Mar 25-27



(logs updates)

Week 13: Apr 1-3


(1) VVR (3) Stage 3 Release

(1) VVR (2) Stage 2 Release (Friday 4 April) (logs updates)

Week 14: Apr 8-10


(1) Product Release

(1) VVR (3) Stage 3 Release (3) Formal Presentation to Industry Sponsor (Friday 11 April)

Week 15: Apr 15-17


(1) Final Report (2) Demo

(1) Product Release (Friday 18 April)

Week 16: Apr 22



(1) Final Report (2) Demo (Thursday, 24 April)

  24 April 2005



Demo Day   9-noon  WEB 130


Grade

Bi-Weekly Meetings, Logs

10%

Documents

30%

Project Web Page

20%

Final Project & Demo

40%

Grades will be based on these percentages except for the following:

Pointers to Projects from Spring 2005 (some may not work now)

 

Pointers to Projects from Spring 2006 (some may not work now)

 

Pointers to Projects from Spring 2008