Structural development defects essentially refer to code structure that violates object-oriented design principles. They make program maintenance challenging and deteriorate software quality over time. Various detecti...Structural development defects essentially refer to code structure that violates object-oriented design principles. They make program maintenance challenging and deteriorate software quality over time. Various detection approaches, ranging from traditional heuristic algorithms to machine learning methods, are used to identify these defects. Ensemble learning methods have strengthened the detection of these defects. However, existing approaches do not simultaneously exploit the capabilities of extracting relevant features from pre-trained models and the performance of neural networks for the classification task. Therefore, our goal has been to design a model that combines a pre-trained model to extract relevant features from code excerpts through transfer learning and a bagging method with a base estimator, a dense neural network, for defect classification. To achieve this, we composed multiple samples of the same size with replacements from the imbalanced dataset MLCQ1. For all the samples, we used the CodeT5-small variant to extract features and trained a bagging method with the neural network Roberta Classification Head to classify defects based on these features. We then compared this model to RandomForest, one of the ensemble methods that yields good results. Our experiments showed that the number of base estimators to use for bagging depends on the defect to be detected. Next, we observed that it was not necessary to use a data balancing technique with our model when the imbalance rate was 23%. Finally, for blob detection, RandomForest had a median MCC value of 0.36 compared to 0.12 for our method. However, our method was predominant in Long Method detection with a median MCC value of 0.53 compared to 0.42 for RandomForest. These results suggest that the performance of ensemble methods in detecting structural development defects is dependent on specific defects.展开更多
The increasing use of digital video everyday in a multitude of electronic devices, including mobile phones, tablets and laptops, poses the need for quick development of cross-platform video software. However current a...The increasing use of digital video everyday in a multitude of electronic devices, including mobile phones, tablets and laptops, poses the need for quick development of cross-platform video software. However current approaches to this direction usually require a long learning curve, and their development lacks standardization. This results in software components that are difficult to reuse, and hard to maintain or extend. In order to overcome such issues, we propose a novel object-oriented framework for efficient development of software systems for video analysis. It consists of a set of four abstract components, suitable for the implementation of independent plug-in modules for video acquisition, preprocessing, analysis and output handling. The extensibility of each module can be facilitated by sub-modules specifying additional functionalities. This architecture enables quick responses to changes and re-configurability;thus conforming to the requirements of agile software development practices. Considering the need for platform independency, the proposed Java Video Analysis (JVA) framework is implemented in Java. It is publicly available through the web as open-access software, supported by a growing collection of implemented modules. Its efficiency is empirically validated for the development of a representative video analysis system.展开更多
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. .展开更多
In this paper, the authors establish the Amalab-integrated operation management system (A-IOMS) as a new way to carry out software development and monitor business processes. This new system puts the previously cons...In this paper, the authors establish the Amalab-integrated operation management system (A-IOMS) as a new way to carry out software development and monitor business processes. This new system puts the previously constructed the Amalab-project planning navigation system (A-PPNS) to work throughout the entire organization. The A-IOMS has several key elements. Specifically, the authors have constructed: (1) a Hi-reliability estimation system diagnostic tool that pinpoints problems with software development estimates and offers a prescription for resolving them; (2) a QA table map that allows for an immediate, thorough, and consistent quality assurance process; (3) a system for sharing software development schedules throughout the organization; and (4) a technological asset completion reporting system for passing down and cultivating software development technologies and strategically expanding them. The authors verified the effectiveness of the A-IOMS at company A, a systems integration company, and the given outcomes were obtained.展开更多
A software for the management of computer aided design(CAD) drawings was developed. It can be used to classify and register information including geometric features of the drawings, and to search appropriate referen...A software for the management of computer aided design(CAD) drawings was developed. It can be used to classify and register information including geometric features of the drawings, and to search appropriate reference drawings matching the given conditions of a new design. The thumbnails of the drawings can be displayed in an order of preference and can be used to zoom and access the PDF file or CAD data of a selected drawing. The thumbnails and the data structure are two key elements of the software.展开更多
In this paper, we identify a set of factors that may be used to forecast software productivity and software development time. Software productivity was measured in function points per person hours, and software develo...In this paper, we identify a set of factors that may be used to forecast software productivity and software development time. Software productivity was measured in function points per person hours, and software development time was measured in number of elapsed days. Using field data on over 130 field software projects from various industries, we empirically test the impact of team size, integrated computer aided software engineering (ICASE) tools, software development type, software development platform, and programming language type on the software development productivity and development time. Our results indicate that team size, software development type, software development platform, and programming language type significantly impact software development productivity. However, only team size significantly impacts software development time. Our results indicate that effective management of software development teams, and using different management strategies for different software development type environments may improve software development productivity.展开更多
Technological innovations have revolutionized the educational technology into various dimensions. Educational processes without educational technology have no value in this modern world. In education domain, the educa...Technological innovations have revolutionized the educational technology into various dimensions. Educational processes without educational technology have no value in this modern world. In education domain, the educational software has simplified the processes in greater extend. A implemented while developing such educational software. In particu proper lar, the development methodology has to be software developed to enrich these education processes should follow a development strategy to motivate the end users to utilize the hypermedia potentials. The software development life cycle (SDLC) has different phases in designing such educationa technology and assists the end users to benefit from the modern technology. This study identifies the various factors to be considered at each phase of the SDLC while developing educational software. Also, this study proposes some suggestions to be followed in ESDLC with respect to educational processes perspectives. The core idea of this study is to identify the various issues in implementing such educational software in day to day teaching and learning processes.展开更多
An integration processing system of three-dimensional laser scanning information visualization in goaf was developed. It is provided with multiple functions, such as laser scanning information management for goaf, clo...An integration processing system of three-dimensional laser scanning information visualization in goaf was developed. It is provided with multiple functions, such as laser scanning information management for goaf, cloud data de-noising optimization, construction, display and operation of three-dimensional model, model editing, profile generation, calculation of goaf volume and roof area, Boolean calculation among models and interaction with the third party soft ware. Concerning this system with a concise interface, plentiful data input/output interfaces, it is featured with high integration, simple and convenient operations of applications. According to practice, in addition to being well-adapted, this system is favorably reliable and stable.展开更多
Aims: This study aims at designing and implementing syllabus-oriented question-bank system that is capable of producing paper-based exams with multiple forms along with answer keys. The developed software tool is nam...Aims: This study aims at designing and implementing syllabus-oriented question-bank system that is capable of producing paper-based exams with multiple forms along with answer keys. The developed software tool is named Χ(Chi)-Pro Milestone and supports four types of questions, namely: Multiple-choice, True/False, Short-Answer and Free-Response Essay questions. The study is motivated by the fact that student number in schools and universities is continuously growing at high, non-linear, and uncontrolled rates. This growth, however, is not accompanied by an equivalent growth of educational resources (mainly: instructors, classrooms, and labs). A direct result of this situation is having relatively large number of students in each classroom. It is observed that providing and using online-examining systems could be intractable and expensive. As an alternative, paper-based exams can be used. One main issue is that manually produced paper-based exams are of low quality because of some human factors such as instability and relatively narrow range of topics [1]. Further, it is observed that instructors usually need to spend a lot of time and energy in composing paper-based exams with multiple forms. Therefore, the use of computers for automatic production of paper-based exams from question banks is becoming more and more important. Methodology: The design and evaluation of X-Pro Milestone are done by considering a basic set of design principles that are based on a list of identified Functional and Non-Functional Requirements. Deriving those requirements is made possible by developing X-Pro Milestone using the Iterative and Incremental model from software engineering domain. Results: We demonstrate that X-Pro Milestone has a number of excellent characteristics compared to the exam-preparation and question banks tools available in market. Some of these characteristics are: ease of use and operation, user-friendly interface and good usability, high security and protection of the question bank-items, high stability, and reliability. Further, X-Pro Milestone makes initiating, maintaining and archiving Question-Banks and produced exams possible. Putting X-Pro Milestone into real use has showed that X-Pro Milestone is easy to be learned and effectively used. We demonstrate that X-Pro Milestone is a cost-effective alternative to online examining systems with more and richer features and with low infrastructure requirements.展开更多
Scientific modeling provides mathematical abstractions of real-world systems and builds software as implementations of these mathematical abstractions.Ocean science is a multidisciplinary discipline developing scienti...Scientific modeling provides mathematical abstractions of real-world systems and builds software as implementations of these mathematical abstractions.Ocean science is a multidisciplinary discipline developing scientific models and simulations as ocean sys-tem models that are an essential research asset.In software engineering and information systems research,modeling is also an essential activity.In particular,business process modeling for business process management and systems engineering is the activity of representing processes of an enterprise,so that the current process may be analyzed,improved and automated.In this paper,we employ process modeling for analyzing sci-entific software development in ocean science to advance the state in engineering of ocean system models and to better understand how ocean system models are developed and maintained in ocean science.We interviewed domain experts in semi-structured inter-views,analyzed the results via thematic analysis,and modeled the results via the Busi-ness Process Modeling Notation(BPMN).The processes modeled as a result describe an aspired state of software development in the domain,which are often not(yet)imple-mented.This enables existing processes in simulation-based system engineering to be improved with the help of these process models.展开更多
There is a growing tendency for people in the community of object-oriented methods to use preand post-conditions to write formal specifications for opera- tions (methods) of classes. The motivation for trying to tak...There is a growing tendency for people in the community of object-oriented methods to use preand post-conditions to write formal specifications for opera- tions (methods) of classes. The motivation for trying to take advantage of well established formalism in precisely defining the functionality of operations is laudable, but unfortunately this exercise may be flawed because the use of pre- and post-conditions containing method calls (or similar) with side effects are likely to cause confusion in the interpretation of specifications. This paper analyzes, with comprehensible examples, why using pre-post notation is not effective to specify operations in objectoriented systems in general, discusses existing approaches to using pre-post notation for object-oriented systems, and offers some solutions to the problem.展开更多
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 layered software architecture is the model commonly adopted for the development of information systems since it favors the modularity and the scalability of the systems. On the other hand, the emergence of model e...The layered software architecture is the model commonly adopted for the development of information systems since it favors the modularity and the scalability of the systems. On the other hand, the emergence of model engineering aims to raise the level of abstraction to allow developers to reason on models, and less in code. The research question is to combine the two approaches to facilitate the work of developers. The proposal resulting from this study is based on a set of concepts defined using the UML profiles. These concepts include services, business components, and data persistence. Then the Kruchten model is adopted to represent the development cycle according to several views, each view being represented by UML diagrams derived from the previously defined profiles. Finally, rules are available for checking inter-view consistency, from refinement to code generation. The result is a step towards the definition of a domain specific ADL and a development process as much as it includes the expected characteristics of such a language, namely: the fundamental concepts, the support tools and the multiview development.展开更多
The growth of the software game development industry is enormous and is gaining importance day by day. This growth imposes severe pressure and a number of issues and challenges on the game development community. Game ...The growth of the software game development industry is enormous and is gaining importance day by day. This growth imposes severe pressure and a number of issues and challenges on the game development community. Game development is a complex process, and one important game development choice is to consider the developer's perspective to produce good-quality software games by improving the game development process. The objective of this study is to provide a better understanding of the developer's dimension as a factor in software game success. It focuses mainly on an empirical investigation of the effect of key developer's factors on the software game development process and eventually on the quality of the resulting game. A quantitative survey was developed and conducted to identify key developer's factors for an enhanced game development process. For this study, the developed survey was used to test the research model and hypotheses. The results provide evidence that game development organizations must deal with multiple key factors to remain competitive and to handle high pressure in the software game industry. The main contribution of this paper is to investigate empirically the influence of key developer's factors on the game development process.展开更多
文摘Structural development defects essentially refer to code structure that violates object-oriented design principles. They make program maintenance challenging and deteriorate software quality over time. Various detection approaches, ranging from traditional heuristic algorithms to machine learning methods, are used to identify these defects. Ensemble learning methods have strengthened the detection of these defects. However, existing approaches do not simultaneously exploit the capabilities of extracting relevant features from pre-trained models and the performance of neural networks for the classification task. Therefore, our goal has been to design a model that combines a pre-trained model to extract relevant features from code excerpts through transfer learning and a bagging method with a base estimator, a dense neural network, for defect classification. To achieve this, we composed multiple samples of the same size with replacements from the imbalanced dataset MLCQ1. For all the samples, we used the CodeT5-small variant to extract features and trained a bagging method with the neural network Roberta Classification Head to classify defects based on these features. We then compared this model to RandomForest, one of the ensemble methods that yields good results. Our experiments showed that the number of base estimators to use for bagging depends on the defect to be detected. Next, we observed that it was not necessary to use a data balancing technique with our model when the imbalance rate was 23%. Finally, for blob detection, RandomForest had a median MCC value of 0.36 compared to 0.12 for our method. However, our method was predominant in Long Method detection with a median MCC value of 0.53 compared to 0.42 for RandomForest. These results suggest that the performance of ensemble methods in detecting structural development defects is dependent on specific defects.
文摘The increasing use of digital video everyday in a multitude of electronic devices, including mobile phones, tablets and laptops, poses the need for quick development of cross-platform video software. However current approaches to this direction usually require a long learning curve, and their development lacks standardization. This results in software components that are difficult to reuse, and hard to maintain or extend. In order to overcome such issues, we propose a novel object-oriented framework for efficient development of software systems for video analysis. It consists of a set of four abstract components, suitable for the implementation of independent plug-in modules for video acquisition, preprocessing, analysis and output handling. The extensibility of each module can be facilitated by sub-modules specifying additional functionalities. This architecture enables quick responses to changes and re-configurability;thus conforming to the requirements of agile software development practices. Considering the need for platform independency, the proposed Java Video Analysis (JVA) framework is implemented in Java. It is publicly available through the web as open-access software, supported by a growing collection of implemented modules. Its efficiency is empirically validated for the development of a representative video analysis system.
文摘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. .
文摘In this paper, the authors establish the Amalab-integrated operation management system (A-IOMS) as a new way to carry out software development and monitor business processes. This new system puts the previously constructed the Amalab-project planning navigation system (A-PPNS) to work throughout the entire organization. The A-IOMS has several key elements. Specifically, the authors have constructed: (1) a Hi-reliability estimation system diagnostic tool that pinpoints problems with software development estimates and offers a prescription for resolving them; (2) a QA table map that allows for an immediate, thorough, and consistent quality assurance process; (3) a system for sharing software development schedules throughout the organization; and (4) a technological asset completion reporting system for passing down and cultivating software development technologies and strategically expanding them. The authors verified the effectiveness of the A-IOMS at company A, a systems integration company, and the given outcomes were obtained.
文摘A software for the management of computer aided design(CAD) drawings was developed. It can be used to classify and register information including geometric features of the drawings, and to search appropriate reference drawings matching the given conditions of a new design. The thumbnails of the drawings can be displayed in an order of preference and can be used to zoom and access the PDF file or CAD data of a selected drawing. The thumbnails and the data structure are two key elements of the software.
文摘In this paper, we identify a set of factors that may be used to forecast software productivity and software development time. Software productivity was measured in function points per person hours, and software development time was measured in number of elapsed days. Using field data on over 130 field software projects from various industries, we empirically test the impact of team size, integrated computer aided software engineering (ICASE) tools, software development type, software development platform, and programming language type on the software development productivity and development time. Our results indicate that team size, software development type, software development platform, and programming language type significantly impact software development productivity. However, only team size significantly impacts software development time. Our results indicate that effective management of software development teams, and using different management strategies for different software development type environments may improve software development productivity.
文摘Technological innovations have revolutionized the educational technology into various dimensions. Educational processes without educational technology have no value in this modern world. In education domain, the educational software has simplified the processes in greater extend. A implemented while developing such educational software. In particu proper lar, the development methodology has to be software developed to enrich these education processes should follow a development strategy to motivate the end users to utilize the hypermedia potentials. The software development life cycle (SDLC) has different phases in designing such educationa technology and assists the end users to benefit from the modern technology. This study identifies the various factors to be considered at each phase of the SDLC while developing educational software. Also, this study proposes some suggestions to be followed in ESDLC with respect to educational processes perspectives. The core idea of this study is to identify the various issues in implementing such educational software in day to day teaching and learning processes.
基金Project(51274250)supported by the National Natural Science Foundation of ChinaProject(2012BAK09B02-05)supported by the National Key Technology R&D Program during the 12th Five-year Plan of China
文摘An integration processing system of three-dimensional laser scanning information visualization in goaf was developed. It is provided with multiple functions, such as laser scanning information management for goaf, cloud data de-noising optimization, construction, display and operation of three-dimensional model, model editing, profile generation, calculation of goaf volume and roof area, Boolean calculation among models and interaction with the third party soft ware. Concerning this system with a concise interface, plentiful data input/output interfaces, it is featured with high integration, simple and convenient operations of applications. According to practice, in addition to being well-adapted, this system is favorably reliable and stable.
文摘Aims: This study aims at designing and implementing syllabus-oriented question-bank system that is capable of producing paper-based exams with multiple forms along with answer keys. The developed software tool is named Χ(Chi)-Pro Milestone and supports four types of questions, namely: Multiple-choice, True/False, Short-Answer and Free-Response Essay questions. The study is motivated by the fact that student number in schools and universities is continuously growing at high, non-linear, and uncontrolled rates. This growth, however, is not accompanied by an equivalent growth of educational resources (mainly: instructors, classrooms, and labs). A direct result of this situation is having relatively large number of students in each classroom. It is observed that providing and using online-examining systems could be intractable and expensive. As an alternative, paper-based exams can be used. One main issue is that manually produced paper-based exams are of low quality because of some human factors such as instability and relatively narrow range of topics [1]. Further, it is observed that instructors usually need to spend a lot of time and energy in composing paper-based exams with multiple forms. Therefore, the use of computers for automatic production of paper-based exams from question banks is becoming more and more important. Methodology: The design and evaluation of X-Pro Milestone are done by considering a basic set of design principles that are based on a list of identified Functional and Non-Functional Requirements. Deriving those requirements is made possible by developing X-Pro Milestone using the Iterative and Incremental model from software engineering domain. Results: We demonstrate that X-Pro Milestone has a number of excellent characteristics compared to the exam-preparation and question banks tools available in market. Some of these characteristics are: ease of use and operation, user-friendly interface and good usability, high security and protection of the question bank-items, high stability, and reliability. Further, X-Pro Milestone makes initiating, maintaining and archiving Question-Banks and produced exams possible. Putting X-Pro Milestone into real use has showed that X-Pro Milestone is easy to be learned and effectively used. We demonstrate that X-Pro Milestone is a cost-effective alternative to online examining systems with more and richer features and with low infrastructure requirements.
基金This work was funded by the Deutsche Forschungsgemeinschaft(DFG——German Research Foundation),grant no.HA 2038/8-1——425916241.
文摘Scientific modeling provides mathematical abstractions of real-world systems and builds software as implementations of these mathematical abstractions.Ocean science is a multidisciplinary discipline developing scientific models and simulations as ocean sys-tem models that are an essential research asset.In software engineering and information systems research,modeling is also an essential activity.In particular,business process modeling for business process management and systems engineering is the activity of representing processes of an enterprise,so that the current process may be analyzed,improved and automated.In this paper,we employ process modeling for analyzing sci-entific software development in ocean science to advance the state in engineering of ocean system models and to better understand how ocean system models are developed and maintained in ocean science.We interviewed domain experts in semi-structured inter-views,analyzed the results via thematic analysis,and modeled the results via the Busi-ness Process Modeling Notation(BPMN).The processes modeled as a result describe an aspired state of software development in the domain,which are often not(yet)imple-mented.This enables existing processes in simulation-based system engineering to be improved with the help of these process models.
文摘There is a growing tendency for people in the community of object-oriented methods to use preand post-conditions to write formal specifications for opera- tions (methods) of classes. The motivation for trying to take advantage of well established formalism in precisely defining the functionality of operations is laudable, but unfortunately this exercise may be flawed because the use of pre- and post-conditions containing method calls (or similar) with side effects are likely to cause confusion in the interpretation of specifications. This paper analyzes, with comprehensible examples, why using pre-post notation is not effective to specify operations in objectoriented systems in general, discusses existing approaches to using pre-post notation for object-oriented systems, and offers some solutions to the problem.
基金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 layered software architecture is the model commonly adopted for the development of information systems since it favors the modularity and the scalability of the systems. On the other hand, the emergence of model engineering aims to raise the level of abstraction to allow developers to reason on models, and less in code. The research question is to combine the two approaches to facilitate the work of developers. The proposal resulting from this study is based on a set of concepts defined using the UML profiles. These concepts include services, business components, and data persistence. Then the Kruchten model is adopted to represent the development cycle according to several views, each view being represented by UML diagrams derived from the previously defined profiles. Finally, rules are available for checking inter-view consistency, from refinement to code generation. The result is a step towards the definition of a domain specific ADL and a development process as much as it includes the expected characteristics of such a language, namely: the fundamental concepts, the support tools and the multiview development.
文摘The growth of the software game development industry is enormous and is gaining importance day by day. This growth imposes severe pressure and a number of issues and challenges on the game development community. Game development is a complex process, and one important game development choice is to consider the developer's perspective to produce good-quality software games by improving the game development process. The objective of this study is to provide a better understanding of the developer's dimension as a factor in software game success. It focuses mainly on an empirical investigation of the effect of key developer's factors on the software game development process and eventually on the quality of the resulting game. A quantitative survey was developed and conducted to identify key developer's factors for an enhanced game development process. For this study, the developed survey was used to test the research model and hypotheses. The results provide evidence that game development organizations must deal with multiple key factors to remain competitive and to handle high pressure in the software game industry. The main contribution of this paper is to investigate empirically the influence of key developer's factors on the game development process.