The article presents a method of designing the system of software classes, which includes the stages of conceptual, logical and physical design of classes with the implementation of a software system in the architecture of integrated objects. The input data for design is the model of the subject area, which is obtained as the result of object-oriented analysis, which is represented by conceptual, mathematical and semantic models. The conceptual model defines the entities and attributes of entities and is considered as the basis for designing the properties of classes. Mathematical model, as a dynamic model of entity behavior, is formally or informally defined by mathematical formulas, algorithms, diagrams or descriptions of the implementation, which is the basis for designing class methods. The semantic model defines the concepts of subject area in relation to the elements of its model and includes identifiers, meaningful names and descriptions used for the design, programming and implementation of system functionality in terms of subject area. The proposed design method is based on the following principles: normalization of classes (reduction of data to atomic values, reduction of class methods arguments and removal of redundant class methods), replacement of inheritance by logical composition and physical integration, decapsulation (separation of physical functional model from logical data model), virtualization of classes (logical model of classes are considered as a set of relational data model and physical functional model of class methods), interrelation of models (end-to-end mapping of conceptual model on logical and physical model, and class implementation). The essence of the method is to perform successive stages of design: normalization of conceptual model, logical design of classes (transformation of mathematical model into normalized functional model, design and analysis of class characteristics), physical design of classes in architecture of integrated objects (creation of classes, mapping of logical classes on physical classes, implementation of classes in programming language). Actually, the developed design method leads to the creation of a model focused on solving problems, when instances of entities are not created entirely and only the properties and methods that are needed to calculate the desired results for given input values are used. An example of application of the method for a certain subject area with demonstration of design results is considered, and also the approach on the basis of query language of formulation of problems in terms of subject area with generation of source code in programming language is shown. The application of the method allows to increase the efficiency of creating software systems due to the non-redundancy of the system of classes and parameters of class methods, reuse of code and selection of the minimum required set of properties and class methods when solving specific problems.
Read full abstract