Basics of programming in the context of software engineering

М.О. Sydorov
{"title":"Basics of programming in the context of software engineering","authors":"М.О. Sydorov","doi":"10.15407/pp2019.03.045","DOIUrl":null,"url":null,"abstract":"The article discusses the use of a constructive approach to building a program that is systematically cultivated in software engineering and made possible by a number of fundamental results obtained in programming theory. On the first, based on the structural theorem, reasonably was refused to use the go to operator and proposed a structured programming method, which provided a real way to create understandable programs. On the second, the concept of a subroutine, although it was used only to reduce routine work in the programming process, was the first means of modular presentation of programs. Later, the block and the subroutine formed the basis of block-oriented (procedural, subroutine) languages and the procedural (subroutine) programming method. In the third, to answer questions related to the definition of boundaries, sizes, and building module, the concept of connecting parts that make up a module and connections to indicate the connection between modules; specific modularization criteria; proposed a device module based on the concept of information hiding were introduced. The module is implemented in the programming language Modula, and later Modula-2. The concept of a module based on the modular (compositional) programming method. In the Simula 67 language, the foundations of object-oriented languages were introduced. They developed through the work on the concepts of inheritance, late binding and links, and were completed by the development of object-oriented languages and object-oriented (classification) programming. Thus, a framework for reuse, systematic reuse and component software development was created. Now these works are developing in the direction of research and creation of software as system of systems, using the link between system analysis and software engineering, and developing software system engineering. In the article, for learning the basics of programming, as a tool that allows clarifying the concept of program design, classification is used. As a classification feature - the level of encapsulation, which is based on the principles of software engineering – encapsulation and multi-level presentation -, is used. Applying the principle of encapsulation at different levels of representation program structure corresponding to different degrees of software abstraction, the concept of encapsulation level was obtained. Using this concept, you can find out the types of software constructions and the corresponding methods of programming (construction) programs. Using introduced the concepts and the constructive approach to building the program, the author created the didactics of the basics of programming, which was deployment through lectures for students of the specialty “Software Engineering” (121) and a textbook of the author for students and post-graduate students of the specialty. Problems in programming 2019; 3: 45-57","PeriodicalId":313885,"journal":{"name":"PROBLEMS IN PROGRAMMING","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2019-08-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"PROBLEMS IN PROGRAMMING","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.15407/pp2019.03.045","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

Abstract

The article discusses the use of a constructive approach to building a program that is systematically cultivated in software engineering and made possible by a number of fundamental results obtained in programming theory. On the first, based on the structural theorem, reasonably was refused to use the go to operator and proposed a structured programming method, which provided a real way to create understandable programs. On the second, the concept of a subroutine, although it was used only to reduce routine work in the programming process, was the first means of modular presentation of programs. Later, the block and the subroutine formed the basis of block-oriented (procedural, subroutine) languages and the procedural (subroutine) programming method. In the third, to answer questions related to the definition of boundaries, sizes, and building module, the concept of connecting parts that make up a module and connections to indicate the connection between modules; specific modularization criteria; proposed a device module based on the concept of information hiding were introduced. The module is implemented in the programming language Modula, and later Modula-2. The concept of a module based on the modular (compositional) programming method. In the Simula 67 language, the foundations of object-oriented languages were introduced. They developed through the work on the concepts of inheritance, late binding and links, and were completed by the development of object-oriented languages and object-oriented (classification) programming. Thus, a framework for reuse, systematic reuse and component software development was created. Now these works are developing in the direction of research and creation of software as system of systems, using the link between system analysis and software engineering, and developing software system engineering. In the article, for learning the basics of programming, as a tool that allows clarifying the concept of program design, classification is used. As a classification feature - the level of encapsulation, which is based on the principles of software engineering – encapsulation and multi-level presentation -, is used. Applying the principle of encapsulation at different levels of representation program structure corresponding to different degrees of software abstraction, the concept of encapsulation level was obtained. Using this concept, you can find out the types of software constructions and the corresponding methods of programming (construction) programs. Using introduced the concepts and the constructive approach to building the program, the author created the didactics of the basics of programming, which was deployment through lectures for students of the specialty “Software Engineering” (121) and a textbook of the author for students and post-graduate students of the specialty. Problems in programming 2019; 3: 45-57
软件工程背景下的编程基础
本文讨论了构建程序的建设性方法的使用,该方法是在软件工程中系统培养的,并通过在编程理论中获得的一些基本结果使之成为可能。首先,基于结构定理,合理地拒绝了go - to运算符的使用,提出了一种结构化的编程方法,为创建可理解的程序提供了一条真正的途径。第二,子程序的概念,虽然它只是用来减少编程过程中的例行工作,但它是模块化程序表示的第一种手段。后来,块和子程序形成了面向块(过程式、子程序)语言和过程式(子程序)编程方法的基础。第三,回答有关边界、尺寸的定义,以及构建模块、组成模块的连接部件的概念,以及表示模块之间连接的连接;具体的模块化标准;提出了一种基于信息隐藏概念的器件模块。该模块是用编程语言Modula和后来的Modula-2实现的。模块的概念基于模块化(组合)编程方法。在Simula 67语言中,介绍了面向对象语言的基础。它们通过对继承、后期绑定和链接概念的研究而发展,并通过面向对象语言和面向对象(分类)编程的开发而完成。因此,创建了一个用于重用、系统重用和组件软件开发的框架。利用系统分析与软件工程的联系,开发软件系统工程,将软件作为系统的系统进行研究和开发。在本文中,为了学习编程的基础知识,作为一种工具,允许澄清程序设计的概念,使用了分类。作为一种分类特征-封装级别,它基于软件工程的原则-封装和多层次表示-被使用。应用软件抽象程度不同的程序结构的不同层次的封装原理,得到了封装层次的概念。利用这个概念,你可以找出软件构造的类型和相应的编程(构造)程序的方法。通过介绍概念和构建程序的建设性方法,作者创建了编程基础的教学方法,并通过面向“软件工程”专业学生的讲座(121)和作者为该专业学生和研究生编写的教科书进行了部署。2019年编程问题;3: 45-57
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信