软件工程--系统架构设计.ppt

  1. 1、本文档共96页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 第*页 总结 系统架构=业务架构+软件架构。 业务架构从业务需求的角度描述了系统的物理和逻辑组成,软件架构从技术角度描述了软件的分层和各层之间的接口设计等。 架构是一种思想,一个系统蓝图,是对系统高层次的定义和描述。框架是针对某个问题领域的通用解决方案,通常集成了最佳实践和可复用的基础结构。 * 第*页 总结 在面向对象系统的物理方面进行建模时要用到两种图:组件图和部署图。 组件图描述软件的各种组件和它们之间的依赖关系,用JAVA语言描述的组件图,一个JAVA文件对应一个组件。 部署图描述运行软件的系统中硬件和软件的物理结构,系统资源元素的配置情况以及软件到这些资源元素的映射。 END * 8.4 软件架构设计 事实上,在一个基于数据库的Web系统中,建立数据库连接的操作将是系统中代价最大的操作之一。很多时候,可能系统的速度瓶颈就在于此。Hibernate的目标是对于开发者通常的数据持久化相关的编程任务,解放其中的95%,对于那些在基于Java的中间层应用中,它们实现面向对象的业务模型和商业逻辑的应用,Hibernate是最有用的。不管怎样,Hibernate一定可以帮助我们消除或者包装那些针对特定厂商的SQL代码,并且帮我们把结果集从表格式的表示形式转换到一系列的对象中去。 * 第*页 8.5 软件架构与框架 1. 问题引入 现实中,很多人把架构和框架搞混,有的人认为架构和框架就是同一个东西,那么究竟两者是否相同,如果不同,又有什么区别呢? * 第*页 8.5 软件架构与框架 2. 解答问题 架构的英文原文是Architecture,而框架则是Framework。显然是两个完全不同的词。从技术上讲,IT有一个职业是架构师,代表了软件技术人员最高的职业,却从没有听说过有软件框架师的,所以肯定地说,软件架构和软件框架是两回事。架构是一种思想,一个系统蓝图,是对系统高层次的定义和描述。框架是针对某个问题领域的通用解决方案,它通常集成了最佳实践和可复用的基础结构,对开发工作起到减少工作量、指导和规范作用。 * 第*页 8.5 软件架构与框架 3. 分析问题 如果用建设一幢大楼来作比喻,架构就是大楼的结构、外观和功能性设计,它需要考虑的问题可以延伸到抗震性能、防火性能、防洪性能等;而框架是建设大楼过程中的一些成熟工艺的应用,例如楼体成型、一次浇灌等。再举一个例子,可以说架构是战略性的,它描述战略目标、指挥系统、信息传递、职责、部署等;框架是战术性的,它描述组织、建设、作战方案、命令下达、战术执行等。我们可以说MVC是一种设计思想,它将应用程序划分为实体、控制和视图三个逻辑部件,因此它是一个软件架构。而Struts,JSF,WEBWork等开源项目则分别以自己的方式实现了这一架构,提供了一个半成品,帮助开发人员迅速地开发一个符合MVC架构的应用程序,因此可以说我们采用了Struts或JSF或WEBWork软件框架,开发出了符合MVC架构的应用程序。 8.6 软件架构的“4+1”视图模型 1. 问题引入 软件架构用来处理软件高层次结构的设计和实施。它不是一维的,而是由多个同时存在的视图构成。它将若干结构元素进行装配,从而满足系统主要功能和性能需求,并满足其它非功能性需求,如可靠性、可伸缩性、可移植性和可用性等。那么,描述软件架构的这个“4+1”视图究竟有哪些?它们有怎样的交互作用? 8.6 软件架构的“4+1”视图模型 2. 解答问题 软件架构“4+1”视图模型及视图间的交互关系如图8-18所示。4个视图为逻辑视图、进程视图、组件视图和部署视图,而用例视图则为“+1”的视图。 8.6 软件架构的“4+1”视图模型 图8-18 软件架构“4+1”视图模型 8.6 软件架构的“4+1”视图模型 3. 分析问题 在RUP中,软件架构的“4+1”视图模型包括下列五个视图: (1) 用例视图:包含用例和场景,这些用例和场景含有重要架构行为、类或技术风险。它是用例模型的子集,用于描述用例、参与者和普通设计类的用例图,描述设计对象及其协作的顺序图。 (2) 逻辑视图:包含最重要的设计类、包和子系统中类的组织,以及各层中这些包和子系统的组织。它还包含某些用例实现,它是设计模型的子集。逻辑视图包含类图、状态图和对象图。 8.6 软件架构的“4+1”视图模型 (3) 组件视图:包含实施模型的概述,以及按模块划分为包和层的模型组织。还描述了从“逻辑视图”将包和类分配到“组件视图”中的包和组件。它是组件模型的子集,包含组件图。 (4) 进程视图:包含所涉及任务(进程和线程)的描述、任务的交互和配置以及从设计对象和类到任务的分配。仅当系统具有相当并行程度时,才需要使用该视图。它是设计模型的子集,包含类图和对象图。 8.6 软件架构的“4+1”

文档评论(0)

锦绣中华 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档