软件架构复习.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件架构复习

概念题: 进一步理解软件架构定义 架构是一个或多个系统的抽象 是由抽象的组件来表示的 组件具有外部的可见特性 组件相互之间是有联系的 什么是模块,连接件,连接关系: 模块(组件):客户、服务器、数据库、中间件、程序包、过程、子程序、进程等——切碎、再切碎(粒度) 连接件:过程调用、共享变量访问、信号灯、进程通信、消息传递、访问/网络协议等 连接关系:信号灯亮代表什么 模块:按钮,连接件:消息机制,连接关系:什么按钮对应什么内容(例如,点击“文件”按钮,弹出“文件”的内容) 架构={ 组件、连接件、约束 } 组 件:一组程序代码、进程、接口 连接件:调用、管道、消息 约 束:组件之间的连接关系 软件架构的作用 (1)软件架构定义了软件计算的组件、局部和总体的构成关系、以及这些组件之间的相互作用 (2)除了描述系统的构成和结构关系外,软件构架还表达了系统关键需求与系统构成之间的对应关系,这为系统的设计,提供了分析和评价的依据 2.2.1 汽车控制系统架构演变的案例分析 定时扫描结构的特点: 定时时钟是整个系统协调一致的核心 周期地扫描采样,得到系统的各状态信息 循环扫描方式、固定的定时时间间隔、没有考虑采集部件不同的需要 改善的思路:可根据具体硬件的情况、位置、性能、自我处理能力等,区别对待。 2.2.3 关键质量属性需求与系统功能的正交性 功能性:系统完成所期望工作的能力 实现功能的方法 没有内部模块/部件的职责划分,没有配合与协作,也可以实现系统功能,但是…… 具有良好系统构架设计的系统必须…… 如果既要实现功能,又具有良好的构架设计,满足关键需求,则系统设计将: 仔细地划分模块的功能 设计良好的模块间连接与关联关系 易用性: 架构设计无关:界面表示直观、操作简便 架构设计有关: 是否允许取消、撤销操作 是否可重用以前输入的数据 是否有多层次的输入支持和帮助 系统性能: 架构设计无关:算法的好坏 架构设计有关: 组件之间通信的瓶颈制约 分配给组件的功能的合理性 组件完成功能所需要的共享资源的情况 可修改性: 架构设计无关:可读性好的注释和编码规范 架构设计有关: 逻辑独立 接口简单 变更涉及面小且清晰 回归测试的范围容易控制 4.1.3 软件需求分析与架构师的关注点 1、需求分析阶段的工作目标与关键交付物成果: 需求分析阶段的任务是面向系统实现(最主要的是面向架构设计,而不是代码)、严格对系统的需求,进行再分析 2、需求分析阶段架构师的关注点: 软件产品本身除了用户功能需求以外,可能还存在与用户业务过程没有直接关系的非功能性需求,如:与硬件、软件环境相关的操作系统和软件平台要求、对软件运行的远端监控要求、异常处理(如通信连接中断等非业务异常)、响应时间和负载能力要求等等。 另一方面,组织的或产品的设计约束和限制,也是系统需求必须要考虑的内容。通常这三部分需求,构成了软件需求的总集。 后二个部分是架构师“新增加”的需求。 架构师的责任是保证这三部分的需求,能够合适地“糅合”在一起。 从体系结构的观点看ISO/OSI模型: 两种系统架构模式的比较与借鉴 相同点: 都是从硬件的构成和连接的基础开始,直到应用服务层 系统设计中都考虑了升级、扩展、兼容性,这是基于系统下一层为上层建立了良好服务功能的基础上才能实现的 下层的机制简化了上层的实现难度 层次结构对于性能追踪和分析,提供了可能 不同点: 上层对下层是否可以隔层、直接调用,OS结构限制的不是非常严格,为了提高效率,可以直接与底层建立连接。ISO/OSI则不可以 软件架构概要设计的任务 软件系统概要设计的任务是: 将需求分析模型映射为具体的软件架构。 在上一章所讨论的软件架构“规划”阶段,这种映射要完成的是宏观和策略层面的“蓝图”,是设想和规划 而在本章讨论的,是实际完成的、可以交付编码工程师执行的设计“图纸”。 面向结构的系统设计产生的结果是: 过程设计、接口设计、架构设计和数据设计 采用面向对象方法产生的设计结果是: 子系统设计、数据设计、消息设计和方法设计。 1、软件架构(子系统)设计的任务是: 定义系统的主要结构元素及相互的关系。 结构化方法是从数据流图出发对数据进行分析,得出软件的层次化的模块结构图。 面向对象方法是:通过分析模型(例如:OMT模型),划分子系统,在考虑通信、并发、部署、复用等问题综合平衡的基础上,建立系统架构。所以,不论用什么方法,首先确定的是系统的总体架构(主要是逻辑架构)。 2、数据设计(对象设计)的任务是: 结构化方法从在分析阶段得到的数据模型和数据字典出发,设计出相应的数据结构。 面向对象方法把数据作为类(通常为实体类)的一个属性,设计合适的数据结构,来表示这个属性。 3、过程设计(

文档评论(0)

haocen + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档