Software Methodology

CS 115 - Winter 2006

Instructor: Cormac Flanagan
Office: Engineering 2 Building, room 367
Office Hours: Tuesdays, 11am-noon, or by appointment.

Lectures: Tuesday and Thursday, 8:00am-9:45am, Cowell Com 134

Teaching Assistant: David Olsen (dolsen at soe.ucsc.edu)   Please send David your email address to be added to the class mail list.
TA Office Hours: Wednesdays, 11:00-12:30pm, Baskin Lobby near coffee cart.

Required Text:

·        Project-Based Software Engineering: An Object-Oriented Approach, by Evelyn Stiller and Cathie LeBlanc , Addison Wesley, 2002, ISBN 0321362055. This book is available at the BayTree Bookstore.

Optional Texts:

·        “The Mythical Man-Month”, by Frederick P. Brooks, Jr., Addison-Wesley, 1995.

·        “Software Engineering. A Practitioner’s Approach”, by Roger Pressman.

·        “Code Complete”, by Steve McConnell.

·        “Extreme Software Engineering. A Hands-On Approach”, by Daniel H. Steinberg, Daniel W. Palmer.

Team Project

Students are required to collaborate in teams of 4-6 people to undertake a significant software engineering project. The software project is structured as a collection of documentation and code deliverables.  This project requires a substantial amount of work, and demands good teamwork.  Here’s an example of a finished project.

Grading

Work in CS 115 is divided into two main components, each contributing 50% of a student’s grade:

  1. Individual work
  2. The term project, with associated deliverables for each project phase.

A necessary but not sufficient precondition for passing the course is passing both components.

The individual work component consists of the following parts:

·        Class participation: 10%

·        Paper reviews: 10%

o       Each of six reviews is worth 2%.  The lowest article review grade will be dropped at the end of the quarter.

·        Three in-class quizzes: 24%

·        Project reflection essay: 6%

There is no final exam. 

Article Review Submissions

Article reviews are due on paper at the beginning of class.  Late items receive no credit.

Project Deliverable Submissions

Project deliverables are due on paper at the beginning of class.  Documents are neat and clear, with proper English spelling and syntax is used throughout. This is worth 10% of each deliverable.

Each project deliverable must be accompanied by a group time recording log and group meeting notes.  Include in these notes: agenda of meeting, members present, discussion summary, time of meeting, location of meeting, members' roles (moderator, notetaker, time keeper)  during meeting. This is worth 10% of each milestone.

Project deliverables must also be checked into DForge/SVN (see Project Setup Guide) in an obvious place and in a common format (eg. HTML, PDF, PostScript, plain text). Handwritten or hand-drawn documents must be scanned.

Late items receive no credit. However, one project deadline can be missed without penalty (one "get out of jail free" possibility) if it is turned in at the next class.

Resubmission: To facilitate the project learning experience, any project deliverable can be re-submitted to recover up to half of the points lost on the original submission. The re-submission must be within a week from when the original submission was returned, and must include (1) the original, graded submission, (2) the new submission, and (3) a detailed description of the differences between the two versions.


Syllabus (subject to revision)

Wk

Date

Lecture

Homework

1

Jan 5

Intro, SE processes

 

2

Jan 10

What is software engineering

Read: Chapter 1
Review: Crisis
See review guidelines

Jan 12

Initial Presentations

Deliverable: project section
Deliverable: initial presentation

3

Jan 17

Requirements

Review: Paper prototyping

Jan 19

User interfaces

Deliverable: Scenarios

4

Jan 24

Quiz 1

Review: Decomposing

Jan 26

Architecture

Deliverable: Requirements
Read: Chapter 2

5

Jan 31

UML

Read: Practical UML

Feb 2

Design patterns

Review: Software inspections

6

Feb 7

Software inspections

Deliverable: Design

Feb 9

Design presentation Carcgame

Review: Design Patterns

7

Feb 14

Design presentation Victory and Throne

 

Feb 16

Design presentation Kraterbikes

Deliverable: Time and risk estimates

8

Feb 21

Guest lecture: Stephen Freund

Review: Aging

Feb 23

Quiz 2

 

9

Feb 28

Testing

Deliverable: User manual
Deliverable: Software inspections
Read: Chapter 8 on testing

Mar 2

Testing 2

Review: No Silver Bullet

10

Mar 7

Aging, Agile processes

Deliverable: Unit tests
Review: The New Methodology

Mar 9

Quiz 3

 

11

Mar 14

Final presentations
Kraterbikes
MintyFresh

 

Mar 16

Final presentations
Carcgame
Battleballz

 

 

 

 

Deliverable: Acceptance Tests

Carcgame: 11am Mar 27th, Cowell Apartment PC/Mac Lab

MintyFresh: 11am Mar 17th, BE 109

Kraterbikes: 6pm Thursday 16th BE 109

BattleBallz: Mar26th  Cowell Apartment PC/Mac Lab. What time??

Deliverable: Final Notebook

Individual Project reflection

 

Additional documents

·        Project Setup Guide

·        Argo UML Quick Guide

·        Argo UML Manual

·        Teamwork Guide written by Ed Parrish

·        Groups That Work More on groups, with tips for how to identify and resolve group problems

Academic Dishonesty

Any confirmed academic dishonesty including but not limited to copying another's homework or article review, cheating on exams, and copying project work without giving credit to the author of the work products, will result in a no-pass or failing grade. Students are encouraged to read the campus policies regarding academic integrity.

Uneven Contributions by Group Members

Occasionally, one or more group members contribute less effort to the project than others. In CS 115, this is viewed as a management challenge: how to motivate and coordinate under-performing team members. Groups experiencing this problem are encouraged to meet with the Professor or TA to discuss management tactics.

If, at the end of the quarter, multiple managerial approaches have been tried without success, it is possible to ask the Professor to assess the relative contributions of each team member. The Professor sends out an email questionnaire asking each member to rate the relative contributions of every team member (including themselves) by dividing 100 points among all team members. For example, if there are four team members, and each member contributed equally, each would receive 25 points. Based on this data, the Professor may, at his discretion, modify the total project grades of one or more team members.

Note that if no effort was made to attempt managerial solutions to the problem, then no reassessment of course grades will be permitted. This reflects the viewpoint that the situation reflects a failure to address an obvious managerial problem, as well as the failure of some team members to contribute their share of the work.