| Week |
Day |
Date |
Discussion Topic |
Reading* |
Projects |
Slides |
| 1 |
T | 01/16 |
Introduction |
McC 1-2
|
|
pdf |
| R | 01/18 |
Software management |
McC 28.2
Wingerd: SCM Best Practices
Gnu: make (Ch 2-7,10)
subversion (Ch 2-4)
|
P1: code management |
pdf
Q&A |
| 2 |
T | 01/23 |
Quality
Quality Assurance
|
McC 3.1, 20
Rakitin: What is Quality?
Rakitin: What is Software Quality Assurance?
Kampe: What is a Post-Mortem?
Kerth: Anatomy of a Retrospective
|
|
pdf
Q&A |
| R | 01/25 |
S/W Process Models |
McC 1
Wiki: Process Activities (that section only)
Wiki: Waterfall Model
Wiki: Iterative models
Wiki: Rational Unified Process
|
|
pdf
Q&A |
| 3 |
T | 01/30 |
Agile Process, XP |
McC 3.2
Big Requirements up Front
Wiki: Agile Process
Wiki: eXtreme Programming
Wiki: XP practices
|
|
pdf
Q&A |
| R | 02/01 |
Team Structure, Dynamics, Processes |
McC 21.1-2, 28.1, 28.5, 33
Kampe: Project Work Partitioning
Williams: Pair Programming
Rosenberg: Problems w/Pair Programming
CACM: Global Software Development(ref)
|
P2: Requirements |
pdf
Q&A |
|
| 4 |
T | 02/06 |
Requirements |
McC 3.3-4, 4
Wiki: Requirements Analysis
Kampe: User Requirements
Wiegers: Requirements Traps
Wiegers: Prioritizing Requirements
| |
pdf
ppt
Q&A
|
| R | 02/08 |
Users, Roles, and Use Cases |
Sisson: User Characterization
Nielsen: Task Analysis
Wiegers: Developing Use cases
Wells: User Story Cards
UML use case diagrams
|
|
pdf
ppt
Q&A |
| 5 |
T | 02/13 |
System Models (behavioral) |
Wiki: UML introduction
UML activity diagrams
UML interaction diagrams
UML state diagrams
|
|
pdf
ppt
Q&A
|
| R | 02/15 |
System Models (structural) |
UML class diagrams
UML package diagrams
UML object diagrams
UML component diagrams
|
requirements elicitation |
pdf
ppt
Q&A
|
| 6 |
T | 02/20 |
System Models (analytical & prototypes) |
Kampe: Why we model
Ambler: Agile Modeling Principles
|
requirements elicitation |
pdf
ppt
Q&A
|
| R | 02/22 |
U/I Design |
usability.net: User Centered Design
Talin: U/I Design Principles
Nielsen: Web U/Is are different from GUIs
Butler: Web U/Is aren't different from GUIs
Withrow: Content Architecture
Relationship Navigation Analysis(ch 4-5)
Wiki: Usability Testing
Kampe: CLI Design
|
|
pdf
ppt
Q&A |
| 7 |
T | 02/27 |
Principles of Architecture |
SEI: S/W Architecture (modern)
McC 3.5-6
McC 5
|
P3: Design |
pdf
ppt
Q&A |
| R | 03/01 |
Evolving an Architecture |
Zubek: Much Ado About Patterns
Garlan: Intro to S/W Architecture (ch 1-3)
Foote: Big Ball of Mud (Intro - Piecemeal)
|
|
pdf
ppt
Q&A |
| 8 |
T | 03/06 |
Component Designs |
McC 6, 7,9
| |
pdf
ppt
Q&A |
| R | 03/08 |
MID-TERM EXAM |
all the above |
|
info |
9 |
T | 03/13 |
SPRING BREAK |
recommended reading
McC 10, 12-19 |
| R | 03/15 |
| 10 |
T | 03/20 |
Maintainability |
McC 11,30.2, 31,32
JavaDoc
|
|
pdf
ppt
Q&A |
| R | 03/22 |
Robustness |
McC 8
Kampe: HA taxonomy
Kampe: S/W HA
|
|
pdf
ppt
Q&A |
| 11 |
T | 03/27 |
Testability & Test Cases |
McC 22
Bach: Testability
Berteig: Good Test Cases
Wiki: Black Box testing
Parekh: White box testing
Cornett: Code Coverage
|
|
pdf
ppt
Q&A |
| R | 03/29 |
Integration Strategy
Testing Methodology
|
McC 29
Kampe: Integration Strategy
Fowler: Continuous Integration
Kampe: The Train Model
Wiki: Software Testing
Wiki: Test Driven Development
Kampe: Test Harnesses
|
|
pdf
ppt
Q&A |
| 12 |
T | 04/03 |
Design Reviews |
McC 21.1,21.3-4
Wieger: Inspections
Wieger: Peer Reviews
Wieger: 7 Deadly Sins
|
P4: Test Plan |
pdf
ppt
Q&A |
| R | 04/05 |
Bugs & Debugging |
McC 23
Wiki: Defect Tracking
Black: writing a bug report
Bugzilla Manual (sections 5.3-5.13)
|
|
pdf
ppt
Q&A |
| 13 |
T | 04/10 |
System Testing
Performance |
McC 24-26
Wiki: System Testing
Scenario Based Testing
Kampe: Load & Stress Testing
Kampe: Testing and Bug Discovery
Kaner: Release Phases
Rothman: Release Criteria
Gnu: Gprof
Solaris: TNF tracing
|
|
pdf
ppt
Q&A |
| R | 04/12 |
Task Estimation and Risk Assessment |
McC 27, 28.3
Kampe: S/W Estimation Principles
Wiki: COnstructive COst MOdel
Peters: S/W Project Estimation
Wiegers: Risk Assessment & Management
|
|
pdf
ppt
Q&A |
| 14 |
T | 04/17 |
Project Scheduling and Tracking |
Kampe: SMART Milestones
Wiki: Gantt Charts
Wiki: PERT Charts
Wiki: Work Breakdown Structure
Wiki: Earned Value Analysis
Idiot's Guide to Open Workbench
|
|
pdf
ppt
Q&A |
| R | 04/19 |
Project Management
|
Francis: Effective Management
Wiki: Project Management
Wiegers: Successful Project Management
Junk: Cost, Schedule, Features & Quality
|
P5: Design Review |
pdf
ppt
Q&A |
| 15 |
T | 04/24 |
Metrics and
Process Improvement |
McC 28.4
Wiki: Process Improvement
Wiki: Best Practices Benchmarking
Wiki: Capability Maturity Models
Wiki: Root Cause Analysis
Wiki: Six Sigma
Wiki: ISO 9000
Wiki: Software Metrics
Kaner: SWE metrics
|
|
pdf
ppt
Q&A |
| R | 04/26 |
FINAL EXAM |
everything since midterm |
|
info |
| 16 |
T | 05/01 |
final comments |
course evaluation (counts as a quiz) |
design review |
| 17 |
F | 05/11 |
|
|
P5 due |
I realize that I am assigning a great deal of reading for this class.
You should realize that:
If you decide that you are interested in going deeper into some of these
subjects, or exploring related subjects that didn't quite make the cut
for this course, I have tried to assemble a collection of good papers that can
help you take the next step in understanding. These are not assigned
reading and I will not base test questions on their treatments.