Software testing is a critical phase due to misconceptions about ambiguities in the requirements during specification,which affect the testing process.Therefore,it is difficult to identify all faults in software.As re...Software testing is a critical phase due to misconceptions about ambiguities in the requirements during specification,which affect the testing process.Therefore,it is difficult to identify all faults in software.As requirement changes continuously,it increases the irrelevancy and redundancy during testing.Due to these challenges;fault detection capability decreases and there arises a need to improve the testing process,which is based on changes in requirements specification.In this research,we have developed a model to resolve testing challenges through requirement prioritization and prediction in an agile-based environment.The research objective is to identify the most relevant and meaningful requirements through semantic analysis for correct change analysis.Then compute the similarity of requirements through case-based reasoning,which predicted the requirements for reuse and restricted to error-based requirements.Afterward,the apriori algorithm mapped out requirement frequency to select relevant test cases based on frequently reused or not reused test cases to increase the fault detection rate.Furthermore,the proposed model was evaluated by conducting experiments.The results showed that requirement redundancy and irrelevancy improved due to semantic analysis,which correctly predicted the requirements,increasing the fault detection rate and resulting in high user satisfaction.The predicted requirements are mapped into test cases,increasing the fault detection rate after changes to achieve higher user satisfaction.Therefore,the model improves the redundancy and irrelevancy of requirements by more than 90%compared to other clustering methods and the analytical hierarchical process,achieving an 80%fault detection rate at an earlier stage.Hence,it provides guidelines for practitioners and researchers in the modern era.In the future,we will provide the working prototype of this model for proof of concept.展开更多
Accurate software cost estimation in Global Software Development(GSD)remains challenging due to reliance on historical data and expert judgments.Traditional models,such as the Constructive Cost Model(COCOMO II),rely h...Accurate software cost estimation in Global Software Development(GSD)remains challenging due to reliance on historical data and expert judgments.Traditional models,such as the Constructive Cost Model(COCOMO II),rely heavily on historical and accurate data.In addition,expert judgment is required to set many input parameters,which can introduce subjectivity and variability in the estimation process.Consequently,there is a need to improve the current GSD models to mitigate reliance on historical data,subjectivity in expert judgment,inadequate consideration of GSD-based cost drivers and limited integration of modern technologies with cost overruns.This study introduces a novel hybrid model that synergizes the COCOMO II with Artificial Neural Networks(ANN)to address these challenges.The proposed hybrid model integrates additional GSD-based cost drivers identified through a systematic literature review and further vetted by industry experts.This article compares the effectiveness of the proposedmodelwith state-of-the-artmachine learning-basedmodels for software cost estimation.Evaluating the NASA 93 dataset by adopting twenty-six GSD-based cost drivers reveals that our hybrid model achieves superior accuracy,outperforming existing state-of-the-artmodels.The findings indicate the potential of combining COCOMO II,ANN,and additional GSD-based cost drivers to transform cost estimation in GSD.展开更多
Software Development Life Cycle (SDLC) is one of the major ingredients for the development of efficient software systems within a time frame and low-cost involvement. From the literature, it is evident that there are ...Software Development Life Cycle (SDLC) is one of the major ingredients for the development of efficient software systems within a time frame and low-cost involvement. From the literature, it is evident that there are various kinds of process models that are used by the software industries for the development of small, medium and long-term software projects, but many of them do not cover risk management. It is quite obvious that the improper selection of the software development process model leads to failure of the software products as it is time bound activity. In the present work, a new software development process model is proposed which covers the risks at any stage of the development of the software product. The model is named a Hemant-Vipin (HV) process model and may be helpful for the software industries for development of the efficient software products and timely delivery at the end of the client. The efficiency of the HV process model is observed by considering various kinds of factors like requirement clarity, user feedback, change agility, predictability, risk identification, practical implementation, customer satisfaction, incremental development, use of ready-made components, quick design, resource organization and many more and found through a case study that the presented approach covers many of parameters in comparison of the existing process models. .展开更多
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.展开更多
Security technology is crucial in software development and operation in the digital age. Secure software can protect user privacy and data security, prevent hacker attacks and data breaches, ensure legitimate business...Security technology is crucial in software development and operation in the digital age. Secure software can protect user privacy and data security, prevent hacker attacks and data breaches, ensure legitimate business operations, and protect core assets. However, the development process often faces threats such as injection attacks, Cross-Site Scripting (XSS), and Cross-Site Request Forgery (CSRF), mainly due to code vulnerabilities, configuration errors, and risks from third-party components. To meet these challenges, this paper discusses the application of security technology in development and operation, emphasizing security requirements analysis, design principles, coding practices, and testing during the development phase. Along with focusing on environmental configuration, continuous monitoring, emergency response, disaster recovery, and regular auditing and updating during the operation phase. These measures can significantly enhance the security of software systems and protect user and corporate data.展开更多
Agile Transformations are challenging processes for organizations that look to extend the benefits of Agile philosophy and methods beyond software engineering.Despite the impact of these transformations on orga-nizati...Agile Transformations are challenging processes for organizations that look to extend the benefits of Agile philosophy and methods beyond software engineering.Despite the impact of these transformations on orga-nizations,they have not been extensively studied in academia.We conducted a study grounded in workshops and interviews with 99 participants from 30 organizations,including organizations undergoing transformations(“final organizations”)and companies supporting these processes(“consultants”).The study aims to understand the motivations,objectives,and factors driving and challenging these transformations.Over 700 responses were collected to the question and categorized into 32 objectives.The findings show that organizations primarily aim to achieve customer centricity and adaptability,both with 8%of the mentions.Other primary important objectives,with above 4%of mentions,include alignment of goals,lean delivery,sustainable processes,and a flatter,more team-based organizational structure.We also detect discrepancies in perspectives between the objectives identified by the two kinds of organizations and the existing agile literature and models.This misalignment highlights the need for practitioners to understand with the practical realities the organizations face.展开更多
This paper reviews the adaptive sparse grid discontinuous Galerkin(aSG-DG)method for computing high dimensional partial differential equations(PDEs)and its software implementation.The C++software package called AdaM-D...This paper reviews the adaptive sparse grid discontinuous Galerkin(aSG-DG)method for computing high dimensional partial differential equations(PDEs)and its software implementation.The C++software package called AdaM-DG,implementing the aSG-DG method,is available on GitHub at https://github.com/JuntaoHuang/adaptive-multiresolution-DG.The package is capable of treating a large class of high dimensional linear and nonlinear PDEs.We review the essential components of the algorithm and the functionality of the software,including the multiwavelets used,assembling of bilinear operators,fast matrix-vector product for data with hierarchical structures.We further demonstrate the performance of the package by reporting the numerical error and the CPU cost for several benchmark tests,including linear transport equations,wave equations,and Hamilton-Jacobi(HJ)equations.展开更多
In the early stage of software development,a software requirements specification(SRS)is essential,and whether the requirements are clear and explicit is the key.However,due to various reasons,there may be a large numb...In the early stage of software development,a software requirements specification(SRS)is essential,and whether the requirements are clear and explicit is the key.However,due to various reasons,there may be a large number of misunderstandings.To generate high-quality software requirements specifications,numerous researchers have developed a variety of ways to improve the quality of SRS.In this paper,we propose a questions extraction method based on SRS elements decomposition,which evaluates the quality of SRS in the form of numerical indicators.The proposed method not only evaluates the quality of SRSs but also helps in the detection of defects,especially the description problem and omission defects in SRSs.To verify the effectiveness of the proposed method,we conducted a controlled experiment to compare the ability of checklist-based review(CBR)and the proposed method in the SRS review.The CBR is a classicmethod of reviewing SRS defects.After a lot of practice and improvement for a long time,CBR has excellent review ability in improving the quality of software requirements specifications.The experimental results with 40 graduate studentsmajoring in software engineering confirmed the effectiveness and advantages of the proposed method.However,the shortcomings and deficiencies of the proposed method are also observed through the experiment.Furthermore,the proposed method has been tried out by engineers with practical work experience in software development industry and received good feedback.展开更多
Modal and damage identification based on ambient excitation can greatly improve the efficiency of high-speed railway bridge vibration detection.This paper first describes the basic principles of stochastic subspace id...Modal and damage identification based on ambient excitation can greatly improve the efficiency of high-speed railway bridge vibration detection.This paper first describes the basic principles of stochastic subspace identification,peak-picking,and frequency domain decomposition method in modal analysis based on ambient excitation,and the effectiveness of these three methods is verified through finite element calculation and numerical simulation,Then the damage element is added to the finite element model to simulate the crack,and the curvature mode difference and the curvature mode area difference square ratio are calculated by using the stochastic subspace identification results to verify their ability of damage identification and location.Finally,the above modal and damage identification techniques are integrated to develop a bridge modal and damage identification software platform.The final results show that all three modal identification methods can accurately identify the vibration frequency and mode shape,both damage identification methods can accurately identify and locate the damage,and the developed software platform is simple and efficient.展开更多
Measuring software quality requires software engineers to understand the system’s quality attributes and their measurements.The quality attribute is a qualitative property;however,the quantitative feature is needed f...Measuring software quality requires software engineers to understand the system’s quality attributes and their measurements.The quality attribute is a qualitative property;however,the quantitative feature is needed for software measurement,which is not considered during the development of most software systems.Many research studies have investigated different approaches for measuring software quality,but with no practical approaches to quantify and measure quality attributes.This paper proposes a software quality measurement model,based on a software interconnection model,to measure the quality of software components and the overall quality of the software system.Unlike most of the existing approaches,the proposed approach can be applied at the early stages of software development,to different architectural design models,and at different levels of system decomposition.This article introduces a software measurement model that uses a heuristic normalization of the software’s internal quality attributes,i.e.,coupling and cohesion,for software quality measurement.In this model,the quality of a software component is measured based on its internal strength and the coupling it exhibits with other component(s).The proposed model has been experimented with nine software engineering teams that have agreed to participate in the experiment during the development of their different software systems.The experiments have shown that coupling reduces the internal strength of the coupled components by the amount of coupling they exhibit,which degrades their quality and the overall quality of the software system.The introduced model can help in understanding the quality of software design.In addition,it identifies the locations in software design that exhibit unnecessary couplings that degrade the quality of the software systems,which can be eliminated.展开更多
Recently,researchers have shown increasing interest in combining more than one programming model into systems running on high performance computing systems(HPCs)to achieve exascale by applying parallelism at multiple ...Recently,researchers have shown increasing interest in combining more than one programming model into systems running on high performance computing systems(HPCs)to achieve exascale by applying parallelism at multiple levels.Combining different programming paradigms,such as Message Passing Interface(MPI),Open Multiple Processing(OpenMP),and Open Accelerators(OpenACC),can increase computation speed and improve performance.During the integration of multiple models,the probability of runtime errors increases,making their detection difficult,especially in the absence of testing techniques that can detect these errors.Numerous studies have been conducted to identify these errors,but no technique exists for detecting errors in three-level programming models.Despite the increasing research that integrates the three programming models,MPI,OpenMP,and OpenACC,a testing technology to detect runtime errors,such as deadlocks and race conditions,which can arise from this integration has not been developed.Therefore,this paper begins with a definition and explanation of runtime errors that result fromintegrating the three programming models that compilers cannot detect.For the first time,this paper presents a classification of operational errors that can result from the integration of the three models.This paper also proposes a parallel hybrid testing technique for detecting runtime errors in systems built in the C++programming language that uses the triple programming models MPI,OpenMP,and OpenACC.This hybrid technology combines static technology and dynamic technology,given that some errors can be detected using static techniques,whereas others can be detected using dynamic technology.The hybrid technique can detect more errors because it combines two distinct technologies.The proposed static technology detects a wide range of error types in less time,whereas a portion of the potential errors that may or may not occur depending on the 4502 CMC,2023,vol.74,no.2 operating environment are left to the dynamic technology,which completes the validation.展开更多
Recently software industry has paid significant attention to customizing software products across distributed boundaries.Communicating the requirements of multiple clients across distributed borders is a crucial chall...Recently software industry has paid significant attention to customizing software products across distributed boundaries.Communicating the requirements of multiple clients across distributed borders is a crucial challenge for the software customization process.Local decision-making and local development at the client site are considered methods for reducing difficulties in communicating the requirements of multiple clients across distributed boundaries.This paper introduces a new model called the onshore development model(ODM)for accomplishing the customization requests in the distributed development process of software.This model presents a scenario for enhancing the onsite development of specific requirements to reduce delays andmisunderstandings between the clients and the team involved.This model depends on moving the development process to the client’s location.Three empirical studies were conducted to evaluate the proposed model to measure its productivity,time performance,and cost reduction.The proposed model has been compared with two other models:the basic model(BM),which allocates the decision-making process and the development process for teams at the vendor’s location,and the local decision-making model(LDec),which assigns the decision-making process for team at the client’s location.The results of the empirical studies showed significant outperforming of the proposed model over the basic model and local decision-making model in productivity,time performance,and cost reduction.The productivity of the proposed model improved by 39%and 10%more than the basic model and the local decision-making model,respectively.In addition,the time performance of the proposed model became faster by 49%and 20.8%than the basic model and the local decision-making model,respectively.Also,it reduced the total cost of the development process by 31%in terms of the salaries of all persons involved in requirements collecting,decision-making,and development.展开更多
Software testing courses are characterized by strong practicality,comprehensiveness,and diversity.Due to the differences among students and the needs to design personalized solutions for their specific requirements,th...Software testing courses are characterized by strong practicality,comprehensiveness,and diversity.Due to the differences among students and the needs to design personalized solutions for their specific requirements,the design of the existing software testing courses fails to meet the demands for personalized learning.Knowledge graphs,with their rich semantics and good visualization effects,have a wide range of applications in the field of education.In response to the current problem of software testing courses which fails to meet the needs for personalized learning,this paper offers a learning path recommendation based on knowledge graphs to provide personalized learning paths for students.展开更多
Software engineering is a highly practical major,and students need a lot of hands-on practice to transform the theoretical contents learned in class into the practical ability to solve practical problems,so practical ...Software engineering is a highly practical major,and students need a lot of hands-on practice to transform the theoretical contents learned in class into the practical ability to solve practical problems,so practical courses are an essential and important part in the process of training talents in software engineering.From the point of view of cultivating talents in software engineering,this paper expounds the important position of practical courses in software engineering in the process of cultivating talents,analyzes the problems in the existing practical courses,and puts forward the construction ideas and characteristics of practical courses in software engineering which strengthen the foundation,advance steadily,and face the output.Taking the practical course for software system development as an example,this paper introduces in detail the concrete implementation process,achievements,existing problems and countermeasures of the course.展开更多
In project-based organizations knowledge is a critical resource used to develop and deliver products and services with a high level of quality. Therefore, a systematic and sustainable process is necessary to coordinat...In project-based organizations knowledge is a critical resource used to develop and deliver products and services with a high level of quality. Therefore, a systematic and sustainable process is necessary to coordinate knowledge management, project management and product lifecycle. This scenario predominates in companies focused on the creation and maintenance of information systems. This article presents an exploratory study based on a framework that integrates cognitive, managerial, and operational processes in a public Brazilian organization that provides services in the area of information and communications technology, focusing on the construction and maintenance of information systems. Those processes are operationalized by three management models considering knowledge, project, and software development processes. Our proposal aims to understand the relationships between those three management models and their influence on the software development process in the organization under study. Our premise is based on the principle that cognitive management, project management, and software development management must be integrated to fulfill the demands of product development and service provision. The research data was composed of registers of working hours spent on software development and maintenance projects involving 244 people allocated to 5064 projects in the period from 2007 to 2013. The study resulted in the identification of the relationships among the three management models adopted by the organization, with emphasis on knowledge management activities, which were not directly identified, making it difficult to account for and measure them. We established a set of activities connected to each one of the knowledge management model phases. Since those activities were not visible before, our approach contributed to build a systematic process to register and relate activities linked to the dimensions of cognitive processes, project management, and software construction.展开更多
In this paper, by means of effective testing practices, main strategies of integration testing for GUI software, including differentiating strategy for distinguished system, strategy of personnel organization, increme...In this paper, by means of effective testing practices, main strategies of integration testing for GUI software, including differentiating strategy for distinguished system, strategy of personnel organization, incremental testing strategy based on baseline version, testing strategy of circulating loop through the whole life, and the strategy of test suite construction, were briefly investigated. Moreover, for the code analysis, the FTA (Fault Tree analysis) is proposed to deal with the software change in regression testing. For test suite constructing, the constructing methods for baseline version and the incremental change are deeply discussed, in which main points focus on the testing strategy based on “Sheet/Form”, the “Grey-box approach” for integration testing process, and the application of the improved STD (State Transform Diagram) in state testing. At the same time, the suite construction of integration testing for two types, including small scale program and large scale software, is analyzed and discussed in detail. For testing execution, the specific method based on “Cross-testing” is investigated. Concurrently, by a lot of examples, all results of testing activity indicate that these strategies and methods are useful and fitted to integration testing for GUI software.展开更多
This paper presents a methodology driven by database constraints for designing and developing(database)software applications.Much needed and with excellent results,this paradigm guarantees the highest possible quality...This paper presents a methodology driven by database constraints for designing and developing(database)software applications.Much needed and with excellent results,this paradigm guarantees the highest possible quality of the managed data.The proposed methodology is illustrated with an easy to understand,yet complex medium-sized genealogy software application driven by more than 200 database constraints,which fully meets such expectations.展开更多
It is essential to study quality of software production like others. Software productions have special properties. They are intangible. So, qualitative evaluation encountered with complexity. Hence, proposing a model ...It is essential to study quality of software production like others. Software productions have special properties. They are intangible. So, qualitative evaluation encountered with complexity. Hence, proposing a model in order to evaluate the quality of Software productions is considerable to most software managers and experts. In this paper, regarding to improve software productions quality, the process of software production has been determined, using CMM standard framework of maturity level. In CMM it does not present a method for measurement and evaluation maturity level, the presented process in CMM standard mapped by COBIT control objectives has been combined in the process of software productions development in developed hybrid framework. In this research, the processes have been mapped utilizing focus and established group, in parallel of software production in different maturity level of CMM mapped by COBIT framework. In order to show the capabilities of proposed framework, the hybrid evaluation model was employed in a software developing organization as a case study. According to the results of evaluation, improvements proceedings and action plans have been proposed and discussed to enhance the software production processes.展开更多
Software has been developed for digital control of WDW series testing machine and the measurement of fracture toughness by modularized design. Development of the software makes use of multi-thread and serial communica...Software has been developed for digital control of WDW series testing machine and the measurement of fracture toughness by modularized design. Development of the software makes use of multi-thread and serial communication techniques, which can accurately control the testing machine and measure the fracture toughness in real-time. Three-point bending specimens were used in the measurement. The software operates stably and reliably, expanding the function of WDW series testing machine.展开更多
文摘Software testing is a critical phase due to misconceptions about ambiguities in the requirements during specification,which affect the testing process.Therefore,it is difficult to identify all faults in software.As requirement changes continuously,it increases the irrelevancy and redundancy during testing.Due to these challenges;fault detection capability decreases and there arises a need to improve the testing process,which is based on changes in requirements specification.In this research,we have developed a model to resolve testing challenges through requirement prioritization and prediction in an agile-based environment.The research objective is to identify the most relevant and meaningful requirements through semantic analysis for correct change analysis.Then compute the similarity of requirements through case-based reasoning,which predicted the requirements for reuse and restricted to error-based requirements.Afterward,the apriori algorithm mapped out requirement frequency to select relevant test cases based on frequently reused or not reused test cases to increase the fault detection rate.Furthermore,the proposed model was evaluated by conducting experiments.The results showed that requirement redundancy and irrelevancy improved due to semantic analysis,which correctly predicted the requirements,increasing the fault detection rate and resulting in high user satisfaction.The predicted requirements are mapped into test cases,increasing the fault detection rate after changes to achieve higher user satisfaction.Therefore,the model improves the redundancy and irrelevancy of requirements by more than 90%compared to other clustering methods and the analytical hierarchical process,achieving an 80%fault detection rate at an earlier stage.Hence,it provides guidelines for practitioners and researchers in the modern era.In the future,we will provide the working prototype of this model for proof of concept.
文摘Accurate software cost estimation in Global Software Development(GSD)remains challenging due to reliance on historical data and expert judgments.Traditional models,such as the Constructive Cost Model(COCOMO II),rely heavily on historical and accurate data.In addition,expert judgment is required to set many input parameters,which can introduce subjectivity and variability in the estimation process.Consequently,there is a need to improve the current GSD models to mitigate reliance on historical data,subjectivity in expert judgment,inadequate consideration of GSD-based cost drivers and limited integration of modern technologies with cost overruns.This study introduces a novel hybrid model that synergizes the COCOMO II with Artificial Neural Networks(ANN)to address these challenges.The proposed hybrid model integrates additional GSD-based cost drivers identified through a systematic literature review and further vetted by industry experts.This article compares the effectiveness of the proposedmodelwith state-of-the-artmachine learning-basedmodels for software cost estimation.Evaluating the NASA 93 dataset by adopting twenty-six GSD-based cost drivers reveals that our hybrid model achieves superior accuracy,outperforming existing state-of-the-artmodels.The findings indicate the potential of combining COCOMO II,ANN,and additional GSD-based cost drivers to transform cost estimation in GSD.
文摘Software Development Life Cycle (SDLC) is one of the major ingredients for the development of efficient software systems within a time frame and low-cost involvement. From the literature, it is evident that there are various kinds of process models that are used by the software industries for the development of small, medium and long-term software projects, but many of them do not cover risk management. It is quite obvious that the improper selection of the software development process model leads to failure of the software products as it is time bound activity. In the present work, a new software development process model is proposed which covers the risks at any stage of the development of the software product. The model is named a Hemant-Vipin (HV) process model and may be helpful for the software industries for development of the efficient software products and timely delivery at the end of the client. The efficiency of the HV process model is observed by considering various kinds of factors like requirement clarity, user feedback, change agility, predictability, risk identification, practical implementation, customer satisfaction, incremental development, use of ready-made components, quick design, resource organization and many more and found through a case study that the presented approach covers many of parameters in comparison of the existing process models. .
文摘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.
文摘Security technology is crucial in software development and operation in the digital age. Secure software can protect user privacy and data security, prevent hacker attacks and data breaches, ensure legitimate business operations, and protect core assets. However, the development process often faces threats such as injection attacks, Cross-Site Scripting (XSS), and Cross-Site Request Forgery (CSRF), mainly due to code vulnerabilities, configuration errors, and risks from third-party components. To meet these challenges, this paper discusses the application of security technology in development and operation, emphasizing security requirements analysis, design principles, coding practices, and testing during the development phase. Along with focusing on environmental configuration, continuous monitoring, emergency response, disaster recovery, and regular auditing and updating during the operation phase. These measures can significantly enhance the security of software systems and protect user and corporate data.
基金funding from the European Commission for the Ruralities Project(grant agreement no.101060876).
文摘Agile Transformations are challenging processes for organizations that look to extend the benefits of Agile philosophy and methods beyond software engineering.Despite the impact of these transformations on orga-nizations,they have not been extensively studied in academia.We conducted a study grounded in workshops and interviews with 99 participants from 30 organizations,including organizations undergoing transformations(“final organizations”)and companies supporting these processes(“consultants”).The study aims to understand the motivations,objectives,and factors driving and challenging these transformations.Over 700 responses were collected to the question and categorized into 32 objectives.The findings show that organizations primarily aim to achieve customer centricity and adaptability,both with 8%of the mentions.Other primary important objectives,with above 4%of mentions,include alignment of goals,lean delivery,sustainable processes,and a flatter,more team-based organizational structure.We also detect discrepancies in perspectives between the objectives identified by the two kinds of organizations and the existing agile literature and models.This misalignment highlights the need for practitioners to understand with the practical realities the organizations face.
基金supported by the NSF grant DMS-2111383Air Force Office of Scientific Research FA9550-18-1-0257the NSF grant DMS-2011838.
文摘This paper reviews the adaptive sparse grid discontinuous Galerkin(aSG-DG)method for computing high dimensional partial differential equations(PDEs)and its software implementation.The C++software package called AdaM-DG,implementing the aSG-DG method,is available on GitHub at https://github.com/JuntaoHuang/adaptive-multiresolution-DG.The package is capable of treating a large class of high dimensional linear and nonlinear PDEs.We review the essential components of the algorithm and the functionality of the software,including the multiwavelets used,assembling of bilinear operators,fast matrix-vector product for data with hierarchical structures.We further demonstrate the performance of the package by reporting the numerical error and the CPU cost for several benchmark tests,including linear transport equations,wave equations,and Hamilton-Jacobi(HJ)equations.
基金This work was partially supported by the Natural Science Foundation of Jiangsu Province under Grant No.BK20201462partially supported by the Scientific Research Support Project of Jiangsu Normal University under Grant No.21XSRX001.
文摘In the early stage of software development,a software requirements specification(SRS)is essential,and whether the requirements are clear and explicit is the key.However,due to various reasons,there may be a large number of misunderstandings.To generate high-quality software requirements specifications,numerous researchers have developed a variety of ways to improve the quality of SRS.In this paper,we propose a questions extraction method based on SRS elements decomposition,which evaluates the quality of SRS in the form of numerical indicators.The proposed method not only evaluates the quality of SRSs but also helps in the detection of defects,especially the description problem and omission defects in SRSs.To verify the effectiveness of the proposed method,we conducted a controlled experiment to compare the ability of checklist-based review(CBR)and the proposed method in the SRS review.The CBR is a classicmethod of reviewing SRS defects.After a lot of practice and improvement for a long time,CBR has excellent review ability in improving the quality of software requirements specifications.The experimental results with 40 graduate studentsmajoring in software engineering confirmed the effectiveness and advantages of the proposed method.However,the shortcomings and deficiencies of the proposed method are also observed through the experiment.Furthermore,the proposed method has been tried out by engineers with practical work experience in software development industry and received good feedback.
文摘Modal and damage identification based on ambient excitation can greatly improve the efficiency of high-speed railway bridge vibration detection.This paper first describes the basic principles of stochastic subspace identification,peak-picking,and frequency domain decomposition method in modal analysis based on ambient excitation,and the effectiveness of these three methods is verified through finite element calculation and numerical simulation,Then the damage element is added to the finite element model to simulate the crack,and the curvature mode difference and the curvature mode area difference square ratio are calculated by using the stochastic subspace identification results to verify their ability of damage identification and location.Finally,the above modal and damage identification techniques are integrated to develop a bridge modal and damage identification software platform.The final results show that all three modal identification methods can accurately identify the vibration frequency and mode shape,both damage identification methods can accurately identify and locate the damage,and the developed software platform is simple and efficient.
文摘Measuring software quality requires software engineers to understand the system’s quality attributes and their measurements.The quality attribute is a qualitative property;however,the quantitative feature is needed for software measurement,which is not considered during the development of most software systems.Many research studies have investigated different approaches for measuring software quality,but with no practical approaches to quantify and measure quality attributes.This paper proposes a software quality measurement model,based on a software interconnection model,to measure the quality of software components and the overall quality of the software system.Unlike most of the existing approaches,the proposed approach can be applied at the early stages of software development,to different architectural design models,and at different levels of system decomposition.This article introduces a software measurement model that uses a heuristic normalization of the software’s internal quality attributes,i.e.,coupling and cohesion,for software quality measurement.In this model,the quality of a software component is measured based on its internal strength and the coupling it exhibits with other component(s).The proposed model has been experimented with nine software engineering teams that have agreed to participate in the experiment during the development of their different software systems.The experiments have shown that coupling reduces the internal strength of the coupled components by the amount of coupling they exhibit,which degrades their quality and the overall quality of the software system.The introduced model can help in understanding the quality of software design.In addition,it identifies the locations in software design that exhibit unnecessary couplings that degrade the quality of the software systems,which can be eliminated.
基金[King Abdulaziz University][Deanship of Scientific Research]Grant Number[KEP-PHD-20-611-42].
文摘Recently,researchers have shown increasing interest in combining more than one programming model into systems running on high performance computing systems(HPCs)to achieve exascale by applying parallelism at multiple levels.Combining different programming paradigms,such as Message Passing Interface(MPI),Open Multiple Processing(OpenMP),and Open Accelerators(OpenACC),can increase computation speed and improve performance.During the integration of multiple models,the probability of runtime errors increases,making their detection difficult,especially in the absence of testing techniques that can detect these errors.Numerous studies have been conducted to identify these errors,but no technique exists for detecting errors in three-level programming models.Despite the increasing research that integrates the three programming models,MPI,OpenMP,and OpenACC,a testing technology to detect runtime errors,such as deadlocks and race conditions,which can arise from this integration has not been developed.Therefore,this paper begins with a definition and explanation of runtime errors that result fromintegrating the three programming models that compilers cannot detect.For the first time,this paper presents a classification of operational errors that can result from the integration of the three models.This paper also proposes a parallel hybrid testing technique for detecting runtime errors in systems built in the C++programming language that uses the triple programming models MPI,OpenMP,and OpenACC.This hybrid technology combines static technology and dynamic technology,given that some errors can be detected using static techniques,whereas others can be detected using dynamic technology.The hybrid technique can detect more errors because it combines two distinct technologies.The proposed static technology detects a wide range of error types in less time,whereas a portion of the potential errors that may or may not occur depending on the 4502 CMC,2023,vol.74,no.2 operating environment are left to the dynamic technology,which completes the validation.
文摘Recently software industry has paid significant attention to customizing software products across distributed boundaries.Communicating the requirements of multiple clients across distributed borders is a crucial challenge for the software customization process.Local decision-making and local development at the client site are considered methods for reducing difficulties in communicating the requirements of multiple clients across distributed boundaries.This paper introduces a new model called the onshore development model(ODM)for accomplishing the customization requests in the distributed development process of software.This model presents a scenario for enhancing the onsite development of specific requirements to reduce delays andmisunderstandings between the clients and the team involved.This model depends on moving the development process to the client’s location.Three empirical studies were conducted to evaluate the proposed model to measure its productivity,time performance,and cost reduction.The proposed model has been compared with two other models:the basic model(BM),which allocates the decision-making process and the development process for teams at the vendor’s location,and the local decision-making model(LDec),which assigns the decision-making process for team at the client’s location.The results of the empirical studies showed significant outperforming of the proposed model over the basic model and local decision-making model in productivity,time performance,and cost reduction.The productivity of the proposed model improved by 39%and 10%more than the basic model and the local decision-making model,respectively.In addition,the time performance of the proposed model became faster by 49%and 20.8%than the basic model and the local decision-making model,respectively.Also,it reduced the total cost of the development process by 31%in terms of the salaries of all persons involved in requirements collecting,decision-making,and development.
基金supported by the Special Funds for Basic Research of Central Universities(D5000220240)the Special Funds for Education and Teaching Reform in 2023(06410-23GZ230102)。
文摘Software testing courses are characterized by strong practicality,comprehensiveness,and diversity.Due to the differences among students and the needs to design personalized solutions for their specific requirements,the design of the existing software testing courses fails to meet the demands for personalized learning.Knowledge graphs,with their rich semantics and good visualization effects,have a wide range of applications in the field of education.In response to the current problem of software testing courses which fails to meet the needs for personalized learning,this paper offers a learning path recommendation based on knowledge graphs to provide personalized learning paths for students.
文摘Software engineering is a highly practical major,and students need a lot of hands-on practice to transform the theoretical contents learned in class into the practical ability to solve practical problems,so practical courses are an essential and important part in the process of training talents in software engineering.From the point of view of cultivating talents in software engineering,this paper expounds the important position of practical courses in software engineering in the process of cultivating talents,analyzes the problems in the existing practical courses,and puts forward the construction ideas and characteristics of practical courses in software engineering which strengthen the foundation,advance steadily,and face the output.Taking the practical course for software system development as an example,this paper introduces in detail the concrete implementation process,achievements,existing problems and countermeasures of the course.
文摘In project-based organizations knowledge is a critical resource used to develop and deliver products and services with a high level of quality. Therefore, a systematic and sustainable process is necessary to coordinate knowledge management, project management and product lifecycle. This scenario predominates in companies focused on the creation and maintenance of information systems. This article presents an exploratory study based on a framework that integrates cognitive, managerial, and operational processes in a public Brazilian organization that provides services in the area of information and communications technology, focusing on the construction and maintenance of information systems. Those processes are operationalized by three management models considering knowledge, project, and software development processes. Our proposal aims to understand the relationships between those three management models and their influence on the software development process in the organization under study. Our premise is based on the principle that cognitive management, project management, and software development management must be integrated to fulfill the demands of product development and service provision. The research data was composed of registers of working hours spent on software development and maintenance projects involving 244 people allocated to 5064 projects in the period from 2007 to 2013. The study resulted in the identification of the relationships among the three management models adopted by the organization, with emphasis on knowledge management activities, which were not directly identified, making it difficult to account for and measure them. We established a set of activities connected to each one of the knowledge management model phases. Since those activities were not visible before, our approach contributed to build a systematic process to register and relate activities linked to the dimensions of cognitive processes, project management, and software construction.
文摘In this paper, by means of effective testing practices, main strategies of integration testing for GUI software, including differentiating strategy for distinguished system, strategy of personnel organization, incremental testing strategy based on baseline version, testing strategy of circulating loop through the whole life, and the strategy of test suite construction, were briefly investigated. Moreover, for the code analysis, the FTA (Fault Tree analysis) is proposed to deal with the software change in regression testing. For test suite constructing, the constructing methods for baseline version and the incremental change are deeply discussed, in which main points focus on the testing strategy based on “Sheet/Form”, the “Grey-box approach” for integration testing process, and the application of the improved STD (State Transform Diagram) in state testing. At the same time, the suite construction of integration testing for two types, including small scale program and large scale software, is analyzed and discussed in detail. For testing execution, the specific method based on “Cross-testing” is investigated. Concurrently, by a lot of examples, all results of testing activity indicate that these strategies and methods are useful and fitted to integration testing for GUI software.
文摘This paper presents a methodology driven by database constraints for designing and developing(database)software applications.Much needed and with excellent results,this paradigm guarantees the highest possible quality of the managed data.The proposed methodology is illustrated with an easy to understand,yet complex medium-sized genealogy software application driven by more than 200 database constraints,which fully meets such expectations.
文摘It is essential to study quality of software production like others. Software productions have special properties. They are intangible. So, qualitative evaluation encountered with complexity. Hence, proposing a model in order to evaluate the quality of Software productions is considerable to most software managers and experts. In this paper, regarding to improve software productions quality, the process of software production has been determined, using CMM standard framework of maturity level. In CMM it does not present a method for measurement and evaluation maturity level, the presented process in CMM standard mapped by COBIT control objectives has been combined in the process of software productions development in developed hybrid framework. In this research, the processes have been mapped utilizing focus and established group, in parallel of software production in different maturity level of CMM mapped by COBIT framework. In order to show the capabilities of proposed framework, the hybrid evaluation model was employed in a software developing organization as a case study. According to the results of evaluation, improvements proceedings and action plans have been proposed and discussed to enhance the software production processes.
文摘Software has been developed for digital control of WDW series testing machine and the measurement of fracture toughness by modularized design. Development of the software makes use of multi-thread and serial communication techniques, which can accurately control the testing machine and measure the fracture toughness in real-time. Three-point bending specimens were used in the measurement. The software operates stably and reliably, expanding the function of WDW series testing machine.