软件体系结构讲义.ppt

  1. 1、本文档共41页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2021/9/12 * 观点7 Hayes Roth则认为软件架构是一个抽象的系统规范,主要包括用其行为来描述的功能构件和构件之间的相互连接、接口和关系 。 观点8 Barry Boehm提出,软件架构包括系统构件,互联及约束的集合;系统需求说明的集合;一个基本原理用以说明这一构件,互联和约束能够满足系统需求。 观点9 软件架构为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素的描述、这些元素的相互作用、指导元素集成的模式以及这些模式的约束组成。软件架构不仅指定了系统的组织结构和拓扑结构,并且显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理。 2021/9/12 * 1.2 软件架构的多个结构 静态的角度: 模块结构—体现了任务的划分,每个模块有其接口描述、代码和测试计划等,各模块通过父子关系联系起来,在开发和维护阶段用于分配任务和资源。 分析类结构—子系统图、包图。 类结构—对象之间的继承或实例关系。 动态的角度: 进程结构—运行系统的动态特征,包括进程间的同步关系、缺少不能运行、存在不能运行、先后等关系,与模块结构、概念结构成垂直正交关系。 数据流—模块之间可能发送数据的关系,最适合用于系统需求的追踪 2021/9/12 * 控制流—程序、模块或系统状态之间的“之后激活”的关系,适合于对系统功能行为和时序关系的验证。 使用结构—描述过程或模块之间的联系,这种联系是“假设正确存在”的关系,用于设计可轻松扩展的系统。 如果过程A的运行必须以过程B的正确运行为前提,则说过程A使用过程B。 8. 调用结构--(子)过程之间调用和被调用的关系,可用来跟 踪系统的执行过程。 层次结构—是一种特殊的使用结构,层就是相关功能的一致集合,在严格的分层结构中,第n层仅能使用第n-1层提供的服务。 部署的角度: 物理结构—软件与硬件之间的映射关系,在分布式或并行系统中有重要意义。 2021/9/12 * 各种结构间的相互关系 各个结构都是从不同角度考察系统,但它们并不完全独立,它们之间的联系是多对多的。 每个项目在开发时一般是注重一个结构,按照这一主要结构来考虑和运用其它结构。 经验表明,系统规模越大,这些结构之间的差异越明显。 使用结构与调用结构的区别: 对于使用结构,A可以调用B,并且A使用B的结果,如在ATM机上取款,先要验证余额是否够;或者A使用B的结果,但A不直接调用B,银行结息需要读利率,但不会直接调用利率设置程序。 对于调用结构,A调用B,但A不使用B的结果,例如虽然网页的某个部分无法显示,但不会影响网页其它内容的显示。 2021/9/12 * 调用结构的例子 暂时不能提供的服务是“我的阅读”功能,但这不影响其它显示。 使用结构的例子 2007年1月28日晚,在宁波务工的湖南人唐风军在鄞州古林镇一个银行ATM机转账时,机器出现故障,唐风军疯狂转账225万,后伙同其弟唐风光,跑了10多家银行,取走58万元现金。 2021/9/12 * 设计仅是系统功能需求分析的产物? 功能需求?设计?系统开发? 否也!!! 2009年1月3号广州火车站16万张票同时出闸致系统瘫痪。 911中是世界贸易大厦的倒塌。 2007年1月18日,招商证券的客户发现,在公司进行网络交易时,公司网站竟然无法登陆。一部分客户转向电话服务寻求帮助,却发现电话线路出现同样的阻塞。行情转瞬即逝。拥堵是由于交易量激增,原有系统容量不足引起的。 北京奥运门票销售系统遇到的问题。 1.3 软件架构的产生? 2021/9/12 * 1.3.1 架构受系统涉众的影响 涉众—也叫风险承担者,利益相关者,他们是对构建软件系统感兴趣的人或组织,包括合同中的客户、系统最终用户、开发人员、开发组织、系统维护人员等,他们所关注的问题各不相同,但都要求系统在他们所关注的方面提供保证或优化。 事物有主要矛盾和次要矛盾之分。 开发系统时,首先要确定其软件构架。借助于构架,设计师可以分析众多风险承担者所提出的各种要求的优先级,并将这些要求转化为系统的各个特性,再针对它们在系统结构上做折衷,从而得到和谐的架构。 2021/9/12 * 开发组织所关心的问题不同于客户,它对软件构架的影响分为3类: · 直接影响 如希望向产品线发展 ·长远影响 如行业布局 ·组织结构的影响 如软件外包 ·开发组织的开发团队的经验对设计师有影响,从而间接影响架构 2021/9/12 * 1.3.2 架构受设计师的素质和经验的影响 1 熟悉.NET的设计师在设计时会考虑.NET的框架和技术。

文档评论(0)

微微 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档