- 1、本文档共95页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
系统架构=业务架构+软件架构(修订版).ppt
* 第*页 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.2.2 客户服务系统子模块划分 ② 客户服务业务处理模块。 客户咨询管理 包括客户咨询信息的管理及查询。客户咨询服务活动如图8-8所示。 * 第*页 图8-8 客户咨询服务活动图 * 第*页 8.2.2 客户服务系统子模块划分 派工管理 当有客户投诉及报障时,部门领导会立即对投诉及报障的客户作出快速反应,及时安排派工任务。对投诉的客户安排客户服务人员及时回访处理;对报障的客户安排维护人员进行上门维护处理。派工活动图如图8-9所示。 * 第*页 图8-9 部门领导派工活动图 * 第*页 8.2.2 客户服务系统子模块划分 ③ 信息查询统计模块 包括查询统计基础资料、客户咨询信息、派工单完成情况等信息,并可打印报表。 * 第*页 * 第*页 8.3 软件架构 1. 问题引入 经过业务架构的分析与建模,我们得到了许多业务构件,要将这些业务构件搭建起来需要了解软件架构的知识。那么什么是软件架构呢? * 第*页 8.3 软件架构 2. 解答问题 软件架构是一种思想,一个系统蓝图,是对软件结构组成的规划和职责设定。一个软件里有处理数据存储的、处理业务逻辑的、处理页面交互的、处理安全的等许多可逻辑划分出来的部分。传统的软件并不区分这些,将它们全部混合在一段程序里。软件架构的意义就是要将这些可逻辑划分的部分独立出来,用约定的接口和协议将它们有机地结合在一起,形成职责清晰、结构明朗的软件结构。 * 第*页 8.3 软件架构 3. 分析问题 一个典型的软件架构包括两个视角:广度视角和深度视角。这两个视角构成对软件架构的“立体”描述。广度视角即是我们常说的软件层次结构,它关注软件的分层,规定每一层的职责以及层与层之间的通讯标准。一般使用包元素来描述。图8-10展示了一个典型的多层架构的层次模型。 8.3 软件架构 图8-10 软件层次的广度视角架构图 * 第*页 8.3 软件架构 另一方面,软件架构还需要描述深度视角。所谓深度视角,是指广度视角中每一层的详细说明,它关注每一层以及每个部分的具体实现架构。例如可以针对业务实体层进行架构描述,也可以针对XMLBean进行架构描述。图8-11展示了业务实体层的深度视角视图。 * 第*页 8.3 软件架构 图8-11 软件层次深度视角架构图 * 第*页 8.3 软件架构 广度视角和深度视角将软件架构立体化了。层次构成了广度视角维度,而每一个层次的包、类的结构构成了深度视角维度。 * 第*页 * 第*页 8.4 软件架构设计 1. 问题引入 软件架构设计就是要将我们在业务架构中设计出来的业务构件有机地结合在一起协调工作。那么客户服务
文档评论(0)