Component Model Methodology
Here are the guidelines for understanding the problem of and developing specification for the Component Model.
- Capture requirements as use cases;
- Study use cases and extract a set of desired properties for these use cases;
- Come with a design that satisfies all desired properties;
- Extrude building blocks out of the design;
- Write specification draft(s) for the building blocks;
- Cultivate implementation feedback:
- Provide experimental implementation(s) for the building blocks;
- Seek feedback from the use case audiences;
- Incorporate feedback into specification.
- Write a test suite.
- Iterate until success criteria is reached.
- The use cases:
- reasonably cover a set of component model needs on the Web.
- The properties:
- completely describe the set of use cases;
- are orthogonal to each other.
- The building blocks:
- satisfy all desired properties;
- follow the component model design principles.
- The specification:
- is a complete set of requirements for all building blocks and corner cases, discovered during implementation;
- The test suite:
- provides coverage for each requirement in the specification.
- Reuse existing mechanisms as much as possible, gently extending them if necessary;
- Study popular patterns in existing Web frameworks and pave the cowpaths when appropriate;
- Encourage each building block to stand on its own merits.