Initial training in design of computer programs using UML

Nikita S. Andreyanov, Andrej P. Gagarin
{"title":"Initial training in design of computer programs using UML","authors":"Nikita S. Andreyanov, Andrej P. Gagarin","doi":"10.32744/pse.2023.5.39","DOIUrl":null,"url":null,"abstract":"Introduction. Design is commonly acknowledged as a key process in the life cycle of computer programs and softwareintensive systems. The process efficaciously reveals creative capabilities of the author programmer and predetermines the basic advantages as well as shortcomings of the resulting program product, service or system. Design automation and other kinds of its support have been emerged simultaneously with onset of the software industry. From the beginning of the century the MDA (Model Driven Architecture) approach grew famous, offering to comprehend a design of a program as a process of sequential transformation of the program’s models, represented in UML or in other languages related to UML. Without becoming dominant, the MDA approach successfully evolves inside of a broader approach called MDE (Model Driven Engineering). Mastering UML and understanding of its role in MDE appears to be a prerequisite for a seamless entering of a professional programmer into domain of engineering of program systems. This provision justifies an increased attention to methods of UML teaching and to peculiarities of UML learning, and, moreover, to the professional education in the area of programs and program systems design technologies. This paper is aimed to draw attentions to challenges of the initial training in UML and tackle the challenges contributing a methodology and tools for sake of fostering the quality of education in program design. Materials and methods. The research is based on the university syllabi, the author’s lecture notes on software engineering, reports on laboratory works and course papers, protocols of experimental and sample runs of the developed programs, scientific publications, including pedagogical and engineering periodicals, conference materials, Internet resources, such as sites of the ACM, the OMG and others. The following research methods were used: system analysis of the own experience in program design as well as experience remarkable in student’s works; theoretical conceptual modelling of the program design including modelling of design scenarios; a trial implementation of the developed algorithms. Research results. A conceptual cognitive model of design as of a process during program development is proposed, highlighting the designer’s behavior when dealing with project artefacts. Feasible scenarios of analytic and advisory intervention into the design process are specified, using the model. A sample architecture of a program tool suitable for such an intervention is proposed as well as algorithms that enable online critical evaluation of the project’s current state, prompting feasible tracks of the project’s evolvement, revealing designer’s ideas and pointing some UML misuse. The algorithms are built in a program tool named Procrust that implements the proposed architecture. Trials of Procrust show that it basically fits to primary training of software design using UML and, in particular, to a training in the MDA/MDE methodology. Conclusion. The research results enable to set up an environment for comfortable and efficient program design using UML due to employing the proposed analytic and advisory support of the design process. Algorithms of the support and supporting program tools are targeted at initial design training on curricula of higher school and secondary vocational education. The algorithms foster in-depth study of UML and acquiring of advanced software design skills.","PeriodicalId":37196,"journal":{"name":"Perspektivy Nauki i Obrazovania","volume":null,"pages":null},"PeriodicalIF":0.0000,"publicationDate":"2023-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Perspektivy Nauki i Obrazovania","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.32744/pse.2023.5.39","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

Abstract

Introduction. Design is commonly acknowledged as a key process in the life cycle of computer programs and softwareintensive systems. The process efficaciously reveals creative capabilities of the author programmer and predetermines the basic advantages as well as shortcomings of the resulting program product, service or system. Design automation and other kinds of its support have been emerged simultaneously with onset of the software industry. From the beginning of the century the MDA (Model Driven Architecture) approach grew famous, offering to comprehend a design of a program as a process of sequential transformation of the program’s models, represented in UML or in other languages related to UML. Without becoming dominant, the MDA approach successfully evolves inside of a broader approach called MDE (Model Driven Engineering). Mastering UML and understanding of its role in MDE appears to be a prerequisite for a seamless entering of a professional programmer into domain of engineering of program systems. This provision justifies an increased attention to methods of UML teaching and to peculiarities of UML learning, and, moreover, to the professional education in the area of programs and program systems design technologies. This paper is aimed to draw attentions to challenges of the initial training in UML and tackle the challenges contributing a methodology and tools for sake of fostering the quality of education in program design. Materials and methods. The research is based on the university syllabi, the author’s lecture notes on software engineering, reports on laboratory works and course papers, protocols of experimental and sample runs of the developed programs, scientific publications, including pedagogical and engineering periodicals, conference materials, Internet resources, such as sites of the ACM, the OMG and others. The following research methods were used: system analysis of the own experience in program design as well as experience remarkable in student’s works; theoretical conceptual modelling of the program design including modelling of design scenarios; a trial implementation of the developed algorithms. Research results. A conceptual cognitive model of design as of a process during program development is proposed, highlighting the designer’s behavior when dealing with project artefacts. Feasible scenarios of analytic and advisory intervention into the design process are specified, using the model. A sample architecture of a program tool suitable for such an intervention is proposed as well as algorithms that enable online critical evaluation of the project’s current state, prompting feasible tracks of the project’s evolvement, revealing designer’s ideas and pointing some UML misuse. The algorithms are built in a program tool named Procrust that implements the proposed architecture. Trials of Procrust show that it basically fits to primary training of software design using UML and, in particular, to a training in the MDA/MDE methodology. Conclusion. The research results enable to set up an environment for comfortable and efficient program design using UML due to employing the proposed analytic and advisory support of the design process. Algorithms of the support and supporting program tools are targeted at initial design training on curricula of higher school and secondary vocational education. The algorithms foster in-depth study of UML and acquiring of advanced software design skills.
使用UML设计计算机程序的初步培训
介绍。设计通常被认为是计算机程序和软件密集型系统生命周期中的关键过程。这个过程有效地揭示了作者程序员的创造能力,并预先确定了由此产生的程序产品、服务或系统的基本优点和缺点。随着软件产业的兴起,设计自动化及其支持也随之出现。从本世纪初开始,MDA(模型驱动的体系结构)方法开始出名,它提供了将程序的设计理解为程序模型的顺序转换过程,用UML或与UML相关的其他语言表示。在没有成为主导的情况下,MDA方法成功地在称为MDE(模型驱动工程)的更广泛的方法中发展。掌握UML并理解它在MDE中的作用似乎是专业程序员无缝进入程序系统工程领域的先决条件。这一规定证明了对UML教学方法和UML学习特性的更多关注,而且,对程序和程序系统设计技术领域的专业教育的关注。本文的目的是引起人们对UML初始培训挑战的关注,并为了培养程序设计教育的质量而提供一种方法和工具来解决这些挑战。材料和方法。研究的基础是大学教学大纲、作者关于软件工程的课堂讲稿、实验室工作报告和课程论文、开发程序的实验和样本运行协议、科学出版物,包括教学和工程期刊、会议材料、互联网资源,如ACM、OMG和其他网站。本文采用了以下研究方法:系统分析自己在方案设计中的经验以及学生作品中的经验;方案设计的理论概念建模,包括设计方案的建模;所开发算法的试验实现。研究的结果。在程序开发过程中提出了设计的概念认知模型,强调了设计者在处理项目工件时的行为。利用该模型,提出了对设计过程进行分析和咨询干预的可行方案。本文提出了适合这种干预的程序工具的示例体系结构,以及能够对项目当前状态进行在线关键评估的算法,提示项目发展的可行轨迹,揭示设计者的想法并指出一些UML误用。算法构建在一个名为Procrust的程序工具中,该工具实现了所提出的体系结构。Procrust的试验表明,它基本上适合使用UML进行软件设计的初级培训,特别是适合MDA/MDE方法的培训。结论。由于采用了建议的设计过程的分析和咨询支持,研究结果能够建立一个使用UML进行舒适和有效的程序设计的环境。支持算法和支持程序工具是针对高等学校和中等职业教育课程的初始设计培训。这些算法促进了对UML的深入学习,并获得了先进的软件设计技能。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
Perspektivy Nauki i Obrazovania
Perspektivy Nauki i Obrazovania Arts and Humanities-Philosophy
CiteScore
0.80
自引率
0.00%
发文量
162
×
引用
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学术官方微信