第4章软件设计基础_第1页
第4章软件设计基础_第2页
第4章软件设计基础_第3页
第4章软件设计基础_第4页
第4章软件设计基础_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 软件设计是软件开发的关键步骤,直接影响软件软件设计是软件开发的关键步骤,直接影响软件质量质量。软件设计阶段要解决软件设计阶段要解决“如何做如何做”的问题。的问题。 将需求阶段获得的需求说明(模型)将需求阶段获得的需求说明(模型)转换为计算机中可实现的系统。转换为计算机中可实现的系统。 设计阶段主要任务是设计阶段主要任务是: :软件体系结构的设计软件体系结构的设计数据结构的设计数据结构的设计用户界面的设计用户界面的设计算法的设计算法的设计 软件软件涉及多方面,可分为总体设计和涉及多方面,可分为总体设计和详细设计。详细设计。过程设计过程设计系统结构设计系统结构设计数据设计数据设计界面设计界面设计

2、软件设计软件设计任务任务 软件软件就是构造一个高内聚低耦合就是构造一个高内聚低耦合的软件模型。的软件模型。软件软件高可靠高可靠性性高可维高可维护性护性高可理高可理解性解性高效率高效率软件设计的目标4.1.1 4.1.1 软件体系结构设计软件体系结构设计软件体系结构确定了系统的组织结构和拓扑结构,软件体系结构确定了系统的组织结构和拓扑结构,显示了系统需求和构成系统的元素之间的对应关系,显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理。提供了一些设计决策的基本原理。 体系结构的设计过程的主要活动:体系结构的设计过程的主要活动:1.系统分解系统分解将系统分解为若干相互作用的

3、子系统。将系统分解为若干相互作用的子系统。2.控制建模控制建模建立系统各部分间控制关系的一般模型。建立系统各部分间控制关系的一般模型。3.模块分解模块分解 将子系统进一步划分为模块。将子系统进一步划分为模块。注意注意:往往子系统与模块之间没有明显界限往往子系统与模块之间没有明显界限.体系结构设计是软件设计的第一个阶段,该阶段侧体系结构设计是软件设计的第一个阶段,该阶段侧重于系统宏观结构的设计,而不关心模块的内部算法。重于系统宏观结构的设计,而不关心模块的内部算法。体系结构的分类:体系结构的分类:一、仓库模型一、仓库模型(The repository model) 也称也称“容器模型容器模型 ”

4、,是一种集中式的模型。各子,是一种集中式的模型。各子系统可以直接访问中央数据仓库存储的共享数据。子系统可以直接访问中央数据仓库存储的共享数据。子系统之间紧密耦合。系统之间紧密耦合。 中央数据仓库中央数据仓库(Repository)子系统子系统1子系统子系统2子系统子系统n 仓库结构仓库结构一、仓库模型一、仓库模型(The repository model)设计编辑器设计编辑器代码生成器代码生成器设计分析器设计分析器报告生成器报告生成器设计转换器设计转换器项项 目目 存存 储储程序编辑器程序编辑器 集成集成CASE工具集的体系结构工具集的体系结构 各子系统共享中央数据库中的数据各子系统共享中央数

5、据库中的数据共享容器模型共享容器模型 各子系统可以有自己的数据库,子系统之间通过消各子系统可以有自己的数据库,子系统之间通过消息传递实现数据交换。息传递实现数据交换。适宜命令控制系统、适宜命令控制系统、CAD系统系统 仓库模型的主要优缺点:仓库模型的主要优缺点:优点:优点: 1.共享大数据量的有效方法。共享大数据量的有效方法。 2.子系统不必关心其它的子系统如何使用它所产生的数子系统不必关心其它的子系统如何使用它所产生的数据。据。 3.易于将新子系统集成,若新子系统也采用相同规范易于将新子系统集成,若新子系统也采用相同规范 。 缺陷:缺陷: 1.为了共享数据为了共享数据 ,各子系统必须有一致的

6、数据视图各子系统必须有一致的数据视图 ,不,不可避免地会影响了整个系统的性能。可避免地会影响了整个系统的性能。 2.子系统的改变,使产生的数据结构也可能发生改变。子系统的改变,使产生的数据结构也可能发生改变。 3.统一的数据库统一的数据库 结构结构(备份、安全、访问控制和恢复的备份、安全、访问控制和恢复的策策 ),将影响子系统的效率将影响子系统的效率 。二、二、 客户机客户机/服务器模型服务器模型(Client/Server Architectural Model) C/S结构是一种结构是一种分布式模型分布式模型,采用发请求、得结,采用发请求、得结果的模式:果的模式:客户机客户机 向服务器发出

