477,961 research outputs found
Formalising responsibility modelling for automatic analysis
Modelling the structure of social-technical systems as a basis for informing software system design is a difficult compromise. Formal methods struggle to capture the scale and complexity of the heterogeneous organisations that use technical systems. Conversely, informal approaches lack the rigour needed to inform the software design and
construction process or enable automated analysis.
We revisit the concept of responsibility modelling, which models social technical systems as a collection of actors who discharge their responsibilities, whilst using and producing resources in the process. Responsibility modelling is formalised as a structured approach for socio-technical system requirements specification and modelling, with well-defined semantics and support for automated structure and validity analysis. The
effectiveness of the approach is demonstrated by two case studies of software engineering methodologies
The role of design thinking and physical prototyping in social software engineering
Social Software Engineering (Social SE), that is SE aiming to promote positive social change, is a rapidly emerging area. Here, software and digital artefacts are seen as tools for social change, rather than end products or ‘solutions’. Moreover, Social SE requires a sustained buy-in from a range of stakeholders and end-users working in partnership with multidisciplinary software development teams often at a distance. This context poses new challenges to software engineering: it requires both an agile approach for handling uncertainties in the software development process, and the application of participatory, creative design processes to bridge the knowledge asymmetries and the geographical distances in the partnership. This paper argues for the role of design thinking in Social SE and highlights its implications for software engineering in general. It does so by reporting on the contributions that design thinking— and in particular physical design—has brought to (1) the problem space definition, (2) user requirements capture and (3) system feature design of a renewable energy forecasting system developed in partnership with a remote Scottish Island community
Sustainability Design and Software: The Karlskrona Manifesto
Sustainability has emerged as a broad concern for society. Many engineering disciplines have been grappling with challenges in how we sustain technical, social and ecological systems. In the software engineering community, for example, maintainability has been a concern for a long time. But too often, these issues are treated in isolation from one another. Misperceptions among practitioners and research communities persist, rooted in a lack of coherent understanding of sustainability, and how it relates to software systems research and practice. This article presents a cross-disciplinary initiative to create a common ground and a point of reference for the global community of research and practice in software and sustainability, to be used for effectively communicating key issues, goals, values and principles of sustainability design for software-intensive systems. The centrepiece of this effort is the Karlskrona Manifesto for Sustainability Design, a vehicle for a much needed conversation about sustainability within and beyond the software community, and an articulation of the fundamental principles underpinning design choices that affect sustainability. We describe the motivation for developing this manifesto, including some considerations of the genre of the manifesto as well as the dynamics of its creation. We illustrate the collaborative reflective writing process and present the current edition of the manifesto itself. We assess immediate implications and applications of the articulated principles, compare these to current practice, and suggest future steps
Two-Semester Agile Systems Engineering Design Course: Investigation and Exploration of Immersive Training Technologies
The teaching of systems engineering is a daunting task that involves the development of curriculum capable of teaching students the systems engineering process, the design aspects of engineering, and the interdisciplinary knowledge of a variety of fields. Design is widely considered to be the central or the major distinguishing activity of engineering1. Design can be considered as the center of system engineering, in which engineers employ an interdisciplinary approach to design effective solutions to meet social needs. However, systems engineering requires that traditional academic boundaries be crossed and intertwined with other fields of engineering as well as business, socio-political, and other disciplines that clearly interacts with or are directly affected by the system under consideration. Systems engineering requires different design thinking, as it requires in depth knowledge often beyond the traditional engineering classification boundaries. For example, an electrical engineer must also in many cases have knowledge of software engineering, or safety engineering when designing a cell phone circuit
Privacy through Anonymisation in Large-scale Socio-technical Systems: Multi-lingual Contact Centres across the EU
Large-scale socio-technical systems (STS) inextricably interconnect individual – e.g., the right to privacy –, social – e.g., the effectiveness of organisational processes –, and technology issues —e.g., the software engineering process. As a result, the design of the complex software infrastructure involves also non-technological aspects such as the legal ones—so that, e.g., law-abidingness can be ensured since the early stages of the software engineering process.
By focussing on contact centres (CC) as relevant examples of knowledge-intensive STS, we elaborate on the articulate aspects of anonymisation: there, individual and organisational needs clash, so that only an accurate balancing between legal and technical aspects could possibly ensure the system efficiency while preserving the individual right to privacy. We discuss first the overall legal framework, then the general theme of anonymisation in CC. Finally we overview the technical process developed
in the context of the BISON project
Combining economic and social goals in the design of production systems by using ergonomics standards
In designing of production systems, economic and social goals can be combined, if ergonomics is integrated into the design process. More than 50 years of ergonomics research and practice have resulted in a large number of ergonomics standards for designing physical and organizational work environments. This paper gives an overview of the 174 international ISO and European CEN standards in this field, and discusses their applicability in design processes. The available standards include general recommendations for integrating ergonomics into the design process, as well as specific requirements for manual handling, mental load, task design, human-computer-interaction, noise, heat, body measurements, and other topics. The standards can be used in different phases of the design process: allocation of system functions between humans and machines, design of the work organization, work tasks and jobs, design of work environment, design of work equipment, hardware and software, and design of workspace and workstation. The paper is meant to inform engineers and managers involved in the design of production systems about the existence of a large number of ISO and CEN standards on ergonomics, which can be used to optimize human well-being and overall system performance.review;standard;standardization;ergonomics;CEN;ISO;human factors;production engineering;production planning
Towards a Model of Testers' Cognitive Processes: Software Testing as a Problem Solving Approach
Software testing is a complex, intellectual activity based (at least) on
analysis, reasoning, decision making, abstraction and collaboration performed
in a highly demanding environment. Naturally, it uses and allocates multiple
cognitive resources in software testers. However, while a cognitive psychology
perspective is increasingly used in the general software engineering
literature, it has yet to find its place in software testing. To the best of
our knowledge, no theory of software testers' cognitive processes exists. Here,
we take the first step towards such a theory by presenting a cognitive model of
software testing based on how problem solving is conceptualized in cognitive
psychology. Our approach is to instantiate a general problem solving process
for the specific problem of creating test cases. We then propose an experiment
for testing our cognitive test design model. The experiment makes use of verbal
protocol analysis to understand the mechanisms by which human testers choose,
design, implement and evaluate test cases. An initial evaluation was then
performed with five software engineering master students as subjects. The
results support a problem solving-based model of test design for capturing
testers' cognitive processes.Comment: (v3) minor issues fixed, Accepted and presented in the IEEE
International Workshop on Human and Social Aspects of Software Quality (HASQ
2020
A Methodological Framework for Socio-Cognitive Analyses of Collaborative Design of Open Source Software
Open Source Software (OSS) development challenges traditional software
engineering practices. In particular, OSS projects are managed by a large
number of volunteers, working freely on the tasks they choose to undertake. OSS
projects also rarely rely on explicit system-level design, or on project plans
or schedules. Moreover, OSS developers work in arbitrary locations and
collaborate almost exclusively over the Internet, using simple tools such as
email and software code tracking databases (e.g. CVS). All the characteristics
above make OSS development akin to weaving a tapestry of heterogeneous
components. The OSS design process relies on various types of actors: people
with prescribed roles, but also elements coming from a variety of information
spaces (such as email and software code). The objective of our research is to
understand the specific hybrid weaving accomplished by the actors of this
distributed, collective design process. This, in turn, challenges traditional
methodologies used to understand distributed software engineering: OSS
development is simply too "fibrous" to lend itself well to analysis under a
single methodological lens. In this paper, we describe the methodological
framework we articulated to analyze collaborative design in the Open Source
world. Our framework focuses on the links between the heterogeneous components
of a project's hybrid network. We combine ethnography, text mining, and
socio-technical network analysis and visualization to understand OSS
development in its totality. This way, we are able to simultaneously consider
the social, technical, and cognitive aspects of OSS development. We describe
our methodology in detail, and discuss its implications for future research on
distributed collective practices
- …