477,961 research outputs found

    Formalising responsibility modelling for automatic analysis

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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
    corecore