第三循环阶段预备知识:软件架构
上一节
下一节
定义
最高层次的系统分解 ;系统中不易
改变的决定;在一个系统中也可能存在多种不同的架构;对于什么在架构上意义重大的观点也会随着系统的生命周期变化;最后,架构就归纳成一些重要的东西,无论它们是什么。一个程序或计算系统的软件架构是系统的一种结构或一组结构,包含了软件元素、这些元素的外部可见属性以及它们之间的关系。
软件架构是为了满足所有的技术和业务要求而定义结构化解决方案的过程,同时优化常见的质量属性,比如性能、安全性和可维护性等。
软件架构主要关注系统高层结构中那些共性的抽象定义,还要考虑系统建立时的风格和构造模式,以达到系统特定的需求。
5.1.2 软件架构的目标
用户使用软件的方式。
将软件部署到生产和管理环境中的方式。
软件的质量需求,如安全性、性能、并发和国际化等。
随着时间推移,软件的可变性和可维护性可能会变得很重要。
现在或者部署后,可能会影响到软件的软件架构发展趋势。
涉众关注点:
所有者。他们想知道项目是否能够在给定的资源和进度约束下完成。
架构工程师、开发工程师和质量保障人员。他们首先考虑的是最初的构建,以及之后的维护与演进
项目经理。他们需要组织团队和制定迭代计划。
用 户 ,包括最终用户、系统管理员,以及安装、部署、准备和配置的人员。
市场人员。他们想通过产品的质量特点实现与竞争者的差异化。
软件架构的目标是识别那些影响软件架构的需求,建立降低业务风险的技术解决方案。
清晰地公开出系统的架构,但把实现细节隐藏起来。• 理解所有的用例和场景,但区别优先级。• 尝试权衡和解决各种涉众的需求。

