Software Architecture

QQ: 942371102

Summary

In this assignment, you will demonstrate your ability to understand and subsequently communicate the architecture of an existing software project.

        1. First, you need to choose a suitable open source software project. The project must have non-trivial functionality and architecture.

        2. You will write a report which describes the architecture of your selected software project.

 1 Introduction

The digital world relies heavily on open source software, as seen by the recent log4j vulnerability.1 Fortunately, open source developers often maintain high quality documentation for the users of their projects. Unfortunately however, many open source projects do not maintain the same high quality documentation for the architecture of their software projects. This can cause difficulty for developers who want to contribute to the project, but first need to understand it.

In this project, you have the chance to right this wrong. Your task is to find an open source software project with a sufficiently complex architecture and document it. You may optionally choose to share this documentation with the project developers. You are encouraged to do this, as the perspective of a newcomer to a project is often invaluable to the seasoned developers.

Before looking for projects, read some of the architecture documentation written by students at TU Delft: https://delftswa.gitbooks.io/desosa2016/content and https://delftswa.github.io. It would also be advantageous to read through one of the architecture descriptions in either volume of The Architecture of Open Source Applications: http://aosabook.org.

2 Finding a Project

 3 Report Structure

Title Name of the software project.

Abstract Summarise the key points of your document.

Introduction Describe the software project, explaining its key functionality and target users.

ASRs Describe the project’s architecturally significant requirements

Context Provide an overview of the software system’s context and its external dependencies.

Architecture Describe the software’s architecture in detail.

Critique Evaluate the software’s architecture, describing its advantages and disadvantages

Conclusion Highlight the key points or lessons learnt about the software’s architecture.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lee1xf520

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值