7、请求向服务器发出请求(数据请求、网页请求、数据请求、网页请求、文件传输请求等等文件传输请求等等),服务器服务器 响应请求,进行相应的操作,将结果回传给响应请求,进行相应的操作,将结果回传给客户机,客户机再将格式化后的结果呈现给用户。客户机,客户机再将格式化后的结果呈现给用户。C/S结构的应用都由三个相对独立的逻辑部分组成:结构的应用都由三个相对独立的逻辑部分组成:用户界面用户界面应用逻辑应用逻辑数据访问数据访问三种逻辑之间的关系两层客户机两层客户机/服务器模型服务器模型 Two Tier Client/Server Architectural Model服务器服务器1网络网络服务器服务器2服务

8、器服务器M客户客户1客户客户2客户客户N两层两层Client/Server结构结构请求请求结果结果请求请求C/S的工作模式是一种远程过程调用的工作模式是一种远程过程调用(RPC,Remote Procedure Call)模式,允许客户端和服务器端有不同模式,允许客户端和服务器端有不同的软硬平台。的软硬平台。电影图片库系统的体系结构client1 1client2 2client4 4client3 3Wide-bandwidth netwokCatalogueservercataloguevideoserverFilm clipfilespictureserverdigitisedphoto

9、graphshypertextserverhypertextweb例:例:Two Tier Client/Server Architectural Model 完整的应用包含三个相对独立的逻辑部分,而两层的完整的应用包含三个相对独立的逻辑部分,而两层的C/S结构只有两个端应用。应用逻辑应该映射到哪一端上结构只有两个端应用。应用逻辑应该映射到哪一端上呢?呢? 三种情况:三种情况:网网 络络用户界面用户界面客户端逻客户端逻辑应用辑应用服务端逻辑服务端逻辑应用应用客户端客户端用户界面用户界面逻辑应用逻辑应用数据访问数据访问用户界面用户界面逻辑应用逻辑应用数据访问数据访问服务器服务器应用逻辑层的映射情

10、况数据访问数据访问C/S应用应用3C/S应用应用1C/S应用应用2 两层两层C/S架构将数据表示和处理逻辑分开架构将数据表示和处理逻辑分开 ,但应用逻,但应用逻辑和两端之一是紧耦合的辑和两端之一是紧耦合的 ,不适宜多用户、多数据库,不适宜多用户、多数据库,是非安全的网络环境。是非安全的网络环境。 2.三级三级/多级应用模型多级应用模型(Three/Multi Tier Model) 第一级是数据库管理结点第一级是数据库管理结点(database management node)。第二级或中间级是第二级或中间级是“商业逻辑结点商业逻辑结点” (business logic node),是是指指

11、具体应用中实施的程序逻辑和法则。具体应用中实施的程序逻辑和法则。第三级是用户界面级,强调高效、方便易用的用户界面。第三级是用户界面级,强调高效、方便易用的用户界面。Database management node(数据库管理结点)(数据库管理结点)business logic node(商业逻辑结点)商业逻辑结点)Security(安全)(安全)Event(事件)(事件)Search(搜索)(搜索)ClientAClientDClientBClientC服服务务器器客客户户机机第一级第一级第二级第二级第三级第三级客户端客户端用户界面用户界面服务器服务器数据访问数据访问 多层应用模型多层应用模型

12、网网 络络应用服务器应用服务器1应用逻辑应用逻辑应用服务器应用服务器n应用逻辑应用逻辑 在多层模型中,中间层会用到应用服务,包在多层模型中,中间层会用到应用服务,包括事务服务、消息服务等等。常见的事务服务器括事务服务、消息服务等等。常见的事务服务器有有Microsoft Transaction Server,消息服务器有,消息服务器有Microsoft Message Queue。三、分布式对象结构三、分布式对象结构(Distributed Objects Architecture) 在在C/S模型中,客户和服务器在服务模型中,客户和服务器在服务/请求上的差别,请求上的差别,在一定程度上限制了

