Introduction to Software Engineering


 * /Preface/

Software Engineering

 * /Introduction/
 * /History/
 * /Software Engineer/

UML

 * Introduction
 * Models and Diagrams
 * Tools: Modelling and Case
 * Labs

Process & Methodology

 * Introduction
 * Methodology
 * V-Model
 * Agile Model
 * Standards
 * Life Cycle
 * Rapid Application Development
 * Extreme Programming
 * Personal Software Process
 * Tools: Process
 * Labs

Planning

 * Requirements
 * Requirements Management
 * Specification
 * Tools: Planning
 * Labs

Project Management

 * Introduction
 * Software Estimation
 * Cost Estimation
 * Development Speed
 * Tools: Project Management
 * Labs

Architecture & Design

 * Introduction
 * Design
 * Design Patterns
 * Anti-Patterns
 * Tools: Architecture
 * Labs

Implementation

 * Introduction
 * Code Convention
 * Good Coding
 * Documentation
 * Tools: Compiler
 * Tools: Debugger
 * Tools: IDE
 * Tools: GUI Builder
 * Tools: Source Control
 * Tools: Software Documentation
 * Labs

Testing

 * Introduction
 * Unit Tests
 * Profiling
 * Test-driven Development
 * Refactoring
 * Tools: Testing
 * Tools: Code Coverage
 * Tools: Profiling
 * Labs

Software Quality

 * Introduction
 * Static Analysis
 * Metrics
 * Software Package Metrics
 * Visualization
 * Code Review
 * Code Inspection
 * Tools: Static Code Analysis
 * Labs

Deployment & Maintenance

 * Introduction
 * Maintenance
 * Evolution
 * Tools: Build Tools
 * Tools: Continuous Integration
 * Tools: Bug Tracking
 * Labs

Re-engineering

 * Introduction
 * Reverse Engineering
 * Round-trip Engineering
 * Tools: Decompiler
 * Tools: Obfuscation
 * Labs

Other

 * Introduction

Appendices

 * /Glossary/
 * /Resources/
 * /Authors/
 * Licensing