- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
系统设计实例分析-Read
系统设计实例分析 第一部分 设计基础 软件生命周期 粗粒度 分析 设计 实现 细粒度 需求确定 需求规格说明 体系结构设计 详细设计 实现 集成 维护 UML建模语言 UML是用于系统的可视化建模语言。 UML不是方法论,只是通用可视化建模语言。 UML定义了系统的四个不同的视图—逻辑视图、进程视图、实现视图和部署视图。这些视图由第五个视图—用例视图集成到一起。 设计的概念 设计是将要建造的某种东西的有意义的 工程表示。 设计关注于四个主要的方面 数据设计 体系结构设计 接口设计 构件设计 设计者的目标是生成一个随后要构造的实体的模型或表示。 设计过程 任何设计过程都有两个阶段 多样化 收敛 软件设计与软件工程 软件设计处于软件工程过程中的技术核心并且它的应用不考虑所使用的软件过程模型。 软件设计是构造和验证软件所需的三项技术活动(设计、代码生成和测试)之一。 设计从需求模型开始。分析模型的每一个元素都提供了创建设计模型所需的信息。 软件设计种类 数据设计是将分析时创建的信息域模型变换成实现软件所需的数据结构。 体系结构设计定义了软件的主要结构性、可以用于达成针对系统而定义的需求的“设计模式”以及影响体系结构设计模式被应用方式的约束之间的关系。 接口设计描述了软件内部、软件和协作系统之间以及同人之间如何通信。 构件级设计将软件体系结构的结构性元素变换为软件构件的过程性描述。 为什么设计如此重要? 软件设计的重要性可以用一个词来表达—质量 设计是我们将能将用户需求准确地转化为完整的软件产品或系统的唯一方法。 设计过程 软件设计是迭代的过程,通过它需求被变换为用于构造软件的“蓝图”。 初始,蓝图描述了软件的整体视图。设计在高的抽象层次上表示,在该层次可以直接跟踪到特定数据、功能和行为需求。 随着设计迭代的开始,后续的精化导致更低抽象级别的设计表示,这些表示仍然能够跟踪到需求,但是连接更微妙。 良好设计的三个特征 设计必须实现所有包含在分析模型中的显示需求,并且必须满足客户希望的所有隐示需求 对于那些生成代码和那些进行测试并随后维护软件的人而言,设计必须示可读的、可理解的指南。 设计应该提供软件的完整面貌,涉及从某个实现视角看到的数据、功能和行为域。 设计质量评价标准与原则 设计应该展示一种层次性结构 设计应该模块化,也就是说软件应该逻辑地划分成完成特定功能和子功能地构件。 设计应该包含数据、体系结构、接口和构件地清楚表示 设计应该导致适合于将被实现地对象和从可识别地数据模式导出地数据结构 设计应该导致具有独立功能特征地构件 设计应该导致降低模块和外部环境间连接复杂性地接口。 设计应该通过使用由软件需求分析过程中获得的信息所驱动的可重复的方法导出。 设计原则 设计过程不应该受“隧道视野”的限制 设计对于分析模型应该示可跟踪的 设计不应该从头作起 设计应该缩短软件和现实世界中问题的“智力距离” 设计应该表现出一致性和集成性 设计应该被构造以适应变更 设计应该被构造以使得即使遇到异常的数据、事件或操作条件时也能够平滑、轻巧地降级 设计不是编码,编码也不是设计 在创建设计时应该能够评估质量,而不是在事情完成之后 应该评审设计以减少概念(语义性)错误 设计概念(1) 抽象 软件过程中地每一个步骤都是软件解决方案抽象级别上地求精 抽象级别 过程抽象 数据抽象 设计概念(2) 求精 是一种自顶向下设计策略,程序是通过过程细节地连续地精化层次开发的,实际上是一个详细描述的过程。 抽象和求精时互补地概念,抽象使得设计者能够刻画过程和数据而同时忽略低层细节,求精有助于设计者在数据过程中揭示低层地细节,两个概念帮助设计者在设计演化中构造出完整地设计模型 设计概念(3) 模块化 将软件划分成独立命名和可独立访问的部分。 模块化的标准 模块可分解性 模块可组装性 模块可理解性 模块连续性 模块保护 设计概念(4) 信息隐藏 信息隐藏的原则提出模块的特征在于每个模块都对其它模块隐藏的设计决策 信息隐藏用做模块化系统的设计标准为在测试及以后维护中需做变更时提供了极大的优点。 有效的模块设计-功能独立性 功能独立性时模块化和抽象及信息隐藏概念的直接产物。 时通过开发具有“单一”功能和“反对”同其它模块的过分交互的模块而实现的。 有效模块化的软件更易于开发,独立的模块更易于维护。 功能独立性时良好设计的关键,而设计又是软件质量的关键 有效的模块设计—内聚 内聚是模块相对功能密度的度量 内聚的模块在软件过程中完成单一的任务,同程序其它部分执行的过程交互很少。 内聚分类 巧合内聚 逻辑内聚 时间内聚 过程内聚 通信内聚 高内聚是以执行单独过程任务的模块为特征的 有效的模块设计—内聚 耦合是模块间相对独立性的度量 耦合类型 数据耦合 印记耦合 控制耦合 外部耦合 共用
文档评论(0)