13、系统的灵活性和可扩展性。在一定程度上限制了系统的灵活性和可扩展性。 采用分布式对象结构采用分布式对象结构 : “对象对象(Object)”提供服务的系统组件提供服务的系统组件(System Component)。 每个对象在逻辑上是平等的,它们可以互相为对每个对象在逻辑上是平等的,它们可以互相为对方提供所需的服务。方提供所需的服务。 提供服务的对象就是服务器,而提出服务请求的提供服务的对象就是服务器,而提出服务请求的对象就是客户。对象就是客户。 “软件总线软件总线(Software Bus)”的中间件的中间件(Middleware) 即即对象请求代理对象请求代理(Object Request

14、Broker,简称,简称ORB) 分布式对象结构具有很好的开放性和透明性,分布式对象结构具有很好的开放性和透明性,用户可以非常方便地在总线上添加、更新或删除组用户可以非常方便地在总线上添加、更新或删除组件对象。件对象。软件总线软件总线(ORB)O1S(O1)O2S(O2)OnS(On)分布式对象结构分布式对象结构 流行的流行的ORB技术标准有两种:技术标准有两种: CORBA(Common Object Request Broker Architecture) DCOM(Distributed Component Object Model)四、四、 抽象机模型抽象机模型又称为又称为分层模型分层

15、模型,通常用于建立子系统的接口模型。每,通常用于建立子系统的接口模型。每层提供一组服务,每层定义一个层提供一组服务,每层定义一个抽象机。抽象机。典型的例子:典型的例子:应用层协议应用层协议表示层协议表示层协议会晤层协议会晤层协议传输层协议传输层协议 物物 理理 介介 质质应用层应用层表示层表示层会话层会话层传输层传输层网络层网络层数据链路层数据链路层物理层物理层应用层应用层表示层表示层会话层会话层传输层传输层网络层网络层数据链路层数据链路层物理层物理层网络层网络层数据链路层数据链路层物理层物理层网络层网络层数据链路层数据链路层物理层物理层中继系统中继系统 中继系统中继系统主机系统主机系统主机系

16、统主机系统优点:支持增量式开发。优点:支持增量式开发。缺点:系统构成,性能保证较困难。缺点:系统构成,性能保证较困难。五、控制摸型五、控制摸型 考虑子系统之间的控制流。控制方式分为:考虑子系统之间的控制流。控制方式分为:1.集中式控制集中式控制主程序主程序程序程序1程序程序2程序程序3程序程序11程序程序12程序程序31程序程序32控制的调用返回模型2.事件驱动系统事件驱动系统 由外部产生的事件来驱动系统由外部产生的事件来驱动系统分为:分为: 广播模型广播模型 中断驱动的模型中断驱动的模型系统控制器系统控制器计算进程计算进程用户界面用户界面故障处理器故障处理器传感器进程传感器进程传动装置进程传

17、动装置进程实时系统的集中式模型软件设计分为软件设计分为总体设计总体设计和和详细设计详细设计两个阶段。两个阶段。 其工作流程可用下图表示:其工作流程可用下图表示: 总体总体设计设计需求需求 说明书说明书复审复审软件软件 结构结构修修 改改详细详细设计设计可接受可接受模块描述模块描述复审复审修修 改改设计说设计说 明书明书1 1、设计阶段结束要交付的文档是设计说明书,根据、设计阶段结束要交付的文档是设计说明书,根据设计方法的不同,有不同的设计文档。设计方法的不同,有不同的设计文档。2 2、每个设计步骤完成后,都应进行复审。、每个设计步骤完成后,都应进行复审。 常用的设计方法有:常用的设计方法有:

18、SD法、法、Jackson法、法、OOD法、法、HIPO法、法、 Parnas法、法、 Warnier法等。法等。4.1.2 4.1.2 软件设计阶段软件设计阶段1.1.软件结构的准则软件结构的准则2. 模块化准则模块化准则3.3.软件独立性准则软件独立性准则 软件设计是软件开发过程的重要阶段,对保证软件设计是软件开发过程的重要阶段,对保证软件系统的质量起着关键作用。但是如何保证软件软件系统的质量起着关键作用。但是如何保证软件设计的质量呢?有以下经过长期考验的设计准则:设计的质量呢?有以下经过长期考验的设计准则: 软件结构表示软件的系统结构,它是软件模块软件结构表示软件的系统结构,它是软件模块

