The Object and Prototyping Oriented Life Cycle Model
The object and prototyping-oriented life-cycle model
The specification phase steadily creates new prototypes. Each time we are confronted with the problem of having to modify or enhance existing prototypes. If the prototypes were already implemented with object-oriented technology, then modifications and extensions are particularly easy to carry out. This allows an abbreviation of the specification phase, which is particularly important when proposed solutions are repeatedly discussed with the client. With such an approach it is not important whether the prototype serves solely for specification purposes or whether it is to be incrementally developed to the final product. If no prototyping tools are available, object-oriented programming can serve as a substitute tool for modeling user interfaces. This particularly applies if an extensive class library is available for user interface elements.
For incremental prototyping (i.e. if the product prototype is to be used as the basis for the implementation of the product), object-oriented programming also proves to be a suitable medium. Desired functionality can be added stepwise to the prototypes without having to change the prototype itself. This results in a clear distinction between the user interface modeled in the specification phase and the actual functionality of the program. This is particularly important for the following reasons:
• This assures that the user interface is not changed during the implementation of the program functionality. The user interface developed in collaboration with the client remains as it was defined in the specification phase.
• In the implementation of the functionality, each time a subtask is completed, a more functional prototype results, which can be tested (preferably together with the client) and compared with the specifications. During test runs situations sometimes arise that require rethinking the user interface. In such cases the software life cycle retreats one step and a new user interface prototype is constructed.
Since the user interface and the functional parts of the program are largely decoupled, two cycles result that share a common core. The integration of the functional classes and the user interface classes creates a prototype that can be tested and validated. This places new requirements on the user interface and/or the functionality, so that the cycle begins.
• This assures that the user interface is not changed during the implementation of the program functionality. The user interface developed in collaboration with the client remains as it was defined in the specification phase.
Since the user interface and the functional parts of the program are largely decoupled, two cycles result that share a common core. The integration of the functional classes and the user interface classes creates a prototype that can be tested and validated. This places new requirements on the user interface and/or the functionality, so that the cycle begins.
Posted in Computer Science, Information Technology, Software Engineering, Software Engineering |
