Up to now, SAIT has used the standard SA/SD methodology. Under this framework, some tools were experienced in a previous ESSI project (Case with generation limited to headers and procedures declaration) but three limitations became apparent, which SAIT hopes to alleviate in the current ESSI project, and thereby improve the development costs and the reliability of the software by:
- Analysis based more on objects than on functions
- More code generation on both server and client, including DML SQL.
- More design and code reusability.
To achieve the aforementioned objectives, Analysis and Design will be guided by the OMT methodology (mainly along the object and dynamical axes). Code generation will be achieved in an integrated way as well on the RDB server as on the GUI client. It was required that the code for the majority of transactions (Query and Report, Insert, Modify and Delete) should be generated mostly automatically. Hence, hand coding should be restricted to complementary handling such as logging, special constraints, computations, and more complex transactions. Finding a CASE tool supporting all these requirements as well as being produced from a well known supplier proved to be difficult. Therefore, a two step process was considered. First, OMT Analysis and Design is worked out under Verilog OMT Project Partner (but with limited code generation capability). Then, the result of this step is mapped onto Oracle Case extended generation code capability (but not yet of an OMT flavour). Classes and attributes will be mapped onto the entity relations while operations will be mapped onto stored packages, and the hand coding on triggers and dedicated packages. Reusability will be considered via OMT generalisation/specialisation mechanism and mapped for the lower level of objects onto dedicated packages under the guidance of object reuser tooling. This methodology will be applied on a new version of a Flight Information System restricted to the GUI client and DB server but exclusive of the Display client.
EXPECTED IMPACT AND EXPERIENCE
SAIT hopes thereby to:
- reduce drastically (hopefully by 250 %) the development cost of the software, which is not connected with algorithms, rules or specialised constraints;
- gain a better understanding of the internals of the application via OMT;
- reuse knowledge and code;
- improve the quality of its technical members.
Currently, the analysis and design are proceeding under OMT for Flight Information System. Extension of existing structures would have been a "natural and easy" way of thinking under SA/SD methodology. However, OMT methodology constraints us to go back to the fundamentals in spite of the ingrained previous SD/SA solution. We are also starting to realise that trying to use automated code generation and reusability everywhere is not that easy. Most likely, we expect that the basic parts of the software will favour the latter, while the part more specific to the application will favour the former.