19、间关系的表示,均表示为层次关系间关系的表示,均表示为层次关系。软 件 结 构 示 意 图顶层顶层1层层2层层ABCDEFGHIJKLMN深度宽度扇入为扇入为2扇出为扇出为3扇入为扇入为3宽度深度宽度3层层4层层一、软件结构的准则一、软件结构的准则 深度深度:表示软件结构中从顶层模块到最底层模块表示软件结构中从顶层模块到最底层模块的层数的层数; 宽度宽度:表示控制的总分布;表示控制的总分布; 扇出数扇出数:指一个模块直接控制下属的模块个数;指一个模块直接控制下属的模块个数; 扇入数扇入数:指一个模块的直接上属模块个数。指一个模块的直接上属模块个数。 一个好的软件结构的形态准则是:顶部宽度小,一个

20、好的软件结构的形态准则是:顶部宽度小,中部宽度最大,底部宽度次之;在结构顶部有较高的中部宽度最大,底部宽度次之;在结构顶部有较高的扇出数,扇出数, 在底部有较高的扇入数。在底部有较高的扇入数。有有 关关 指指 标标 所谓所谓模块化模块化就是将系统划分成若干模块,每个模就是将系统划分成若干模块,每个模块完成一个子功能,把这些模块集中起来组成一个整块完成一个子功能,把这些模块集中起来组成一个整体,以满足所要求的整个系统的功能体,以满足所要求的整个系统的功能。 我们利用模块化来降低软件复杂度。注意选择分我们利用模块化来降低软件复杂度。注意选择分解的最佳模块数。解的最佳模块数。二、二、模块化准则模块化

21、准则三、软件独立性准则三、软件独立性准则 软件独立性的含义是指开发具有功能专一,模软件独立性的含义是指开发具有功能专一,模块之间无过多相互作用的模块。又称为块之间无过多相互作用的模块。又称为模块独立性模块独立性准则。准则。 这种类型的模块可以并行开发,开发容易,能这种类型的模块可以并行开发,开发容易,能减少错误的影响,使模块容易组合、修改及测试。减少错误的影响,使模块容易组合、修改及测试。内聚性内聚性 用于描述模块内部联系的紧密程度。用于描述模块内部联系的紧密程度。软件独立性的度量标准是两个定性指标:软件独立性的度量标准是两个定性指标: 耦合性耦合性 用于描述模块之间联系的紧密程度。用于描述模

22、块之间联系的紧密程度。3 耦合与内聚度内聚内聚度:模块内部各成分彼此结合的紧密程度。内聚度按其高低程度可分为七级,内聚度越高越好。耦合度软件结构中模块间关联程度的一种度量。 耦合的强弱取决于模块间接口的复杂性、进入或调用模块的位置以及通过界面传送数据的多少等。 设计软件应追求尽可能松散耦合的系统。 松散耦合系统中,任一模块的设计、测试和维护都相对独立。 松散耦合系统模块间联系较少,错误在模块间传播的可能性随之变小。 模块间的耦合程度直接影响系统的可理解性、可测试性、可靠性和可维护性。耦合度耦合度也分为七级耦合度也分为七级4.3 4.3 结构化设计方法结构化设计方法 SD(Structured

23、Design)法与法与SA、SP法前后衔接,法前后衔接,是结构化开发方法的核心。是结构化开发方法的核心。一、一、SD SD 法的基本概念法的基本概念1. SD SD 法的两个阶段法的两个阶段 总体设计总体设计 任务:任务: 解决系统的模块结构,即分解模块,解决系统的模块结构,即分解模块,确定确定模块功能模块功能及系统模块的层次结构。及系统模块的层次结构。 文档:文档:模块结构图及其模块功能说明。模块结构图及其模块功能说明。 详细设计详细设计 对模块图中每个模块的过程进行描述,常用的对模块图中每个模块的过程进行描述,常用的描述的方式有:伪代码,流程图,描述的方式有:伪代码,流程图,N-S图,图,

24、PAD图图等。等。 二、二、SD SD 法的设计步骤法的设计步骤从从DFDDFD图导出初始的模块结构图图导出初始的模块结构图(SC)(SC)。 中心变换型中心变换型(transform center) _ 变换分析变换分析 事务处理型事务处理型(transaction) _ 事务分析事务分析按照按照SDSD法设计总则,改进模块结构图。法设计总则,改进模块结构图。注意:注意:模块结构图不同于模块结构图不同于“框图框图”。软件软件层次性:层次性:反映软件整体的性质反映软件整体的性质 ( (结构图结构图) )过程性:反映局部的性质过程性:反映局部的性质 ( (框图框图) )4.3 4.3 结构化设计

