Implementation

2 min read Last updated Tue Jun 09 2026 03:05:56 GMT+0000 (Coordinated Universal Time)

Implementation realizes a 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 or classes.
  • System
    Reuse entire applications.

Costs of reuse:

  • Search time.
  • Purchase cost.
  • Adaptation cost.
  • Integration cost.

Configuration Management

Controls and tracks changes to a software system. Supports controlled access, change tracking, and component integration.

Activities:

  • Version management
    Track component versions and coordinate multi-developer work.
  • System integration
    Define component versions per system build. Automate compilation and linking.
  • Problem tracking
    Report bugs and track resolution status.

Host-Target Development

Software developed on a host, executed on a separate target. A platform includes the 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 and syntax-directed editor.
  • Language debugger.
  • Graphical editing tools, e.g., UML editors.
  • Testing tools, e.g., JUnit.
  • Project support tools.

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

Component Deployment

Factors:

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