226,983 research outputs found

    The status of Object-oriented Software Reuse and Reusability Assessment in the Kenyan Software Engineering Industry

    Get PDF
    There are published claims of widespread ad-hoc reuse within the software Engineering industry—a situation that has caused organizations not to gain optimal benefits from reuse. The general impression created by literature is that, software developers hardly consider the concept measurement as a way of assessing reusability of developed software, thus the resulting software lack adequate reusability. This result to a common conclusion that, the software Engineering industry is still grappling with software development challenges that reuse is intended to solve. The purpose of this paper is to provide empirical evidence on the status of reuse and reusability assessment, which should form a basis for addressing the problems that hinder effective reuse. This paper reports the findings of an empirical study that surveyed software developers who had knowledge in OO software development. From the analysis of fifty-four (54) valid responses, the study establishes the status of reuse and reusability assessment, as well as the perceptions and awareness of OO developers on the concept of software measurement, with regards to software quality. Based on the findings of the survey, we give recommendations on how organizations can improve the reuse practice. Keywords: Software reuse, Software reusability, Software Metrics, Software Measuremen

    Shared Mental Models and Coordination in Large-Scale, Distributed Software Development

    Get PDF
    Despite substantial improvements in the last few years in software engineering and collaboration tools, coordination in large-scale software development continues to be problematic. This coordination is important because of the complex interdependencies that exist among software tasks, in that small productivity improvements can lead to substantial cost-savings and competitiveness. Traditional theories suggest that collaborators coordinate by organizing tasks and communicating, but recent research suggests that they also coordinate via implicit mechanisms like shared mental models. However, most of the shared mental model research literature focuses on real-time tasks, and there is very little empirical evidence on how these models affect coordination in more asynchronous and geographically distributed collaboration. Furthermore, none of this evidence is based on large-scale software development organizations. The present research is a field study at a large telecommunications company. It employs qualitative, quantitative, and survey research methods to investigate the effect of shared mental models on coordination in large-scale software development, and to better understand how geographic distance affects coordination

    The Web Engineering Security (WES) methodology

    Get PDF
    The World Wide Web has had a significant impact on basic operational economical components in global information rich civilizations. This impact is forcing organizations to provide justification for security from a business case perspective and to focus on security from a web application development environment perspective. This increased focus on security was the basis of a business case discussion and led to the acquisition of empirical evidence gathered from a high level Web survey and more detailed industry surveys to analyse security in the Web application development environment. Along with this information, a collection of evidence from relevant literature was also gathered. Individual aspects of the data gathered in the previously mentioned activities contributed to the proposal of the Essential Elements (EE) and the Security Criteria for Web Application Development (SCWAD). The Essential Elements present the idea that there are essential, basic organizational elements that need to be identified, defined and addressed before examining security aspects of a Web Engineering Development process. The Security Criteria for Web Application Development identifies criteria that need to be addressed by a secure Web Engineering process. Both the EE and SCWAD are presented in detail along with relevant justification of these two elements to Web Engineering. SCWAD is utilized as a framework to evaluate the security of a representative selection of recognized software engineering processes used in Web Engineering application development. The software engineering processes appraised by SCWAD include: the Waterfall Model, the Unified Software Development Process (USD), Dynamic Systems Development Method (DSDM) and eXtreme Programming (XP). SCWAD is also used to assess existing security methodologies which are comprised of the Orion Strategy; Survivable / Viable IS approaches; Comprehensive Lightweight Application Security Process (CLASP) and Microsoft’s Trust Worthy Computing Security Development Lifecycle. The synthesis of information provided by both the EE and SCWAD were used to develop the Web Engineering Security (WES) methodology. WES is a proactive, flexible, process neutral security methodology with customizable components that is based on empirical evidence and used to explicitly integrate security throughout an organization’s chosen application development process. In order to evaluate the practical application of the EE, SCWAD and the WES methodology, two case studies were conducted during the course of this research. The first case study describes the application of both the EE and SCWAD to the Hunterian Museum and Art Gallery’s Online Photo Library (HOPL) Internet application project. The second case study presents the commercial implementation of the WES methodology within a Global Fortune 500 financial service sector organization. The assessment of the WES methodology within the organization consisted of an initial survey establishing current security practices, a follow-up survey after changes were implemented and an overall analysis of the security conditions assigned to projects throughout the life of the case study

    A survey on quality attributes in servicebased systems

    Get PDF
    Service-based systems have become popular in the software industry. In software engineering, it is widely acknowledged that requirements on quality attributes (e.g., performance, security, reliability) significantly impact the design of software systems. This study explores the role of quality attributes during the design of service-based systems. We investigate the significance of quality attributes when designing service-based systems and how quality attributes are addressed through design decisions, across application domains, and related to other aspects of software development, e.g., architecture documentation. We conducted a descriptive survey. The survey was done as an online questionnaire targeting practitioners. Furthermore, we included researchers with practical design experience. We obtained 56 valid responses. Most survey participants consider quality attributes and functionality as equally important and treat quality attributes explicitly rather than implicitly. Furthermore, dependability is the most relevant quality attribute in service-based systems; we do not find quality attributes that are particularly important in specific application domains. Most quality attributes are addressed by ad hoc decisions, rather than established architecture or design patterns or technologies. Only few decision alternatives are considered when making architectural decisions to address quality attributes. Our results partially confirm anecdotal evidence from current literature, but also strengthen previous claims by providing empirical evidence. Our results point to future research directions (e.g., exploring the impact of decision types on how well quality attributes can be achieved) and implications for practitioners (e.g., training makes a difference to how quality attributes are treated).Peer ReviewedPostprint (author’s final draft

    Finding high-quality grey literature for use as evidence in software engineering research.

    Get PDF
    Background: Software engineering research often uses practitioners as a source of evidence in their studies. This evidence is usually gathered through empirical methods such as surveys, interviews and ethnographic research. The web has brought with it the emergence of the social programmer. Software practitioners are publishing their opinions online through blog articles, discussion boards and Q&A sites. Mining these online sources of information could provide a new source of evidence which complements traditional evidence sources. There are benefits to the adoption of grey literature in software engineering research (such as bridging the gap between the state–of–art where research typically operates and the state–of–practice), but also significant challenges. The main challenge is finding grey literature which is of high– quality to the researcher given the vast volume of grey literature available on the web. The thesis defines the quality of grey literature in terms of its relevance to the research being undertaken and its credibility. The thesis also focuses on a particular type of grey literature that has been written by soft- ware practitioners. A typical example of such grey literature is blog articles, which are specifically used as examples throughout the thesis. Objectives: There are two main objectives to the thesis; to investigate the problems of finding high–quality grey literature, and to make progress in addressing those problems. In working towards these objectives, we investigate our main research question, how can researchers more effectively and efficiently search for and then select the higher–quality blog–like content relevant to their research? We divide this question into twelve sub–questions, and more formally define what we mean by ‘blog–like content.’ Method: To achieve the objectives, we first investigate how software engineering researchers define and assess quality when working with grey literature; and then work towards a methodology and also a tool–suite which can semi–automate the identification and the quality assessment of relevant grey literature for use as evidence in the researchers study. To investigate how software engineering researchers define and assess quality, we first conduct a literature review of credibility assessment to gather a set of credibility criteria. We then validate those criteria through a survey of software engineering researchers. This gives us an overall model of credibility assessment within software engineering research. We next investigate the empirical challenges of measuring quality and develop a methodology which has been adapted from the case survey methodology and aims to address the problems and challenges identified. Along with the methodology is a suggested tool–suite which is intended to help researchers in automating the application of a subset of the credibility model. The tool–suite developed supports the methodology by, for example, automating tasks in order to scale the analysis. The use of the methodology and tool–suite is then demonstrated through three examples. These examples include a partial evaluation of the methodology and tool–suite. Results: Our literature review of credibility assessment identified a set of criteria that have been used in previous research. However, we also found a lack of definitions for both the criteria and, more generally, the term credibility. Credibility assessment is a difficult and subjective task that is particular to each individual. Research has addressed this subjectivity by conducting studies that look at how particular user groups assess credibility e.g. pensioners, university students, the visually impaired, however none of the studies reviewed software engineering researchers. Informed by the literature review, we conducted a survey which we believe is the first study on the credibility assessment of software engineering researchers. The results of the survey are a more refined set of criteria, but also a set that many (approximately 60%) of the survey participants believed generalise to other types of media (both practitioner–generated and researcher–generated). We found that there are significant challenges in using blog–like content as evidence in research. For example, there are the challenges of identifying the high–quality content from the vast quantity available on the web, and then creating methods of analysis which are scalable to handle that vast quantity. In addressing these challenges, we produce: a set of heuristics which can help in finding higher–quality results when searching using traditional search engines, a validated list of reasoning markers that can aid in assessing the amount of reasoning within a document, a review of the current state of the experience mining domain, and a modifiable classification schema for classifying the source of URLs. With credibility assessment being such a subjective task, there can be no one–size–fits–all method to automating quality assessment. Instead, our methodology is intended to be used as a framework in which the researcher using it can swap out and adapt the criteria that we assess for their own criteria based on the context of the study being undertaken and the personal preference of the researcher. We find from the survey that there are a variety of attitude’s towards using grey literature in software engineering research and not all respondents view the use of grey literature as evidence in the way that we do (i.e. as having the same benefits and threats as other traditional methods of evidence gathering). Conclusion: The work presented in this thesis makes significant progress towards answering our research question and the thesis provides a foundation for future research on automated quality assessment and credibility. Adoption of the tools and methodology presented in this thesis can help more effectively and efficiently search for and select higher–quality blog–like content, but there is a need for more substantial research on the credibility assessment of software engineering researchers, and a more extensive credibility model to be produced. This can be achieved through replicating the literature review systematically, accepting more studies for analysis, and by conducting a more extensive survey with a greater number, and more representative selection, of survey respondents. With a more robust credibility model, we can have more confidence in the criteria that we choose to include within the methodology and tools, as well as automating the assessment of more criteria. Throughout the re- search, there has been a challenge in aggregating the results after assessing each criterion. Future research should look towards the adoption of machine learning methods to aid with this aggregation. We believe that the criteria and measures used by our tools can serve as features to machine learning classifiers which will be able to more accurately assess quality. However, be- fore such work is to take place, there is a need for annotated data–sets to be developed

    Benefitting from the Grey Literature in Software Engineering Research

    Full text link
    Researchers generally place the most trust in peer-reviewed, published information, such as journals and conference papers. By contrast, software engineering (SE) practitioners typically do not have the time, access or expertise to review and benefit from such publications. As a result, practitioners are more likely to turn to other sources of information that they trust, e.g., trade magazines, online blog-posts, survey results or technical reports, collectively referred to as Grey Literature (GL). Furthermore, practitioners also share their ideas and experiences as GL, which can serve as a valuable data source for research. While GL itself is not a new topic in SE, using, benefitting and synthesizing knowledge from the GL in SE is a contemporary topic in empirical SE research and we are seeing that researchers are increasingly benefitting from the knowledge available within GL. The goal of this chapter is to provide an overview to GL in SE, together with insights on how SE researchers can effectively use and benefit from the knowledge and evidence available in the vast amount of GL

    Alignment of requirements and services with user feedback

    Full text link
    University of Technology Sydney. Faculty of Engineering and Information Technology.It is widely acknowledged that software reuse reduces the cost and effort of software development. Over the years many solutions have emerged that propose methodologies to support software reusability. Service oriented software engineering (SOSE) advocates software reuse while aiming to achieve better alignment of software solutions to business requirements. Service orientation has evolved from Object Oriented Analysis and Design (OOAD) and Component Based Software Development (CBSD), the major difference being that reusable artefacts are in the form of services rather than objects or packaged components. Although SOSE is considered a new architectural style of software development that addresses some of the shortcomings of previous approaches, it has also inherited some of the challenges of CBSD, and OOAD, in particular in the requirements engineering process. In Service Oriented Requirements Engineering (SORE) an analyst has an additional challenging task of aligning requirements and services to select the optimally matched service from an increasingly large set of available online services. Much of the existing empirical research in SORE has focused mainly on the technical aspects while the human related issues are yet to be fully explored and addressed. The lack of empirical evidence to investigate the human related issues in SORE provides the overall motivation for the research covered in this thesis. User involvement in software development has been the focus of significant research and has been intuitively and axiomatically accepted to play a positive role in users’ satisfaction thus leading to system success. More recently, past users’ feedback, reviews and comments from online sources are considered a form of user involvement. These offer valuable information to assist analysts in increasing their knowledge for making more informed decision for service selection. In service oriented paradigm the full extent of the benefits of this form of user involvement has not been empirically investigated. This thesis addresses three important high level research goals: (1) to investigate and identify the most important challenges of SORE, (2) to design an innovative and flexible method to address the top challenge of SORE, focusing specifically on the important relationship between user involvement and system success, and (3) to evaluate the applicability and effectiveness of the proposed method in an empirical study. This thesis presents research conducted in three parts for achieving each of the stated goals respectively: problem analysis, solution analysis and implementation analysis. For problem analysis a mixed method approach is used, i.e. literature review, quantitative online survey, and qualitative industrial interview study. For solution analysis a Systematic Literature Review (SLR) is conducted to analyse the existing empirical studies about the relationship between user involvement and system success. Inspired by the results of this SLR, I designed the ARISE (Alignment of RequIrement and SErvices) method, following Situational Method Engineering to make it flexible for adoption in various project contexts. The ARISE method aims to exploit the benefits of experiences of past users for service selection. For implementation analysis, the ARISE method was instantiated in a case study with real life data with two objectives in mind: (1) validation of the effectiveness of ARISE in overcoming the challenges of alignment, and (2) improvement and refinement of the ARISE method. Analysis of the results of this validation revealed the need for automated tool support for the ARISE method. This automation is achieved through the design and implementation of software tools created for supporting the analysts in service selection. The systematic and mixed method research approach of the problem analysis phase identified that alignment of requirements and services was the top challenge for practitioners in SORE. It also increased our understanding of why this alignment is considered the most challenging task. The findings of the SLR confirmed that the effective user involvement in software development in general, and in requirements engineering in particular could lead to system success. In SORE, the past users of services can be involved through their feedback and sentiments about the services from online sources. These concepts were the basis for the design of the ARISE method. The results of the case study complemented by the experimentation with the automated tools revealed that past users’ feedback and sentiments are indeed valuable sources of information that can assist analysts in overcoming the challenges of alignment between requirements and services thus making a more informed decision in service selection

    Towards guidelines for building a business case and gathering evidence of software reference architectures in industry

    Get PDF
    Background: Software reference architectures are becoming widely adopted by organizations that need to support the design and maintenance of software applications of a shared domain. For organizations that plan to adopt this architecture-centric approach, it becomes fundamental to know the return on investment and to understand how software reference architectures are designed, maintained, and used. Unfortunately, there is little evidence-based support to help organizations with these challenges. Methods: We have conducted action research in an industry-academia collaboration between the GESSI research group and everis, a multinational IT consulting firm based in Spain. Results: The results from such collaboration are being packaged in order to create guidelines that could be used in similar contexts as the one of everis. The main result of this paper is the construction of empirically-grounded guidelines that support organizations to decide on the adoption of software reference architectures and to gather evidence to improve RA-related practices. Conclusions: The created guidelines could be used by other organizations outside of our industry-academia collaboration. With this goal in mind, we describe the guidelines in detail for their use.Peer ReviewedPostprint (published version

    Preliminary Results in a Multi-site Empirical Study on Cross-organizational ERP Size and Effort Estimation

    Get PDF
    This paper reports on initial findings in an empirical study carried out with representatives of two ERP vendors, six ERP adopting organizations, four ERP implementation consulting companies, and two ERP research and advisory services firms. Our study’s goal was to gain understanding of the state-of-the practice in size and effort estimation of cross-organizational ERP projects. Based on key size and effort estimation challenges identified in a previously published literature survey, we explored some difficulties, fallacies and pitfalls these organizations face. We focused on collecting empirical evidence from the participating ERP market players to assess specific facts about the state-of-the-art ERP size and effort estimation practices. Our study adopted a qualitative research method based on an asynchronous online focus group
    • 

    corecore