- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
清华大学出版社 第4章 软件设计过程 内容提要 4.1 软件设计基础 4.2 软件体系结构设计 4.3 高可信软件设计 4.3.1可信软件的特点 4.3.2容错设计 4.3.3软件失效模式和影响分析 4.3.4软件故障树分析 4.3.5形式化方法 4.3.6净室方法 4.4 软件设计规格说明 4.5 软件设计评审 4.6 小结 4.1 软件设计基础 软件设计基本概念,是过去数十年里陆续提出的,软件设计者根据这组概念进行设计决策。它们可以帮助软件工程师回答下述问题: 能使用什么标准将软件划分为单个构件? 如何将功能或数据结构与软件的概念性表示分离开? 是否存在定义软件设计的技术质量的统一标准? 软件设计的迭代 第一层含义是,针对给定的需求模型,通过多次从抽象到具体的设计过程,得出足够精细的设计模型以供软件实现之用。 第二层含义是,软件需求经常发生变化或者不完整,在需求模型发生变化并更新完成后,第一层含义的设计过程再随之展开,直至获得最终的目标软件产品。 软件设计的一般过程 从工程管理的角度,可以将软件设计分为概要设计和详细设计。 但对于面向对象设计方法来说,其设计过程从概念模型逐步精化到实现模型,并且不断的进行迭代,设计过程已经很难用概念设计和详细设计来进行明确的区分。 此外,在设计过程中还包括对设计进行计划评审等活动。 2. 软件设计的主要活动 (1)软件设计计划 (2)体系结构设计 (3)界面设计 (4)模块/子系统设计 (5)过程/算法设计 (6)数据模型设计 软件结构有关概念 4.2 软件体系结构设计 1. 多视图建模 “4+1”模型 逻辑视图,也称概念视图,主要是支持系统功能需求的抽象描述,即系统最终将提供给用户什么样的服务,逻辑视图描述了系统的功能需求及其之间的相互关系。 开发视图,也称模块视图,主要侧重于描述系统的组织,与逻辑视图密切相关,都描述了系统的静态结构。 过程视图,主要侧重于描述系统的动态行为,即系统运行时所表现出来的相关特性,着重解决系统的可靠性、吞吐量、并发性、分布性和容错性。 物理视图,描述如何把系统软件元素映射到硬件上,通常要考虑系统的性能、规模和容错等问题,展示了软件在生命周期的不同阶段中所需要的物理环境、硬件配置和分布状况。 场景视图,场景是用户需求和系统功能实例的抽象,设计者通过分析如何满足每个场景所要求的约束来分析软件的体系结构。 2. 基于评估与转换的设计方法 其中,对体系结构进行转换可以通过下述三种方式: 使用合适的体系结构风格和模式,或者设计模式来改进体系结构设计。 把非功能需求转化为功能性解决方案,该功能性方案可以与问题域无关,但可以满足质量属性的要求。 采用“分而治之”的方式,可以把系统级的质量需求分配到子系统或模块中,或者把质量需求分解为多个与功能相关的质量需求,分解后的质量需求能够比较容易得到满足。 基于评估与转换的设计方法 3. 模式驱动的设计方法 常用的软件体系结构风格如下: 数据流风格:批处理和管道/过滤器。 调用/返回风格:主程序/子程序、层次结构和客户机/服务器。 面向对象风格。 独立部件风格:进程通讯和事件驱动。 虚拟机风格:解释器和基于规则的系统。 数据共享风格:数据库系统和黑板系统。 模式驱动的设计方法流程 4. 领域特定的软件体系结构设计 领域特定的软件体系结构(Domain Specific Software Architecture,DSSA)是领域工程的核心部分,领域工程分析应用领域的共同特征和可变特征,对刻画这些特征的对象和操作进行选择和抽象,形成领域模型,并进一步生成DSSA。 DSSA与体系结构风格的区别在于: DSSA与软件体系结构风格是从不同角度出发研究问题的两种结果,前者从问题域出发,而后者从解决域出发。 DSSA只在某个特定领域中进行经验知识的提取、总结与组织,但可以同时使用多种软件体系结构风格;而一种软件体系结构风格所呈现的公共结构和设计方法可以扩展到多个应用领域。 DSSA的体系结构表示和工具一般只适用于一个较小的范围,在其它领域中是不适用并难以复用的。 5. 软件产品线方法 软件产品线(Software Product Line,SPL)是指一组可管理的,具有公共特性的软件应用系统的集合。 在利用软件产品线方法构建一个应用系统时,主要的工作是组装和繁衍,而不是创造,其重要的活动是集成而不是编程。 软件产品线的主要组成部分,包括核心资源和软件产品集合两部分。 软件产品线过程模型 6. 其它软件体系结构设计方法 (1)基于目标图推理的体系结构设计方法: 该方法的目标,是使模式背后的推理结构显式化,并且服从于系统的分析;该方法使用目标图,表达模式在各种需求上的应用效果。 (2)基于属性的
您可能关注的文档
最近下载
- TCAAMTB 55.13—2021电动乘用车共享换电站建设规范 第13部分:换电站标识、安全运营、设备运输和安装要求(征求意见稿).pdf
- (2025秋新版)青岛版科学二年级上册《10 制作四季翻翻书》教案.doc VIP
- (精品!)2024年四川蜀道轨道交通集团有限责任公司招聘笔试真题.pdf VIP
- 《就业指导》中职生就业指导全套教学课件.pptx
- 2025年高二英语教学工作计划 .pdf VIP
- 城市道路路面PCI计算(2016版养护规范).xlsx VIP
- 新改版苏教版三年级上册科学全册知识点(新教材).pdf
- 3.20 眼科手术器械处理.ppt VIP
- 《工程建设标准强制性条文 电力工程部分 2016版》.docx VIP
- ABAQUS用户子程序学习小结.doc VIP
文档评论(0)