TERMS USED IN SOFTWARE ENGINEERING

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