The schedule will be updated throughout the semester as needed.


Week Beginning Description Homework Due - All individual homework is due on Blackboard by the  beginning of class on Thursday unless otherwise stated.

All Team homework is due in class on Thursday unless otherwise stated.
Slides
8/26/2008 Class  overview, Project overview

- Pressman: Ch 1: Software engineering overview
- Booch: Ch 1: Why we model
- Booch: Ch 2: Introduction to UML
None IntroductionToUML
Ch01.ppt
9/2/2008 - Pressman: Ch 2: Software Process

- Booch: Ch 4: Classes (Class Diagrams)
Team: Team Formation
Individual: Weekly Information Sheet
Individual: Picture Assignment on Blackboard

HW#1 : Pressman ch 1 exercises: 5, 6, 11
Ch02.ppt
CMMI Case Study

Class Diagrams
We-Grow Descrption
9/9/2008 - Requirements (Pressman Ch7), User Stories, and Use Cases (Booch Ch 17-18)

- Must meet with EDUC students this week

IndividualWeekly Information Sheet
Team: Meet with EDUC students, and turn in meeting minutes.

HW#2: Using the generic process framework in section 2.2 (page 24 in the Software Engineering book). Write a process description of your choosing and map your steps to the process framework steps. Pick a process that you can map at least one activity to each generic framework step. Include in your description for each process framework activity, a work task and the work product produced.

Ch 7

UseCases.ppt
UseCaseTemplate
UseCaseDiagram
UseCaseExample

9/16/2008 - Pressman: Ch 3: Prescriptive Software Models
- Pressman: Ch 4: Agile Methods
- Extreme Programming

9/18 Guest Speaker: Benjamin Booth on SCRUM in practice
Team:  User Stories - DRAFT
IndividualWeekly Information Sheet

HW#3: Create a class diagram for the Programmer Match system that identifies meaningful classes of objects in that problem domain and relationships among those classes. 

See Blackboard
9/23/2008 - Do the planning game

- JGame overview

- Ch 3

- Extreme Programming


Team: User Stories - Final
IndividualWeekly Information Sheet
RequirementsHomework.pdf
Ch 3

Extreme Programming

Ch 4
9/30/2008 - Pressman: Ch 8: Analysis Modeling

- Risk management

Team:  Risk List, Schedule for next iteration (two weeks)
IndividualWeekly Information Sheet

HW#5:
1. Explain the differences between the spiral model and the incremental model of software development. Give an example of a project that would be well suited for each model.
2. Provide 3 reasons you think requirements frequently get added, removed, modified.
3. How do agile approaches attempt to solve the problem of requirements constantly changing?
Ch 8 - Analysis Modeling

10/7/2008 Midterms!

10/9 -- Class cancelled!


Team: Meet with EDUC students, and turn in meeting minutes in class on THURSDAY 10/16.
Review
10/14/2008 No Tuesday class this week

Midterm Review
IndividualWeekly Information Sheet

10/21/2008 - Pressman: Ch 21: Project Management
Team: Design, Updated Risk List, Schedule for next iteration (three weeks)

IndividualWeekly Information Sheet

Project Management

ScheduleExample.pod

CRC Modeling
CRC ATM Sample
CRC Hangman Sample
10/28/2008 - Booch: Sequence Diagrams

- Pressman: Ch 13: Testing Strategies
Team: Begin programing.. nothing due
Individual
Weekly Information Sheet

HW#6:
1. Pressman exercise 5.9
2. Pressman exercise 7.5
3. Draw a context level model (level 0 DFD) for automated cookbook built in to a microwave.
4. Pressman exercise 8.11
Sequence Diagrams
(PDF)

Testing Techniques
11/4/2008 - Pressman: Ch 14: Testing Techniques
(Continued from previous week)
Team: Prototype UI
Individual: Weekly Information Sheet
Unit Testing

JUnit SampleCode
11/11/2008 - Software Leadership Team: Test Cases, Updated Risk List, Schedule for next iteration (three weeks)
IndividualWeekly Information Sheet

HW#7: Pressman ch 21: exercises 6, 7

Software Leadership
11/18/2008
- Pressman: Ch 22: Software Metrics
Team: Meet with EDUC students, and turn in meeting minutes.

Individual:  HW#8: Pressman ch 22: exercises: 5, 12

Ch 22

Cyclomatic Complexity
11/25/2008 Thanksgiving -- No Thursday class this week
 
- Pressman: Ch 9: Design Engineering

Other topics in SWE
- Refactoring?

Team: FindBugs report on your project -- This can be turned in on Tues or with your final project submission the last week of class.

Individual: Final Essay Revision Due Today (Nov 25th). No essays will be accepted after this date!

HW#9: Pressman ch 13: exercises 3, 4

FindBugs (http://findbugs.sourceforge.net/) is a static analysis tool. For this homework, go to the Bug Descriptions on the FindBugs website. Find a bug description that represents a bug that, without using FindBugs, would be considered a runtime problem that could be found using traditional system testing. (Traditional system testing is black-box testing.) For that bug provide the description from the FindBugs website, and your own interpretation of what that means. I only expect one or two sentences here.

Repeat the above process for:
a. A coding or logic problem that could not be found by traditional system testing
b. A performance problem that may or may not be detectable by system testing

Can FindBugs be used instead of testers? Should FindBugs be used at all? Explain.
Design

Refactoring


12/02/2008 Final Exam Review and Team Presentations

Team: Final project including all revised documents and source code (see project description)
Individual: Team evaluation and description of lessons learned in the group project,
Individual
Weekly Information Sheet
Final Review

Final Review Slides
12/11/2008 FINAL EXAM Thurs. 12/11 10:30 a.m.–1:15 p.m. Same classroom