25、方法结构化设计方法( (续)续) 这类数据流图可看成是对输入数据进行转换而得到这类数据流图可看成是对输入数据进行转换而得到输出数据的处理。输出数据的处理。 DFDDFD图可以明显分为图可以明显分为“输入输入处理处理输出输出”三部分三部分。(物理输入)(物理输入)(逻辑输入)(逻辑输入)(逻辑输出)(逻辑输出)输输 入入主加工主加工输输 出出(物理输出)(物理输出)检查检查顺序顺序检查检查合理性合理性扩充扩充代码代码核对核对 记录记录修改修改压缩压缩代码代码格式化格式化修改修改数据数据 旧文件旧文件新文件新文件中心变换型中心变换型 的的 DFD DFD 图图 这类数据流图有一个数据处理中心,按加

26、工的结这类数据流图有一个数据处理中心,按加工的结果选择一个输出数据流继续执行的处理。果选择一个输出数据流继续执行的处理。 如下图所示:如下图所示:分类分类报名报名付款付款注销注销查询查询复审复审采用采用“事务分析事务分析”(transaction Analysis)技术技术事务处理型事务处理型 的的 DFD 图图序号序号内内 容容长度(字节)长度(字节)数据类型数据类型可否修改可否修改1帐号帐号5数字数字否否2户名户名30数字字母数字字母可可3地址地址30数字字母数字字母可可4省省10字母字母可可5市市15字母字母可可6邮政编码邮政编码5数字数字可可7电话电话7数字数字可可8类型类型1字母字母

27、否否9信贷员号信贷员号5数字数字可可10最近一次业务日期最近一次业务日期6数字数字否否11最近一次付息日期最近一次付息日期6数字数字否否12余额余额8数字数字否否13业务总量业务总量8数字数字否否14限额限额6数字数字否否 要求对贷款文件进行修改,修改信息由卡片要求对贷款文件进行修改,修改信息由卡片输入,卡片上的修改信息格式如下:输入,卡片上的修改信息格式如下: 15位位 69位位 10位起位起 帐号帐号 空空 修改值修改值1 1* 修改值修改值2 2* .* (序号)序号)需求分析结果需求分析结果DFD DFD 图图, ,是一种混合的是一种混合的 DFD DFD 图。图。修修改改记记录录写写

28、记记录录卡片卡片编编辑辑卡卡片片检检查查顺顺序序检检查查次次序序帐帐号号相相等等错误顺序卡片顺序卡片修改信息修改信息旧记录旧记录顺序记录顺序记录要修改要修改的记录的记录不修改不修改的记录的记录已修改已修改的记录的记录新记录新记录修修改改分分类类抽抽出出修修改改顺序顺序卡片卡片修改修改信息信息2345679需求分析结果需求分析结果 DFD 图图编辑卡片加工分解编辑卡片加工分解主加工是?主加工是?报告报告报告报告修改信息修改信息顺序记录顺序记录新记录新记录将将DFDDFD图转换为图转换为模块结构图模块结构图贷款文件贷款文件管理系统管理系统取顺序取顺序记录记录修改修改记录记录打印打印报告报告打印打印

29、记录记录比较比较帐号帐号取修改取修改信息信息读旧读旧记录记录检查检查顺序顺序取取卡片卡片编辑编辑卡片卡片读卡片读卡片检查顺序检查顺序卡片卡片顺序卡片旧记录旧记录顺序记录顺序记录顺序卡片顺序卡片已修改“编辑卡片编辑卡片”应继应继续向下分解,是典续向下分解,是典型的型的“事务处理事务处理”型的型的DFDDFD图。图。写写记录记录修修改改记记录录写写记记录录卡片卡片编编辑辑卡卡片片检检查查顺顺序序检检查查次次序序帐帐号号相相等等错误顺序卡片顺序卡片修改信息修改信息旧记录旧记录顺序记录顺序记录要修改要修改的记录的记录不修改不修改的记录的记录已修改已修改的记录的记录新记录新记录报告报告已编辑卡片原始的数

