586,778 research outputs found
A Bootstrap Theory: the SEMAT Kernel Itself as Runnable Software
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]
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
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.
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
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
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
- âŠ