- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
4+1模型案例.doc
案例教学1:4+1视图方法进行软件体系结构设计????? ????? 要开发出用户满意的软件并不是件容易的事,软件体系结构师必须全面把握各种各样的需求、权衡需求之间有可能的矛盾之处,分门别类地将不同需求一一满足。本文从理解需求种类的复杂性谈起,通过具体案例的分析,展示了如何通过RUP的4+1视图方法,针对不同需求进行体系结构设计,从而确保重要的需求一一被满足。
1、呼唤体系结构设计的多重视图方法
灵感一闪,就想出了把大象放进冰箱的办法,这自然好。但希望每个体系结构设计策略都依靠灵感是不现实的--我们需要系统方法的指导。
需要体系结构设计的多重视图方法,从根本上来说是因为需求种类的复杂性所致。以工程领域的例子开道吧。比如设计一座跨江大桥:我们会考虑连接南北的公路交通这个功能需求,从而初步设计出理想化的桥墩支撑的公路桥方案;然后还要考虑造桥要面临的约束条件,这个约束条件可能是不能影响万吨轮从桥下通过,于是细化设计方案,规定桥墩的高度和桥墩之间的间距;另外还要顾及大桥的使用期质量属性,比如为了能在湍急的江流中保持稳固,可以把大桥桥墩深深地建在岩石层之上,和大地浑然一体;其实,建造期间的质量属性也很值得考虑,比如在大桥的设计过程中考虑施工方便性的一些措施。
和工程领域的功能需求、约束条件、使用期质量属性、建造期间的质量属性等类似,软件系统的需求种类也相当复杂,具体分类如图1所示。
?
图1 软件需求分类的复杂性
2、超市系统案例:理解需求种类的复杂性
例子是最好的老师。为了更好地理解软件需求种类的复杂性,我们来分析一个实际的例子。在表1中,我们列举了一个典型的超市系统的需求子集,从这个例子中可以清晰地看到需求可以分为两大类:功能需求和非功能需求。
表1 超市系统案例:理解需求种类的复杂性?
简单而言,功能需求就是软件有什么用,软件需要做什么。同时,注意把握功能需求的层次性是软件需求的最佳实践。以该超市系统为例:
* 超市老板希望通过软件来提高收银效率。* 那么,你可能需要为收银员提供一系列功能来促成这个目的,比如供收银员使用的任意商品项可单独取消功能有利于提供收银效率。* 而具体到这个超市系统,系统分析员可能会决定要提供的具体功能为:通过收银终端的按键组合,可以使收银过程从逐项录入状态进入选择取消状态,从而取消某项商品。
?
从上面的例子中我们还惊讶地发现,非功能需求--人们最经常忽视的一大类需求--包括的内容非常宽、并且极其重要。非功能需求又可以分为如下三类:
* 约束。要开发出用户满意的软件并不是件容易的事,而全面理解要设计的软件系统所面临的约束可以使你向成功迈进一步。约束性需求既包括企业级的商业考虑(例如项目预算有限),也包括最终用户级的实际情况(例如用户的平均电脑操作水平偏低);既可能包括具体技术的明确要求(例如要求能在Linux上运行),又可能需要考虑开发团队的真实状况(例如开发人员分散在不同地点)。这些约束性需求当然对体系结构设计影响很大,比如受到项目预算有限的限制,体系结构师就不应选择昂贵的技术或中间件等,而考虑到开发人员分散在不同地点,就更应注重软件模块职责划分的合理性、松耦合性等等。* 运行期质量属性。这类需求主要指软件系统在运行期间表现出的质量水平。运行期质量属性非常关键,因为它们直接影响着客户对软件系统的满意度,大多数客户也不会接受运行期质量属性拙劣的软件系统。常见的运行期质量属性包括软件系统的易用性、性能、可伸缩性、持续可用性、鲁棒性、安全性等。在我们的超市系统的案例中,用户对高性能提出了具体要求(真正的性能需求应该量化,我们的表1没体现),他们不能容忍金额合计超过 2秒的延时。* 开发期质量属性。这类非功能需求中的某些项人们倒是念念不忘,可惜很多人并没有意识到开发期质量属性和 运行期质量属性对体系结构设计的影响到底有何不同。开发期质量属性是开发人员最为关心的,要达到怎样的目标应根据项目的具体情况而定,而过度设计(overengineering)会花费额外的代价。
3、什么是软件体系结构视图
那么,什么是软件体系结构视图呢?Philippe Kruchten在其著作《Rational统一过程引论》中写道:
一个体系结构视图是对于从某一视角或某一点上看到的系统所做的简化描述,描述中涵盖了系统的某一特定方面,而省略了于此方面无关的实体。
也就是说,体系结构要涵盖的内容和决策太多了,超过了人脑一蹴而就的能力范围,因此采用分而治之的办法从不同视角分别设计;同时,也为软件体系结构的理解、交流和归档提供了方便。
值得特别说明的,大多数书籍中都强调多视图方法是软件体系结构归档的方法,其实不然。多视图方法不仅仅是体系结构归档技术,更是指导我们进行体系结构设计的思维方法。
4、Philippe Krucht
您可能关注的文档
- 01迟希新-道德领导理论理念与实践策略.ppt
- 02 兰州交通大学全日制学术学位硕士地研究生学位论文格式电子模板-2012版.doc
- 03_多元正态分布均值向量和协差阵检验.ppt
- 0421蔡膳泽浅析掷标枪运动中肘关节损伤及预防.doc
- 04web应用的论文程序设计 张荟 毕业论文.doc
- 0506061王跃毕业论文演示文稿.ppt
- 05仿真题答1经营地分析与信息技术.doc
- 05嵌入式Linux应用的论文程序开发.ppt
- 06大学生求职能力.doc
- 06聚类地分析方法与操作.doc
- 2025年淮北濉溪县口子实验学校教师招聘57人备考笔试题库及答案解析.docx
- 2025湖北省伍家台硒茶商贸有限公司招聘工作人员1人备考考试试题及答案解析.docx
- 2025四川省双流棠湖中学(棠中路校区) 赴高校考核招聘教师61人备考笔试试题及答案解析.docx
- 2026中国储备粮管理集团有限公司招聘备考笔试试题及答案解析.docx
- 2026广东广州铁路职业技术学院第一批引进急需专业人才10人备考考试题库及答案解析.docx
- 2025河南郑州十一中教育集团郑东校区(86中)招聘备考笔试题库及答案解析.docx
- 2025通辽科左中旗卫生健康系统招聘57名临聘工作人员参考考试题库及答案解析.docx
- 某审计公司成本审计专项工作方案.doc
- 2025四川成都医学院第一附属医院招聘合同制人员4人参考考试试题及答案解析.docx
- 2025陕西陕煤澄合矿业有限公司招聘570人参考考试试题及答案解析.docx
最近下载
- 慢性肾衰竭合并急性心力衰竭病人的护理查房ppt演讲.pptx VIP
- 黄山学院《高等数学E(上)》2025 - 2026学年第一学期期末试卷(A卷).docx VIP
- 幼儿行为观察与指导第十章--幼儿园对个别儿童的观察与指导.ppt VIP
- 幼儿园大班社会《七只小猪去旅行》PPT课件.pptx VIP
- 医疗机构内部控制与合规风险管理启示.pptx VIP
- 腋静脉应用解剖学与穿刺技术.ppt VIP
- 倪海厦经方治感冒简易图表介绍.ppt VIP
- 超文本传输协议HTTP .ppt VIP
- 【事业单位考试真题】2022年江西省交通投资集团有限责任公司校园招考聘用冲刺题(附答案解析).docx VIP
- 倪海厦伤寒论经方使用说明书.docx VIP
原创力文档


文档评论(0)