|M.Sc Student||Lyakas Alexander|
|Subject||Specification-Oriented Construction of Web Information|
|Department||Department of Computer Science||Supervisor||Professor Eliezer Kantorowitz|
In order to reduce software development costs, frameworks of ready-made software modules are often employed. In the traditional object-oriented (OO) approach, these modules are designed as abstractions of the application domain objects. Our study investigates the feasibility of the specification-oriented approach for framework design. Following this approach, introduced by Kantorowitz and Tadmor, the framework modules are designed to enable a direct coding of a use-case specification.
The goals of the current study were to achieve a higher level of similarity between the specifications and the code. WebSI (Web Simple Interfacing) is an experimental application framework, designed to enable manufacturing of Web-based, interactive, multi-user information systems. In order to make the code similar to use-case specifications, we designed WebSI to implement some of the abstractions employed in the use-case specifications. It was assumed that the essence of these abstractions is that an information system is modeled solely by the flow and processing of data. The components of WebSI attempt to hide code that is not directly related to the data flow and processing, such as user interface (UI) construction, database access code and Web-related technicalities. The result of these high-level abstractions is that WebSI services are declarative rather than operative. The WebSI programmer specifies what is the desired functionality, e.g., selecting a single item out of a set of items, rather than how this functionality should be implemented. The implementation of a declarative WebSI service is accomplished by a WebSI component, called the interaction style (IS). A particular IS may implement the item selection by a combo-box, while another IS may implement it by a set of radio buttons. Exchanging the employed IS requires no recompilation of the use-case implementation code. WebSI IS's are not application-dependent and may be reused in different applications.
Employing ready-made IS's saves the UI development effort and shortens the time required to deliver an application. Students used WebSI for the development of eleven Web-based information systems. They observed that the structure of the produced code was easy to understand and that it was easy to trace the code related to each use case. An unexpected result was that the UI's produced by WebSI in these student projects seemed to have a satisfactory usability. We believe that the high-level WebSI abstractions enabled the students to better focus on the essence of their applications, rather than on technicalities, and helped producing quality systems.