Content area
This report presents an approach to building specialized computer-aided software engineering (CASE) tools for the development of information-calculating applications including computer aided accounting, business correspondence, statistics etc. These tools form an integrated development environment allowing the computer aided development of different applications in this field. The concept of the integrated development environment is defined as a set of tools and techniques allowing the design and development of software applications. This concept, previously used in procedural programming, has more recently proved to be a very important attribute for object-oriented programming. Integrated development environments traditionally include tools for the design and implementation of software systems, different libraries of classes, programming tools and program generators. The integrated environment which we consider in our report consists of a formula interpreter, a screen form generator and a specialized library of classes. The distinguishing features of information-calculating applications are the processing of a set of tables and the making calculations which can be conveniently represented by the tools of relational database systems. The implementation of software product was carried out using the Visual FoxPro database system and has been practically tested in a series of commercial applications concerning computer aided accountancy and business correspondence.
ABSTRACT
This report presents an approach to building specialized computer-aided software engineering (CASE) tools for the development of information-calculating applications including computer aided accounting, business correspondence, statistics etc. These tools form an integrated development environment allowing the computer aided development of different applications in this field. The concept of the integrated development environment is defined as a set of tools and techniques allowing the design and development of software applications. This concept, previously used in procedural programming, has more recently proved to be a very important attribute for object-oriented programming. Integrated development environments traditionally include tools for the design and implementation of software systems, different libraries of classes, programming tools and program generators. The integrated environment which we consider in our report consists of a formula interpreter, a screen form generator and a specialized library of classes. The distinguishing features of information-calculating applications are the processing of a set of tables and the making calculations which can be conveniently represented by the tools of relational database systems. The implementation of software product was carried out using the Visual FoxPro database system and has been practically tested in a series of commercial applications concerning computer aided accountancy and business correspondence.
Key Words: CASE tools, programming technique, accounting applications
(ProQuest: ... denotes formula omitted.)
INTRODUCTION
One of the main features in the development of software products in the last decade is the emergence of a variety of efficiency improving applications of object- oriented technologies. Among them are CASE tools [1], design patterns [2], investigations of object-oriented modeling languages [3,4] and many similar projects. Many of these projects have a generalized approach and they usually ignore or do not adequately represent the specifics of individual subject areas, forcing developers of specialized applications to use cumbersome and inadequate tools. On the other hand, excessively narrow specialization of technological tools in most cases condemns them to a single use, after which they are discarded. Therefore, we need to look for approaches that provide a flexible combination of versatility with specialization on the basis of class selection, which brings together many of these specialized tasks, and allows the building of an integrated development environment for a set of related applications. This report represents one such approach, focusing on the construction of CASE tools for the design and development of the information-calculating applications. The distinguishing features of this class of problems are the processing of a set of tables and the making calculations which can be conveniently represented by the tools of relational database systems.
THE SPECIALIZED INTEGRATED DEVELOPMENT ENVIRONMENT
The concept of the integrated development environment is defined as a set of tools and techniques allowing the design and development of software applications. This concept, previously used in procedural programming, has more recently proved to be a very important attribute for object-oriented programming. Integrated development environments traditionally include tools for the design and implementation of software systems, different libraries of classes, programming tools and program generators. We propose a new specialized integrated development environment for informationcalculating applications. This environment consists of a formula interpreter, a screen form generator and a specialized library of classes. The implementation of all these components was carried out using the Visual FoxPro database system [ 5 ] and has been successfully tested on a series of commercial applications for accounting and business correspondence tasks.
THE FORMULA INTERPRETER
Many tasks related to calculations are characterized by frequent changes in the methods of calculation (for example, a change in tax rates or wage indexation because of inflation, a change of accounting methods, etc.) Therefore, we need to implement the parameterization of the calculating formulas by their separation from the program part in order to keep this part invariable with respect to the above changes. In this way, alterations to calculation methods require only changes to the calculation formulas which are entered into the formula- interpreter. This interpreter is defined as the function FORM(S, F): S- > S, where S = (T ,T2,... ,Tn ) is a list of related tables, T is the table from the list S ,i = 1..n , F = ff, .,4) is a list of formulas, where each formula f ( i = 1..k ) is represented by a tuple < n, b, v, e >, where n is the number of the formula, b is a logical expression that defines the conditions for the applicability of the formula, v is the name of a variable or attribute (the left part of the formula), which is assigned the value of the expression e (on the right-hand side of the formula.) The result of the formula's application can be interpreted as the statement if b then v := e The implementation of the interpreter in the database system Visual FoxPro is based on the representation of a list of formulas, F in the form of a table with the structure defined by a tuple (the list of fields ): < P_ORDER(N, 5 ), P_COND( C, 60 ), P_OBJ (C, 10 ), P_FORM (C, 60 ), P_COMM (C, 80 ) >, where P_ORDER is the number of each formula, to define their order, P_COND is a Boolean expression defining a requirement for the applicability of the formula, P_OBJ is the name of the assigned object (the left side of the formula, defined as the field name or the name of a local variable), P_FORM is an expression that defines the right side of the formula and P_COMM is a comment. For implementation of the formula- interpreter we can apply the following procedure (it is presented in the Visual FoxPro language).
...
This procedure is restricted by the following conditions:
- for simplicity, we use here only one table as the object of interpretation, assuming that the increase in the number of tables will not significantly affect the nature of the algorithm;
- if the name of the assigned object starts with the letter x , then the object is recognized as a variable, otherwise it is a field name;
-formulas are calculated in numerical order.
SCREEN FORM GENERATOR
The screen form generator works on the basis of screen form specification. This is represented as a set of table structure specifications associated with the corresponding screen form. The screen specification form is defined as SPEC = { ST1, STn}, where the set {T1,T2, ...,Tn} consists of all the tables associated with the corresponding screen, and ST is a specification of the structure of the table T. The table structure specification is represented as a set of field specifications, {sfl,sß ,...,sŁ}, where the specification of the field f is determined by the tuple sf =< n,t,1j, 12,r,d >, where n is the name of the field, t is a type, 1, 12 define lengths, r is a caption and d is a definition domain for the field f . The generator provides an automatic change of table structure and screen form structure on the basis of the relevant specification. In the Visual FoxPro database system, table structure specification is defined by a table with the following structure: Field_name (C, 10) is the name of the field; Field_type (C, 1) is the type of the field; Field_len (N, 3) is the length of the field; Field_dec (N, 3) is the number of digits after the decimal point (if the field is NUMERIC); Field_recv (C, 80) is the caption; Field_dom (C, 80) is the field definition domain.
THE SPECIALIZED LIBRARY OF CLASSES
The use of a custom class library provides efficient application development tools which permit a reduction in software development time, as well as ensuring the high quality of the product. In this section, we present some important new classes that constitute the basis for the construction of screen forms. The pictures below are an illustration of the above mentioned classes.
The class in Figure 1 consists of an object grid which displays data from a table, and command buttons to perform corresponding operations on the table.
In addition to all the components of the class in Fig.1, this class has the "Edit" command button which activates an editing mode using a special container to record modifications. After running a screen form based on this class, it initially displays only the "Grid" and all buttons. The "Container" becomes invisible. In this "browse mode" no changes of data are allowed. After clicking the edit button, the screen form switches to edit mode, allowing editing operations. In this mode the screen form displays only the container and all buttons. The grid becomes invisible. The caption on the "edit" button is replaced with "browse". If this is pressed again, "browse mode" is resumed.
The class in Figure 3 is used when the screen does not have enough space to display all the required fields of the table. Multi-page presentation is provided with the help of the "Page Frame" object. This class differs from the class in Figure 2 as the container is replaced by the page frame.
The class in Figure 4 provides filtering tables for different conditions using the respective logical expressions.
The proposed list above is far from covering the entire set of classes that could be used for information-calculating applications. Among other possible classes are cursor classes for the hierarchical representation of the database, as well as classes that are based on combinations of existing ones, etc.
CONCLUSION
This report presents an approach to the creation of specialized technology for object-oriented applications based on the development of specialized CASE tools, which include a formula interpreter, a form generator and a specialized library of classes. The implementation of all these components was carried out on the basis of the Visual FoxPro database system and has been demonstrated successfully in a series of commercial applications concerning computer aided accountancy and business correspondence. The proposed CASE tools in our report are far from covering the entire set of all tools that could be used for information-calculating applications. Among other possible tools are cursor classes for the hierarchical representation of the database, Requirement Analysis Tool, Structure Analysis Tool, WEB Design Tool, Code Generation Tool, Test CASE Generation Tool, Document Production Tool, Reverse Engineering Tool, Knowledge Representation and Processing, Visual Integration of CASE Tools, Work Flow Models, Model-driven engineering, etc. Currently we focused on an integration of developed CASE tools with UML tool [6]. The results of this integration we intend to present in the next reports.
REFERENCES
[1]. I. Jacobson. Object-Oriented Software Engineering - A Use Case Driven Approach. Addison Wesley,1994.
[2]. Gamma E., Helm R., Johnson R., Vlissides J. Design Patterns: Elements of Reusable Object-Oriented Software. - ISBN 0-201-63442-2 Hardback, 416 p., 1995.
[3].Anton Eliēns, Principles of object-oriented software development, Addison-Wesley, 2000.
[4]. DeLoach S.A., Hartrum T.C. A theory-based representation for object oriented domain models // IEEE Transactions on Software Engineering, Vol.26, No. 6 -2000 - P. 500-517.
[5]. Menachem Bazian, Visual FoxPro 6 - Edicion Especial, ISBN:970170343X, Prentice Hall2000.
[6]. Tincy Rani, Manisha Sanyal, Sushil Garg, "Survey On Argo UML Tool", International Journal Of Engineering And Computer Science ISSN:2319-7242 , Volume 2 , Issue 3 March 2013.
Copyright Surveying Geology & Mining Ecology Management (SGEM) 2017