This paper delves into Agile Development Methods in Software Engineering,contrasting them with the traditional Waterfall model and analyzing their efficiency.Agile methods,known for their adaptability and customer-cen...This paper delves into Agile Development Methods in Software Engineering,contrasting them with the traditional Waterfall model and analyzing their efficiency.Agile methods,known for their adaptability and customer-centric approach,have gained prominence in the fast-paced software development industry.These methods,including Scrum,Kanban,and Extreme Programming(XP),are characterized by iterative cycles,collaborative efforts,and a focus on rapid delivery and quality improvement.The paper compares these agile methodologies to the sequential and rigid Waterfall model,highlighting agile’s superior flexibility,adaptability,and responsiveness to changing requirements.It emphasizes the importance of customer involvement in agile processes,which leads to higher satisfaction and better alignment with user expectations.The analysis reveals that agile methods not only enhance the speed of delivery but also improve the overall quality of the software product.The paper concludes that agile methodologies are more effective in today's dynamic software development environment,providing a robust framework for managing complex projects and ensuring the delivery of high-quality,relevant software solutions.展开更多
Under the background of“new engineering”construction,software engineering teaching pays more attention to cultivating students’engineering practice and innovation ability.In view of the inconsistency between develo...Under the background of“new engineering”construction,software engineering teaching pays more attention to cultivating students’engineering practice and innovation ability.In view of the inconsistency between development and demand design,team division of labor,difficult measurement of individual contribution,single assessment method,and other problems in traditional practice teaching,this paper proposes that under the guidance of agile development methods,software engineering courses should adopt Scrum framework to organize course project practice,use agile collaboration platform to implement individual work,follow up experiment progress,and ensure effective project advancement.The statistical data of curriculum“diversity”assessment show that there is an obvious improvement effect on students’software engineering ability and quality.展开更多
An object-oriented approach is taken to the problem of formulating portable, easy-to-modify PDE solvers for realistic problems in three space dimensions. The resulting software library, Cogito, contains tools for writ...An object-oriented approach is taken to the problem of formulating portable, easy-to-modify PDE solvers for realistic problems in three space dimensions. The resulting software library, Cogito, contains tools for writing programs to be executed on MIMD computers with distributed memory. Difference methods on composite, structured grids are supported. Most of the Cogito classes have been implemented in Fortran 77, in such a way that the object-oriented design is visible. With respect to parallel performance, these tools yield code that is comparable to parallel solvers written in plain Fortran 77. The resulting programs are can be executed without modification on a large number of multicomputer platforms, and also on serial computers. The uppermost level of abstraction in Cogito concerns the problem of decoupling the numerical method from the PDE problem. The validity of these tools has been preliminarily demonstrated with a C++ implementation for one-dimensional problems.展开更多
This paper illustrates some exploration and innovation of software engineering education for VSEs under the background of Chinese "double first-class" new situation and new engineering subject, including aca...This paper illustrates some exploration and innovation of software engineering education for VSEs under the background of Chinese "double first-class" new situation and new engineering subject, including academic strategy, curriculum system, ability training, teaching methods, project practice, and so on. Based on the actual situations and characteristics of Hunan University, this paper focuses on some undergraduate education practice, so that students can adapt software engineering development in VSEs with ISO/IEC 29110 series of standards and guides.展开更多
Building a reasonable and accurate finite element model is the first and critical step for structural analysis of complicated bridge. In this article, modeling assistant for continuous suspension with multi-pylon is d...Building a reasonable and accurate finite element model is the first and critical step for structural analysis of complicated bridge. In this article, modeling assistant for continuous suspension with multi-pylon is developed based on .Net platform, with VB.Net, C# language and OpenGL graphic technique. With parameterized modeling method, finite element model of this kind of bridge can be built quickly and accurately, and multi-type element modeling with uniform parameters is realized. With advanced graphic technique, three-dimensional model graph can be real-timely previewed for intuitive data check. With an example of practice project, the accuracy and feasibility of this modeling method and practicality of this software are verified.展开更多
The Software Engineering aims to develop, within the deadlines and costs established, quality software and that meets the needs of its users. To be made the definition of what the software should do (to establish its ...The Software Engineering aims to develop, within the deadlines and costs established, quality software and that meets the needs of its users. To be made the definition of what the software should do (to establish its purpose), it included the execution of activity the Requirements Engineering, where the context of software to be developed is identified, examined and specified. All other activities of software development depend primarily on this activity. However, there is a problem increasingly in evidence: understand the context of software to be developed. This article aims to present a proposal to face this problem through the use of specific hermeneutical methods for the Requirements Engineering, which will help the software development team understand the original needs of the business to be attended. The basic idea is to produce a hermeneutic specification acceptable, which will be used for the extraction and the specification of the software requirements to be developed. In essence, the hermeneutics focuses on the true interpretation and understanding in contextualized of what is intended to know. The Hermeneutical Engineering of Requirements comes to be the result of the adequacy of methods hermeneutical to assist, specifically the activity of Engineering of Requirements.展开更多
Cleanroom software engineering has been proven effective in improving software development quality while at the same time increasing reliability. To adapt to large software system development, the paper presents an ex...Cleanroom software engineering has been proven effective in improving software development quality while at the same time increasing reliability. To adapt to large software system development, the paper presents an extended the Cleanroom model, which integrates object-oriented method based on stimulus history, reversed engineering idea, automatic testing and reliability assessment into software development. The paper discusses the architecture and realizing technology of ECM.展开更多
Software reverse engineering and reengineering techniques are most often applied to reconstruct the software archi-tecture with respect to quality constraints, or non-functional requirements such as maintainability or...Software reverse engineering and reengineering techniques are most often applied to reconstruct the software archi-tecture with respect to quality constraints, or non-functional requirements such as maintainability or reusability. In this paper, the performance improvement of distributed software is modeled as a search problem that is solved by heuristic search algorithms such as genetic search methods. To achieve this, firstly, all aspects of the distributed execution of a software is specified by an analytical performance evaluation function that not only evaluates the current deployment of the software from the performance perspective but also can be applied to propose the near-optimal object deploy-ment for that software. This analytical function is applied as the Heuristic search objective function. In this paper a novel statement reordering method is also presented which is used to generate the search objective function such that the best solution in the search space can be found.展开更多
In this paper, it is emphasized that taking into consideration of imperfection of knowledge, of the team of the designers/developers, about the problem domains and environments is essential in order to develop robust ...In this paper, it is emphasized that taking into consideration of imperfection of knowledge, of the team of the designers/developers, about the problem domains and environments is essential in order to develop robust software metrics and systems. In this respect, first various possible types of imperfections in knowledge are discussed and then various available formal/mathematical models for representing and handling these imperfections are discussed. The discussion of knowledge classification & representation is from computational perspective and that also within the context of software development enterprise, and not necessarily from organizational management, from library & information science, or from psychological perspectives.展开更多
We investigate a problem of object-oriented (OO) software quality estimation from a multi-instance (MI) perspective. In detail,each set of classes that have an inheritance relation,named 'class hierarchy',is r...We investigate a problem of object-oriented (OO) software quality estimation from a multi-instance (MI) perspective. In detail,each set of classes that have an inheritance relation,named 'class hierarchy',is regarded as a bag,while each class in the set is regarded as an instance. The learning task in this study is to estimate the label of unseen bags,i.e.,the fault-proneness of untested class hierarchies. A fault-prone class hierarchy contains at least one fault-prone (negative) class,while a non-fault-prone (positive) one has no negative class. Based on the modification records (MRs) of the previous project releases and OO software metrics,the fault-proneness of an untested class hierarchy can be predicted. Several selected MI learning algorithms were evalu-ated on five datasets collected from an industrial software project. Among the MI learning algorithms investigated in the ex-periments,the kernel method using a dedicated MI-kernel was better than the others in accurately and correctly predicting the fault-proneness of the class hierarchies. In addition,when compared to a supervised support vector machine (SVM) algorithm,the MI-kernel method still had a competitive performance with much less cost.展开更多
Empirical research is playing a significant role in software engineering (SE), and it has been applied to evaluate software artifacts and technologies. There have been a great number of empirical research articles p...Empirical research is playing a significant role in software engineering (SE), and it has been applied to evaluate software artifacts and technologies. There have been a great number of empirical research articles published recently. There is also a large research community in empirical software engineering (ESE). In this paper, we identify both the overall landscape and detailed implementations of ESE, and investigate frequently applied empirical methods, targeted research purposes, used data sources, and applied data processing approaches and tools in ESE. The aim is to identify new trends and obtain interesting observations of empirical software engineering across different sub-fields of software engineering. We conduct a mapping study on 538 selected articles from January 2013 to November 2017, with four research questions. We observe that the trend of applying empirical methods in software engineering is continuously increasing and the most commonly applied methods are experiment, case study and survey. Moreover, open source projects are the most frequently used data sources. We also observe that most of researchers have paid attention to the validity and the possibility to replicate their studies. These observations are carefully analyzed and presented as carefully designed diagrams. We also reveal shortcomings and demanded knowledge/strategies in ESE and propose recommendations for researchers.展开更多
文摘This paper delves into Agile Development Methods in Software Engineering,contrasting them with the traditional Waterfall model and analyzing their efficiency.Agile methods,known for their adaptability and customer-centric approach,have gained prominence in the fast-paced software development industry.These methods,including Scrum,Kanban,and Extreme Programming(XP),are characterized by iterative cycles,collaborative efforts,and a focus on rapid delivery and quality improvement.The paper compares these agile methodologies to the sequential and rigid Waterfall model,highlighting agile’s superior flexibility,adaptability,and responsiveness to changing requirements.It emphasizes the importance of customer involvement in agile processes,which leads to higher satisfaction and better alignment with user expectations.The analysis reveals that agile methods not only enhance the speed of delivery but also improve the overall quality of the software product.The paper concludes that agile methodologies are more effective in today's dynamic software development environment,providing a robust framework for managing complex projects and ensuring the delivery of high-quality,relevant software solutions.
文摘Under the background of“new engineering”construction,software engineering teaching pays more attention to cultivating students’engineering practice and innovation ability.In view of the inconsistency between development and demand design,team division of labor,difficult measurement of individual contribution,single assessment method,and other problems in traditional practice teaching,this paper proposes that under the guidance of agile development methods,software engineering courses should adopt Scrum framework to organize course project practice,use agile collaboration platform to implement individual work,follow up experiment progress,and ensure effective project advancement.The statistical data of curriculum“diversity”assessment show that there is an obvious improvement effect on students’software engineering ability and quality.
文摘An object-oriented approach is taken to the problem of formulating portable, easy-to-modify PDE solvers for realistic problems in three space dimensions. The resulting software library, Cogito, contains tools for writing programs to be executed on MIMD computers with distributed memory. Difference methods on composite, structured grids are supported. Most of the Cogito classes have been implemented in Fortran 77, in such a way that the object-oriented design is visible. With respect to parallel performance, these tools yield code that is comparable to parallel solvers written in plain Fortran 77. The resulting programs are can be executed without modification on a large number of multicomputer platforms, and also on serial computers. The uppermost level of abstraction in Cogito concerns the problem of decoupling the numerical method from the PDE problem. The validity of these tools has been preliminarily demonstrated with a C++ implementation for one-dimensional problems.
基金supported by the Natural Science Foundation of China Hunan Province (No.2016JJ2057)the Science Foundation of China Hunan Provincial Education Department (No.15C0546)
文摘This paper illustrates some exploration and innovation of software engineering education for VSEs under the background of Chinese "double first-class" new situation and new engineering subject, including academic strategy, curriculum system, ability training, teaching methods, project practice, and so on. Based on the actual situations and characteristics of Hunan University, this paper focuses on some undergraduate education practice, so that students can adapt software engineering development in VSEs with ISO/IEC 29110 series of standards and guides.
基金National Science and Technology Support Program of China(No.2009BAG15B01)Key Programs for Science and Technology Development of Chinese Transportation Industry(No.2008-353-332-190)
文摘Building a reasonable and accurate finite element model is the first and critical step for structural analysis of complicated bridge. In this article, modeling assistant for continuous suspension with multi-pylon is developed based on .Net platform, with VB.Net, C# language and OpenGL graphic technique. With parameterized modeling method, finite element model of this kind of bridge can be built quickly and accurately, and multi-type element modeling with uniform parameters is realized. With advanced graphic technique, three-dimensional model graph can be real-timely previewed for intuitive data check. With an example of practice project, the accuracy and feasibility of this modeling method and practicality of this software are verified.
文摘The Software Engineering aims to develop, within the deadlines and costs established, quality software and that meets the needs of its users. To be made the definition of what the software should do (to establish its purpose), it included the execution of activity the Requirements Engineering, where the context of software to be developed is identified, examined and specified. All other activities of software development depend primarily on this activity. However, there is a problem increasingly in evidence: understand the context of software to be developed. This article aims to present a proposal to face this problem through the use of specific hermeneutical methods for the Requirements Engineering, which will help the software development team understand the original needs of the business to be attended. The basic idea is to produce a hermeneutic specification acceptable, which will be used for the extraction and the specification of the software requirements to be developed. In essence, the hermeneutics focuses on the true interpretation and understanding in contextualized of what is intended to know. The Hermeneutical Engineering of Requirements comes to be the result of the adequacy of methods hermeneutical to assist, specifically the activity of Engineering of Requirements.
文摘Cleanroom software engineering has been proven effective in improving software development quality while at the same time increasing reliability. To adapt to large software system development, the paper presents an extended the Cleanroom model, which integrates object-oriented method based on stimulus history, reversed engineering idea, automatic testing and reliability assessment into software development. The paper discusses the architecture and realizing technology of ECM.
文摘Software reverse engineering and reengineering techniques are most often applied to reconstruct the software archi-tecture with respect to quality constraints, or non-functional requirements such as maintainability or reusability. In this paper, the performance improvement of distributed software is modeled as a search problem that is solved by heuristic search algorithms such as genetic search methods. To achieve this, firstly, all aspects of the distributed execution of a software is specified by an analytical performance evaluation function that not only evaluates the current deployment of the software from the performance perspective but also can be applied to propose the near-optimal object deploy-ment for that software. This analytical function is applied as the Heuristic search objective function. In this paper a novel statement reordering method is also presented which is used to generate the search objective function such that the best solution in the search space can be found.
文摘In this paper, it is emphasized that taking into consideration of imperfection of knowledge, of the team of the designers/developers, about the problem domains and environments is essential in order to develop robust software metrics and systems. In this respect, first various possible types of imperfections in knowledge are discussed and then various available formal/mathematical models for representing and handling these imperfections are discussed. The discussion of knowledge classification & representation is from computational perspective and that also within the context of software development enterprise, and not necessarily from organizational management, from library & information science, or from psychological perspectives.
文摘We investigate a problem of object-oriented (OO) software quality estimation from a multi-instance (MI) perspective. In detail,each set of classes that have an inheritance relation,named 'class hierarchy',is regarded as a bag,while each class in the set is regarded as an instance. The learning task in this study is to estimate the label of unseen bags,i.e.,the fault-proneness of untested class hierarchies. A fault-prone class hierarchy contains at least one fault-prone (negative) class,while a non-fault-prone (positive) one has no negative class. Based on the modification records (MRs) of the previous project releases and OO software metrics,the fault-proneness of an untested class hierarchy can be predicted. Several selected MI learning algorithms were evalu-ated on five datasets collected from an industrial software project. Among the MI learning algorithms investigated in the ex-periments,the kernel method using a dedicated MI-kernel was better than the others in accurately and correctly predicting the fault-proneness of the class hierarchies. In addition,when compared to a supervised support vector machine (SVM) algorithm,the MI-kernel method still had a competitive performance with much less cost.
基金This work was supported by the National Natural Science Foundation of China under Grant Nos. 61672078 and 61732019, and the National Key Research and Development Program of China under Grant No. 2018YFB1004202.
文摘Empirical research is playing a significant role in software engineering (SE), and it has been applied to evaluate software artifacts and technologies. There have been a great number of empirical research articles published recently. There is also a large research community in empirical software engineering (ESE). In this paper, we identify both the overall landscape and detailed implementations of ESE, and investigate frequently applied empirical methods, targeted research purposes, used data sources, and applied data processing approaches and tools in ESE. The aim is to identify new trends and obtain interesting observations of empirical software engineering across different sub-fields of software engineering. We conduct a mapping study on 538 selected articles from January 2013 to November 2017, with four research questions. We observe that the trend of applying empirical methods in software engineering is continuously increasing and the most commonly applied methods are experiment, case study and survey. Moreover, open source projects are the most frequently used data sources. We also observe that most of researchers have paid attention to the validity and the possibility to replicate their studies. These observations are carefully analyzed and presented as carefully designed diagrams. We also reveal shortcomings and demanded knowledge/strategies in ESE and propose recommendations for researchers.
基金supported by the Construction S&T Project of Department of Transportation of Sichuan Province (Grant No.2023A02,No.2024A04,No.2020A01)the Sichuan Science and Technology Program (Grant No.2022YFG0141)+3 种基金the Research Project of Sichuan Highway Planning,Survey,Design,and Research Institute Ltd. (Grant No.KYXM2021000049,KYXM2022000038,No.KYXM2023000056)the National Natural Science Foundation of China (41630640)the National Natural Science Foundation of China (41790445)the National Science Foundation of Innovation Research Group (41521002)。