Implementation

2 min read Updated Mon Jun 08 2026 01:02:45 GMT+0000 (Coordinated Universal Time)

The process of realizing the design as a working program.

Reuse

Use existing components, objects, or systems where possible.

Levels:

  • Abstraction — reuse of design knowledge (e.g., patterns).
  • Object — reuse of library objects directly.
  • Component — reuse collections of objects/classes.
  • System — reuse entire applications.

Reuse costs: search time, purchase cost, adaptation cost, integration cost.

Configuration Management

The process of managing a changing software system. Supports controlled access, change tracking, and component integration.

Activities:

  • Version management — track component versions; coordinate multi-developer work.
  • System integration — define component versions per system build; automate compilation and linking.
  • Problem tracking — report bugs; track resolution status.

Host-Target Development

Software developed on a host, executed on a separate target. A platform includes OS, database systems, and (for development) an IDE. Host and target platforms often differ in architecture and installed software.

Development Platform Tools

Standard tools in a development environment:

  • Integrated compiler + syntax-directed editor.
  • Language debugger.
  • Graphical editing tools (e.g., UML editors).
  • Testing tools (e.g., JUnit).
  • Project support tools.

IDE (Integrated Development Environment) — unified toolset supporting multiple aspects of development under a common interface. Typically language-specific.

Component Deployment

Factors:

  • Hardware or software dependencies → must deploy on matching platform.
  • High availability → deploy on multiple platforms for failover.
  • High inter-component traffic → co-locate components to minimize latency.
Was this helpful?