软件架构设计策略

策略对实践提供总体上的指导,对于有难度的工程(比如软件工程),或者有竞争性目
标(软件中时间、质量、范围、成本之间存在竞争)而言,策略往往是制胜的关键。一定要
注意,策略来自于问题,没有问题的策略是无目之本。下面,我们针对成功架构设计的四个
要素,以此衍生出四个问题,作为讨论相应的策略的基础。这样的思考过程也可以成为我们
研究其它架构问题的思考范例。我们先把关键点归纳成下面的表。
编号 关键点 问题 危害 策略 策略要点
1 是否遗漏了至关重要的非功能性需求
对需求的理解不系统、不全面、对非功能需求不够重视。造成返工,项目失败全面认识需求弥补非功能需求的缺失
2 是否适应数量巨大且频繁变化的需求对于时间和质量的矛盾,办法不足,处理草率。耗时不少,质量不高关键需求决定架构把架构理解成概要设计,过于粗糙,不能适应实践要求
3 能否从容设计架构的不同方面架构设计方案覆盖范围严重不足,许多关键决定被延迟,或者由实现人员仓
促决定。开发混乱,质量不高多视图探寻架构架构师开展系统化团队开发的基础,应该对不同的涉众提供指导和限制
4 能否及早验证架构方案并做出了调整假设架构的方案是可行的,直到后期才发现问题,造成大规模的返工。
造成返工,项目失败尽早验证架构架构设计方案应该解决重大技术风险,并尽早验证架构
根据这张表,我们来讨论一下针对每个关键点的相应策略:
1)全面认识需求
既然软件架构强调的是整体,而整体的设计决策必须基于对需求的全面认识,所以全面
认识需求,是软件架构的第一项需求。
但是全面认识需求并不等于“眉毛胡子一把抓”,而是需要对需求进行梳理清楚,在梳
理的过程中把需求理解清楚。全面认识需求,就需要从不同级别来考察需求,这三个级别分
别为:组织级、用户级、开发级。还需要对每个级别考虑不同类型的功能需求、质量属性、
约束,如下图所示。
一方面来说,需求是分层次的,对用户高层而言是帮助他们达到业务目标,最终用户而
言,是辅助他们完成日常工作,对开发者而言,有着更多用户没有觉察到的“需求”需要实
现。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值