目录
1.与架构有关的一些背景Some contexts with architecture
4.业务背景下的架构Architecture in a Business Context
5.建筑师的背景和经验Architects’ Background and Experience
6.涉众Stakeholder (customer\end users\developers\project manager)
7.How is architecture influenced
0.前言
本系列文章旨在软件设计与体系结构的知识点,资料来源四川大学授课内容,可用于期末复习,笔者理解尚浅,文中不正之处静待批正。加粗部分为重点。

1.与架构有关的一些背景Some contexts with architecture
Technical、Project life cycle、Business、Professional
2.Technical Context
技术环境Technical Context是影响体系结构实现系统质量属性的首要因素
①质量属性影响体系结构
架构会抑制或促进系统质量属性的实现
②技术环境Technical Environment
Today’s technical environment:Web\Object-oriented\Mobility-aware移动感知\Cloud-based\Internet of things\Block chain\AI\VR\Quantum computing量子计算
3.项目生命周期背景下的体系结构设计
体系结构与开发development流程process和开发活动activity有关
四种主流软件开发流程:
①Waterfall瀑布开发
②Iterative迭代
软件开发是一系列短周期的步骤,这些周期称为迭代
③Agile敏捷开发
核心:collaboration, simple, feedback, courage
所有敏捷开发方法都假定需求总是在变化,避免大量的前期工作
敏捷开发的特征:尽早、频繁地交付软件;开发人员与客户之间密切协作;自我组织团队;注重适应变化
④Model-driven development模型驱动开发
模型驱动开发基于这样一种理念,即人类不应该用编程语言编写代码
⑤The relationship between architecture and process
开发活动:
- Making a business case
- Understanding the requirement
- Creating or selecting the architecture(principle)
- Documenting the architecture
- Analyzing or evaluating the architecture
- Implementing and testing system based on the architecture
- Ensuring the implementation conforms to the architecture
4.业务背景下的架构Architecture in a Business Context
①架构和业务目标Architecture and business goal
系统的创建是为了满足一个或多个组织的业务目标
②架构和开发组织Architecture and Development Organization
组织对影响架构的业务目标的影响,不同组织开发不同质量的产品
5.建筑师的背景和经验Architects’ Background and Experience
6.涉众Stakeholder (customer\end users\developers\project manager)
利益相关者是指对软件系统感兴趣的人
①利益相关者有不同的关切
建筑师:负责架构及其文件的开发
关心:在相互竞争的需求和设计方法之间进行协商和权衡。提供架构满足其要求的证据
业务经理:对拥有系统的业务/组织实体的运作负责
关心:了解架构实现业务目标的能力
客户:支付系统费用并确保系统交付。客户通常代表最终用户或为其代言
关心:确保交付所需的功能和质量;衡量进度;估算成本
用户:系统的实际最终用户。用户可分为不同类型,如管理员
关心:使用架构文档检查是否提供了所需的功能和质量
实施者:负责根据设计、要求和架构开发特定元素
关心:了解发展活动中不可侵犯的限制和可利用的自由
7.How is architecture influenced
8.What Do Architectures Influence体系结构也能反过来影响他们
①Technical context
架构可以影响利益相关者对下一个系统的要求,让客户有机会以更可靠、更及时和更经济的方式获得系统
②Project Context
架构影响开发组织的结构;架构规定了作为开发项目结构基础的软件单元
③Business Context
根据架构建立的成功系统可使公司在特定市场领域站稳脚跟;架构可为高效生产和部署类似系统提供机会
④Professional Context
一个成功构建的系统会在未来产生类似的系统;另一方面,失败的架构不太可能在未来的项目中被选用;无论如何,无论成功与否,构建一个系统都会丰富建筑师的经验
⑤Architecture Influence Cycle
受环境和反馈机制影响的架构称为架构影响周期(AIC)