30、据流图IP1 1P2 2P3 3输入流输入流事务中心事务中心加工路径加工路径事务控制事务控制接受事务接受事务发送事务发送事务P1P2P3对应模块图 编辑卡片编辑卡片卡片抽出修改项抽出修改项编辑修改项编辑修改项卡片项项已编辑项编辑项编辑项3编辑项编辑项2编辑项编辑项9项2项3已编辑项2已编辑项3项14已编辑项9编辑卡片的分解已编辑卡片 按照按照“降低块间联系,提高块内联系降低块间联系,提高块内联系”的设计总则的设计总则进行修改,完善系统的模块图,写出模块的功能说明进行修改,完善系统的模块图,写出模块的功能说明。三、模块结构图的改进三、模块结构图的改进功能模块的组成:功能模块的组成: 执行某项任务

31、的部分执行某项任务的部分 出错处理部分出错处理部分 返回结束标志返回结束标志具体具体从以下方面改进:从以下方面改进:1 1)尽可能建立功能模块)尽可能建立功能模块 功能模块具有最强的内聚性,应满足信息屏蔽原功能模块具有最强的内聚性,应满足信息屏蔽原则:一个模块内所包含的信息(过程和数据)对不则:一个模块内所包含的信息(过程和数据)对不需要这些信息的模块是不能访问的(黑盒)。需要这些信息的模块是不能访问的(黑盒)。2 2)消除重复功能)消除重复功能 若两模块含有重复的部分,应设法将重复的功能若两模块含有重复的部分,应设法将重复的功能消去。消去。(a)XYQ1Q2YQ2QXQ(b)(c)(d)Q重

32、复部分重复部分Y YXQ1YQ2四、模块结构图的改进四、模块结构图的改进X X控制范围控制范围 结构方面的特点,结构方面的特点,包括模块及其所有下属模块。包括模块及其所有下属模块。作用范围作用范围 判断所涉及到的模判断所涉及到的模块,是从功能特点考虑的。块,是从功能特点考虑的。3 3)模块的作用范围应与控制范围)模块的作用范围应与控制范围TOPXTBAB1B2SD方法认为:方法认为:当作用范围为控制范围的子集时,才当作用范围为控制范围的子集时,才能获得较低的块间联系能获得较低的块间联系, 如图中的设计,判定的作如图中的设计,判定的作用范围恰好在判定所在模块的下一层。用范围恰好在判定所在模块的下

33、一层。4 4)模块的大小适当)模块的大小适当 模块大小指其篇幅,一般模块大小约模块大小指其篇幅,一般模块大小约50-10050-100行行为宜。为宜。5 5)模块的扇入扇出数不宜太多)模块的扇入扇出数不宜太多 扇出数扇出数 一个模块调用其他模块的个数。一个模块调用其他模块的个数。 扇入数扇入数 一个模块被其他模块调用的个数。一个模块被其他模块调用的个数。 除服务性模块外,模块的扇入扇出数不宜太除服务性模块外,模块的扇入扇出数不宜太多。否则块间联系增加。多。否则块间联系增加。 一、任务一、任务 详细设计阶段的任务是开发一个可以直接转换为详细设计阶段的任务是开发一个可以直接转换为程序的软件表示,即

34、对系统中每个模块的内部过程程序的软件表示,即对系统中每个模块的内部过程进行设计和描述。进行设计和描述。 二、常用的描述方法工具二、常用的描述方法工具 1 1、流程图、流程图 2 2、结构化流程图(、结构化流程图(N-S图)图) 3 3、PAD图图问题分析图问题分析图 4 4、PDL 语言语言4.4 4.4 详细设计详细设计结构化流程图(结构化流程图(N-S图)图)由顺序、选择、循环三种基本结构组成。由顺序、选择、循环三种基本结构组成。顺序结构顺序结构块块1块块2块块3块块4条件条件T F块块1块块2选择结构选择结构Case I=1,2,3T块块1块块2多分支选择结构多分支选择结构F块块3块块当

