|Foundation Layer(FL) User's Guide - software construction process
Let us examine the software construction process based on FL in more details.
The following persons usually take part in a project:
A typical scenario of software construction process and interaction between the project members looks like the following:
- Customer formulates specifications needed;
- Analyst creates the analytical model of problem domain;
- System Architect and Designer constructs an object oriented design model of the application;
- Programmer implements the functionality of the application classes and external attributes of the application: graphical interface and, perhaps, servlet's functionality.
Only Programmer uses FL in the project's development process.
The person first participating in the project is the Analyst. In the first step together with the Customer, he or she creates an Analytical Model - the basic document of the project. It describes the concepts of the problem domain and their relations roughly in terms that Customer can easily understood. As stated above the Analyst can use the other types of UML diagrams in addition to the class diagrams, for instance - use case, state, collaboration diagrams for documenting of project but these diagrams are ignored by FL generator. The documentation of project could be used on all stages of the development: for interactions with the Customers, for analysis/design review cycles, by operations coders, by GUI designers.
In the next step the System Architect and Designer create a Design Model - the main document of the project. It describes the model of application in UML class diagrams. This collection of class diagrams describes the structure of classes of the application, their attributes, relationships, and operations. The part of Design Model intended for code generation of persistent classes has to be created in accordance with the FL generator requirements. Otherwise FL generator cannot generate code.
Third step is the last in every cycle - in this step the Programmer creates the working code of the application. The Programmer receives the Design Model prepared in Rational Rose by the System Architect and Designer in the form of a Graph of Classes. The FL generator automatically generates code of these classes including attributes, relationships, and getter and setter methods for access to them. The Programmer has to implement the remaining part of these Classes - the methods operating with data related to application logic. Then the Programmer implements a user interface for the application. At last, he prepares UI Prototype for the Customer.
From this point new cycle of application development process starts. In the process of interaction with the Customer and the Analyst new requirements that cause changes in Analytical and Design Models appear. Then Programmer uses FL to generate new code and adapts GUI code to generated code. It is a standard cycle of project implementation using FL.
Changes in Model are often much easier and more observable for developers than changes in code. Thus, FL makes Programmer's work easier. Programmer does not need to do tiring and monotonous modifications of code relating to database access. This increases the development speed and reduces the number of errors that may appear when database schema changes. To change database schema you only need to change Model, therefore changes are not scattered throughout the code.
FL Modeling Guide (62 K)