Software Process
Requirements, Specification (Analysis), Planning, Design (Architectural, Modules, Detailed), Implementation, Integration, Maintenance (Corrective, Adaptive, Perfective), Retirement, "Silver Bullet"
Software Life-Cycle Models
Build-and-Fix, Waterfall, Rapid Prototyping, Incremental, Spiral (risk assessment), SEI's Capability Maturity Model (CMM), ISO 9000, Various Military Standards
Tools
Stepwise Refinement, Cost-Benefit Analysis, CASE, Configuration Control, Build, Metrics
Testing Principles
Quality issues, Software Quality Assurance (SQA), Walkthroughs, Playthroughs, Inspections, Correctness Proofs, Evaluation (MECCA chart)
Objects
Module, Cohesion (7 types), Coupling (5 types), Data Encapsulation, ADTs, Information Hiding, Polymorphism, Dynamic Binding, Reuse
Requirements
Rapid Prototyping, Human Factors, Joint Application Design (JAD)
Specification
Structured Systems Analysis, Entity-Relationship Model, Finite State Machine
Planning
Cost Estimation, COCOMO, IEEE Project Management Plan, Training, Documentation, Gantt charts, Person-Loading Tables
Design
Data Flow Analysis, Transaction Analysis, Data-oriented Design, Jackson System Development, Warnier-Orr, Detailed Design, Real-time Systems, Data Dictionary, Pseudo-Code, Structured Specification, Performance Specification, Structure Chart, Failure Modes Effect Analysis (FMEA)
Implementation
Fourth Generation Languages (4GLS), Teams, Democratic Team, Classical Chief Programmer Team, Portability, Module Reuse, Test Cases, Black-Box, Glass-Box (White Box), Gray Box, Cleanroom, Distributed Testing, Real-time Testing
Implementation and Integration
Top-Down, Bottom-Up, Sandwich, Product Testing, Acceptance Testing, Toolkits, Integrated Environments
Maintenance
Fault Reports, Reverse Engineering
Future
Knowledge-Based Systems