The process improvement experiment is aimed at introducing improved software development practices, with the emphasis on the introduction of methods to support the reuse of software, specifications and test packs between Chase's client-server implementations of CALM C/S and demonstrating productivity
The achievement of the above requires a review of the software development practices within Chase, and the implementation of methods as follows:
a) Analysis: Full and effective software reuse can only be achieved if attention is paid to reuse at the requirements analysis stage. Analysis will consider both the re-usability of components in later stages and the reuse of existing analysis deliverables.
b) Design The design approach will be object-oriented, focusing in particular on encapsulation to ensure that objects can be reused cleanly. Standard good programming practices, such as maximal cohesion, modular design, and minimal coupling between code modules, will be employed to help make software components more reusable
c) Development: Code of any description will be packaged into reusable 'chunks'. Each software component will be identified with one of the following three main 'domains': Presentation or user interface components, Problem or business components, System components. The aim of this partitioning will be to encapsulate the code for each type of component. Components of different types will interact with one another in appropriate ways. For example, where a user interface component needs to perform business functionality such as validation or manipulating data in the database it will do so by invoking the relevant function attached to a non-visual object, or by calling a stored procedure.
d) Testing: The possibility of developing re-usable test packs for each CALM C/S implementation and their applicability where changes are being made will be investigated.
EXPECTED IMPACT AND EXPERIENCE
As a result of this experiment it is expected that software development within Chase will be improved both in elapsed time (through re-using existing objects) and in quality as proven objects will be used in developments rather than redeveloped.