586,778 research outputs found

    A Bootstrap Theory: the SEMAT Kernel Itself as Runnable Software

    Full text link
    The SEMAT kernel is a thoroughly thought generic framework for Software Engineering system development in practice. But one should be able to test its characteristics by means of a no less generic theory matching the SEMAT kernel. This paper claims that such a matching theory is attainable and describes its main principles. The conceptual starting point is the robustness of the Kernel alphas to variations in the nature of the software system, viz. to software automation, distribution and self-evolution. From these and from observed Kernel properties follows the proposed bootstrap principle: a software system theory should itself be a runnable software. Thus, the kernel alphas can be viewed as a top-level ontology, indeed the Essence of Software Engineering. Among the interesting consequences of this bootstrap theory, the observable system characteristics can now be formally tested. For instance, one can check the system completeness, viz. that software system modules fulfill each one of the system requirements.Comment: 8 pages; 2 figures; Preprint of paper accepted for GTSE'2014 Workshop, within ICSE'2014 Conferenc

    Assessing the Unseen: Roles of Confidentiality and Trust in Software Engineering Work-based Learning Programmes [Poster]

    Get PDF
    A typical academic degree focused on software engineering has little practical relationship with the industry it is named for, other than the occasional placement or internship. Unlike other professions such as medicine, dentistry and veterinary sciences, candidates do not need to participate in significant professional practice to earn their degree. Indeed, if we consider a traditional academic software engineering student they probably have far more experience constructing shiny new ‘green-field’ systems, than maintaining the old ‘brown-field’ systems found in industry, and generating most professional work. Consequently, there is growing enthusiasm for work-based learning programmes that provide an opportunity for candidates to cement abstract academic theory in concrete personal experience. Work-based learning software engineering students earn their degree by combining theory with actual practice in a professional environment. Nevertheless, the intangible outcomes for much of software engineering has led to an industry obsessed with confidentiality, driven by concerns of employees smuggling source code to competitors or regulators. This obsession potentially presents a barrier to work-based learning schemes as employers prevent outsiders, even close higher education partners, from observing the systems and the source code that learners are working on. Learners may have the opportunity for concrete personal experience, but educators are barred from observing any such experience. However, confidentiality agreements may not necessarily present barriers to assessment, but instead provide an opportunity to assess comprehension and transferable skills by requiring abstract descriptions and reports. This is the converse to the problem in some programming courses, where students submit code without demonstrating that they understand it and can discuss it in terms of the concepts taught. In this talk and accompanying poster we explore some models for software engineering work-based learning programmes that have the potential to maintain confidentiality while assessing learners’ comprehension and ability. We invite discussion and criticism from conference attendees of the presented models, and are interested in potential partners for future collaboration

    If You’re Not Modeling, You’re Just Programming: Modeling Throughout an Undergraduate Software Engineering Program

    Get PDF
    Modeling is a hallmark of the practice of engineering. Through centuries, engineers have used models ranging from informal “back of the envelope” scribbles to formal, verifiable mathematical models. Whether circuit models in electrical engineering, heat-transfer models in mechanical engineering, or queuing theory models in industrial engineering, modeling makes it possible to perform rigorous analysis that is the cornerstone of modern engineering. By considering software development as fundamentally an engineering endeavor, RIT’s software engineering program strives to instill a culture of engineering practice by exposing our students to both formal and informal modeling of software systems throughout the entire curriculum. This paper describes how we have placed modeling in most aspects of our curriculum. The paper also details the specific pedagogy that we use in several courses to teach our students how to create, analyze and implement models of software systems

    Re-thinking software engineering approaches : a critical reflection on theory building.

    Get PDF
    This paper re-appraises Peter Naur's influential paper on Programming as Theory Building in the context of modern software engineering practice. The central argument is that such practice is focussed primarily on methods, notations, lifecycles and the description of artifacts such as models. Instead we propose that a theory building view is more appropriate, and that the concept of a theory should underpin a software design process which then calls for new tools and a new research agenda

    A Web-based modeling tool for the SEMAT Essence theory of Software Engineering

    Full text link
    As opposed to more mature subjects, software engineering lacks general theories to establish its foundations as a discipline. The Essence Theory of software engineering (Essence) has been proposed by the Software Engineering Methods and Theory (SEMAT) initiative. Essence goal is to develop a theoretically sound basis for software engineering practice and its wide adoption. Essence is yet far from reaching academic and industry adoption. Reasons include a struggle to foresee its utilization potential and the lack of tools implementing it. SEMAT Accelerator (SematAcc) is a Web-positioning tool for a software engineering endeavor, which implements the SEMAT's Essence kernel. SematAcc allows using Essence, thus helping to understand it. The tool enables teaching, adopting, and researching Essence in controlled experiments and case studies.Comment: 12 pages, 5 figures. Revised version (after-peer review) for the Journal of Open Research Software , July 201

    Investigating software process in practice: a grounded theory perspective

    Get PDF
    This thesis is concerned with how software process and software process improvement is practiced within the indigenous Irish software product industry. Using the grounded theory methodology, the study utilises in-depth interviews to examine the attitude and perceptions of practitioners towards software process and software process improvement. The outcome of the work is a theory, grounded in the field data, that explains how software processes are formed and evolve, and when and why software process improvement is undertaken. The resultant grounded theory is based on two conceptual themes, Process Formation and Process Evolution, and one core theoretical category, Cost of Process. The empirical investigation shows that software process improvement programmes are implemented by companies as a reaction to business events, and how many software managers reject software process improvement because o f the associated costs. In addition, indigenous Irish software companies largely ignore commercial best practice software process improvement models, and the reasons for this are discussed. The research also argues that software process improvement is not solely technologycentred but is also affected by wider human and organisational factors. As these ‘sociocultural’ influences have been more widely addressed in the Information Systems discipline, than in Software Engineering, this work draws on the experiences and lessons from both disciplines and ultimately resides between these two academic fields. The results o f this work provide new light on the issues facing software process and process improvement in small software product companies and make a contribution towards bridging the gaps between research and practice, and theory and practice, in both Software Engineering and Information Systems
    • 

    corecore