版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第4章章 软件设计软件设计目录目录 4.1 软件设计的概念软件设计的概念 4.1.1 抽象抽象 4.1.2 模块化模块化 4.1.3 信息隐蔽与局部化信息隐蔽与局部化 4.1.4 模块独立性模块独立性 4.2 软件体系结构软件体系结构 4.2.1软件体系结构概述软件体系结构概述 4.2.2几种新型软件体系结构几种新型软件体系结构目录 4.3 总体设计总体设计 4.3.1 总体设计过程总体设计过程 4.3.2 总体设计方法总体设计方法 4.3.3 总体设计说明书总体设计说明书 4.4 详细设计详细设计 4.4.1 详细设计的任务和原则详细设计的任务和原则 4.4.2 详细设计工具详细设计工具
2、4.4.3 数据库设计数据库设计 4.4.4 界面设计界面设计 4.4.5 详细设计说明书详细设计说明书 习题习题4.2 软件体系结构软件体系结构4.2 .1 软件体系结构的概述软件体系结构的概述一、什么是体系结构?一、什么是体系结构?软件体系结构定义如下:软件体系结构定义如下: 在软件密集的在软件密集的大规模系统大规模系统或具有类似需或具有类似需求的结构的求的结构的软件产品线软件产品线的开发的开发中中,必须从,必须从一个较高的抽象层次来考虑组成系统的一个较高的抽象层次来考虑组成系统的组组件件、组件、组件之间的联系或交互之间的联系或交互,以及由组件,以及由组件与组件交互形成的与组件交互形成的拓
3、扑结构拓扑结构。 体系结构的体系结构的重要作用重要作用体现在以下体现在以下三个方面三个方面 :(1)体系结构的表示有助于风险承担者(项目干系)体系结构的表示有助于风险承担者(项目干系 人)人)进行交流进行交流。 (2)体系结构突出了)体系结构突出了早期设计决策早期设计决策。 (3)软件体系结构是)软件体系结构是可传递和可复用可传递和可复用的模型。的模型。 4.2 .1 软件体系结构的概述软件体系结构的概述 体系结构的重要作用体系结构的重要作用1 1、当输入数据经过一系列的计算和操作构件的变换形成输出、当输入数据经过一系列的计算和操作构件的变换形成输出数据时,可以应用这种体系结构。数据时,可以应
4、用这种体系结构。管道管道/ /过滤器过滤器、批处理序批处理序列列都属于数据流风格。都属于数据流风格。 管道管道/ /过滤器结构过滤器结构如下图所示。如下图所示。4.2 .1 软件体系结构的概述软件体系结构的概述二、数据流风格二、数据流风格 管道管道/ /过滤器结构过滤器结构 管道管道/ /过滤器风格具有以下过滤器风格具有以下优点优点:(1 1)使得软构件具有)使得软构件具有良好的隐蔽性和高内聚、低耦合良好的隐蔽性和高内聚、低耦合的特的特 点。点。(2 2)允许设计者将整个系统的输入)允许设计者将整个系统的输入/ /输出行为看成是多个过输出行为看成是多个过 滤器的行为的滤器的行为的简单合成简单合
5、成。 (3 3)支持软件复用支持软件复用。只要提供适合在两个过滤器之间传送。只要提供适合在两个过滤器之间传送 的数据,任何两个过滤器都可被连接起来。的数据,任何两个过滤器都可被连接起来。(4 4)系统维护和增强系统性能简单系统维护和增强系统性能简单。新的过滤器可以添加。新的过滤器可以添加 到现有系统中来;旧的可以被改进的过滤器替换掉。到现有系统中来;旧的可以被改进的过滤器替换掉。(5 5)允许对一些如吞吐量、死锁等)允许对一些如吞吐量、死锁等属性的分析属性的分析。(6 6)支持并行执行支持并行执行。每个过滤器是作为一个单独的任务完。每个过滤器是作为一个单独的任务完 成,因此可与其他任务并行执行
6、。成,因此可与其他任务并行执行。4.2 .1 软件体系结构的概述软件体系结构的概述管道管道/过滤器风格主要过滤器风格主要缺点缺点如下:如下:(1)通常)通常导致进程成为批处理的结构导致进程成为批处理的结构。这是因为虽然过滤。这是因为虽然过滤器可增量式地处理数据,但它们是独立的,所以设计者必须器可增量式地处理数据,但它们是独立的,所以设计者必须将每个过滤器看成一个完整的从输入到输出的转换。将每个过滤器看成一个完整的从输入到输出的转换。(2)不适合处理交互的应用不适合处理交互的应用。当需要增量地显示改变时,。当需要增量地显示改变时,这个问题尤为严重。这个问题尤为严重。(3)因为在)因为在数据传输上
7、没有通用的标准数据传输上没有通用的标准,每个过滤器都增,每个过滤器都增加了解析和合成数据的工作,这样就导致了系统性能下降,加了解析和合成数据的工作,这样就导致了系统性能下降,并增加了编写过滤器的复杂性。并增加了编写过滤器的复杂性。4.2 .1 软件体系结构的概述软件体系结构的概述数据库系统数据库系统、超文本系统超文本系统和和黑板系统黑板系统都属于仓库风都属于仓库风格。在这种风格中,数据格。在这种风格中,数据仓库(如文件或数据库)仓库(如文件或数据库)位于这种体系结构的中心,位于这种体系结构的中心,其他构件会经常访问该数其他构件会经常访问该数据仓库据仓库,并对仓库中的数,并对仓库中的数据进行增加
8、、修改或删除据进行增加、修改或删除操作。右图为一个典型的操作。右图为一个典型的仓库风格的体系结构。仓库风格的体系结构。4.2 .1 软件体系结构的概述软件体系结构的概述 2、仓库风格、仓库风格 上图中上图中,可把中心存储库变换成可把中心存储库变换成“黑板黑板”,黑板构件负责协黑板构件负责协调信息在客户间的传递调信息在客户间的传递,当用户感兴趣的数据发生变化时,当用户感兴趣的数据发生变化时,它将通知客户软件。黑板系统的组成如下图所示。黑板系统它将通知客户软件。黑板系统的组成如下图所示。黑板系统的传统应用是信号处理领域,如语音和模式识别。另一应用的传统应用是信号处理领域,如语音和模式识别。另一应用
9、是松耦合代理数据共享存取。是松耦合代理数据共享存取。4.2 .1 软件体系结构的概述软件体系结构的概述4.2.2 新型软件体系结构 在在集中式计算技术时代集中式计算技术时代广泛使用的是大型广泛使用的是大型机机/ /小型机计算模型。小型机计算模型。 2020世纪世纪8080年代以后,集中式结构逐渐被以年代以后,集中式结构逐渐被以PCPC为主的微机网络所取代。个人计算机和为主的微机网络所取代。个人计算机和工作站的采用,永远改变了大型机工作站的采用,永远改变了大型机/ /小型机小型机计算模型,从而产生了计算模型,从而产生了分布式计算模型。分布式计算模型。4.2.2 新型软件体系结构新型软件体系结构三
10、、分布式计算模型主要具有以下优点三、分布式计算模型主要具有以下优点:(1) (1) 资源共享。分布式系统允许硬件、软件等资源资源共享。分布式系统允许硬件、软件等资源共享使用。共享使用。(2) (2) 经济性。经济性。(3) (3) 性能与可扩展性。性能与可扩展性。 (4) (4) 固有分布性。固有分布性。(5) (5) 健壮性。健壮性。 分布式系统的一个分布式系统的一个最简单的模型是多处理器系最简单的模型是多处理器系统统,系统由许多进程组成,这些进程可以在不同的,系统由许多进程组成,这些进程可以在不同的处理器上并行运行,可以处理器上并行运行,可以极大地提高系统的性能极大地提高系统的性能。 由于
11、大型实时系统对响应时间要求较高,这种模型在大型实时系由于大型实时系统对响应时间要求较高,这种模型在大型实时系统中比较常见。大型实时系统需要实时采集信息,并利用采集到的信统中比较常见。大型实时系统需要实时采集信息,并利用采集到的信息进行决策,然后发送信号给执行机构。虽然,信息采集、决策制定息进行决策,然后发送信号给执行机构。虽然,信息采集、决策制定和执行控制这些进程可以在同一台处理器上统一调度执行,但使用多和执行控制这些进程可以在同一台处理器上统一调度执行,但使用多处理器能够提高系统性能。处理器能够提高系统性能。4.2.2 新型软件体系结构新型软件体系结构1、多处理器体系结构、多处理器体系结构
12、客户机客户机/服务器(服务器(client/server,C/S)体系结构是基于)体系结构是基于资源不对等,且为实现共享而提出来的,由资源不对等,且为实现共享而提出来的,由服务器服务器、客户客户机机和和网络网络三部分组成。三部分组成。 在在C/S体系结构中,客户机可以通过远程调用来获取服体系结构中,客户机可以通过远程调用来获取服务器提供的服务,因此,客户机必须知道可用的服务器的务器提供的服务,因此,客户机必须知道可用的服务器的名字及它们所提供的服务,而服务器不需要知道客户机的名字及它们所提供的服务,而服务器不需要知道客户机的身份,也不需要知道有多少台服务器在运行。身份,也不需要知道有多少台服务
13、器在运行。 4.2.2 新型软件体系结构新型软件体系结构2、客户、客户/服务器体系结构服务器体系结构 4.2.2 新型软件体系结构新型软件体系结构传统的传统的C/S体系结构体系结构分为两层分为两层。在这种体系结构中,一。在这种体系结构中,一个应用系统被划分为个应用系统被划分为客户机客户机和和服务器两部分服务器两部分。典型的两层。典型的两层C/S体系结构如下图所示。体系结构如下图所示。两层两层C/S体系结构可以有两种形态:体系结构可以有两种形态:(1)瘦客户机模型瘦客户机模型。在瘦客户机模型中,数据管理。在瘦客户机模型中,数据管理部分和应用逻辑都在服务器上执行,部分和应用逻辑都在服务器上执行,客
14、户机只负客户机只负责表示部分。责表示部分。瘦客户机模型的主要缺点:瘦客户机模型的主要缺点:它它将繁重的处理负荷都放在了服务器和网络上将繁重的处理负荷都放在了服务器和网络上,服务器负责所有的计算,这将增加客户机和服务服务器负责所有的计算,这将增加客户机和服务器之间的网络流量。器之间的网络流量。目前目前个人计算机所具有的处理能力个人计算机所具有的处理能力在瘦客户机模在瘦客户机模型中型中用不上用不上。 4.2.2 新型软件体系结构新型软件体系结构(2)胖客户机模型胖客户机模型。在这种模型中,在这种模型中,服务器只负责对服务器只负责对数据的管理数据的管理。客户机上的。客户机上的软件实现应用逻辑和与系统
15、软件实现应用逻辑和与系统用户的交互。用户的交互。 胖客户机模型能够利用客户机的处理能力,比瘦客户机胖客户机模型能够利用客户机的处理能力,比瘦客户机模型在分布处理上更有效。但另一方面,随着企业规模的模型在分布处理上更有效。但另一方面,随着企业规模的日益扩大,软件的复杂程度不断提高,胖客户机模型逐渐日益扩大,软件的复杂程度不断提高,胖客户机模型逐渐暴露出了以下暴露出了以下缺点缺点:开发开发成本较高成本较高。 用户界面风格不一,用户界面风格不一,使用繁杂使用繁杂,不利于推广使用。,不利于推广使用。软件软件移植困难移植困难。软件软件维护和升级困难维护和升级困难。 4.2.2 新型软件体系结构新型软件体
16、系结构 为了解决以上问题,为了解决以上问题,三层三层C/S体系结构体系结构应运而生。三层应运而生。三层C/S体系结构中增加了应用服务器。可以将整个应用逻辑体系结构中增加了应用服务器。可以将整个应用逻辑驻留在应用服务器上,而只有表示层存在于客户机上。驻留在应用服务器上,而只有表示层存在于客户机上。4.2.2 新型软件体系结构新型软件体系结构4.2.2 新型软件体系结构新型软件体系结构4.2.2 新型软件体系结构新型软件体系结构(1)表示层表示层:表示层是应用系统的:表示层是应用系统的用户界面部分用户界面部分,担负着,担负着用户与应用程序之间的对话功能。它用于检查用户从键盘等用户与应用程序之间的对
17、话功能。它用于检查用户从键盘等输入的数据,显示应用程序输出的数据,一般采用图形用户输入的数据,显示应用程序输出的数据,一般采用图形用户界面(界面(graphic user interface, GUI)。)。(2)应用逻辑层应用逻辑层:应用逻辑层为应用系统的主体部分,包:应用逻辑层为应用系统的主体部分,包含含具体的业务处理逻辑具体的业务处理逻辑。通常在功能层中包含有确认用户对。通常在功能层中包含有确认用户对应用和数据库存取权限的功能以及记录系统处理日志的功应用和数据库存取权限的功能以及记录系统处理日志的功能。能。(3)数据层数据层:数据层主要包括:数据层主要包括数据的存储数据的存储及对数据的存
18、取及对数据的存取操作操作,一般选择关系型数据库管理系统(,一般选择关系型数据库管理系统(RDBMS)。)。 浏览器浏览器/服务器服务器(browser/server,B/S)风格是)风格是三层体三层体系结构的一种实现方式系结构的一种实现方式,其具体结构为,其具体结构为浏览器浏览器/Web服务器服务器/数据库服务器数据库服务器。B/S体系结构如下图所示。体系结构如下图所示。4.2.2 新型软件体系结构新型软件体系结构 B/S体系结构主要是利用不断成熟的体系结构主要是利用不断成熟的WWW浏览器技术,浏览器技术,结合浏览器的多种脚本语言,用结合浏览器的多种脚本语言,用通用浏览器通用浏览器就实现了原来
19、需就实现了原来需要复杂的要复杂的专用软件才能实现的强大专用软件才能实现的强大功能,并功能,并节约了开发成本节约了开发成本。从某种程度上来说,从某种程度上来说,B/S结构是一种全新的软件体系结构。结构是一种全新的软件体系结构。B/S体系结构具有以下优点:体系结构具有以下优点:(1)基于)基于B/S体系结构的软件,体系结构的软件,系统安装、修改和维护系统安装、修改和维护全全 在在服务器端解决服务器端解决。(2)B/S体系结构还提供了体系结构还提供了异种机异种机、异种网异种网、异种应用服异种应用服 务务的的联机联机、联网联网和和统一服务统一服务的最现实的的最现实的开放性开放性基础。基础。 4.2.2
20、 新型软件体系结构新型软件体系结构与与C/S体系结构相比,体系结构相比,B/S体系结构也有许多体系结构也有许多不足之处不足之处。(1)B/S体系结构缺乏对体系结构缺乏对动态页面的支持能力动态页面的支持能力,没有集成,没有集成 有效的有效的数据库处理功数据库处理功能。能。(2)采用)采用B/S体系结构的应用系统,在体系结构的应用系统,在数据查询等响应速数据查询等响应速 度上度上,要远远地,要远远地低于低于C/S体系结构体系结构。(3)B/S体系结构的数据提交一般以页面为单位,数据的体系结构的数据提交一般以页面为单位,数据的 动态交互性不强,动态交互性不强,不利于在线事务处理不利于在线事务处理(O
21、LTP)应)应 用。用。 4.2.2 新型软件体系结构新型软件体系结构 MVC框架即模型框架即模型视图视图控制器(控制器(model-view-controller)框架,它强调将用户输入、数据模型)框架,它强调将用户输入、数据模型和数据表示的方式分开设计。和数据表示的方式分开设计。 一个交互式应用系统由一个交互式应用系统由模型模型、视图视图和和控制器控制器3个部件组成,分别对应于内部数据、数据表示和输个部件组成,分别对应于内部数据、数据表示和输入入/输出控制部分。输出控制部分。 4.2.2 新型软件体系结构新型软件体系结构 MVC框架框架 4.2.2 新型软件体系结构新型软件体系结构 用户请
22、求 视图选择 状态改变 通知改变 状态查询 视图(View): 解释模型;向控制器转发用户输入 模型(Model): 封装应用程序状态;响应状态查询;通知视图改变 控制器(Controller): 定义用户行为;选择与功能相对应的视图 MVC框架框架1. 模型对象模型对象 模型对象独立于外在显示内容和形式,代表应用领域中的模型对象独立于外在显示内容和形式,代表应用领域中的业务实体和业务规则业务实体和业务规则,是,是整个模型的核心整个模型的核心。模型对象的变化。模型对象的变化通过事件处理通知视图和控制器对象。通过事件处理通知视图和控制器对象。 2. 视图对象视图对象 视图对象代表视图对象代表GU
23、I对象对象,并且以用户需要的格式表示模型,并且以用户需要的格式表示模型状态,是交互系统与外界的接口。视图对象可以包含子视状态,是交互系统与外界的接口。视图对象可以包含子视图,子视图用于显示模型的不同部分。通常,每个视图对象图,子视图用于显示模型的不同部分。通常,每个视图对象对应一个控制器对象。对应一个控制器对象。 4.2.2 新型软件体系结构新型软件体系结构3. 控制器对象控制器对象 控制器对象控制器对象代表鼠标和键盘事件代表鼠标和键盘事件。它处理用。它处理用户的输入行为并给模型发送业务事件,再将业务户的输入行为并给模型发送业务事件,再将业务事件解析为模型应执行的动作;同时,模型的更事件解析为
24、模型应执行的动作;同时,模型的更新与修改也将通过控制器来通知视图,从而保持新与修改也将通过控制器来通知视图,从而保持各个视图与模型的一致性。各个视图与模型的一致性。 4.2.2 新型软件体系结构新型软件体系结构4.2.2 新型软件体系结构新型软件体系结构MVCMVC的处理过程为的处理过程为:首先首先控制器接收用户的请求,并控制器接收用户的请求,并决定应该调用哪个模型来进行处理;决定应该调用哪个模型来进行处理;然后然后模型用模型用业务逻辑来处理用户的请求并返回数据;业务逻辑来处理用户的请求并返回数据;最后最后控控制器用相应的视图格式化模型返回的数据,并通制器用相应的视图格式化模型返回的数据,并通
25、过表示层呈现给用户。过表示层呈现给用户。 其中,其中,模型是模型是核心数据和功能,核心数据和功能,视图只关心视图只关心显示显示数据,数据,控制只关心控制只关心用户输入,这种结构由于将数用户输入,这种结构由于将数据和业务规则从表示层分开,因此可以最大化地据和业务规则从表示层分开,因此可以最大化地重用代码。重用代码。 J2EE的核心体系结构就是在的核心体系结构就是在MVC框架的基础上进行扩展框架的基础上进行扩展得到的,如下图所示。得到的,如下图所示。4.2.2 新型软件体系结构新型软件体系结构 J2EE体系结构框架体系结构框架 客客户户层层 应用程序 资资源源层层 表表示示层层 表示逻辑内容管理
26、会话管理 业业务务层层 应用逻辑业务规则 业务对象 集集成成层层 数据访问消息接发 服务集成 J2EE的核心体系结构框架的核心体系结构框架 客户层客户层:用户通过客户层与系统交互。该层可以是各种类:用户通过客户层与系统交互。该层可以是各种类型的客户端。例如,可编程客户端(如基于型的客户端。例如,可编程客户端(如基于Java Swing的客户端或的客户端或applet),纯),纯Web浏览器客户端,浏览器客户端,WML移动移动客户端等。客户端等。 资源层资源层:资源层可以是企业数据库,电子商务解决方案中:资源层可以是企业数据库,电子商务解决方案中的外部企业系统,或者是外部的外部企业系统,或者是外部SOA服务。数据可以分布服务。数据可以分布在多个服务器上。在多个服务器上。 从上图可看出,从上图可看出,J2EE模型是模型是分层结构分层结构,中间的,中间的3层(表示层,层(表示层,业务层,集成层)包含业务层,集成层)包含应用程序构件应用程序构件,客户层和资源层处于,客户层和资
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年高职氧化还原滴定法(氧化还原反应实操)试题及答案
- 2025年高职第二学年(机械设计制造及其自动化)数控技术应用试题及答案
- 2025年大学植物学(特性分析)试题及答案
- 2025年高职(旅游管理综合实训)市场拓展实操试题及答案
- 2025年高职(广告策划与营销)广告策划阶段测试题及答案
- 2025年高职社会工作(社会救助)试题及答案
- 2025 小学四年级思想品德下册家风传承优化主题实践改进课件
- 中学师德教风专题培训
- 养老院老人康复设施维修人员表彰制度
- 养老院工作人员请假及调休制度
- 2025-2026学年人教版九年级上册历史期末试卷(含答案和解析)
- 重症医学科ICU知情同意书电子病历
- 小区配电室用电安全培训课件
- 医院科室文化建设与礼仪
- 2025贵州磷化(集团)有限责任公司12月招聘笔试参考题库及答案解析
- 征信修复合同范本
- 2025年公安部遴选面试题及答案
- 中煤集团机电装备部副部长管理能力考试题集含答案
- 福建省网络安全事件应急预案
- 五育融合课件
- 意识障碍的判断及护理
评论
0/150
提交评论