The schedule will be updated throughout the semester as needed.


Week BeginningDescriptionHomework Due - All homework due in class unless otherwise stated.Slides
1/23/2008Class  overview, Project overview

- Pressman: Ch 1: Software engineering overview
- Booch: Ch 1: Why we model
- Booch: Ch 2: Introduction to UML
NoneIntroductionToUML
Ch01.ppt
1/30/2008- Introduction to VioletUML
- Booch: Ch 17-18 Use Cases
Team: Team Formation

Picture Assignment on Blackboard
HW#1 : Pressman ch 1 exercises: 5, 6, 11
UseCases.ppt
UseCaseTemplate
UseCaseDiagram
UseCaseExample
2/6/2008- Pressman: Ch 2: Software Process

- Booch: Ch 4: Classes (Class Diagrams)
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.
CMMI Case Study
Ch02.ppt

Class Diagrams
We-Grow Descrption
FleckWeGrow
2/13/2008- Pressman: Ch 7: Requirements
- Pressman: Ch 3: Prescriptive Software Models
- Pressman: Ch 4: Agile Methods
- Extreme Programming
- Discuss the SRS
Team:  Project statement

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. 
Ch 7
Ch 3
Extreme Programming
Ch 4
2/20/2008- Do the planning game
- Pressman: Ch 5: Software Practices
- Booch: Sequence Diagrams
HW#4:
1. Explain the differences between the spiral model and the iterative model of software development
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 5
Sequence Diagrams
2/27/2008- Pressman: Ch 8: Analysis Modeling
- Booch: Ch 16: Interaction Diagrams
Team: Software requirements specification
Ch 8 - Analysis Modeling


3/5/2008Midterms!

Software Leadership
None
Software Leadership

Review

Some Review Questions 
3/12/2008Spring Break!!
Go to the beach!
3/19/2008- Pressman: Ch 9: Design Engineering
- Booch:
HW#5: Pressman ch 5 exercises: 4, 10, 13CRC Modeling

Design
3/26/2008 - Pressman: Ch 21: Project Management
- Booch:
HW#5: :
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


Project Management

ScheduleExample.pod
4/2/2008- Pressman: Ch 22: Software Metrics 
- Booch:
Team: Software high level design. 
Ch 22

Cyclomatic Complexity
4/9/2008- Pressman: Ch 13: Testing Strategies
- Booch:
Team: Implementation Schedule
HW#6: Pressman ch 21: exercises 6, 7

V&V
4/16/2008- Pressman: Ch 14: Testing Techniques
- Booch:
Team: Project metrics

Pressman ch 22: exercises: 5, 12
Testing Techniques

Unit Testing
4/23/2008 Other topics in SWE

Team:  System/Integration Test Cases

Final Essay Revision Due Today. No essays will be accepted after this date!

HW#7: 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.
Refactoring

4/30/2008Final Exam Review and Team Presentations

Team: Final project including all revised documents
Individual: Team evaluation and description of lessons learned in the group project
Final Review

Final Review Slides