软件工程实用教程11-系统设计.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《软件工程实用教程11-系统设计.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 实用教程 11 系统 设计
- 资源描述:
-
1、第十一章系统设计第十一章系统设计任务任务1 1 创建体系结构创建体系结构什么是软件体系结构什么是软件体系结构框架模式及应用架构框架模式及应用架构任务任务2 2 创建动态模型创建动态模型什么是动态模型什么是动态模型健壮性分析健壮性分析序列图序列图协作图协作图状态图状态图活动图活动图选择正确的图选择正确的图2 2根据前面软件设计一章学习到的知识,我们知道项根据前面软件设计一章学习到的知识,我们知道项目进入到了系统设计阶段将意味着我们需要对系统目进入到了系统设计阶段将意味着我们需要对系统的内部组织形式及实现方式做以考虑,也就是说要的内部组织形式及实现方式做以考虑,也就是说要对具体如何搭建系统提出相应
2、的解决方案。对具体如何搭建系统提出相应的解决方案。资源管理系统的功能性需求已经明确,那么采用什资源管理系统的功能性需求已经明确,那么采用什么样的体系结构能够满足异地交互的需求,为广大么样的体系结构能够满足异地交互的需求,为广大教师提供方便图书交换的场所呢?教师提供方便图书交换的场所呢?3 3定义定义体系结构是一种重要决策,其中涉及软件系统的体系结构是一种重要决策,其中涉及软件系统的组织,对结构元素及其组成系统所籍接口的选择组织,对结构元素及其组成系统所籍接口的选择,这些元素特定与其相互协作的行为,这些结构,这些元素特定与其相互协作的行为,这些结构和行为元素到更大的子系统的组成,以及指导该和行为
3、元素到更大的子系统的组成,以及指导该组织结构(这些元素及其接口、协作和组成)的组织结构(这些元素及其接口、协作和组成)的体系结构风格。体系结构风格。构建软件结构的目的构建软件结构的目的重用:系统能够重用以前的代码和设计,从而提重用:系统能够重用以前的代码和设计,从而提高开发效率;高开发效率;扩展:在系统能够保持结构的稳定的前提下很容扩展:在系统能够保持结构的稳定的前提下很容易地扩充功能和提升性能;易地扩充功能和提升性能;简洁:好的架构一定易于理解,易于学习,易于简洁:好的架构一定易于理解,易于学习,易于维护,人们希望能够通过一个简洁的体系结构来维护,人们希望能够通过一个简洁的体系结构来把握系统
4、。把握系统。目标目标应用程序的分割是我们在细化阶段的主要任务和应用程序的分割是我们在细化阶段的主要任务和目标。系统的体系结构就是应用程序分割策略的目标。系统的体系结构就是应用程序分割策略的综合应用。综合应用。一般常用的分割策略一般常用的分割策略按功能进行划分按功能进行划分按系统的物理布局进行划分按系统的物理布局进行划分按软件层次划分按软件层次划分功能划分功能划分 将系统以子系统、功能模块的形式进行划分。将系统以子系统、功能模块的形式进行划分。层次划分层次划分 也称为按服务进行划分。也称为按服务进行划分。层是对模型中不同抽象层次上的逻辑结构进行分组的层是对模型中不同抽象层次上的逻辑结构进行分组的
5、一种特定方式。一种特定方式。通过分层,从逻辑上将子系统组织成为许多独立的、通过分层,从逻辑上将子系统组织成为许多独立的、职责相关的集合,而层间关系的形成要遵循一定的规职责相关的集合,而层间关系的形成要遵循一定的规则。则。“较低较低”的层是较低级别和一般性服务;的层是较低级别和一般性服务;“较高较高”的层则是与应用相关的。的层则是与应用相关的。协作和耦合是从协作和耦合是从“较高较高”层到层到“较低较低”层进行的,要层进行的,要避免从避免从“较低较低”层到层到“较高较高”层的耦合。层的耦合。功能划分与层次划分之间的关系功能划分与层次划分之间的关系 层次划分是对体系结构的横向分解,功能划分是层次划分
6、是对体系结构的横向分解,功能划分是对体系结构的纵向分解。它们之间的关系,如图对体系结构的纵向分解。它们之间的关系,如图所示。所示。物理布局划分物理布局划分 系统的逻辑分层分别系统的逻辑分层分别实现在不同的物理层实现在不同的物理层(物理机器)上,通(物理机器)上,通常将这种物理层次上常将这种物理层次上的划分称为客户端程的划分称为客户端程序和服务器端程序,序和服务器端程序,常见的架构描述为常见的架构描述为C/SC/S(如图所示)、(如图所示)、B/SB/S系系统。统。尽管功能模块的划分非常容易理解,但是正尽管功能模块的划分非常容易理解,但是正如我们前面分析的那样,要使应用程序的体如我们前面分析的那
7、样,要使应用程序的体系结构可扩展,更易于维护,就必须隔离出系结构可扩展,更易于维护,就必须隔离出应用程序的逻辑层,进行逻辑层次的划分,应用程序的逻辑层,进行逻辑层次的划分,从横向组织应用程序。从横向组织应用程序。应用程序的三个逻辑层应用程序的三个逻辑层表示服务表示服务业务服务业务服务数据服务数据服务各个逻辑层的范围和目标各个逻辑层的范围和目标 使用层有助于解决的问题使用层有助于解决的问题源码的变更波及整个系统;源码的变更波及整个系统;应用逻辑与用户界面交织在一起,无法复用于其应用逻辑与用户界面交织在一起,无法复用于其他不同界面或分布到其他处理结点之上;他不同界面或分布到其他处理结点之上;潜在的
8、一般性技术服务或业务逻辑与更特定于应潜在的一般性技术服务或业务逻辑与更特定于应用的逻辑交织在一起,无法被复用、分布到其他用的逻辑交织在一起,无法被复用、分布到其他结点或方便地使用不同实现进行替换;结点或方便地使用不同实现进行替换;不同关注领域之间高度耦合,难以为不同开发者不同关注领域之间高度耦合,难以为不同开发者清晰地界定和分配任务。清晰地界定和分配任务。框架是构建问题解决方案的基础结构。框架是构建问题解决方案的基础结构。在对象技术中,框架是一种复用技术,是反复出在对象技术中,框架是一种复用技术,是反复出现的组织模式和习惯用法,是对一系列体系结构现的组织模式和习惯用法,是对一系列体系结构的抽象
9、。框架模式的本质是一些特定的元素按照的抽象。框架模式的本质是一些特定的元素按照特定的方式组织成一个有利于上下文环境里的特特定的方式组织成一个有利于上下文环境里的特定问题的解决结构。定问题的解决结构。而应用框架是一项具体技术的应用。而应用框架是一项具体技术的应用。这种应用技术往往是对某一框架模式的实现。这种应用技术往往是对某一框架模式的实现。框架模式是思想,应用框架是对框架模式的具体框架模式是思想,应用框架是对框架模式的具体实现。实现。MVCMVC一个著名的体系框架模式(结构)是模型一个著名的体系框架模式(结构)是模型-视图视图-控控制器(制器(MVCMVC)框架,)框架,模型(模型(model
10、model)代表系统的模型层,)代表系统的模型层,视图(视图(viewview)是模型的展现层)是模型的展现层 ,控制器(控制器(controllercontroller)负责业务的流转。)负责业务的流转。是面向对象设计中使用分离关注点原则的一个经是面向对象设计中使用分离关注点原则的一个经典例子。典例子。MVCMVC强制编程者将应用类分为三组,它们分别特强制编程者将应用类分为三组,它们分别特化和继承自抽象类:模型、视图和控制器。化和继承自抽象类:模型、视图和控制器。MVCMVC框架示意图框架示意图 分离分离MVCMVC的观点有以下几点优势:的观点有以下几点优势:允许单独开发允许单独开发GUIG
11、UI、业务数据和模型层逻辑。增加了程、业务数据和模型层逻辑。增加了程序可维护性,可复用性、可扩展性。序可维护性,可复用性、可扩展性。替换或者移植到一个不同的替换或者移植到一个不同的GUIGUI,而不需要对模型进行,而不需要对模型进行根本性的改变。根本性的改变。改造和重新设计模型,同时保持用户改造和重新设计模型,同时保持用户GUIGUI的表示形式。的表示形式。允许相同模型状态上的多视图。允许相同模型状态上的多视图。改变改变GUIGUI对用户事件的响应方式,而不改变对用户事件的响应方式,而不改变GUIGUI的表示的表示方式(一个视图控制器甚至在运行时改变)。方式(一个视图控制器甚至在运行时改变)。
12、使模型没有使模型没有GUIGUI也能执行(例如,用于测试或用于批量也能执行(例如,用于测试或用于批量处理)。处理)。StrutsStruts是一个具体的是一个具体的“WebWeb应用框架应用框架”,它能比较完善,它能比较完善地实现地实现MVCMVC模式的模式的WebWeb应用。应用。StrutsStruts的实现的实现控制控制(Controller)(Controller)ActionServletActionServlet。模型模型(Model):(Model):一般是以一般是以JavaBeanJavaBean的形式存在。大致分三类:的形式存在。大致分三类:ActionBean(Action
13、Bean(亦称亦称Action)Action)、FormBean(FormBean(亦称亦称ActionForm)ActionForm)、JavaBean JavaBean 或或EJBEJB。视图(视图(ViewView)strutsstruts提供自定义的提供自定义的JSP JSP 标记,如标记,如 HtmlHtml、BeanBean、LogicLogic、TemplateTemplate等,构建等,构建JSPJSP,完成视图,完成视图 。构建过程分为三个阶段:构建过程分为三个阶段:物理结构的选择(初步体系结构)物理结构的选择(初步体系结构)逻辑结构的确定逻辑结构的确定实现结构的确定实现结构
14、的确定制定初步体系结构制定初步体系结构根据用户的需求我们要选取一种合适的系统体系根据用户的需求我们要选取一种合适的系统体系结构,一种适用的系统体系决定了系统的框架。结构,一种适用的系统体系决定了系统的框架。对于用户来讲,他们并不关心功能具体如何实现对于用户来讲,他们并不关心功能具体如何实现,只关心使用的方便及其实用性,但对于系统设,只关心使用的方便及其实用性,但对于系统设计人员及程序人员来说,却要知道系统到底是什计人员及程序人员来说,却要知道系统到底是什么样的系统,所以系统初步架构的选取是系统设么样的系统,所以系统初步架构的选取是系统设计第一步。计第一步。体系结构的选取可参考关键问题:体系结构
15、的选取可参考关键问题:是单机还是客户机是单机还是客户机/服务器系统?服务器系统?是常规应用开发还是底层开发(是否有单片机系是常规应用开发还是底层开发(是否有单片机系统)?统)?客户机最大点数是多少?客户机最大点数是多少?是否提供给第三方是否提供给第三方APIAPI接口?接口?网络(或数据通信)是什么连接方式?网络(或数据通信)是什么连接方式?客户机是胖客机还是瘦客户机?客户机是胖客机还是瘦客户机?数据文件的保存方式(文本、本地数据库、大型数据文件的保存方式(文本、本地数据库、大型数据库)?数据库)?逻辑结构的划分逻辑结构的划分体系结构中的层表示在系统中垂直方向的划分,体系结构中的层表示在系统中
16、垂直方向的划分,而分区则表示对层在水平方向上进行划分。形成而分区则表示对层在水平方向上进行划分。形成相对平行的子系统。相对平行的子系统。信息系统逻辑结构中常见的层信息系统逻辑结构中常见的层 执行体系结构执行体系结构 我们把特定于应用程序而选择的技术、产品和体我们把特定于应用程序而选择的技术、产品和体系结构的集合,称为应用程序的执行体系结构。系结构的集合,称为应用程序的执行体系结构。MSMSMSMS项目的项目的部分逻辑层视图部分逻辑层视图 前面我们通过对体系结构的搭建,初步形成了资前面我们通过对体系结构的搭建,初步形成了资源管理系统整体的组织形式。但是,如果想描述源管理系统整体的组织形式。但是,
展开阅读全文