CSCI 630
Software Engineering
Fall 2007
Final Exam Review Topics

Software Engineering
Definition
Process
Methodology

CRC Cards -- Class, Responsibilities, and Collaborators
Basic design technique
How to create

Software Engineering Process
Agile tecniques

Risk Management
Risk versus opportunity
Components of risk
Risk mitigation
Risks specific to software

Unified Modeling Language
Basic concepts
Motivation
Basic components

Quality
Definition
Components
Quality assurance
Edward Deming's 14 points (just the basic idea behind them)

Software Metrics
Why measure
What to measure
Steps for creating a metrics program

Capability Maturity Model (CMM)
Basic idea
Problems

Peopleware (lecture notes online)
Definition
Importance
Managing people
Flow/concentration/productivity/time to think
Work environment
Employee abuse
Employee turnover
Quality and deadlines
The right people
Teams
Change

Pragmatic Programmer (lecture notes online)
Basic ideas
Basic philosophy

Elements of programming style (lecture notes online)
Concept of programming style
Aspects of programs where programming style is important

Cost estimation
Forecast vs. projection
Tasks to be estimated

Abilene Pradox
Definition
How it applies to software engineering

Office Space
Bad management
Work environment