Software Engineering Institute Carnegie Mellon

COTS-Based Systems
EPIC Home
EPIC Overview
EPIC phases
EPIC Activities
EPIC Artifacts
EPIC Executable Representations
Integration of Software-Intensive Systems
Performance-Critical Systems

Executable Representations

return to CBS main page

Each EPIC iteration assembles an Executable Representation of the solution that exhibits the common understanding of the solution that has been achieved among affected stakeholders to that point and demonstrates the adequacy of the solution to meet the iteration objectives.

An Executable Representation is computerized; as a user changes inputs, the model changes appearance or behavior

Representation is a representation or model; the user inputs affect only selected aspects of the eventual system

An executable representation is essential to reduce the risks due to misunderstandings or unforeseen technical and operational factors.

In early iterations, the Executable Representation may be a mock-up of critical stakeholder needs. In later iterations, the Executable Representation is a prototype reflecting the architecture. It may evolve to become the fielded solution. This prototype includes an ability to test the necessary infrastructure and any other systems with which the solution must interact. In addition, the Executable Representation for each phase must be sufficient to explore the end-user business processes inherent in the solution.

EPIC divides the system lifecycle into four phases matching those of RUP. The Executable Representation has different forms in each phase:

Inception

Elaboration

Construction

Transition

Build and test proof of concept(s)

Build and test an architectural prototype

Build and test the solution

Build and test releases of the solution

Demonstrate the approach to the critical use cases

Demonstrate stability in requirements and architecture

Demonstrate maturity sufficient to be fielded to users

Demonstrate continued functionality

Prototype the needed changes to the end user’s business process

Implement the needed changes to the end user’s business process

 

Make any needed existing infrastructure and external interfaces changes

 

Varieties of Executable Representations