- 1、本文档共30页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ADD-形成团队结构-创建骨架system
第 7 章 设计体系结构 《软件构架实践》 Len Bass 著 车立红译 清华大学出版社 7.1 生命期中的体系结构 7.2 良好体系结构的评判原则 7.3 体系结构设计的质量驱动方法 7.4 创建骨架系统 7.5 团队结构的形成 7.6 设计师的职责 7.7 小结 瀑布模型(waterfall model) Winston Royce在1970年提出了著名的“瀑布模型”。 瀑布模型将软件生命周期划分成了:制定计划、需求分析和定义、软件设计、程序编写、软件测试、运行和维护这六个阶段。 规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。 优点:各个阶段的划分非常明确,每一个阶段有明确分工,从对软件生命周期各阶段有明确的界定,可以良好的把握。 常见的软件生命周期模型 瀑布模型(waterfall model) 常见的软件生命周期模型 7.1 生命期中的体系结构 瀑布模型(waterfall model) 如需求分析后,紧接着是系统设计。在系统设计过程中,往往会发现更多的需求。或者在系统设计过程中,由于跟用户交流增多,用户又意识到了更多的需求。所以在系统设计当中,往往会引发新的需求。从而引起需求分析的改变,进一步的引发系统设计的更改。 又或,在系统实现的过程当中,发现系统分析的不足,从而影响到对系统设计的更改。 常见的软件生命周期模型 1. 瀑布模型(waterfall model) 在实际的软件开发过程中,会存在很多循环反复的行为。软件生命周期后面阶段的行为,会影响到软件生命周期前面阶段的行为。而瀑布模型认为每一阶段是相互分离的,而每一阶段不可能回到前面一阶段,这也是为什么称为瀑布模型,瀑布从高往下流,从前面阶段往后面阶段流,不可能倒流回来。 缺点:没有考虑到软件开发过程中常见的循环往复的行为。从而很难适应实际开发的需要。 常见的软件生命周期模型 2. 演化模型 常见的软件生命周期模型 2. 演化模型 用户可以给出待开发系统的核心需求,并且当看到核心需求实现后,能够有效地提出反馈,以支持系统地最终设计和实现。 演化模型对软件开发过程中的循环往复的行为,尤其是对需求的不断变更提供了良好的支持。演化模型中可以在核心需求实现之后,把对核心需求进一步的新的反馈信息溶入到系统当中,从而更好的支持系统的设计和实现。 演化模型中各个阶段都可以有循环往复的行为,可以更好的适应实际开发的需要 常见的软件生命周期模型 3. 螺旋模型 是瀑布模型与演化模型的结合,并加入了两者所忽略的风险分析因素,所建立的一种软件开发模型。 常见的软件生命周期模型 体系结构设计在软件生命周期中处于什么位置? 下图的演变交付生命期模型(演化模型)表明了体系结构所应处的位置。 7.1 生命期中的体系结构 软件过程——对软件开发活动的组织、规范和管理 基于体系结构的开发步骤: (即以体系结构为核心来进行软件开发) 1. 为软件系统构建一个商业案例 需要设计师来参与,不仅要看到商业前景,还要看到现有的技术水平能否实现系统。 2. 弄清系统需求 在需求阶段是无法弄清楚需求的,要在需求与设计的迭代过程中才能真正理解需求,也可以设计出满足需求的体系结构。这也需要设计师参与。 3. 构建或选用体系结构 通常是选用体系结构,很少是新建体系结构。 4. 正确表述此体系结构(写出文档),并与有关各方进行交流(例如与需求的各方交流) 5. 对此体系结构进行分析和评价 请专家评审,用需求与设计的迭代来实现用户的真正的需求,也可以得到满足这些需求的体系结构。 6. 实现基于体系结构的系统并保证与体系结构相一致 在实现的过程中,体系结构并不是不可以修改。在实现过程中可能体系结构出现一些问题,可以作修改,要保证实现的内容与体系结构一致。 7. 系统维护时,体系结构文档应同步维护 何时可以开始设计体系结构? 对需求有了初步了解就可以开始设计,但是并不需要太多的需求。关注哪些重要的需求,而忽略不重要的需求,以免设计师在设计时有太多相互制约的约束。 体系结构驱动因素(即设计的依据)的组成: 重要的功能(或功能需求) 重要的质量属性(或质量需求) 重要的限制条件(或商业需求等) 以上三个因素构成的某个子集。 功能需求和质量需求是无关,体系结构的设计是由质量需求决定的,这是否意味着体系结构的设计是否跟功能需求无关呢? 实事上一个系统的体系结构设计是不能不考虑系统的功能需求的。体系结构设计是将系统的功能需求划分到系统的各个不同的模块当中,即体系结构设计是功能划分的过程。各种不同的功能划分,形成了系统的不同结构,从而形成了系统的不同体系结构,也就表现出不同的质量属性。所以体系结构设计是功能划分的过程,体系结构
文档评论(0)