357,057 research outputs found

    Walking Through the Method Zoo: Does Higher Education Really Meet Software Industry Demands?

    Get PDF
    Software engineering educators are continually challenged by rapidly evolving concepts, technologies, and industry demands. Due to the omnipresence of software in a digitalized society, higher education institutions (HEIs) have to educate the students such that they learn how to learn, and that they are equipped with a profound basic knowledge and with latest knowledge about modern software and system development. Since industry demands change constantly, HEIs are challenged in meeting such current and future demands in a timely manner. This paper analyzes the current state of practice in software engineering education. Specifically, we want to compare contemporary education with industrial practice to understand if frameworks, methods and practices for software and system development taught at HEIs reflect industrial practice. For this, we conducted an online survey and collected information about 67 software engineering courses. Our findings show that development approaches taught at HEIs quite closely reflect industrial practice. We also found that the choice of what process to teach is sometimes driven by the wish to make a course successful. Especially when this happens for project courses, it could be beneficial to put more emphasis on building learning sequences with other courses

    RETIME software for real time data acquisition using LEICA TCA series

    Get PDF
    Industrial survey is a discipline of engineering surveys that requires the utmost in achievable accuracies and real time data processing. The instrumentation used in conventional industrial survey requires long painstaking procedures with very skilled craftsmen to obtain the required results. Revolution of technology with the introduction of new instruments (such as total station, computer and software) has revolutionized industrial survey. The development of three dimensional (3D) coordinating system and total station interfaced to a microcomputer provides the capabilities for on line data gathering with simultaneous processing in 3D. This research concentrates on the development of software to acquire data from robotic total station (RTS) TCA2003 in real time. This software called RETIME is a short form of REal TIME. RETIME software consisted of the three core module i.e. (i) Data communication with RTS TCA2003, (ii) Calculate the raw data to produce 3D coordinates, and (iii) Convert the data from RETIME format into STAR*NET format. STAR*NET software (third party software) has been used in this research to provide an adjusted data. For verification purpose, RETIME software has been evaluated and the resulted are acceptable for industrial survey environment

    A survey of the use of crowdsourcing in software engineering

    Get PDF
    The term 'crowdsourcing' was initially introduced in 2006 to describe an emerging distributed problem-solving model by online workers. Since then it has been widely studied and practiced to support software engineering. In this paper we provide a comprehensive survey of the use of crowdsourcing in software engineering, seeking to cover all literature on this topic. We first review the definitions of crowdsourcing and derive our definition of Crowdsourcing Software Engineering together with its taxonomy. Then we summarise industrial crowdsourcing practice in software engineering and corresponding case studies. We further analyse the software engineering domains, tasks and applications for crowdsourcing and the platforms and stakeholders involved in realising Crowdsourced Software Engineering solutions. We conclude by exposing trends, open issues and opportunities for future research on Crowdsourced Software Engineering

    SmartUnit: Empirical Evaluations for Automated Unit Testing of Embedded Software in Industry

    Full text link
    In this paper, we aim at the automated unit coverage-based testing for embedded software. To achieve the goal, by analyzing the industrial requirements and our previous work on automated unit testing tool CAUT, we rebuild a new tool, SmartUnit, to solve the engineering requirements that take place in our partner companies. SmartUnit is a dynamic symbolic execution implementation, which supports statement, branch, boundary value and MC/DC coverage. SmartUnit has been used to test more than one million lines of code in real projects. For confidentiality motives, we select three in-house real projects for the empirical evaluations. We also carry out our evaluations on two open source database projects, SQLite and PostgreSQL, to test the scalability of our tool since the scale of the embedded software project is mostly not large, 5K-50K lines of code on average. From our experimental results, in general, more than 90% of functions in commercial embedded software achieve 100% statement, branch, MC/DC coverage, more than 80% of functions in SQLite achieve 100% MC/DC coverage, and more than 60% of functions in PostgreSQL achieve 100% MC/DC coverage. Moreover, SmartUnit is able to find the runtime exceptions at the unit testing level. We also have reported exceptions like array index out of bounds and divided-by-zero in SQLite. Furthermore, we analyze the reasons of low coverage in automated unit testing in our setting and give a survey on the situation of manual unit testing with respect to automated unit testing in industry.Comment: In Proceedings of 40th International Conference on Software Engineering: Software Engineering in Practice Track, Gothenburg, Sweden, May 27-June 3, 2018 (ICSE-SEIP '18), 10 page

    Understanding Social and Environmental Requirements in China

    Get PDF
    Rapid changes in the social and technical environment bring about many new challenges to system requirements engineering, amongst which out-sourcing or off-shoring of certain design tasks to countries with more human resources and broader markets becomes promising business leverage. Here we report some of the result from an ongoing research project on the survey of requirements practices in China. It is interesting to understand the current status of industrial practices after years\u27 research efforts, especially in a rapidly developing country such as the China. We perform a web-based survey of requirements engineering practices in China, focusing on the requirement elicitation techniques and requirement presentation techniques. Our study has collected data from 150+ participants from 50+ Chinese companies and education institutes. We also analyze the impact of Chinese culture on requirement engineering practices. In this report, we present the main survey results and point out their implications. We hope our results are useful for industrial practitioners and academic researchers wishing to improve current practices, and for foreign software companies wishing to better understand their Chinese customers

    Impact of Stress on Software Engineers Knowledge Sharing and Creativity (A Pakistani Perspective)

    Get PDF
    Software development involves technology as well as human efforts. Software engineering is supportive to create a quality of product by adopting the process of sharing knowledge. A lot of research was conducted on the technical side but human side of software development disregarded. Knowledge and creativity considered major factors for improving the software quality. Currently professionals working in the field of software engineering are under impressive pressure which cause stress for the Software engineers. It is highly desirable to conduct an empirical study on impact of stress on software engineers knowledge sharing & creativity. The major motivation for this study is to investigate the impact of job stress factors which can affect the software engineering knowledge sharing capabilities and creativity. The research is based on industrial assessment. For conducting this study we developed a questionnaire based on Stress Factors. Statistical analyses are performed through SPSS tool. On the basis of the results from the survey, we proposed some strategies for those factors that have high impact on software engineers and try to mitigate their affect. These results highlight stress factors and their impact on software engineers knowledge sharing and creativity, working in Pakistani software industry

    Impact of Stress on Software Engineers Knowledge Sharing and Creativity (A Pakistani Perspective)

    Get PDF
    Software development involves technology as well as human efforts. Software engineering is supportive to create a quality of product by adopting the process of sharing knowledge. A lot of research was conducted on the technical side but human side of software development disregarded. Knowledge and creativity considered major factors for improving the software quality. Currently professionals working in the field of software engineering are under impressive pressure which cause stress for the Software engineers. It is highly desirable to conduct an empirical study on impact of stress on software engineers knowledge sharing & creativity. The major motivation for this study is to investigate the impact of job stress factors which can affect the software engineering knowledge sharing capabilities and creativity. The research is based on industrial assessment. For conducting this study we developed a questionnaire based on Stress Factors. Statistical analyses are performed through SPSS tool. On the basis of the results from the survey, we proposed some strategies for those factors that have high impact on software engineers and try to mitigate their affect. These results highlight stress factors and their impact on software engineers knowledge sharing and creativity, working in Pakistani software industry

    FEED-FORWARD IN SOFTWARE ENGINEERING WITH PARTICULAR FOCUS ON REQUIREMENTS ENGINEERING AND SOFTWARE ARCHITECTING

    Get PDF
    This study is intended to determine the characteristics, impact and state of the practice of feed-forward in software engineering; in particular, in the fields of Requirements Engineering (RE) and Software Architecting (SA). Feed-forward is used in many domains such as systems engineering, neural networks, management and psychotherapy. However, in software engineering, especially in RE and SA, the concept of feed-forward is not well researched. For example, what are the characteristics of feed-forward information? What effect does feed-forward information have on architectural artefacts and software project aspects such as cost, quality, time, etc.? What is the current state of practice of feed-forward? A knowledge seeking empirical investigation including an industrial survey and an embedded case study with four projects as four units of analysis were carried out based on these questions. The overall findings ofthis study show that the most common types of information that are fed-forward consistently are requirements and architectural information. This information affects a multitude of aspects of a software project (such as time, cost and quality) and influences several architectural artefacts (such as tactics, patterns and decisions). The results also show that approximately 20% of software professionals have never, or rarely, practiced feed­ forward in their organizations. On the other hand, approximately 66% of software professionals practice feed-forward in their organization in varying levels (“sometimes”, “most of the time”, “always”). 64% of software professionals find feed-forward to be useful for their organization and 4% thought that feed-forward would not be useful, citing reasons such as information overload and lack of motivation. From a researcher’s perspective, determining the properties of feed-forward could provide ground work for doing further research on feed-forward such as: the practice of feed-forward in the other areas of software engineering and the comparison of feedback and feed-forward in software engineerin

    The Transient response of heat exchangers

    Get PDF
    The transient response of heat exchangers to a change in inlet temperature of one of the fluids is of much interest in industrial practice. Due to the complexity of the problem, no generally accepted solutions exist. This thesis presents an extensive survey of major solutions available in literature and identifies the ranges of parameters for which solutions are not available. A commercially available thermal network solver software package (Thermonet) will be used to model the transient response of heat exchangers. The software package will be verified using five existing solutions found in literature. The software package will be utilized to generate transient solutions for a counterflow heat exchanger covering a wide range of parameters useful in engineering practice. The results are presented in tabular form. Important parametric influences are discussed and effects of process and geometrical variables on the transient performance is evaluated

    Book review: Basics in medical education

    Get PDF
    Software evolves continuously. As a consequence, software systems tend to become increasingly complex and, as such, more difficult to change. A software system's complexity is for a large part determined by its structure, or architecture. In this thesis we investigate how to reduce the risks and costs associated with the evolution of software architectures. Automation and abstraction are two basic software engineering techniques to deal with complexity. In this thesis we investigate the applicability of model-driven engineering, a new software development approach based on abstraction and automation, to support the evolution of software architectures. The main research question we address in this thesis is: "How can evolution of software architectures be supported?". Three subquestions related to industrial integration, software product lines, and automation further clarify the scope of our work. We first conducted a survey among several software development organisation to inventory the state-of-the-practice in software engineering technologies. Some trends we observed from this inventory include: the informal use modelling in industry, the use of product-line approaches, and the importance of the evolutionary aspect of software. Next, we investigated how to support four tasks related to software architecture evolution: evaluation, conformance checking, migration, and documentation. We aim to automate this support where possible. To this end, we employ model-driven software development technologies. For each of the software evolution tasks, we present a case study that investigates how that task can be supported. The informal use of modelling in industry calls for a normalisation step to enable the integration of evolution support in practice. Several chapters address the impact of the use of product-line approaches on the evolution support. Although the increased scope make such support more difficult to develop, the return on investment for the model-driven support is much improved. The model-driven evolution support follows a similar three-step pattern. First, a set of source models is preprocessed into a form suitable for the application of model transformations. Then, model transformations are applied that do the actual work, such as conformance checking or a migration. Finally, the resulting models are postprocessed in a resulting into a desired target form.Electrical Engineering, Mathematics and Computer Scienc
    • …
    corecore