Вадим Аршинский, V. Arshinskiy, Л.В. Аршинский, L. Arshinskiy, Сергей Бахвалов, S. Bakhvalov
{"title":"软件系统化的必要性和充分性原则","authors":"Вадим Аршинский, V. Arshinskiy, Л.В. Аршинский, L. Arshinskiy, Сергей Бахвалов, S. Bakhvalov","doi":"10.30987/ARTICLE_5CF2D1F855D980.40342469","DOIUrl":null,"url":null,"abstract":"The paper presents a possible approach to the systematization (including classification) of modern software. Most authors in the systematization implicitly proceed from the principle of sufficiency: the program is enrolled in a particular class based on what it can do, what tasks it is able to solve. This blurs the boundaries of the classes, since the same program object sometimes corresponds to different tasks. The paper proposes to proceed from the principle of necessity: the program belongs to the class, what tasks it needs to solve. Then the secondary capabilities of the software recede into the background and are not taken into account in the classification. The relationship of necessity between the software objects themselves is also taken into account. This allows you to organize software objects, stratifying them according to principles of the mutual need. Moreover, different types of necessity are introduced: existential, functional and target, with a hierarchy between them. The latter allows you to keep the hierarchy of necessity, when program objects are mutually necessary for each other, but in a various senses. As a result, a hierarchy is built inside the software similar to the known one: hardware, system software, application software, but with its own characteristics. In particular, the software tool designed for creating software objects, splits into two layers: the tools to create custom programs to compile and tools for creating interpreted programs type. Accordingly, the application software is stratified. In general, the principle of necessity should be considered as an approach to classification, allowing to make a certain order in the question of systematization of software and its division into classes.","PeriodicalId":111219,"journal":{"name":"Automation and modeling in design and management of","volume":"12 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2019-06-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":"{\"title\":\"THE PRINCIPLES OF NECESSITY AND SUFFICIENCY TO SYSTEMATIZE SOFTWARE\",\"authors\":\"Вадим Аршинский, V. Arshinskiy, Л.В. Аршинский, L. Arshinskiy, Сергей Бахвалов, S. Bakhvalov\",\"doi\":\"10.30987/ARTICLE_5CF2D1F855D980.40342469\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"The paper presents a possible approach to the systematization (including classification) of modern software. Most authors in the systematization implicitly proceed from the principle of sufficiency: the program is enrolled in a particular class based on what it can do, what tasks it is able to solve. This blurs the boundaries of the classes, since the same program object sometimes corresponds to different tasks. The paper proposes to proceed from the principle of necessity: the program belongs to the class, what tasks it needs to solve. Then the secondary capabilities of the software recede into the background and are not taken into account in the classification. The relationship of necessity between the software objects themselves is also taken into account. This allows you to organize software objects, stratifying them according to principles of the mutual need. Moreover, different types of necessity are introduced: existential, functional and target, with a hierarchy between them. The latter allows you to keep the hierarchy of necessity, when program objects are mutually necessary for each other, but in a various senses. As a result, a hierarchy is built inside the software similar to the known one: hardware, system software, application software, but with its own characteristics. In particular, the software tool designed for creating software objects, splits into two layers: the tools to create custom programs to compile and tools for creating interpreted programs type. Accordingly, the application software is stratified. In general, the principle of necessity should be considered as an approach to classification, allowing to make a certain order in the question of systematization of software and its division into classes.\",\"PeriodicalId\":111219,\"journal\":{\"name\":\"Automation and modeling in design and management of\",\"volume\":\"12 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2019-06-23\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"1\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Automation and modeling in design and management of\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.30987/ARTICLE_5CF2D1F855D980.40342469\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Automation and modeling in design and management of","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.30987/ARTICLE_5CF2D1F855D980.40342469","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
THE PRINCIPLES OF NECESSITY AND SUFFICIENCY TO SYSTEMATIZE SOFTWARE
The paper presents a possible approach to the systematization (including classification) of modern software. Most authors in the systematization implicitly proceed from the principle of sufficiency: the program is enrolled in a particular class based on what it can do, what tasks it is able to solve. This blurs the boundaries of the classes, since the same program object sometimes corresponds to different tasks. The paper proposes to proceed from the principle of necessity: the program belongs to the class, what tasks it needs to solve. Then the secondary capabilities of the software recede into the background and are not taken into account in the classification. The relationship of necessity between the software objects themselves is also taken into account. This allows you to organize software objects, stratifying them according to principles of the mutual need. Moreover, different types of necessity are introduced: existential, functional and target, with a hierarchy between them. The latter allows you to keep the hierarchy of necessity, when program objects are mutually necessary for each other, but in a various senses. As a result, a hierarchy is built inside the software similar to the known one: hardware, system software, application software, but with its own characteristics. In particular, the software tool designed for creating software objects, splits into two layers: the tools to create custom programs to compile and tools for creating interpreted programs type. Accordingly, the application software is stratified. In general, the principle of necessity should be considered as an approach to classification, allowing to make a certain order in the question of systematization of software and its division into classes.