软件架构特性的识别、测量与治理
1. 架构特性的识别
1.1 明确需求衍生的架构特性
在软件项目中,需求往往会衍生出各种架构特性。以 Silicon Sandwiches 为例,母公司有海外扩张计划,这就意味着系统需要支持国际化(i18n)。虽然有许多设计技术可以处理这一需求,且不需要特殊的结构来适应,但它肯定会影响设计决策。
同时,公司以雇佣廉价劳动力来实现利润最大化的目标,这表明可用性很重要,但更多地与设计相关,而非架构特性。
从这些需求中,还可以衍生出性能这一架构特性。毕竟,没人愿意从一个性能不佳,尤其是在高峰时段表现糟糕的三明治店购买商品。不过,性能是一个微妙的概念,架构师需要明确设计何种类型的性能。而且,架构师还需要结合可扩展性来定义性能指标,既要建立无特定规模下的性能基线,也要确定在一定用户数量下可接受的性能水平。
1.2 隐含的架构特性
除了需求文档中明确指定的架构特性,还有许多隐含的架构特性对设计至关重要。
- 可用性 :确保用户能够访问三明治网站。
- 可靠性 :保证网站在交互过程中不会中断,没人愿意从一个不断掉线、需要反复登录的网站购买商品。
- 安全性 :在每个系统中,安全性都是一个隐含的特性。没人愿意创建不安全的软件,但安全性的优先级可能因系统的关键程度而异。对于 Silicon Sandwiches,架构师可能会假设支付由第三方处理,只要开发者遵循一般的安全规范(如不将信用卡号以明文形式传输、不存储过多信息等),就不需要特殊的结构设计来保障安全,
超级会员免费看
订阅专栏 解锁全文
10万+

被折叠的 条评论
为什么被折叠?



