- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
名词解释:
设计的5个准则
设计复杂度=事物复杂度+载体与事物的适配复杂度
设计重在内部结构,不是外在表现内部结构:为了实现外部的功能,进行的内部的安排,主要关注质量
外部表现:对外的功能(能力),满足职责
(二玉答疑)
外部表现是对外表现的能力,外部表现是为了满足职责;内部结构则是为了完成的质量,通过罗列方式完成外部表现的内部结构不是好的内部结构。设计的目的就是为了保证质量,因此其重在内部结构。
只有高层设计良好,底层设计才可能良好The better early design, the easier detailed design will be
高层设计的质量要到最底层才能准确验证
层次间是迭代而非瀑布,线性关系
不要在完成高层设计之后再进行底层设计
要尽早有可验证的原型
只有写完测试代码之后,才能算是完成了设计
IBM提出的一种multi-point的体系结构模型,共有5个viewpoint,关注点在设计上,特别适用于迭代设计过程,由4个View(逻辑、开发、进程和物理)以及1个特殊viewpoint场景来描述体系结构,不同的涉众可选取自己关系的view来理解。
逻辑视图为面向对象的分解,由关键的抽象——部件连接件以及配置组成,考虑功能需求,针对终端用户;
进程视图为进程分解,有多个层次,包含一个进程网络,软件分解为一组可执行的工作单元,考虑非功能需求,针对集成人员;
开发视图为子系统分解,是产品线的基础,有模块和子系统图组成,考虑软件模块的组织——层次、管理、重用以及工具,层次式风格,针对编程人员和软件管理者;
物理视图将软件映射到硬件,包含网络、task以及对象映射为节点时的拓扑结构和通信,考虑与硬件相关的肺功能呢个需求,针对系统工程师;
场景将上面的视图元素组织在一起,通过一小组重要的场景来表现各视图的工作,考虑系统一致性和验证,针对其他视图和评估者等所有用户。
逻辑视图:面向对象分解,系统将问题域分解成一系列关键的抽象,以对象或类的形式表现。
——view:最终用户
——consider:功能需求
——不仅是功能性分析,还可以识别系统不同部分之间共同的机制和设计元素。
进程视图:进程分解
——view:Integrator
——consider:非功能需求(并发、性能、scalability)
——style:几个风格都可以满足这个视图
——使用多层次的抽象,最高时进程的逻辑网;系统被分成几个相互独立的任务:主要任务是体系结构相关的任务、次要任务是帮助类的任务
——重点关注系统运行起来之后的特征
开发视图:子系统分解
——viewer:程序员和软件经理
——consider:软件模块组织(层次结构、软件管理、复用、工具约束等)
——style:分层风格
物理视图:将软件映射到硬件上
——viewer:系统集成师
——consider:非功能需求(可用性、可靠性(容错性)、性能(吞吐量)、` scalcbility)
场景:将所有放在一起
——viewer:其他视图所有人和评价者
——consider:四个视图间的一致性、可验证性
——体系结构设计阶段帮助架构师;帮助解释和验证文档
OO协作与协作设计
What’s Collaboration
An application can be broken down into a set of many different behaviors.?Each such behavior is implemented by a distinct collaboration between the objects of the applicationEvery collaboration, no matter how small or large, always implements a behavior of the application
Imagine an object-oriented application as a network of objects connected by relationships. Collaborations are the patterns of messages that play through that network in pursuit of a particular behavior. The collaboration is distributed across the network of objects, and so does not exist in any one place
Collaboration Design
Identify coll
文档评论(0)