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.展开更多
We present the СATEС software, which implements the solution to the problems of computational acoustics. The software is based on the use of the superelement method and finite element modeling algorithms, in-cluding...We present the СATEС software, which implements the solution to the problems of computational acoustics. The software is based on the use of the superelement method and finite element modeling algorithms, in-cluding hydrodynamic noise. The paper presents the main possibilities of software for solving acoustic design problems. .展开更多
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.展开更多
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.展开更多
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.展开更多
Most current object-oriented programming courses offered by domestic colleges and universities generally focus on the object-oriented programming language itself,i.e.,the programming grammar of the language,but ignore...Most current object-oriented programming courses offered by domestic colleges and universities generally focus on the object-oriented programming language itself,i.e.,the programming grammar of the language,but ignore the design pattern.However,design patterns are essential to software engineering because they can solve common problems in software design and improve code reuse,readability,extensibility,and reliability.Our Object-oriented Software Construction Course is creative since it aims at cultivating students’object-oriented thinking as well as basic abilities required to construct high-quality,object-oriented software.Specifically,we exploit the 5E teaching principle during the education of this course,and present the whole pipeline in the paper.We also provide one case of the factory pattern to further demonstrate the implementation of the 5E teaching principle in the course.The effect of the 5E teaching principle has also been demonstrated.展开更多
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.展开更多
Over the past decade, open-source software use has grown. Today, many companies including Google, Microsoft, Meta, RedHat, MongoDB, and Apache are major participants of open-source contributions. With the increased us...Over the past decade, open-source software use has grown. Today, many companies including Google, Microsoft, Meta, RedHat, MongoDB, and Apache are major participants of open-source contributions. With the increased use of open-source software or integration of open-source software into custom-developed software, the quality of this software component increases in importance. This study examined a sample of open-source applications from GitHub. Static software analytics were conducted, and each application was classified for its risk level. In the analyzed applications, it was found that 90% of the applications were classified as low risk or moderate low risk indicating a high level of quality for open-source applications.展开更多
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.展开更多
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.展开更多
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.展开更多
文摘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.
文摘We present the СATEС software, which implements the solution to the problems of computational acoustics. The software is based on the use of the superelement method and finite element modeling algorithms, in-cluding hydrodynamic noise. The paper presents the main possibilities of software for solving acoustic design problems. .
文摘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.
基金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.
基金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.
基金supported by Guangdong Hardware and System Teaching and Research Office(Quality Engineeringproject No.HITSZERP22002)+2 种基金Guangdong Province Education Science Planning Project(Higher Education Project,Project No.2022GXJK431)Harbin Institute of Technology(Shenzhen)Course Ideological and Political Project(Project No.HITSZIP21003)Construction Project of Teachers College of Harbin Institute of Technology(Shenzhen)(Project No.HITSZSFXY202201)。
文摘Most current object-oriented programming courses offered by domestic colleges and universities generally focus on the object-oriented programming language itself,i.e.,the programming grammar of the language,but ignore the design pattern.However,design patterns are essential to software engineering because they can solve common problems in software design and improve code reuse,readability,extensibility,and reliability.Our Object-oriented Software Construction Course is creative since it aims at cultivating students’object-oriented thinking as well as basic abilities required to construct high-quality,object-oriented software.Specifically,we exploit the 5E teaching principle during the education of this course,and present the whole pipeline in the paper.We also provide one case of the factory pattern to further demonstrate the implementation of the 5E teaching principle in the course.The effect of the 5E teaching principle has also been demonstrated.
文摘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.
文摘Over the past decade, open-source software use has grown. Today, many companies including Google, Microsoft, Meta, RedHat, MongoDB, and Apache are major participants of open-source contributions. With the increased use of open-source software or integration of open-source software into custom-developed software, the quality of this software component increases in importance. This study examined a sample of open-source applications from GitHub. Static software analytics were conducted, and each application was classified for its risk level. In the analyzed applications, it was found that 90% of the applications were classified as low risk or moderate low risk indicating a high level of quality for open-source applications.
文摘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.
文摘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.
文摘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.