Software sustainability: Research and practice from a software architecture viewpoint
Elisa, Yumi Nakagawa
MetadataShow full item record
Context: Modern societies are highly dependent on complex, large-scale, software-intensive systems that increasingly operate within an environment of continuous availability, which is challenging to maintain and evolve in response to the inevitable changes in stakeholder goals and requirements of the system. Software architectures are the foundation of any software system and provide a mechanism for reasoning about core software quality requirements. Their sustainability – the capacity to endure in changing environments – is a critical concern for software architecture research and practice. Problem: Accidental software complexity accrues both naturally and gradually over time as part of the overall software design and development process. From a software architecture perspective, this allows several issues to overlap including, but not limited to: the accumulation of technical debt design decisions of individual components and systems leading to coupling and cohesion issues; the application of tacit architectural knowledge resulting in unsystematic and undocumented design decisions; architectural knowledge vaporisation of design choices and the continued ability of the organization to understand the architecture of its systems; sustainability debt and the broader cumulative effects of flawed architectural design choices over time resulting in code smells, architectural brittleness, erosion, and drift, which ultimately lead to decay and software death. Sustainable software architectures are required to evolve over the entire lifecycle of the system from initial design inception to end-of-life to achieve efficient and effective maintenance and evolutionary change. Method: This article outlines general principles and perspectives on sustainability with regards to software systems to provide a context and terminology for framing the discourse on software architectures and sustainability. Focusing on the capacity of software architectures and architectural design choices to endure over time, it highlights some of the recent research trends and approaches with regards to explicitly addressing sustainability in the context of software architectures. Contribution: The principal aim of this article is to provide a foundation and roadmap of emerging research themes in the area of sustainable software architectures highlighting recent trends, and open issues and research challenges.
Journal of Systems and Software;
Venters, C.C., Capilla, R., Betz, S., Penzenstadler, B., Crick, T., Crouch, S., Nakagawa, E.Y., Becker, C. and Carrillo, C., 2018. Software sustainability: Research and practice from a software architecture viewpoint. Journal of Systems and Software, 138, pp.174-188. DOI: 10.1016/j.jss.2017.12.026.
Article published in Journal of Systems and Software on 20 December 2017 (online), available at: https://doi.org/10.1016/j.jss.2017.12.026.
Cardiff Metropolitan University (Grant ID: Cardiff Metropolian (Internal))
Showing items related by title, author, subject and abstract.
Hassan, Mohammed (Cardiff Metropolitan University, 2017-04)The of topic this dissertation explores different areas of research in the fields of software engineering, computer science, biology and bio-chemistry. The purpose of this research will contribute to creating the design ...
Rogers, Adam (Cardiff Metropolitan University, 2017-04)The purpose of this research project is to create a proposed improved solution of a system that is used at The Range Home and Leisure Ltd. The system is called the stock analyser and is used by the majority of employees ...
Khan, Imtiaz; Begum, Taslima; Walters, Andrew (2017-05)To manage and communicate the strategic and operational processes of an organisation, we predominantly utilise diagrams or workflow based process design. Connotations of these designs are deeply rooted to object or product ...