35、条件成立时当条件成立时当型循环当型循环块块直到条件成立时直到条件成立时直到型循环直到型循环结构化流程图(结构化流程图(N-S图)图)ab条条 件件 1TF Case Xi, i=2,3,4X2X3X4当条件当条件3成立成立条条 件件 2直到条件直到条件4成立成立直直 到到 条条 件件 成立成立cdefghij顺序结构顺序结构选择结构选择结构多分支选择结构多分支选择结构先判定型循环结构先判定型循环结构后判定型循环结构后判定型循环结构FTTFPADPAD图图问题分析图(问题分析图(problem Analysis Diagramproblem Analysis Diagram)其基本控制结构如下:

36、其基本控制结构如下:条件条件then部分部分else部分部分选择结构选择结构TF任务任务1任务任务2任务任务3 顺序结构顺序结构WHILE型条件型条件循环体循环体先判定型循环结构先判定型循环结构UNTIL型条件型条件循环体循环体后判定型循环结构后判定型循环结构控控制制变变量量 任务任务1任务任务2任务任务n多分支选择结构多分支选择结构值值 1值值 2值值 n例例1:对数组:对数组X进行排序。进行排序。 “自顶而下,逐步求精自顶而下,逐步求精”J:=hk:=h+1,nJ:=kH:=1,n-1排好第排好第h个个X hW:=XhXh:=XjXj:=w 1、循环一次,排好一个循环一次,排好一个Xh排好

37、第排好第H个个X h找找 XJ= MAX(XhXn)交换交换 XJ 和和 Xh2、细化细化XkXJ(a)(b)(b)(a)3 3、连接各图,构成完整的连接各图,构成完整的PADPAD图图H:=1,n-1H:=1,n-1H:=1,n-1H:=1,n-1H:=1,n-1 随着各种应用软件的面市,作为人机接口的用户随着各种应用软件的面市,作为人机接口的用户界面具有越来越重要的作用,用户界面是否友好直接界面具有越来越重要的作用,用户界面是否友好直接影响到软件的寿命与竞争力。因此,对用户界面的设影响到软件的寿命与竞争力。因此,对用户界面的设计必须予以足够的重视。计必须予以足够的重视。4.6 4.6 用户

38、界面设计用户界面设计 用户界面设计中的主要问题进行讨论。用户界面设计中的主要问题进行讨论。 什么是友好的用户界面。什么是友好的用户界面。 用户界面设计应该完成的工用户界面设计应该完成的工 作。作。总之,用户界面设计要以人为本。总之,用户界面设计要以人为本。用户界面设计迭代过程用户界面设计迭代过程分析和理解分析和理解用户活动用户活动在纸上设计在纸上设计原型原型与最终用户与最终用户一起评价一起评价设计原型设计原型产生动态产生动态设计原型设计原型与最终用户与最终用户一起评价一起评价实现最终的实现最终的用户界面用户界面可执行原型可执行原型 用户界面设计原则:用户界面设计原则: 1.可视性和可支付性可视

39、性和可支付性(Visibility and Affordance)。 2.保持命令、菜单,颜色等统一(保持命令、菜单,颜色等统一(Strive for Consistency)。)。 3.为频繁使用的用户提供快捷方式(为频繁使用的用户提供快捷方式(Enable Frequent Users to Use Short Cuts)。)。 4.提供信息反馈(提供信息反馈(Offer Information Feedback)。)。 5.提供简单的错误处理(提供简单的错误处理(Offer Simple Error Handling)。)。 6.方便的操作、回滚(方便的操作、回滚(Permit Easy

40、 Reversal of Actions)。)。 7.降低短期记忆回忆(降低短期记忆回忆(Reduce Short-Term Memory Load)。)。 交互性是用户界面最重要的特性,按照交互形式交互性是用户界面最重要的特性,按照交互形式分为分为5类:类:主要优点主要优点主要缺点主要缺点应用实例应用实例直接操纵直接操纵快速直观,容易快速直观,容易学习学习实现较难,适于对象和实现较难,适于对象和任务有视觉隐喻任务有视觉隐喻视频游戏视频游戏CAD系统系统菜单选择菜单选择避免用户错误只避免用户错误只需很少键盘输入需很少键盘输入对有经验的用户操作较对有经验的用户操作较慢慢,菜单项多时操纵复杂菜单项多时操纵复杂一般用途的系统一般用途的系统表格填写表格填写简单的数据人口简单的数据人口易学习易学习占较多的屏幕空间占较多的屏幕空间库存控制库存控制个人贷款处理个人贷款处理命令语言命令语言强大灵活强大灵活较难学习较难学习错误管理差错误管理差操作

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论