Design contract management protocols, or DCMP, address the capture
and design of formal requirements, ensure automation through repeatability
and enforcement, and promote governance. Using different design contract management
protocols provides different levels of management and control of the model
and the system. The choice of protocol also depends on the work environment,
time and required architectural control of the software development process.
You can use transformations and design contract management protocols to
create working code quickly and to modify existing code, if requirements change,
which means you can adapt to changing customer requirements. Using models
and DCMP, you can control the software application and produce working applications
very quickly in an agile development setting. This ability keeps the cost
of change low, while keeping the system agile and productive.
Design contract management protocols address the differences in development
types and styles. Using different protocols, you can develop highly usable
applications that help to produce the project on time according to customer
requirements.
Design contract management protocols provide a protocol to address ways
to represent software design intent, and then manage its relationship to a
corresponding implementation. Your attitude and philosophy regarding the development
process affects your decision on which protocol you choose. One or more of
these circumstances affect your decision:
- The development cycle stage
- The physical location of the development effort ( in-house, outsourced,
off-shore) and the business relationships among the teams involved
- The nature of the product and the regulatory environment in which the
software is developed
- The scope of the project and the estimated duration
The design contract management protocols codify different levels of rigor
and control in terms of how you might represent designs and manage adherence
to them. Five typical protocols are as follows:
- 3GL Visual Editing (Concrete Modeling)
- Conceptual Models Seed Concrete Models
- Mixed Modeling
- Reconciled Modeling
- Conceptual Models Drive Development