Skip to content

S2-group/rep-pkg-ecsa-2024-SA-assessment-for-sustainability-a-case-study

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Software Architecture Assessment for Sustainability: A Case Study

This repository contains the supplementary material to support the paper published at the International Conference on Software Architecture (ECSA) 2024 titled, "Software Architecture Assessment for Sustainability: A Case Study". This repository can be used to replicate the study and carry out a Software Architecture Evaluation of other software systems.

Repository Structure

This is the root directory of the repository. The directory is structured as follows:

rep-pkg-sustainable-canvas
 .
 |
 |--- src/		Source code to generate SIS
 |
 |--- docs/		Architecture documentation, input and output data of intermediary steps, etc.
 |
 |--- data/		Data used in the paper including templates and final results

Getting started

Here, we provide step-by-step instructions on using this repository, including requirements, and installation/script execution steps.

Instatiation of the Blueprint

Here we provide the steps involved in the SA assessment, inputs and outputs of each steps along with the resource used/produced. The detailed execution of steps can be found in our previous work (SA evaluation Blueprint) and this paper.

# Step Input Resource Output Resource
1 Preparation Information Slide Set Slides Stakeholders Process director, architects, functional manager, network and traffic personal
Coordination Setting up meeting schedules and emails
2 Requirement Identification Stakeholders Process director, architects, functional manager, network and traffic personal Quality Attributes - See docs/Non-functionalRequirements.pdf
Requirement Documents Confidential
3 Goal Identification Stakeholders Process director, architects, functional manager, network and traffic personal Sustainability Goal Sustainability Assessment of Canvas integration at the educational institute. Optimize resource utilization
4 Method Presentation SA Assessment Method Slide Set Slides Expectations from stakeholders Expectations:
- an internal QA prioritization for reflection
- how can the evaluation help architects define feature requirements for Instructure (the SaaS provider - in this case SaaS is Canvas)
- how can the evaluation help the management define more concrete sustainability requirements for next procurement
5 Architecture Presentation Architecture documentation Some documents are confidential, we only present the final extracted data in data/Extracted Design Decisions.xlsx Sub-set of architecture documentation - Some documents are confidential, we only present the final extracted data in data/ExtractedDesignDecisions.xlsx
- See docs/DecisionDashboard.xlsx
Tacit Knowledge Annotated in the original documents, it became part of the final file in data/Extracted Design Decisions.xlsx and docs/arch.pdf
6 Prioritization Quality Attributes [Slides][docs/step6-slides.pptx] Prioritized QAs See Sheet "QAs"
7 Identification of Architectural Approaches Sub-set of architectural approaches - Some documents are confidential, we only present the final extracted data in data/Extracted Design Decisions.xlsx
- See docs/DecisionDashboard.xlsx
Decision Documents See docs/DecisionDashboard.xlsx
8 Generation of data for analysis Decision Documents DecisionDashboard Design Decisions and Ratioanle See data/ExtractedDesignDecisions.xlsx
9 Evaluation of obtained data Design Decisions and Rationale Extracted Design Decisions Sustainability Impacts and Trade-offs - For inter-QA trade-offs, see data/dmatrix.xlsx
- For inter-sustainability dimension trade-offs, see Sheet "Trade-offs with SIS" in data/results.xlsx
Prioritized Quality Attribute See Sheet "QAs"
Tacit Knowledge Documented as part of data/ExtractedDesignDecisions.xlsx
10 Improve and take action Design Decisions and Rationale Extracted Design Decisions Updated design decisions Extracted Design Decisions
Prioritized Quality Attribute See Sheet "QAs"
Sustainability Impacts and Trade-offs - DMatrix
- Sheet "Trade-offs with SIS"
11 Presentation of results All inputs and outputs All resources Evaluation Report Paper

steps

Generating a Sustainability Impact Score (SIS)

Pre-requisites

  • Clone the repository to use it for your project or replication of steps using, git clone https://github.com/iffatfatima/rep-pkg-sustainable-canvas
  • Prioritize QAs
  • Document the design decisions using the DD_Template, assign QAs to each design option (DO)
  • Create a DMatrix for each design option (see DMatrix for example). Detailed instructions are provided in the paper.

SIS

  • Run the following command in src folder for all design concerns

    python score.py "../data/dmatrix.xlsx" <option-prefix>

    For example, to get the Sustainability Impact Score (SIS) for all design options for design concern DC-5, use the option prefix "O-5." Example command:

    python score.py "../data/dmatrix.xlsx" "O-5."

    This will provide the SIS for all options of DC-5 based on the DMatrix.

Example output:

screenshot

Document the SISs as provided in results for observing trade-offs

How to cite this work

Software Architecture Assessment for Sustainability: A Case Study

@inproceedings{fatima-2024-SA-assess-sus,
  title={{Software Architecture Assessment for Sustainability: A Case Study}},
  author={Iffat Fatima and Patricia Lago},
  booktitle={Software Architecture},
  publisher={Springer Nature Switzerland},
  year={2024}
}

This publication is based on following preliminary work

@inproceedings{fatima-2023-SA-eval-SLR,
  author={Fatima, Iffat and Lago, Patricia},
  booktitle={2023 IEEE 20th International Conference on Software Architecture Companion (ICSA-C)}, 
  title={A Review of Software Architecture Evaluation Methods for Sustainability Assessment}, 
  year={2023},
  pages={191-194},
  doi={10.1109/ICSA-C57050.2023.00050}
}
@inproceedings{fatima-2023-SA-eval-BP,
title = "Towards a Sustainability-aware Software Architecture Evaluation for Cloud-Based Software Services",
author = "Iffat Fatima and Patricia Lago",
booktitle="Software Architecture. ECSA 2023 Tracks and Workshops",
year="2023",
publisher="Springer International Publishing",
address="Cham",
language = "English",
}

About

Replication Package for the paper "Software Architecture Assessment for Sustainability: A Case Study"

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%