Automated object-oriented technology for software module development
It is shown that most technologies for creating information systems are based on an object-oriented approach and provide for the presentation of functional requirements in the form of use cases. However, there is no general agreement on the format of the use cases and the rules for describing script items. The work has improved the classification of items of use cases basing on the analysis of a great number of existing descriptions from different subject areas. New rules have been introduced and the existing rules have been clarified for describing use cases, which made it possible to further formalize and automate the process of describing use cases. It is also proposed to automate the process of forming a model of program classes by introducing additional information linking the class with use cases. Thus, the programming class model contains significantly more information for coding than the existing models in UML diagrams. A method for constructing a model of program classes has been developed. Methods for the automated description of use cases and the construction of a model of program classes are linked into a single process. The level of information richness of the class model also makes it possible to automate the debugging process associated with changing requirements. Since the decisions made cover most of the steps in the software module creation process, they collectively represent a new technology. The proposed model, methods and technology were implemented in the ModelEditor and UseCaseEditor software products. Approbation of the method for automating the description of use cases demonstrated a decrease in the number of errors compared to the traditional method of describing more than two times, and shortening the time more than one and a half times. Testing the method for constructing a model of program classes showed its advantage over the existing technology: errors and time reduction almost one and a half times. The proposed technology can be used in the development of any information systems.