University of Utah

School of Computing

Software Engineering Laboratory

 

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

Instructor: Thomas C. Henderson


Announcements

Week 16  (April 27 - 30)


Week 15  (April 20 - 24)

Week 14  (April 13 - 17)

Week 13  (April 6 - 10)

Week 12  (Mar 30- April 3)

Week 11  (Mar 23-27)

Week 10  (Mar 16-20)

Week 9  (Mar 9-13)

Week 8  (Mar 2-6)

Week 7  (Feb 23-27)

Week 6  (Feb 16-20)

Week 5  (Feb 9-13)

Week 4  (Feb 2-6)

Week 3  (Jan 26-30)

Week 2  (Jan 19-23)

Week 1  (Jan 12-16)

 



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  2871 WEB (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 (13 Jan 2009).

Bids

Each team must submit 2 or 3 bids on projects by 16 Jan 2009.

Possible Projects

There are 2 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 (if necessary)


Week 1: Jan  13-15

Chapters 1-4, 18

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

 (1) Team formed (2) Bids submitted (16 Jan by midnight; see bid and bid info)

Week 2: Jan 20-22

Chapters 5-7

(1) Project Plan (2) SRS

(1) Updates to logs

Week 3: Jan 27-29

Chapters 8-9

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

(1) Project Plan (Friday 30 Jan)

Week 4: Feb 3-5

Chapters 10-13



Week 5: Feb 10-12

Chapters 14-18

(1) VVR (2) Stage 1 Release

(1) (logs updates) (2) SRS, v1 (Tuesday 10 Feb) (3) SDS, v1 (Friday 13 Feb)

Week 6: Feb 17-19



(1) SDS, v2 (Friday 20 Feb)

Week 7: Feb 24-26



(1) VVP (Friday 27 Feb)  see VVP-info

Week 8: Mar 3-5



(logs updates)

Week 9: Mar 10-12


(1) VVR (2) Stage 2 Release

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

Week 10: Mar 17-19


Have fun!

Spring Break

Week 11: Mar 24-26



(logs updates)

Week 12: Mar 31 - Apr 2


(1) VVR (3) Stage 3 Release

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

Week 13: Apr 7-9



(logs updates)

Week 14: Apr 14-16


(1) Product Release

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

Week 15: Apr 21-23


(1) Final Report (2) Demo

(1) Product Release (Friday 24 April)

Week 16: Apr 28-30



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

  30 April 2009



Demo Day   9-noon  WEB 130


Grade

Bi-Weekly Meetings (if necessry), 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

 

Pointers to Projects from Spring 2009