- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
面向对象技术Object-Oriented Techniques 第 18 讲 面向对象的设计Object-Oriented Design Review: Object-Oriented Design Patterns 从原则到模式 设计模式 GoF设计模式及应用 GRASP职责分配模式 模式与编程语言 模式与重构 学习线路图 从需求到分析 从分析到设计 内容安排 从分析到设计 体系结构设计 用例设计 子系统设计 类设计 数据库设计 分析 VS. 设计 分析:做什么 Analysis emphasized the business problem 设计:怎么做 Design focuses on the technical or implementation concerns of the system 设计模型 VS. 分析模型-1 设计模型 VS. 分析模型-2 需要保留分析模型吗? 易于理解:分析模型提供系统的“大场景”,它可能只包括设计模型中的1%到10%的类 价值: 介绍新人加入项目 在交付几个月或几年后重新理解系统 理解系统是怎么满足客户需求以及提供可跟踪性 计划维护和增强 理解系统的逻辑架构 外包系统的构造 …… 设计模型 VS. 分析模型-3 需要分别维护分析模型和设计模型的系统 庞大的 复杂的 战略性的 受经常变更所支配的 期望长期运行的 外包的 软件设计的定义 更精确定义 软件设计(的结果)必须 描述系统的体系结构(architecture) 系统如何分解(decompose)和组织(organize)构件 描述构件间的接口(interface) 描述构件(component):必须详细到可进一步构造的程度 ISO/IEC 12207 按ISO/IEC 12207软件开发生存周期过程,软件设计由两个活动组成 软件体系结构设计-software architectural design 顶层设计(top-level design) 描述系统顶层的结构和组织 标识各个构件 软件详细设计-software detailed design 充分描述每个构件使之可以编码 软件设计的作用 软件设计在软件系统开发过程中扮演重要角色 开发者作出各种模型,形成实现时解决方案的蓝图 对这些模型进行分析和评价,以判定是否满足各种需求 便于考察备选方案和可行的替换措施 设计模型也可用于规划后续的开发活动 是编码和测试的输入 软件设计知识域 D-设计(Decomposition design) 将系统映射为构件片(component pieces) FP-设计(Family Pattern design) 目标是探求一定范围的通用性 I-设计(Invention design) 基于概念化原型作系统分析,定义系统以满足所发现的需要和需求 RUP中的分析和设计工作流 为什么需要体系结构 我们所定义的类或者对象其关注的重点是定义了一个系统的核心概念和行为 一个系统是由多个子系统组成,每个子系统中的领域对象都不只一个 这些类如何组织、分布并协同完成所需的功能? 因此系统应该要有一个总体的体系结构,它定义了各子系统之间的通信和耦合 体系结构包图(architecture package diagram) 软件体系结构定义 软件体系结构描述软件系统的子系统和构件及其相互关系 体系结构的概念从研究软件的结构和风格开始,导致家族式(产品线)软件,可重用软件和类属设计 UML Reference Manual:体系结构是一个系统的组织结构,包括系统分解成的各个部分、它们的连接性、交互机制和通知系统设计的向导规则 软件体系结构视点 体系结构视点viewpoints 软件高层设计的不同侧面facet(即视图view)应该可以描述并作出文档 视图view表示了软件体系结构的某个方面,突出软件系统的特定性质 不同的视图与软件设计中相关的问题向匹配 逻辑logical视图:满足功能需求 进程process视图:并发性问题 物理physical视图:分布性问题 开发development视图:设计如何分解为实现单元 行为-功能-结构-数据建模 软件是多侧面的人工制品,由相互独立和正交的视图组成,由设计过程产生 软件体系结构风格 体系结构风格style(宏体系结构模式) 是对某个体系结构的一组约束,定义了能满足要求的一组或一族体系结构 也可看作是提供软件系统高层组织的元模型 通用结构:分层、管道过滤器、黑板 分布式系统:客户-服务器、三层、中介 交互式系统:MVC、表示-抽象-控制 可适配系统:微内核、反映式 其它:批处理、解释器、进程控制、基于规则 UML和体系结构 体系结构的全部内容就是复杂性管理:将解决方案划分成多个小的组成部分,再将这些小的部
文档评论(0)