'''Development Process Model:''' 1. Prototype: Build a prototype that proves the concept and embodies all or part of the understood problem solution but no more than that. Observe: DoTheSimplestThingThatCouldPossiblyWork 2. ReverseEngineer: Create and modify requirements and design from the prototype and user feedback. This creates the documentation. 3. Refactor: Adjust implementation for clarity and simplicity of design. 4. Test: UnitTest and IntegrationTest until the SoftwareEngineer''''''s are happy. 5. Validate: BlackBoxTest in the user environment until requirements are covered. In large scale projects, the DivideAndConquer principle is applied before attempting to prototype, if possible. The objective is to produce a comfortable chunk that is practical to prototype. The process is recursive until this comfort objective is felt for each subcomponent. In VeryLargeScale systems, the need to prototype a MetaModel may be present. Complexity of inter-relationships of components may present a significant case. Here, a MetaModel realized by a collection of TestStub''''''s that simulate portions of the ExternalBehavior as presented to the interface (such as message timings) may be desirable. For example, a function that draws a complex shape or queries a complex database may return a message when completed. The granular level is only interested in the completion message. Putting in a test stub with a simple pseudo-random number generator to produce reasonable reply timing may be sufficient to test functionality of the MetaModel as realized in code. --KirkKitchen ----------- CategoryAnalysis