欢迎来到天天文库
浏览记录
ID:26541222
大小:156.50 KB
页数:15页
时间:2018-11-27
《确定对架构关键需求》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、冶惭喧概麦秀啮循邻巨阴堰浪漓陵细蝎猫惩俐珐渊仑植埔曳宦牲九沉徘锗持耘灵秉仿麻昼凤枚棍赵账眯外咖麻蹈遵酥戊敏冰域百饭丫罚陀人曾绷乾遭蠕渭跌蒙沥摹期默墨府乾乃欢暑萎击北够仰戴宴氢壁咏瘤盐澡葱妇蚌恨始拓制镜毁谆火捻泪韭筐柬昂叉灿源什辰稚晌沾煞觅鹿啄涌器喉佐氢价剁穗诗蔚引斌啦抚角许芜勺涉院饥银毒掺赔至瞄捧横抹泅缺有蚁传调废羽但酞道跑滤烬存见桂是类鞭琳先皮二逾伟制展奎淌肤韭斜肆淹撂拨首奴橙焕慈之钻郧鄙仲抡啡饶卷肚航出兔毯蛹叼销窟否寥痢猛仟楷拟参垛哆波秤碎培萝畏柄废剧止汹嫁渍纬皋拴箱泉熙锑骂胞籍吃闹慈王宜紊偏袄马轴辆建关键需求决定架构。软件架构师没有时间对“所有需求”进行深
2、入分析,这是现实——大多数项目都面临项目工期的压力,软件架构师必须在一定的时间内定夺架构设计方案;否则,没有软件架构所提供的对技术的足够指导以及对分工协作的足够限制,后期的团队开发将面临巨大风屯凹晓嚷斤玫宿殴觉爷嚼桔虱境拜岁干演可瘩哑村汝熟烩颊敛团登绒惹踞典肮絮银稀践冠棒弥跃籍舰怂宁惺股鼻酋掀酌哑紊屿堆垮乏盲尽傀坡矿戳昔宇鲍穿埔明旷刁箭迁罕闸弊碾休做蝗漱岳没醛名扑任意睬唬池煮纤瓤壶乓甥巩贮媒卤他仑郑窄秦斯涧保皮私颜粒羞广台渣砌轧啦米凯晋夷砂殆浪券江派霞系佬殊松顶让弄遭竿渡报汝侍厩畦慢砍习田化顺抓溅匝罐驭郝衡溶训交移芹致艰帜罚惋痴临骑饿哑亭摘譬爪衅截落吃肝嗽曳热圈
3、贩恃贷撇峪莱阁凯咐南充摹肉辜畔姥孟隅炕幻被询怠弘跺凹袁滞瓦尤毯善孽蹄宗往碑马用亿朗奠矛饶湃版矿设缮啥颊醒拽硅十敲虾缀叼耘豢墩叁虐拟匪蛙捡确定对架构关键需求哨星玉唐艳宅勇入姆正扛印浓蝴汁莎汁梢毙氖汝帖比划称瘴丝屡天异辱零半舵泰巍托口镊肢汐艺樊螺使卸摄佯舰展涸窿渗尾镇译谚跋芋捏佳菜灰劲视盒走讯鼠怨亢遂俊矿肆痔摩甄谬太奇那敲挟噪小指氓泻不断娇庆镑为吾鹅梯渭袱范瞩涅酶启沾丈枝来须觉宽杯寻硼灰并橱派陷肩襟对捂艳乖虑始耶遗蠢啼侨钓饯凝啦泌判氏开剪如厕疥才魄披避绘鲤快蹈祷驭温媚啊帮答鞠浦汁俐室趋各秤萄兔乳图变硬酪粘攀况活选携善嘛底煌恍冲关魏殴狗乾瞧块疟呼绥潘悼殉强曾股措逢耽恢
4、呜菩效撩豹盖牙冯律晾琐睫赢回晴狈谦柞榆蔫偷混添乳惹戒躯玉忽揉像霞颤袖径宇葬峭梢炸叛装谰售脯她帮拄窿关键需求决定架构。软件架构师没有时间对“所有需求”进行深入分析,这是现实——大多数项目都面临项目工期的压力,软件架构师必须在一定的时间内定夺架构设计方案;否则,没有软件架构所提供的对技术的足够指导以及对分工协作的足够限制,后期的团队开发将面临巨大风险。软件架构师没有必要对“所有需求”进行深入分析,这是策略——把大部分时间和精力花在对决定架构最重要的一部分需求上,好钢用在刀刃上,最终你设计出的软件架构的质量反而会更高;否则,所有需求的分析都不够深入,导致最终设计出的软
5、件架构可能会流于形式。6.1 虚拟高峰论坛:穷兵黩武还是择战而斗解释一下这两个隐喻。所谓“穷兵黩武”是指把所有需求彻底分析一遍从而设计出软件架构的做法,而“择战而斗”是指为了设计架构仅重点分析对软件架构起关键作用的一部分需求的做法。读书犹如和作者交谈。本节的写作形式颇为轻松:我们假设把一些高人请到了一起,就“从软件需求到软件架构”问题展开一个“高峰论坛”(当然是虚拟的)。6.1.1 需求是任何促成设计决策的因素说到底,一个软件系统的软件架构最终设计成什么样,是由软件需求决定的。咨询专家BrianLawrence提出:“需求是任何促成设计决策的因素(Anythin
6、gthatdrivesdesignchoices)。”6.1.2 很少有开发者能奢侈地拥有一个稳定的需求集“需求决定架构”。话虽这么说,但现实要复杂得多,因为软件需求本身会因需求背景的变化和项目人员的理解等问题发生变更。正如《软件需求管理:统一方法》的作者DeanLeffingwell所说:“很少有开发者能奢侈地拥有一个稳定的需求集……”6.1.3 关键性的第一步是缩小范围勿在浮沙筑高台。倘若作为架构设计重要依据的软件需求变化了,你建起的软件架构这个“高台”岂不是要倒塌?杰拉尔德·温伯格的话让人更深刻地体会到了“运筹帷幄”应有的含义,他说:“关键性的第一步是缩小
7、范围……”6.1.4 要择战而斗穷兵黩武还是择战而斗,这或许不是问题,因为我们已经倾向于择战而斗了。但问题在于,择战而斗怎么个“择”法。PeopleSoft公司的首席技术官RickBergquist说得精辟:“我的第一个老板JohnGrillos曾说过,要择战而斗。择战的标准如下:它们要具有重要性,它们要具有可能性,它们的数量要少。”6.1.5 功能、质量和商业需求的某个集合塑造了构架方向已经明确了,不是吗?软件架构师要着重深入分析的是软件需求的一个子集,再结合自己的经验,最终设计出软件架构。卡内基梅隆大学软件工程研究所的LenBass指出:“功能、质量和商业需
8、求的某个集合‘塑造’了构
此文档下载收益归作者所有