Home Page   We Generate Your Software.
Products Services Company Technology Demo Contact Site Map Search
The Somusar/SoProTech[tm] Booklet Series
Volume II

"somusar/SoProTech: A Sample Project"

Printer friendly

1. Introduction
2. Sample Project Entities
3. Sample Project Mold Kit
4. Project Conventions
5. Exercise 1: Adding Field currency to Entity country
6. Exercise 2: Adding Entity "company.ef"
7. Exercise 3: Changing all SQL Scripts and all HTML Forms
7.1 Request For Change
7.2 Change Impact Analysis
7.3 Change Implementation
7.4 Actual Change Impact
8. Further Reading
Appendix A - Project Entity Files
Appendix B - Library Entities

Chapter 7 - Exercise 3: Changing all SQL Scripts and all HTML Forms

In the third exercise a set of cross-layer changes is applied that impacts several entities, if not all, of the sample project. This simulation aims at showing how the Somusar/Software Molds[tm] can support software developers in managing the evolution of requirements and conventions, that can possibly impact a large part of a software system.

7.1 - Request For Change        top

A set of new requirements is submitted to the project team by the customer's project manager who is responsible for the application. The new requirements impact:

  • All generated files that contain an SQL create table script;

  • All HTML forms to edit/view entities, that is, all UI.full_views.

In particular, all not null clauses should be deleted from the SQL scripts, whereas all members of all collections DB.null should preserve the correspondent null clause. The details of the new requirements for the user interface are as follows:
  • A vertical bar should be added on the right side of each form, to display a hot link area on the top, and some advertising below it;

  • The buttons row at the bottom of each form should be replaced by a row of hyperlinks, with the same label and function;

  • The new hyperlinks row should be replicated at the top of the form, under the form description;

  • A new set of colors should be used.

7.2 - Change Impact Analysis        top

The project team evaluates the request for change and the analysis shows that no entity is impacted by the request for change: only local changes to two molds are required, then all files can be re-generated using the SoProMach[tm].

7.3 - Change Implementation        top

The DB expert of the team quickly realizes that the new SQL requirement can be met by changing just three lines in one mold script, namely toolkit/sql/column.

The web page designer, using his or her favorite tool, updates the generic HTML reference page, which is then approved by the customer's project manager. The HTML source of the new reference page is then compared with the previous one, and the required textual changes are integrated in script "file.hdr" of mold "UI/mold4-.html". A set of generation flags - such as COLORSCHEME and ADVERTISINGVERTBAR - are locally added to the script, to increase its flexibility and ensure that it be backward compatible. Comments are locally added, to document the changes in the molds, then the SoProMach[tm] is started.

Once again, in about seven seconds all files are re-generated. A comparison with the previous version confirms that no undesired changes have crept into the generated files, that can now be integrated in the project source tree.

7.4 - Actual Change Impact        top

All SQL files of layer DB, as well as all HTML files of layer UI are impacted by the change. As an example, the new versions of "DB/company.sql" and "UI/employee.html" are shown below.

Code Example 9 - New version of "DB/company.sql"
In the new "company.sql" SQL clause "not null" have disappeared from lines 6-9, 11-12 and 14.
Source code - File "company.sql"
    1      --
    2      -- This SQL script created by somusar/SoProMach[tm]
    3      --
    5      create table company (
    6          companyname               varchar(40),
    7          departmentsdeptid         varchar(10),
    8          headquartersstreet        varchar(80),
    9          headquarterscity          varchar(80),
   10          headquartersstate         varchar(40) null,
   11          headquarterszip           varchar(20),
   12          headquarterscountryname   varchar(40),
   13          headquarterswebsite       varchar(80) null,
   14          business                  varchar(200),
   15          constraint pk_company     primary key    (companyname)
   16      )
   17      ;

Figure 9 - New version of "UI/employee.html"
Figure 9 - New version of <tt>"UI/employee.html"</tt>

As a comparison term, the former version of "UI/employee.html" is shown in the following figure.

Figure 10 - Former version of "UI/employee.html"
Figure 10 - Former version of <tt>"UI/employee.html"</tt>

[Previous chapter]    [Next chapter]    [Back to top]

http:// www.somusar.com  / doc  / booklets  / sample_proj  - Powered by SoProMach
Copyright © 2003-2012 Somusar - Trademarks - Legal - Privacy - Webmaster