Engineering practice is the key bridge between college education and actual work in the industry.In order to deliver qualified talents with engineering quality to the industry,this paper explores integrating software ...Engineering practice is the key bridge between college education and actual work in the industry.In order to deliver qualified talents with engineering quality to the industry,this paper explores integrating software engineering thinking into the Embedded System Design course.A practical and effective teaching mode is designed consisting of immersive learning,case-based learning,progressive practice,interactive learning,and autonomous learning.Through this teaching mode,multi-levels of closed-loop have been established including final project cycle closed-loop,testing cycle closed-loop,and product cycle closed-loop.During this process,students gradually transition to putting forward product requirements,carrying out design and development,thinking and solving problems,collaborating,and assuring quality from the perspective of software engineering.The practice results show that students’engineering quality has been significantly improved.展开更多
A new kind offl biomedical titanium alloy, Ti-35Nb-4Sn-6Mo-9Zr, composed of non-toxic elements Nb, Mo, Zr and Sn with lower elastic modulus and higher strength was designed based on d-electron alloy design theory and ...A new kind offl biomedical titanium alloy, Ti-35Nb-4Sn-6Mo-9Zr, composed of non-toxic elements Nb, Mo, Zr and Sn with lower elastic modulus and higher strength was designed based on d-electron alloy design theory and JMatPro software using orthogonal experiment. The microstructure and basic mechanical properties of designed alloy were investigated. The results show that the alloy is composed of single fl equiaxed grains after solution treatment at 800 ~C. Compared with Ti-6A1-4V, the mechanical properties of the designed alloy are more excellent: E=65 GPa, σb=834 MPa, σ0.2=802 MPa, and σ=11%, which is expected to become a promising new type implanted material. The research approach adopted can reduce the experimental time and cost effectively, and get the ideal experimental results.展开更多
According to the morphological structure characteristics of plants, the de- velopment mode for component-based virtual plants software was put forward, and the internal structure of plant organs component under this m...According to the morphological structure characteristics of plants, the de- velopment mode for component-based virtual plants software was put forward, and the internal structure of plant organs component under this mode were analyzed, thereby, the overall design mode for virtual plants software was given out, and its characteristics were estimated. Compared with traditional development modes of virtual plants software, component-based virtual plants software had significant advantages in code reusing, development efficiency and expansion of software functions.展开更多
In order to assure quality and control process in the development of the aircraft collaborative design software, a maturity assessment model is proposed. The requirements designing—house of quality is designed to eva...In order to assure quality and control process in the development of the aircraft collaborative design software, a maturity assessment model is proposed. The requirements designing—house of quality is designed to evaluate the maturity degree of the solution, and the evaluation results can help to manage and control the development process. Furthermore, a fuzzy evaluation method based on the minimum deviation is proposed to deal with the fuzzy information. The quantitative evaluation result of the maturity degree can be calculated by optimizing the semantic discount factor aim for the minimum deviation. Finally, this model is illustrated and analyzed by an example study of the aircraft collaborative design software.展开更多
The advent of Industry 4.0 has compelled businesses to adopt digital approaches that combine software toenhance production efficiency. In this rapidly evolving market, software development is an ongoing process thatmu...The advent of Industry 4.0 has compelled businesses to adopt digital approaches that combine software toenhance production efficiency. In this rapidly evolving market, software development is an ongoing process thatmust be tailored to meet the dynamic needs of enterprises. However, internal research and development can beprohibitively expensive, driving many enterprises to outsource software development and upgrades to externalservice providers. This paper presents a software upgrade outsourcing model for enterprises and service providersthat accounts for the impact of market fluctuations on software adaptability. To mitigate the risk of adverseselection due to asymmetric information about the service provider’s cost and asymmetric information aboutthe enterprise’s revenues, we propose pay-per-time and revenue-sharing contracts in two distinct informationasymmetry scenarios. These two contracts specify the time and transfer payments for software upgrades. Througha comparative analysis of the optimal solutions under the two contracts and centralized decision-making withfull-information, we examine the characteristics of the solutions under two information asymmetry scenarios andanalyze the incentive effects of the two contracts on the various stakeholders. Overall, our study offers valuableinsights for firms seeking to optimize their outsourcing strategies and maximize their returns on investment insoftware upgrades.展开更多
3D digital design for cranes’ structures based on hybrid software architecture of Client/Server and Browser/Server is introduced in this paper. Based on Pro/ENGINEER platform,3D parametric model family is built to al...3D digital design for cranes’ structures based on hybrid software architecture of Client/Server and Browser/Server is introduced in this paper. Based on Pro/ENGINEER platform,3D parametric model family is built to allow generation of feasible configurations of cranes’ structures in Client/Server framework. Taking use of Visual C++,the second exploiting software kit provided by Pro/ENGINEER and ANSYS GUI/APDL modeling patterns,an integration method of 3D CAD and CAE is achieved,which includes regeneration of 3D parametric model,synchronous updating and analysis of FEA model. As in Browser/Server framework,the 3D CAD models of parts,components and the whole structure could also be displayed in the customer’s browser in VRML format.展开更多
Design patterns are object oriented software design practices for solving common design problems and they affect software quality. In this study, we investigate the relationship of design patterns and software defects...Design patterns are object oriented software design practices for solving common design problems and they affect software quality. In this study, we investigate the relationship of design patterns and software defects in a number of open source software projects. Design pattern instances are extracted from the source code repository of these open source software projects. Software defect metrics are extracted from the bug tracking systems of these projects. Using correlation and regression analysis on extracted data, we examine the relationship between design patterns and software defects. Our findings indicate that there is little correlation between the total number of design pattern instances and the number of defects. However, our regression analysis reveals that individual design pattern instances as a group have strong influences on the number of defects. Furthermore, we find that the number of design pattern instances is positively correlated to defect priority. Individual design pattern instances may have positive or negative impacts on defect priority.展开更多
The ability to predict gas emissions accurately is pivotal in managing gas control and ensuring safe mining operations.Existing internationally acknowledged gas control and prediction software does not cater to the sp...The ability to predict gas emissions accurately is pivotal in managing gas control and ensuring safe mining operations.Existing internationally acknowledged gas control and prediction software does not cater to the specific conditions in Chinese coal mines.Hence,this paper introduces an object-oriented programming method to design a software tool for calculating the total gas emission quantity using the MATLAB application program designer runtime environment.The software incorporates an algorithm,data structure,framework,and module functions,all of which enable seamless integration and visualization of gas emission calculation software.This software tool mitigates the inefficiencies and inaccuracies associated with manual,different-source forecast methods.Based on the field data of the Hulonggou Coal Mine in Shanxi province,this technical software was used to predict the gas emission of the mine.The research results show that the predicted value of the technical software is close to the actual measured value.The differing estimates of the working face and coal mine output primarily account for the deviation between the tool's predicted gas emission value and the field-measured value.The underlying design logic of this technical software determines that it has good adaptability to mines with clear mining technology parameters and gas geological parameters.This study provides a valuable method for researchers and engineers seeking to improve gas emission calculation efficiency.展开更多
This article explores the design of a wireless fire alarm system supported by advanced data fusion technology.It includes discussions on the basic design ideas of the wireless fire alarm system,hardware design analysi...This article explores the design of a wireless fire alarm system supported by advanced data fusion technology.It includes discussions on the basic design ideas of the wireless fire alarm system,hardware design analysis,software design analysis,and simulation analysis,all supported by data fusion technology.Hopefully,this analysis can provide some reference for the rational application of data fusion technology to meet the actual design and application requirements of the system.展开更多
This paper points out various relationships between Design Knowledge and Software Engineering. After introduction of human design, the relationships between industrial Software Engineering is discussed, then further d...This paper points out various relationships between Design Knowledge and Software Engineering. After introduction of human design, the relationships between industrial Software Engineering is discussed, then further details of human design knowledge are revealed with discussions on humanistic aspects of design.展开更多
In this paper, we merge software trustworthiness with software design and present an approach to trustworthy software design with an automatically adapting software update. First, software behavior and results can be ...In this paper, we merge software trustworthiness with software design and present an approach to trustworthy software design with an automatically adapting software update. First, software behavior and results can be expected and behavior states can be monitored when a software runs by introducing a trustworthy behavior trace on a software and inserting a checkpoint sensor at each checkpoint of the trustworthy software. Second, an updated approach of the trustworthy behavior trace for the software at the level of checkpoints is presented. The trustworthy behavior traces of the software for two versions can be merged adequately by constructing split points and merge points between two trustworthy behavior traces. Finally, experiments and analyses show that: (1) the software designed by our approach can detect and report the anomaly in a software automatically and effectively, so it has a higher ability of trustworthiness evaluation than the traditional software; and (2) our approach can realize the accurate update of the trustworthy behavior trace with a lower space overhead of checkpoints when the software updates.展开更多
The technologies of software architecture are introduced, and the software analysis-and-design process is divided into requirement analysis, software architecture design and system design. Using these technologies, a ...The technologies of software architecture are introduced, and the software analysis-and-design process is divided into requirement analysis, software architecture design and system design. Using these technologies, a model of architecture-centric software analysis and design process(ACSADP) is proposed. Meanwhile, with regard to the completeness, consistency and correctness between the software requirements and design results, the theories of function and process control are applied to ACSADP. Finally, a model of integrated development environnment (IDE) for ACSADP is propcsed. It can be demonstrated by the practice that the model of ACSADP can aid developer to manage software process effectively and improve the quality of software analysis and design.展开更多
Presents the design scheme developed for design of software for Integrated Passive and Active Vibration Control(IPAVC) and the coding of a prototyne system, and the selection of the famous finite element program MSC/N...Presents the design scheme developed for design of software for Integrated Passive and Active Vibration Control(IPAVC) and the coding of a prototyne system, and the selection of the famous finite element program MSC/NASTRAN as an important module of software to deal with large and complicated structures and systems with an example to demonstrate the prototype system.展开更多
In this paper, we propose a novel methodology to guide and assist practitioners supporting software architecture and design activities in agile environments. Software architecture and design is the skeleton of a syste...In this paper, we propose a novel methodology to guide and assist practitioners supporting software architecture and design activities in agile environments. Software architecture and design is the skeleton of a system. It defines how the system has to behave in terms of different functional and non-functional requirements. Currently, a clear specification of software architectural design activities and processes in agile environments does not exist. Our methodology describes in detail the phases in the agile software design process and proposes techniques and tools to implement these phases.展开更多
This paper presents the design of a computational software system that enables solutions of multi-phase and multi-scale problems in mechanics. It demonstrated how mechanicians can design “process-driven” software sy...This paper presents the design of a computational software system that enables solutions of multi-phase and multi-scale problems in mechanics. It demonstrated how mechanicians can design “process-driven” software systems directly, and that such efforts are more suitable in solving multi-phase or multi-scale problems, rather than utilizing the “data-driven” approaches of legacy network systems. Specifically, this paper demonstrates how this approach can be used to solve problems in flexible dynamics. Then it suggests a view of mechanics algorithms as ‘state equilibrium’ enforcers residing as servers, rather than as computer programs that solve field equations. It puts forth the need for identical input/output files to ensure widespread deployment on laptops. Then it presents an assessment of the laptop platform. A software system such as the one presented here can also be used to supply virtual environments, animations and entertainment/education software with physics.展开更多
Software engineering has been taught at many institutions as individual course for many years. Recently, many higher education institutions offer a BSc degree in Software Engineering. Software engineers are required, ...Software engineering has been taught at many institutions as individual course for many years. Recently, many higher education institutions offer a BSc degree in Software Engineering. Software engineers are required, especially at the small enterprises, to play many roles, and sometimes simultaneously. Beside the technical and managerial skills, software engineers should have additional intellectual skills such as domain-specific abstract thinking. Therefore, software engineering curriculum should help the students to build and improve their skills to meet the labor market needs. This study aims to explore the perceptions of software engineering students on the influence of learning software modeling and design on their domain-specific abstract thinking. Also, we explore the role of the course project in improving their domain-specific abstract thinking. The study results have shown that, most of the surveyed students believe that learning and practicing modeling and design concepts contribute to their ability to think abstractly on specific domain. However, this finding is influenced by the students’ lack of the comprehension of some modeling and design aspects (e.g., generalization). We believe that, such aspects should be introduced to the students at early levels of software engineering curriculum, which certainly will improve their ability to think abstractly on specific domain.展开更多
The case study presented here uses an interpretivist (qualitative, humanistic) approach to illustrate and describe a range of interactions and behaviors that occur during design meetings where mentoring and design sim...The case study presented here uses an interpretivist (qualitative, humanistic) approach to illustrate and describe a range of interactions and behaviors that occur during design meetings where mentoring and design simultaneously occur within a software engineering firm, during a portion of the design phase for a software project. It attempts to examine the interaction between two design team members (one novice and one expert) and describes how these observations intersect with the theoretical and applied literature and actual design processes. Taking cues from two theoretical descriptions of the design process, the study presented here suggests that modes and models of mentorship should be added, when applicable, as a descriptive portion of the design process.展开更多
To search for the Design Patterns’ influence on the software, the paper abstracts the feature models of 9 kinds of classic exiting design patterns among the 23 kinds and describes the features with algorithm language...To search for the Design Patterns’ influence on the software, the paper abstracts the feature models of 9 kinds of classic exiting design patterns among the 23 kinds and describes the features with algorithm language. Meanwhile, searching for the specific structure features in the network, the paper designs 9 matching algorithms of the 9 kinds design patterns mentioned above to research on the structure of the design patterns in the software network. At last, the paper analyzes the evolving trends of the software scale and the application frequency of the 9 kinds of design patterns as the software evolves, and search for the rules how these design patterns are applied into 4 kinds of typical software.展开更多
Software systems can be among the most complex constructions in engineering disciplines and can span into years of development. Most software systems though implement in part what has already been built and tend to fo...Software systems can be among the most complex constructions in engineering disciplines and can span into years of development. Most software systems though implement in part what has already been built and tend to follow known or nearly known architectures. Although most software systems are not of the size of say Microsoft Windows 8, complexity of software development can be quick to increase. Thus among these methods that are the most important is the use of architectural and design patterns and software frameworks. Patterns provide known solutions to re-occurring problems that developers are facing. By using well-known patterns reusable components can be built in frameworks.Software frameworks provide developers with powerful tools to develop more flexible and less error-prone applications in a more effective way. Software frameworks often help expedite the development process by providing necessary functionality “out of the box”.?Providing frameworks for reusability and separation of concerns is key to software development today. In this study I take a look at the state of art and the impact of frameworks and patterns in software development.展开更多
New theories,methodologies,and technologies have been continuously invented and widely applied in modern software development,along with many new tools and best practices that are of remarkable significance in the sof...New theories,methodologies,and technologies have been continuously invented and widely applied in modern software development,along with many new tools and best practices that are of remarkable significance in the software industry.In Software Engineering(SE)programs of universities,it is quite difficult for their curricula to chase after the fast-evolving technology trend.As a consequence,there have been significant challenges in designing an evolvable SE curriculum.In this paper,we present a knowledge graph based curriculum design method for SE programs.Knowledge Points(KPs)are organized into a multi-layer and multi-dimensionally annotated knowledge graph called SEKG,and five principles are applied to partition the SEKG into a set of inter-related courses.Metrics for evaluating the quality of an SE curriculum are briefly discussed.This method can not only help design a systematic curriculum from existing software engineering KPs but also facilitate curriculum evolution to adapt to technology trends.展开更多
文摘Engineering practice is the key bridge between college education and actual work in the industry.In order to deliver qualified talents with engineering quality to the industry,this paper explores integrating software engineering thinking into the Embedded System Design course.A practical and effective teaching mode is designed consisting of immersive learning,case-based learning,progressive practice,interactive learning,and autonomous learning.Through this teaching mode,multi-levels of closed-loop have been established including final project cycle closed-loop,testing cycle closed-loop,and product cycle closed-loop.During this process,students gradually transition to putting forward product requirements,carrying out design and development,thinking and solving problems,collaborating,and assuring quality from the perspective of software engineering.The practice results show that students’engineering quality has been significantly improved.
基金Project(BE2011778)supported by Science and Technology Support Program of Jiangsu Province,ChinaProject(20133069014)supported by Aeronautical Science Foundation of China
文摘A new kind offl biomedical titanium alloy, Ti-35Nb-4Sn-6Mo-9Zr, composed of non-toxic elements Nb, Mo, Zr and Sn with lower elastic modulus and higher strength was designed based on d-electron alloy design theory and JMatPro software using orthogonal experiment. The microstructure and basic mechanical properties of designed alloy were investigated. The results show that the alloy is composed of single fl equiaxed grains after solution treatment at 800 ~C. Compared with Ti-6A1-4V, the mechanical properties of the designed alloy are more excellent: E=65 GPa, σb=834 MPa, σ0.2=802 MPa, and σ=11%, which is expected to become a promising new type implanted material. The research approach adopted can reduce the experimental time and cost effectively, and get the ideal experimental results.
基金Supported by the National Natural Science Foundation of China(61062007)the Principal Fund Project of Tarim University,China(TDZKSS201115)~~
文摘According to the morphological structure characteristics of plants, the de- velopment mode for component-based virtual plants software was put forward, and the internal structure of plant organs component under this mode were analyzed, thereby, the overall design mode for virtual plants software was given out, and its characteristics were estimated. Compared with traditional development modes of virtual plants software, component-based virtual plants software had significant advantages in code reusing, development efficiency and expansion of software functions.
基金supported by the National Natural Science Foundation for Youth of China(61802174)the Natural Science Foundation for Youth of Jiangsu Province(BK20181016)+1 种基金the Natural Science Foundation of the Jiangsu Higher Education Institutions of China(18KJB520019)the Scientific Research Foundation of Nanjing Institute of Technology of China(YKJ201614)
文摘In order to assure quality and control process in the development of the aircraft collaborative design software, a maturity assessment model is proposed. The requirements designing—house of quality is designed to evaluate the maturity degree of the solution, and the evaluation results can help to manage and control the development process. Furthermore, a fuzzy evaluation method based on the minimum deviation is proposed to deal with the fuzzy information. The quantitative evaluation result of the maturity degree can be calculated by optimizing the semantic discount factor aim for the minimum deviation. Finally, this model is illustrated and analyzed by an example study of the aircraft collaborative design software.
文摘The advent of Industry 4.0 has compelled businesses to adopt digital approaches that combine software toenhance production efficiency. In this rapidly evolving market, software development is an ongoing process thatmust be tailored to meet the dynamic needs of enterprises. However, internal research and development can beprohibitively expensive, driving many enterprises to outsource software development and upgrades to externalservice providers. This paper presents a software upgrade outsourcing model for enterprises and service providersthat accounts for the impact of market fluctuations on software adaptability. To mitigate the risk of adverseselection due to asymmetric information about the service provider’s cost and asymmetric information aboutthe enterprise’s revenues, we propose pay-per-time and revenue-sharing contracts in two distinct informationasymmetry scenarios. These two contracts specify the time and transfer payments for software upgrades. Througha comparative analysis of the optimal solutions under the two contracts and centralized decision-making withfull-information, we examine the characteristics of the solutions under two information asymmetry scenarios andanalyze the incentive effects of the two contracts on the various stakeholders. Overall, our study offers valuableinsights for firms seeking to optimize their outsourcing strategies and maximize their returns on investment insoftware upgrades.
基金Supported by Shanghai Leading Academic Discipline Project ,Project Number :T0601
文摘3D digital design for cranes’ structures based on hybrid software architecture of Client/Server and Browser/Server is introduced in this paper. Based on Pro/ENGINEER platform,3D parametric model family is built to allow generation of feasible configurations of cranes’ structures in Client/Server framework. Taking use of Visual C++,the second exploiting software kit provided by Pro/ENGINEER and ANSYS GUI/APDL modeling patterns,an integration method of 3D CAD and CAE is achieved,which includes regeneration of 3D parametric model,synchronous updating and analysis of FEA model. As in Browser/Server framework,the 3D CAD models of parts,components and the whole structure could also be displayed in the customer’s browser in VRML format.
文摘Design patterns are object oriented software design practices for solving common design problems and they affect software quality. In this study, we investigate the relationship of design patterns and software defects in a number of open source software projects. Design pattern instances are extracted from the source code repository of these open source software projects. Software defect metrics are extracted from the bug tracking systems of these projects. Using correlation and regression analysis on extracted data, we examine the relationship between design patterns and software defects. Our findings indicate that there is little correlation between the total number of design pattern instances and the number of defects. However, our regression analysis reveals that individual design pattern instances as a group have strong influences on the number of defects. Furthermore, we find that the number of design pattern instances is positively correlated to defect priority. Individual design pattern instances may have positive or negative impacts on defect priority.
基金support from the Beijing Natural Science Foundation(8222070)the National Natural Science Foundation of China(52374250,52121003,52130409)the Fundamental Research Funds for the Central Universities(2023ZKPYAQ01).
文摘The ability to predict gas emissions accurately is pivotal in managing gas control and ensuring safe mining operations.Existing internationally acknowledged gas control and prediction software does not cater to the specific conditions in Chinese coal mines.Hence,this paper introduces an object-oriented programming method to design a software tool for calculating the total gas emission quantity using the MATLAB application program designer runtime environment.The software incorporates an algorithm,data structure,framework,and module functions,all of which enable seamless integration and visualization of gas emission calculation software.This software tool mitigates the inefficiencies and inaccuracies associated with manual,different-source forecast methods.Based on the field data of the Hulonggou Coal Mine in Shanxi province,this technical software was used to predict the gas emission of the mine.The research results show that the predicted value of the technical software is close to the actual measured value.The differing estimates of the working face and coal mine output primarily account for the deviation between the tool's predicted gas emission value and the field-measured value.The underlying design logic of this technical software determines that it has good adaptability to mines with clear mining technology parameters and gas geological parameters.This study provides a valuable method for researchers and engineers seeking to improve gas emission calculation efficiency.
基金Chongqing Engineering University Undergraduate Innovation and Entrepreneurship Training Program Project:Wireless Fire Automatic Alarm System(Project No.:CXCY2024017)Chongqing Municipal Education Commission Science and Technology Research Project:Development and Research of Chongqing Wireless Fire Automatic Alarm System(Project No.:KJQN202401906)。
文摘This article explores the design of a wireless fire alarm system supported by advanced data fusion technology.It includes discussions on the basic design ideas of the wireless fire alarm system,hardware design analysis,software design analysis,and simulation analysis,all supported by data fusion technology.Hopefully,this analysis can provide some reference for the rational application of data fusion technology to meet the actual design and application requirements of the system.
文摘This paper points out various relationships between Design Knowledge and Software Engineering. After introduction of human design, the relationships between industrial Software Engineering is discussed, then further details of human design knowledge are revealed with discussions on humanistic aspects of design.
基金Supported by the National Natural Science Foundation of China (60873203)the Foundation of Key Laboratory of Aerospace Information Security and Trusted Computing Ministry of Education (AISTC2009_03)+1 种基金the Outstanding Youth Foundation of Hebei Province (F2010000317)the Natural Science Foundation of Hebei Province (F2010000319, F2011201039)
文摘In this paper, we merge software trustworthiness with software design and present an approach to trustworthy software design with an automatically adapting software update. First, software behavior and results can be expected and behavior states can be monitored when a software runs by introducing a trustworthy behavior trace on a software and inserting a checkpoint sensor at each checkpoint of the trustworthy software. Second, an updated approach of the trustworthy behavior trace for the software at the level of checkpoints is presented. The trustworthy behavior traces of the software for two versions can be merged adequately by constructing split points and merge points between two trustworthy behavior traces. Finally, experiments and analyses show that: (1) the software designed by our approach can detect and report the anomaly in a software automatically and effectively, so it has a higher ability of trustworthiness evaluation than the traditional software; and (2) our approach can realize the accurate update of the trustworthy behavior trace with a lower space overhead of checkpoints when the software updates.
文摘The technologies of software architecture are introduced, and the software analysis-and-design process is divided into requirement analysis, software architecture design and system design. Using these technologies, a model of architecture-centric software analysis and design process(ACSADP) is proposed. Meanwhile, with regard to the completeness, consistency and correctness between the software requirements and design results, the theories of function and process control are applied to ACSADP. Finally, a model of integrated development environnment (IDE) for ACSADP is propcsed. It can be demonstrated by the practice that the model of ACSADP can aid developer to manage software process effectively and improve the quality of software analysis and design.
文摘Presents the design scheme developed for design of software for Integrated Passive and Active Vibration Control(IPAVC) and the coding of a prototyne system, and the selection of the famous finite element program MSC/NASTRAN as an important module of software to deal with large and complicated structures and systems with an example to demonstrate the prototype system.
文摘In this paper, we propose a novel methodology to guide and assist practitioners supporting software architecture and design activities in agile environments. Software architecture and design is the skeleton of a system. It defines how the system has to behave in terms of different functional and non-functional requirements. Currently, a clear specification of software architectural design activities and processes in agile environments does not exist. Our methodology describes in detail the phases in the agile software design process and proposes techniques and tools to implement these phases.
文摘This paper presents the design of a computational software system that enables solutions of multi-phase and multi-scale problems in mechanics. It demonstrated how mechanicians can design “process-driven” software systems directly, and that such efforts are more suitable in solving multi-phase or multi-scale problems, rather than utilizing the “data-driven” approaches of legacy network systems. Specifically, this paper demonstrates how this approach can be used to solve problems in flexible dynamics. Then it suggests a view of mechanics algorithms as ‘state equilibrium’ enforcers residing as servers, rather than as computer programs that solve field equations. It puts forth the need for identical input/output files to ensure widespread deployment on laptops. Then it presents an assessment of the laptop platform. A software system such as the one presented here can also be used to supply virtual environments, animations and entertainment/education software with physics.
文摘Software engineering has been taught at many institutions as individual course for many years. Recently, many higher education institutions offer a BSc degree in Software Engineering. Software engineers are required, especially at the small enterprises, to play many roles, and sometimes simultaneously. Beside the technical and managerial skills, software engineers should have additional intellectual skills such as domain-specific abstract thinking. Therefore, software engineering curriculum should help the students to build and improve their skills to meet the labor market needs. This study aims to explore the perceptions of software engineering students on the influence of learning software modeling and design on their domain-specific abstract thinking. Also, we explore the role of the course project in improving their domain-specific abstract thinking. The study results have shown that, most of the surveyed students believe that learning and practicing modeling and design concepts contribute to their ability to think abstractly on specific domain. However, this finding is influenced by the students’ lack of the comprehension of some modeling and design aspects (e.g., generalization). We believe that, such aspects should be introduced to the students at early levels of software engineering curriculum, which certainly will improve their ability to think abstractly on specific domain.
文摘The case study presented here uses an interpretivist (qualitative, humanistic) approach to illustrate and describe a range of interactions and behaviors that occur during design meetings where mentoring and design simultaneously occur within a software engineering firm, during a portion of the design phase for a software project. It attempts to examine the interaction between two design team members (one novice and one expert) and describes how these observations intersect with the theoretical and applied literature and actual design processes. Taking cues from two theoretical descriptions of the design process, the study presented here suggests that modes and models of mentorship should be added, when applicable, as a descriptive portion of the design process.
文摘To search for the Design Patterns’ influence on the software, the paper abstracts the feature models of 9 kinds of classic exiting design patterns among the 23 kinds and describes the features with algorithm language. Meanwhile, searching for the specific structure features in the network, the paper designs 9 matching algorithms of the 9 kinds design patterns mentioned above to research on the structure of the design patterns in the software network. At last, the paper analyzes the evolving trends of the software scale and the application frequency of the 9 kinds of design patterns as the software evolves, and search for the rules how these design patterns are applied into 4 kinds of typical software.
文摘Software systems can be among the most complex constructions in engineering disciplines and can span into years of development. Most software systems though implement in part what has already been built and tend to follow known or nearly known architectures. Although most software systems are not of the size of say Microsoft Windows 8, complexity of software development can be quick to increase. Thus among these methods that are the most important is the use of architectural and design patterns and software frameworks. Patterns provide known solutions to re-occurring problems that developers are facing. By using well-known patterns reusable components can be built in frameworks.Software frameworks provide developers with powerful tools to develop more flexible and less error-prone applications in a more effective way. Software frameworks often help expedite the development process by providing necessary functionality “out of the box”.?Providing frameworks for reusability and separation of concerns is key to software development today. In this study I take a look at the state of art and the impact of frameworks and patterns in software development.
文摘New theories,methodologies,and technologies have been continuously invented and widely applied in modern software development,along with many new tools and best practices that are of remarkable significance in the software industry.In Software Engineering(SE)programs of universities,it is quite difficult for their curricula to chase after the fast-evolving technology trend.As a consequence,there have been significant challenges in designing an evolvable SE curriculum.In this paper,we present a knowledge graph based curriculum design method for SE programs.Knowledge Points(KPs)are organized into a multi-layer and multi-dimensionally annotated knowledge graph called SEKG,and five principles are applied to partition the SEKG into a set of inter-related courses.Metrics for evaluating the quality of an SE curriculum are briefly discussed.This method can not only help design a systematic curriculum from existing software engineering KPs but also facilitate curriculum evolution to adapt to technology trends.