The schedule will be updated throughout the semester as needed.


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

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

- Ch 1: Software engineering overview

- Building a House

Top Jobs
None Ch01.ppt
9/7/2009 - Introduction to UML

- Ch 2: Prescriptive Software Process

- Appendix 1: Class Diagrams

Team: None
Individual: HW#0  Picture Assignment on Blackboard

HW#1 : Pressman ch 1 exercises: 5, 8, 10
Ch02.ppt

IntroductionToUML

Class Diagrams

BookstoreExample4.jpg

We-Grow Descrption
9/14/2009 - Requirements (Pressman Ch5), User Stories, and UML Use Cases 

Alistair Cockburn link

Team: Team Formation

HW#2: Using the generic process framework in section 2.1 (page 31 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 5

UseCases.ppt
UseCaseTemplate
UseCaseDiagram
UseCaseExample

9/21/2009 - Pressman: Ch 3: Agile Methods

- Extreme Programming

- Do the planning game -- DID NOT DO THIS FALL 2009... Yes, we did later in the semester.

- UML Activity Diagrams

Guest Speaker: Ben Booth


Team:  SRS - Use Cases

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. Do both parts one and two.
Ch 3

Extreme Programming

Agile In Practice

Activity Diagrams
9/28/2009
- Pressman: Ch 6-7: Analysis Modeling
       Includes: CRC Modeling, ERD,
       DFD, State Diagrams


HW#4: Swimlane diagram  In Blackboard go to Elluminate (from main CS421 page). Watch Activity Diagrams lecture (13 mins), turn in answers to questions I pose at the end (should take an additional 5 mins).

Ch 6-7 - Analysis Modeling

CRC Modeling
CRC ATM Sample
CRC Hangman Sample
10/5/2009 - Analysis continued

- UML: Sequence diagrams
Team:  SRS - Functional/Non-functional requirements


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?
Sequence Diagrams
10/12/2009
- No Tuesday class!

- Planning game

- Software leadership


Software Leadership
10/19/2009 MIDTERM EXAM

Review
10/26/2009
- Midterm Recap

- Finish software leadership

- Pressman: Ch 28: Risk management

- Pressman Ch 8 and 12: Design
HW#6:
1. Sequence Diagram:
  • Find a sequence diagram on the web, copy it into your homework (just copy the image, you do not need to redraw it)
  • Explain the scenario depicted briefly (this will be similar to the objective of a use case (1-2 sentences))
  • For each method in each class, write the method name, the collaborators for that method, and a brief sentence describing in english what that method does. (Get this info from the diagram!)
  • NOTE: Pick a diagram with at least two real classes (not actors) that depicts a real process, so your class names should NOT be "class1" or "sample1", etc... Overall you must document at least 5 methods... so make sure in total you end up with at least 5 methods.
2. Draw a state diagram for an automated cookbook built in to a microwave. Decide what capabilities you think it should have.

3. Pressman exercise 7.8
Ch 8 and 12: Design

Ch 28 (Risk Mgmt).ppt
11/2/2009
- Pressman: Ch 24: Project Management
- Pressman: Ch 27: Project Planning


Team: Design

Essay due this Thursday





Project Management

ScheduleExample.pod


11/9/2009
- Pressman: Ch 17: Testing Strategies

- Pressman: Ch 18: Testing Convential Applications
Team: Schedule

Essay review due this Thursday
Testing Techniques

Unit Testing
11/16/2009 - Testing Continued
Team: Prototype UI

HW#7: Pressman ch 17: 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.


11/23/2009
Thanksgiving Recess -- No Thursday class

- Pressman: Ch 25: Project and Process Metrics
Team: Test Cases --- can be turned in this week or the next. If you turn it in next week, you won't have abiity to revise test cases.

Ch 25

Cyclomatic Complexity
11/30/2009 Other topics in SWE
- Refactoring or others

Final Exam Review
Team: Test cases (if not turned in earlier)

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

Individual:  HW#8: Pressman ch 25: exercises: 5, 12
Bonus HW: Doing this will replace a homework grade: JUnit Homework


Refactoring
12/7/2009  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.
Final Review

Final Review Slides
12/14/2009 FINAL EXAM WEEK Thurs. 12/17 1:30 pm – 4:15 pm  (Tues/Thurs class)
Thurs. 12/17 4:30 pm – 7:15 pm  (Thurs class)
Normal classroom