Conceptual foundations for the development of developing software systems using multivariate synthesis of design solutions

Considering software systems as developing, changing their structure and characteristics during the entire process of development, implementation and operation is an important task. The difficulties that arise in this case, associated with the large dimension of combinatorial problems that arise in the process of studying software systems, taking into account the dynamics of their development, it is advisable to overcome on the basis of using methods of multivariate synthesis, with the help of which a multi-stage approach to solving emerging problems is formed, including evaluating the effectiveness of the solution at each stage.


Introduction
The aim of the work is to create a complex of models, methods and algorithms for the rational construction of developing software systems (DSS) [1] based on the methodology of multivariate synthesis of design solutions, providing a unified strategy for the development of complex software systems and taking into account various recommendations of methods for their development [2].
To achieve the goal, it is necessary to solve the following tasks: 1. To analyze the features of the use of modern software systems, their place in the composition of corporate information systems (IS), their nature, features, dynamics of development, compliance with the definition of DSS. 2. To consider the features of existing software development practices, the limits of their applicability and effectiveness in the construction of software complexes, as well as the features of their joint use. 3. Formulate a general approach to the construction of developing software systems on the conceptual basis of a multivariate synthesis of the structure of such systems 4. Develop methods and algorithms for finding rational solutions based on a multivariate model of design solutions 5. Build a general mathematical model of the architecture of the software complex, determine the criteria for its effectiveness. 6. Formulate and solve the problem of building a rational software architecture of the DSS.  7. Build a model of the life cycle of a software package component based on the process of formalization of changing information needs 8. Solve the problem of rational decomposition of software into components in terms of reliability, performance, ease of layout and operation. 9. To develop a general model of the organization of the workflow in the production of mathematical and software DSS. 10. Develop a method for assessing the possibility and complexity of reorganizing the information needs of the enterprise. 11. Based on the methodology of synthesis of complex systems using step-by-step multivariate integration of components, create a general model of the software development process using system representations due to different approaches.

Scientific novelty
The principles of multivariate integration determine a number of features of the problems of synthesis of rational solutions in the construction of software and mathematical support for corporate IS with a variable structure [3,4,5]. The general structure of a multivariate optimization model is a mathematical construction of the form where I1 is the set of indexes of system indicators, the requirements for which are formalized in the form of optimization criteria; I2 -a set of indexes of system indicators, the requirements for which are formalized in the form of restrictions. If there are general restrictions, they usually proceed to special constructions of extreme problems without restrictions [6,7]. In particular, we can use the transition from the optimization model to the Lagrange penalty function: where 2 i y are the coefficients of the Lagrange penalty function.
The results characterized by scientific novelty will be obtained: 1. A numerical method for selecting rational solutions for various types of large-dimensional problems arising during the construction and integration of software packages for various purposes, characterized by the use of an entropy approach, and allowing for a rational choice of design solutions based on multivariate synthesis using appropriate tools. 2. A formalized formulation of the problem of rational choice of the RPS structure for various purposes, characterized by the simultaneous use of several representations of the system from different points of view, which allows for the most adequate description of the RPS in conditions of uncertainty. 3. A three-level model of the RPS architecture, characterized by the abstraction of composite subsystems in the form of services, which allows determining the main characteristics of the system at the quantitative level and using stochastic optimization methods to build a rational structure of software tools.  4. The algorithm of the decomposition of software systems into components with different perspectives of the development of the functionality of components and allowing you to assess current structure RPS from the point of view of its development, and to form a rational paradigm of development of software. 5. The algorithm for the rational design of software that is different given the dynamic nature of user needs and develop RPS structure, allowing for high quality and rapid development of software systems. 6. A numerical method of rational restructuring of the organizational structure of enterprise subsystems in connection with the informatization of production, characterized by the use of multivariate synthesis approaches and the mathematical apparatus of the theory of program schemes, which allows solving the problem of rational organization of the information needs of the enterprise. 7. A software package for the synthesis of design solutions for choosing a rational architecture of large software complexes, characterized by an integrated approach to the problem and allowing providing opportunities for building a software package that most fully meets user needs throughout its existence.

Main results
The process of creating software complexes for various purposes is closely related to solving a large number of diverse tasks, the need to take into account system-wide factors, finding acceptable compromises when integrating various subsystems of complexes [8,9]. At the same time, it is possible to identify a fairly large number of software projects, at the initial stage of which there is uncertainty in the field of information needs that are supposed to be met. Considering that for successful implementation in such projects, some of the resources are supposed to be used for internal reorganization of tasks, subject area, architecture and development tools, it is possible to classify the software systems developed within them as a subclass of developing systems according to the set of properties. This subclass includes dynamical systems with a discrete phase space and an initial non-zero amount of development resources. To study this class of systems, algorithmic methods based on the theory of automata and the use of a cybernetic approach are generally used. Based on this, the general structure of the study can be presented in the form as shown in figure 1. Thus, for the development of developing software systems, it is proposed to use a combination of different approaches. This practice will allow us to achieve the following results: 1. Correct formulations of the tasks of rationalizing the software development process for each family of approaches, including limitations formulated on the basis of an analysis of the development process from the point of view of other representations. 2. The general statement of the problem of rationalizing the process of developing software components, based on the principles of a systematic approach, taking into account various representations of the system and allowing you to find the most rational solutions by finding compromise options, or by integral analysis.
It should be noted that many of the existing software design and development practices have controversial rules that are suitable for implementation within one set of practices, and are unacceptable in other cases. In this regard, when developing a general approach to software design, an essential point is to determine the limits of applicability of heuristic approaches, combining various paradigms into a single system that provides a smooth step-by-step description of the nature of information processes during the entire life cycle of developing software systems. Thus, in the process of a comprehensive analysis of the problem, three groups of approaches (architectural, technological, organizationaloriented) were identified and consistently considered, within which rational models of software design and implementation were developed using the principles of multivariate synthesis. However, the application of the principles of multivariate synthesis is not limited to the above groups of approaches  4 and can be carried out both within their framework and in accordance with the general idea of the approach to the design of complex software systems belonging to the class of developing systems.

Conclusion
As a result of the research, mathematical models, numerical methods and software for the rational development of the structure and components of complex RPS have been developed. The apparatus of mathematical modeling and multivariate synthesis of design solutions proposed in the dissertation work for choosing a rational variant of the structure and components of the RPS was implemented in a set of programs that were used in the development of a number of complex information systems for various sectors of the national economy [10,11]. Among them are: • subsystems of large corporate IS in the banking sector (clearing system of settlements of Sberbank of the Russian Federation, electronic document management system of public administration bodies of the Lipetsk region); • desktop applications of various directions (CAD of data transmission networks, a system for monitoring and managing the work of an agricultural enterprise AGROPOLE, etc.); • Internet applications (an expert system for assessing the needs of an enterprise in retraining personnel, an Internet portal of the historical and cultural heritage of Voronezh, etc.);