406,522 research outputs found
Educational Administration: Theory and Practice
Educational Administration: Theory and Practice, Volume 24, Issue
Software engineering : theory, experiment, practice or performance
Forty years ago, the very first programmers were wondering how to make the best use of stored program computers. By twenty years ago, that handful of programmers had grown into a software industry so large that it faced a major crisis. Today, another twenty years on, we are beginning to see how that crisis helped to move the industry from an organised craft into a profession. We still have a software crisis, though it is no longer the old one and no longer even considered a crisis. It seems likely that we will always have a crisis, a situation where our propensity for producing programs outstrips our understanding of new programming concepts. What the last twenty years have accomplished in a quiet way is the subject of this talk and I would like to show you how, and how far, theory, experiment and practice have worked together, often unintentionally, to achieve performance in software engineering
On Agent-Based Software Engineering
Agent-based computing represents an exciting new synthesis both for Artificial Intelligence (AI) and, more generally, Computer Science. It has the potential to significantly improve the theory and the practice of modeling, designing, and implementing computer systems. Yet, to date, there has been little systematic analysis of what makes the agent-based approach such an appealing and powerful computational model. Moreover, even less effort has been devoted to discussing the inherent disadvantages that stem from adopting an agent-oriented view. Here both sets of issues are explored. The standpoint of this analysis is the role of agent-based software in solving complex, real-world problems. In particular, it will be argued that the development of robust and scalable software systems requires autonomous agents that can complete their objectives while situated in a dynamic and uncertain environment, that can engage in rich, high-level social interactions, and that can operate within flexible organisational structures
Recommended from our members
Towards a theory of software engineering
A theory of software engineering (SE) is presented and its application to explaining and analysing SE situations is illustrated. The theory is based on a characterization of SE representations and the fundamental activities that are applied to them. Motivations for developing a theory and means of establishing its validity are also discussed
Towards a Theory of Software Development Expertise
Software development includes diverse tasks such as implementing new
features, analyzing requirements, and fixing bugs. Being an expert in those
tasks requires a certain set of skills, knowledge, and experience. Several
studies investigated individual aspects of software development expertise, but
what is missing is a comprehensive theory. We present a first conceptual theory
of software development expertise that is grounded in data from a mixed-methods
survey with 335 software developers and in literature on expertise and expert
performance. Our theory currently focuses on programming, but already provides
valuable insights for researchers, developers, and employers. The theory
describes important properties of software development expertise and which
factors foster or hinder its formation, including how developers' performance
may decline over time. Moreover, our quantitative results show that developers'
expertise self-assessments are context-dependent and that experience is not
necessarily related to expertise.Comment: 14 pages, 5 figures, 26th ACM Joint European Software Engineering
Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE
2018), ACM, 201
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
Software Engineering for Millennials, by Millennials
Software engineers need to manage both technical and professional skills in
order to be successful. Our university offers a 5.5 year program that mixes
computer science, software and computer engineering, where the first two years
are mostly math and physics courses. As such, our students' first real teamwork
experience is during the introductory SE course, where they modify open source
projects in groups of 6-8. However, students have problems working in such
large teams, and feel that the course material and project are "disconnected".
We decided to redesign this course in 2017, trying to achieve a balance between
theory and practice, and technical and professional skills, with a maximum
course workload of 150 hrs per semester. We share our experience in this paper,
discussing the strategies we used to improve teamwork and help students learn
new technologies in a more autonomous manner. We also discuss what we learned
from the two times we taught the new course.Comment: 8 pages, 9 tables, 4 figures, Second International Workshop on
Software Engineering Education for Millennial
- ā¦