This article needs additional citations for verification .(June 2019) |
Key people | Christoph Becker Ruzanna Chitchyan Leticia Duboc Steve Easterbrook Martin Mahaux Birgit Penzenstadler Guillermo Rodríguez-Navas Camille Salinesi Norbert Seyff Colin C. Venters |
---|
The Karlskrona Manifesto [1] for sustainability design in software was created as an output of the Third International Workshop on Requirements Engineering for Sustainable Systems (RE4SuSy) held in Karlskrona, Sweden, co-located with the 22nd IEEE International Requirements Engineering Conference (RE'14). The manifesto arose from a suggestion in the paper by Christoph Becker, "Sustainability and Longevity: Two Sides of the Same Quality?" that sustainability is a common ground for several disciplines related to software, but that this commonality had not been mapped out and made explicit and that a focal point of reference would be beneficial.
The Karlskrona Manifesto can be split into nine principles:
These principles were later made into a catalogue to support software sustainable design. [2]
Software engineering is an engineering-based approach to software development. A software engineer is a person who applies the engineering design process to design, develop, test, maintain, and evaluate computer software. The term programmer is sometimes used as a synonym, but may emphasize software implementation over design and can also lack connotations of engineering education or skills.
Software architecture is the set of structures needed to reason about a software system and the discipline of creating such structures and systems. Each structure comprises software elements, relations among them, and properties of both elements and relations.
In product development and process optimization, a requirement is a singular documented physical or functional need that a particular design, product or process aims to satisfy. It is commonly used in a formal sense in engineering design, including for example in systems engineering, software engineering, or enterprise engineering. It is a broad concept that could speak to any necessary function, attribute, capability, characteristic, or quality of a system for it to have value and utility to a customer, organization, internal user, or other stakeholder. Requirements can come with different levels of specificity; for example, a requirement specification or requirement "spec" refers to an explicit, highly objective/clear requirement to be satisfied by a material, design, product, or service.
Requirements engineering (RE) is the process of defining, documenting, and maintaining requirements in the engineering design process. It is a common role in systems engineering and software engineering.
The World Wide Web has become a major delivery platform for a variety of complex and sophisticated enterprise applications in several domains. In addition to their inherent multifaceted functionality, these Web applications exhibit complex behaviour and place some unique demands on their usability, performance, security, and ability to grow and evolve. However, a vast majority of these applications continue to be developed in an ad hoc way, contributing to problems of usability, maintainability, quality and reliability. While Web development can benefit from established practices from other related disciplines, it has certain distinguishing characteristics that demand special considerations. In recent years, there have been developments towards addressing these considerations.
Software visualization or software visualisation refers to the visualization of information of and related to software systems—either the architecture of its source code or metrics of their runtime behavior—and their development process by means of static, interactive or animated 2-D or 3-D visual representations of their structure, execution, behavior, and evolution.
A system architecture is the conceptual model that defines the structure, behavior, and more views of a system. An architecture description is a formal description and representation of a system, organized in a way that supports reasoning about the structures and behaviors of the system.
A design rationale is an explicit documentation of the reasons behind decisions made when designing a system or artifact. As initially developed by W.R. Kunz and Horst Rittel, design rationale seeks to provide argumentation-based structure to the political, collaborative process of addressing wicked problems.
Software requirements for a system are the description of what the system should do, the service or services that it provides and the constraints on its operation. The IEEE Standard Glossary of Software Engineering Terminology defines a requirement as:
Alain Wegmann was a Swiss computer scientist, professor of Systemic Modeling at the École Polytechnique Fédérale de Lausanne (EPFL), and Information Technology and Services consultant, known for the development of the Systemic Enterprise Architecture Methodology (SEAM).
The Software Sustainability Institute is a national facility for building better software based in the UK and founded in 2010. The Institute is based at the University of Edinburgh with sites at the University of Manchester, the University of Oxford and the University of Southampton.
Software analytics is the analytics specific to the domain of software systems taking into account source code, static and dynamic characteristics as well as related processes of their development and evolution. It aims at describing, monitoring, predicting, and improving the efficiency and effectiveness of software engineering throughout the software lifecycle, in particular during software development and software maintenance. The data collection is typically done by mining software repositories, but can also be achieved by collecting user actions or production data.
Axel van Lamsweerde is a Belgian computer scientist and Professor of Computing Science at the Universite catholique de Louvain, known for his work on requirements engineering and the development of the KAOS goal-oriented modeling language.
Klaus Pohl is a German computer scientist and Professor for Software Systems Engineering at the University of Duisburg-Essen, mainly known for his work in Requirements Engineering and Software product line engineering.
Privacy engineering is an emerging field of engineering which aims to provide methodologies, tools, and techniques to ensure systems provide acceptable levels of privacy.
Architecturally significant requirements are those requirements that have a measurable effect on a computer system’s architecture. This can comprise both software and hardware requirements. They are a subset of requirements, the subset that affects the architecture of a system in measurably identifiable ways.
Birgit Penzenstadler is a German associate professor of Software Engineering at Chalmers University of Technology and adjunct docent at Lappeenranta University of Technology.
Birgit Vogel-Heuser is a German computer scientist and professor at The Technical University of Munich (TUM). She has been cited over 5,000 times. Vogel-Heuser's research focuses on systems and software engineering, and modeling of distributed embedded systems.
Christoph Becker is a Professor of Information and Director of the Digital Curation Institute at the University of Toronto. His research focuses on the design of just and sustainable information and software systems, judgment and decision-making in systems design, social responsibility in computing, and digital curation.