




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 软件设计是软件开发的关键步骤,直接影响软软件设计是软件开发的关键步骤,直接影响软件质量件质量。软件设计阶段要解决软件设计阶段要解决“如何做如何做”的问题。的问题。 将分析阶段获得的需求说明转换为计算机中可将分析阶段获得的需求说明转换为计算机中可实现的系统。包括实现的系统。包括: :软件体系结构的设计软件体系结构的设计用户界面的设计用户界面的设计数据结构的设计数据结构的设计算法的设计算法的设计 即软件设计的任务是通过多项设计,构造一个即软件设计的任务是通过多项设计,构造一个高内聚低耦合的软件模型。高内聚低耦合的软件模型。过程设计过程设计系统结构设计系统结构设计数据设计数据设计界面设计界面设计软
2、件设计软件设计 从工程管理的角度来看,软件设计分两步完成,分从工程管理的角度来看,软件设计分两步完成,分为总体设计(概要设计)和详细设计两个阶段。为总体设计(概要设计)和详细设计两个阶段。 概要设计。将软件需求转化为数据结构和软件的系概要设计。将软件需求转化为数据结构和软件的系统结构。统结构。 详细设计。通过对结构表示进行细化,得到软件详详细设计。通过对结构表示进行细化,得到软件详细的数据结构和算法。细的数据结构和算法。软件设计工作流程需求需求说明书说明书复复审审软件结构软件结构可接受可接受模块描述复复审审修修 改改修修 改改总总体体设设计计详细详细设计设计 软件设计的目标就是构造一个高内聚低
3、耦合的软件设计的目标就是构造一个高内聚低耦合的软件模型。软件模型。软件软件高可靠高可靠性性高可维高可维护性护性高可理高可理解性解性高效率高效率软件设计的目标衡量软件设计的目标的衡量软件设计的目标的准则准则: 软件实体有明显的层次结构,利于软件元素间控制;软件实体有明显的层次结构,利于软件元素间控制; 软件实体应该是模块化的,模块具有独立功能;软件实体应该是模块化的,模块具有独立功能; 设计规格说明清晰、简洁、完整和无二义性。设计规格说明清晰、简洁、完整和无二义性。 软件实体与环境的界面清晰;软件实体与环境的界面清晰;3.1.1 3.1.1 软件体系结构设计软件体系结构设计软件体系结构确定了系统
4、的组织结构和拓扑结构软件体系结构确定了系统的组织结构和拓扑结构,显示了系统需求和构成系统的元素之间的对应关系,显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理。,提供了一些设计决策的基本原理。 体系结构的设计过程的主要活动:体系结构的设计过程的主要活动:1. 1.系统分解系统分解将系统分解为若干相互作用的子系统。将系统分解为若干相互作用的子系统。2. 2.控制建模控制建模建立系统各部分间控制关系的一般模型。建立系统各部分间控制关系的一般模型。3.3.模块分解模块分解 将子系统进一步划分为模块。将子系统进一步划分为模块。注意注意: :往往子系统与模块之间没有明显界限往往
5、子系统与模块之间没有明显界限. .体系结构设计是软件设计的第一个阶段,该阶段侧体系结构设计是软件设计的第一个阶段,该阶段侧重于系统宏观结构的设计,而不关心模块的内部算法。重于系统宏观结构的设计,而不关心模块的内部算法。分为集中式的仓库模型、分布式结构等分为集中式的仓库模型、分布式结构等 一、仓库模型一、仓库模型(The repository modelThe repository model) 也称也称“容器模型容器模型 ” ”,是一种集中式的模型。中央,是一种集中式的模型。中央数据仓库存储各个子系统共享的数据,其它的子系统数据仓库存储各个子系统共享的数据,其它的子系统可以直接访问这些共享数据
6、。子系统之间紧密耦合。可以直接访问这些共享数据。子系统之间紧密耦合。 中央数据仓库中央数据仓库(Repository)(Repository)子系统子系统1 1子系统子系统2 2子系统子系统n n 仓库结构一、仓库模型一、仓库模型(The repository modelThe repository model)设计编辑器设计编辑器代码生成器代码生成器设计分析器设计分析器报告生成器报告生成器设计转换器设计转换器项项 目目 存存 储储程序编辑器程序编辑器 集成CASE工具集的体系结构 各子系统共享中央数据库中的数据各子系统共享中央数据库中的数据共享容器模型共享容器模型 各子系统有自己的数据库,子
7、系统之间通过消息传各子系统有自己的数据库,子系统之间通过消息传递实现数据交换。递实现数据交换。适宜命令控制系统、适宜命令控制系统、CADCAD系统系统 仓库模型的主要优缺点:仓库模型的主要优缺点:优点:优点: 1.共享大数据量的有效方法。共享大数据量的有效方法。 2.子系统不必关心其它的子系统如何使用它所产生的数子系统不必关心其它的子系统如何使用它所产生的数据。据。 3.易于将新子系统集成,若新子系统也采用相同规范易于将新子系统集成,若新子系统也采用相同规范 。 缺陷:缺陷: 1.为了共享数据为了共享数据 ,各子系统必须有一致的数据视图各子系统必须有一致的数据视图 ,不,不可避免地会影响了整个
8、系统的性能。可避免地会影响了整个系统的性能。 2.子系统的改变,使产生的数据结构也可能发生改变。子系统的改变,使产生的数据结构也可能发生改变。 3.统一的数据库统一的数据库 结构结构(备份、安全、访问控制和恢复的备份、安全、访问控制和恢复的策策 ),将影响子系统的效率将影响子系统的效率 。二、二、 客户机客户机/ /服务器模型服务器模型(Client/Server Architectural ModelClient/Server Architectural Model) C/S C/S结构是一种结构是一种分布式模型分布式模型,采用发请求、得结,采用发请求、得结果的模式:果的模式:客户机客户机
9、向服务器发出请求向服务器发出请求( (数据请求、网页请求、数据请求、网页请求、文件传输请求等等文件传输请求等等) ),服务器服务器 响应请求,进行相应的操作,将结果回传给响应请求,进行相应的操作,将结果回传给客户机,客户机再将格式化后的结果呈现给用户。客户机,客户机再将格式化后的结果呈现给用户。C/SC/S结构的应用都由三个相对独立的逻辑部分组成:结构的应用都由三个相对独立的逻辑部分组成:用户界面用户界面应用逻辑应用逻辑数据访问数据访问三种逻辑之间的关系1. 两层客户机两层客户机/服务器模型服务器模型 Two Tier Client/Server Architectural Model服务器服
10、务器1 1网络网络服务器服务器2 2服务器服务器MM客户客户1 1客户客户2 2客户客户N N两层两层Client/ServerClient/Server结构结构请求请求结果结果请求请求C/SC/S的工作模式是一种远程过程调用的工作模式是一种远程过程调用(RPC(RPC,Remote Remote Procedure Call)Procedure Call)模式,允许客户端和服务器端有不同的模式,允许客户端和服务器端有不同的软硬平台。软硬平台。电影图片库的系统的体系结构client1 1clientclient2 2clientclient4 4clientclient3 3Wide-band
11、width netwokWide-bandwidth netwokCatalogueCatalogueserverservercataloguecataloguevideovideoserverserverFilm clipFilm clipfilesfilespicturepictureserverserverdigitiseddigitisedphotographsphotographshypertexthypertextserverserverhypertexthypertextwebweb例:例:Two Tier Client/Server Architectural ModelTwo
12、 Tier Client/Server Architectural Model 完整的应用包含三个相对独立的逻辑部分,而两层的完整的应用包含三个相对独立的逻辑部分,而两层的C/SC/S结构只有两个端应用。应用逻辑应该映射到哪一端上结构只有两个端应用。应用逻辑应该映射到哪一端上呢?呢? 三种情况:三种情况:网网 络络用户界面用户界面客户端逻客户端逻辑应用辑应用服务端逻辑服务端逻辑应用应用客户端客户端用户界面用户界面逻辑应用逻辑应用数据访问数据访问用户界面用户界面逻辑应用逻辑应用数据访问数据访问服务器服务器应用逻辑层的映射情况数据访问数据访问C/SC/S应用应用3 3C/SC/S应用应用1 1C/
13、SC/S应用应用2 2 两层两层C/SC/S架构将数据表示和处理逻辑分开架构将数据表示和处理逻辑分开 ,但应用逻,但应用逻辑和两端之一是紧耦合的辑和两端之一是紧耦合的 ,不适宜多用户、多数据库、,不适宜多用户、多数据库、非安全的网络环境。非安全的网络环境。 2.三层三层/多层应用模型多层应用模型(Three/Multi Tier Model) 第一级是数据库管理结点第一级是数据库管理结点(database management node)(database management node)。第二级或中间级是第二级或中间级是“商业逻辑结点商业逻辑结点” ” (business logic nod
14、e),(business logic node),是指具是指具体应用中实施的体应用中实施的 程序逻辑和法则。程序逻辑和法则。第三级是用户界面级,强调高效、方便易用的用户界面。第三级是用户界面级,强调高效、方便易用的用户界面。Database management nodeDatabase management node(数据库管理结点)(数据库管理结点)business logic nodebusiness logic node(商业逻辑结点)商业逻辑结点)SecuritySecurity(安全)(安全)EventEvent(事件)(事件)SearchSearch(搜索)(搜索)ClientA
15、ClientAClientDClientDClientBClientBClientCClientC服服务务器器客客户户机机第一级第一级第二级第二级第三级第三级客户端客户端用户界面用户界面服务器服务器数据访问数据访问多层应用模型网网 络络应用服务器应用服务器1 1应用逻辑应用逻辑应用服务器应用服务器n n应用逻辑应用逻辑 在多层模型中,中间层会用到应用服务,包括事在多层模型中,中间层会用到应用服务,包括事务服务、消息服务等等。常见的事务服务器有务服务、消息服务等等。常见的事务服务器有Microsoft Microsoft Transaction ServerTransaction Server,
16、消息服务器有,消息服务器有Microsoft Message QueueMicrosoft Message Queue。三、分布式对象结构三、分布式对象结构(Distributed Objects Architecture) 在在C/SC/S模型中,客户和服务器在服务模型中,客户和服务器在服务/ /请求上的请求上的差别,在一定程度上限制了系统的灵活性和可扩展性差别,在一定程度上限制了系统的灵活性和可扩展性。 采用分布式对象结构采用分布式对象结构 : “ “对象对象(Object)”(Object)”提供服务的系统组件提供服务的系统组件(System (System Component)Comp
17、onent)。 每个对象在逻辑上是平等的,它们可以互相为对每个对象在逻辑上是平等的,它们可以互相为对方提供所需的服务。方提供所需的服务。 提供服务的对象就是服务器,而提出服务请求提供服务的对象就是服务器,而提出服务请求的对象就是客户。的对象就是客户。 “ “软件总线软件总线(Software Bus)”(Software Bus)”的中间件的中间件(Middleware) (Middleware) 即即对象请求代理对象请求代理(Object Request Broker(Object Request Broker,简称,简称ORBORB) ) 分布式对象结构具有很好的开放性和透明性,用分布式对
18、象结构具有很好的开放性和透明性,用户可以非常方便地在总线上添加、更新或删除组件对户可以非常方便地在总线上添加、更新或删除组件对象。象。 软件总线软件总线(ORB)(ORB)O O1 1S(OS(O1 1) )O O2 2S(OS(O2 2) )O On nS(OS(On n) )分布式对象结构流行的流行的ORB技术标准有:技术标准有:1.CORBA(Common Object Request Broker Architecture) 公共对象请求代理体系结构公共对象请求代理体系结构。由对象管理组织由对象管理组织OMG (Object Management Group)提出的应用软件体系结构和)
19、提出的应用软件体系结构和对象技术规范。对象技术规范。2.COM(Distributed Component Object Model) 组件对象模型组件对象模型。为组件之间、组件与应用程序之间的。为组件之间、组件与应用程序之间的通信和互操作提供了统一的标准和技术规范,使不同语言通信和互操作提供了统一的标准和技术规范,使不同语言开发的组件可进行基于组件的软件开发。开发的组件可进行基于组件的软件开发。 3. EJB(Enterprise Java Bean) 由由Sun公司定义的规范,公司定义的规范,EJB构件是实现构件是实现EJB规范的规范的Java构件,构件,完成企业级应用中的业务逻辑。完成企
20、业级应用中的业务逻辑。EJB构件驻留构件驻留在在EJB容器中。容器中。 四、四、 抽象机模型抽象机模型又称为又称为分层模型分层模型,通常用于建立子系统的接口模型。每,通常用于建立子系统的接口模型。每层提供一组服务,每层定义一个层提供一组服务,每层定义一个抽象机。抽象机。典型的例子:典型的例子:应用层协议应用层协议表示层协议表示层协议会晤层协议会晤层协议传输层协议传输层协议 物物 理理 介介 质质应用层应用层表示层表示层会晤层会晤层传输层传输层网络层网络层数据链路层数据链路层物理层物理层应用层应用层表示层表示层会晤层会晤层传输层传输层网络层网络层数据链路层数据链路层物理层物理层网络层网络层数据链
21、路层数据链路层物理层物理层网络层网络层数据链路层数据链路层物理层物理层中继系统中继系统 中继系统中继系统主机系统主机系统主机系统主机系统优点:支持增量式开发。优点:支持增量式开发。缺点:系统构成,性能保证较困难。缺点:系统构成,性能保证较困难。五、控制摸型五、控制摸型 考虑子系统之间的控制流。控制方式分为:考虑子系统之间的控制流。控制方式分为:1. 1.集中式控制集中式控制主程序主程序程序程序1 1程序程序2 2程序程序3 3程序程序11 11程序程序12 12程序程序31 31程序程序3232控制的调用返回模型2. 2.事件驱动系统事件驱动系统 由外部产生的事件来驱动系统由外部产生的事件来驱
22、动系统分为:分为: 广播模型广播模型 中断驱动的模型中断驱动的模型系统控制器系统控制器计算进程计算进程用户界面用户界面故障处理器故障处理器传感器进程传感器进程传动装置进程传动装置进程实时系统的集中式模型1.1.软件结构的准则软件结构的准则2. 2. 模块化准则模块化准则3.3.软件独立性准则软件独立性准则 软件设计是软件开发过程的重要阶段,对保软件设计是软件开发过程的重要阶段,对保证软件系统的质量起着关键作用。但是如何保证软证软件系统的质量起着关键作用。但是如何保证软件设计的质量呢?有以下经过长期考验的设计准则件设计的质量呢?有以下经过长期考验的设计准则: 这些设计准则直接影响到体系结构的设计
23、过程这些设计准则直接影响到体系结构的设计过程的主要活动的主要活动系统分解和模块分解。系统分解和模块分解。 软件结构表示软件的系统结构,它是软件模软件结构表示软件的系统结构,它是软件模块间关系的表示,均表示为层次关系块间关系的表示,均表示为层次关系。软 件 结 构 示 意 图顶层顶层1 1层层2 2层层ABCDEFGHIJKLMN深度宽度扇入为扇入为2 2扇出为扇出为3 3扇入为扇入为3 3宽度深度宽度3 3层层4 4层层一、软件结构的准则一、软件结构的准则 深度深度:表示软件结构中从顶层模块到最底层模块表示软件结构中从顶层模块到最底层模块的层数的层数; 宽度宽度:表示控制的总分布;表示控制的总
24、分布; 扇出数扇出数:指一个模块直接控制下属的模块个数;指一个模块直接控制下属的模块个数; 扇入数扇入数:指一个模块的直接上属模块个数。指一个模块的直接上属模块个数。 一个好的软件结构的形态准则是:顶部宽度小,一个好的软件结构的形态准则是:顶部宽度小,中部宽度最大,底部宽度次之;在结构顶部有较高的中部宽度最大,底部宽度次之;在结构顶部有较高的扇出数,扇出数, 在底部有较高的扇入数。在底部有较高的扇入数。有有 关关 指指 标标 所谓所谓模块化模块化就是将系统划分成若干模块,每个模就是将系统划分成若干模块,每个模块完成一个子功能,把这些模块集中起来组成一个整块完成一个子功能,把这些模块集中起来组成
25、一个整体,以满足所要求的整个系统的功能体,以满足所要求的整个系统的功能。 我们利用模块化来降低软件复杂度。注意选择分我们利用模块化来降低软件复杂度。注意选择分解的最佳模块数。解的最佳模块数。二、二、模块化准则模块化准则三、软件独立性准则三、软件独立性准则 软件独立性的含义是指开发具有功能专一,模软件独立性的含义是指开发具有功能专一,模块之间无过多相互作用的模块。又称为块之间无过多相互作用的模块。又称为模块独立性模块独立性准则。准则。 这种类型的模块可以并行开发,开发容易,能这种类型的模块可以并行开发,开发容易,能减少错误的影响,使模块容易组合、修改及测试。减少错误的影响,使模块容易组合、修改及
26、测试。 耦合性耦合性 用于描述模块之间联系的紧密程度。用于描述模块之间联系的紧密程度。内聚性内聚性 用于描述模块内部联系的紧密程度。用于描述模块内部联系的紧密程度。软件独立性的度量标准是两个定性指标:软件独立性的度量标准是两个定性指标:内容耦合内容耦合公共耦合公共耦合控制耦合控制耦合复合耦合复合耦合数据耦合数据耦合偶然型偶然型逻辑型逻辑型瞬时型瞬时型通讯型通讯型顺序型顺序型功能型功能型3.3 3.3 结构化设计方法结构化设计方法 SDSD(Structured DesignStructured Design)法与法与SASA、SPSP法前后衔接,法前后衔接,是结构化开发方法的核心。是结构化开发
27、方法的核心。一、一、SD SD 法的基本概念法的基本概念1 1、SD SD 法的两个阶段法的两个阶段 总体设计总体设计 任务:任务: 解决系统的模块结构,即分解模块,解决系统的模块结构,即分解模块,确定确定模块功能模块功能及系统模块的层次结构。及系统模块的层次结构。 文档:文档:模块结构图及其模块功能说明。模块结构图及其模块功能说明。 详细设计详细设计 对模块图中每个模块的过程进行描述,常用的对模块图中每个模块的过程进行描述,常用的描述的方式有:伪代码,流程图,描述的方式有:伪代码,流程图,N-SN-S图,图,PADPAD图图等。等。2 2、SD SD 法的设计步骤法的设计步骤 从从DFDDF
28、D图导出初始的模块结构图图导出初始的模块结构图(SC)(SC)。 按照按照SDSD法设计总则,改进模块结构图。法设计总则,改进模块结构图。注意:注意:模块结构图不同于模块结构图不同于“框图框图”。软件软件层次性层次性 : : 反映软件整体的性质反映软件整体的性质 ( (结构图结构图) )过程性过程性 : : 反映局部的性质反映局部的性质 ( (框图框图) )3 3、DFDDFD图的分类图的分类 中心变换型中心变换型(transform center) _ (transform center) _ 变换分析变换分析 事务处理型事务处理型(transaction) _ (transaction)
29、_ 事务分析事务分析3.3 3.3 结构化设计方法结构化设计方法( (续)续) 这类数据流图可看成是对输入数据进行转换而得这类数据流图可看成是对输入数据进行转换而得到输出数据的处理。到输出数据的处理。 DFDDFD图可以明显分为图可以明显分为 “输入输入处理处理输出输出 ”三部分三部分。(物理输入)(物理输入)(逻辑输入)(逻辑输入)(逻辑输出)(逻辑输出)输输 入入主加工主加工输输 出出(物理输出)(物理输出)检查检查顺序顺序检查检查合理性合理性扩充扩充代码代码核对核对 记录记录修改修改压缩压缩代码代码格式化格式化修改修改数据数据 旧文件旧文件新文件新文件中心变换型中心变换型 的的 DFD
30、DFD 图图 这类数据流图有一个数据处理中心,按加工的结这类数据流图有一个数据处理中心,按加工的结果选择一个输出数据流继续执行的处理。果选择一个输出数据流继续执行的处理。 如下图所示:如下图所示:分类分类报名报名付款付款注销注销查询查询复审复审采用采用“事务分析事务分析”(transaction Analysis)技术技术事务处理型事务处理型 的的 DFD 图图序号序号内内 容容长度(字节)长度(字节)数据类型数据类型可否修改可否修改1帐号帐号5数字数字否否2户名户名30数字字母数字字母可可3地址地址30数字字母数字字母可可4省省10字母字母可可5市市15字母字母可可6邮政编码邮政编码5数字数
31、字可可7电话电话7数字数字可可8类型类型1字母字母否否9信贷员号信贷员号5数字数字可可10最近一次业务日期最近一次业务日期6数字数字否否11最近一次付息日期最近一次付息日期6数字数字否否12余额余额8数字数字否否13业务总量业务总量8数字数字否否14限额限额6数字数字否否 要求对贷款文件进行修改,修改信息由卡片输要求对贷款文件进行修改,修改信息由卡片输入,卡片上的修改信息格式如下:入,卡片上的修改信息格式如下: 15 15位位 6969位位 10 10位起位起 帐号帐号 空空 修改值修改值1 1* * 修改值修改值2 2* * . .* * * ( (序号)序号) 分析分析: :1.1. 贷款
32、文件的记录格式(如前表)贷款文件的记录格式(如前表)2.2. 修改记录(卡片)格式修改记录(卡片)格式3. 3. 需求分析结果需求分析结果DFD DFD 图图, ,是一种混合的是一种混合的 DFD DFD 图。图。修修改改记记录录写写记记录录卡片卡片编编辑辑卡卡片片检检查查顺顺序序检检查查次次序序帐帐号号相相等等错误顺序卡片顺序卡片修改信息修改信息旧记录旧记录顺序记录顺序记录要修改要修改的记录的记录不修改不修改的记录的记录已修改已修改的记录的记录新记录新记录修修改改分分类类抽抽出出修修改改顺序顺序卡片卡片修改修改信息信息2 23 34 45 56 67 79 9需求分析结果需求分析结果 DFD
33、 DFD 图图编辑卡片加工分解编辑卡片加工分解主加工是主加工是?报告报告报告报告修改信息修改信息顺序记录顺序记录新记录新记录将将DFDDFD图转换为图转换为模块结构图模块结构图贷款文件贷款文件管理系统管理系统取顺序取顺序记录记录修改修改记录记录打印打印报告报告打印打印记录记录比较比较帐号帐号取修改取修改信息信息读旧读旧记录记录检查检查顺序顺序取取卡片卡片编辑编辑卡片卡片读卡片读卡片检查顺序检查顺序卡片卡片顺序卡片旧记录旧记录顺序记录顺序记录顺序卡片顺序卡片已修改“编辑卡片编辑卡片”应继应继续向下分解,是典续向下分解,是典型的型的“事务处理事务处理”型的型的DFDDFD图。图。写写记录记录修修改
34、改记记录录写写记记录录卡片卡片编编辑辑卡卡片片检检查查顺顺序序检检查查次次序序帐帐号号相相等等错误顺序卡片顺序卡片修改信息修改信息旧记录旧记录顺序记录顺序记录要修改要修改的记录的记录不修改不修改的记录的记录已修改已修改的记录的记录新记录新记录报告报告已编辑卡片 按照按照“降低块间联系,提高块内联系降低块间联系,提高块内联系”的设计总则的设计总则进行修改,完善系统的模块图,写出模块的功能说明进行修改,完善系统的模块图,写出模块的功能说明。四、模块结构图的改进四、模块结构图的改进功能模块的组成:功能模块的组成: 执行某项任务的部分执行某项任务的部分 出错处理部分出错处理部分 返回结束标志返回结束标
35、志具体具体从以下方面改进:从以下方面改进:1 1)尽可能建立功能模块)尽可能建立功能模块 功能模块具有最强的内聚性,应满足信息屏蔽原功能模块具有最强的内聚性,应满足信息屏蔽原则:一个模块内所包含的信息(过程和数据)对不则:一个模块内所包含的信息(过程和数据)对不需要这些信息的模块是不能访问的(黑盒)。需要这些信息的模块是不能访问的(黑盒)。2 2)消除重复功能)消除重复功能 若两模块含有重复的部分,应设法将重复的功能若两模块含有重复的部分,应设法将重复的功能消去。消去。(a)XYQ1Q2YQ2QXQ(b)(c)(d)Q重复部分重复部分YYXQ1YQ2四、模块结构图的改进四、模块结构图的改进XX
36、控制范围控制范围 结构方面的特点,结构方面的特点,包括模块及其所有下属模块。包括模块及其所有下属模块。作用范围作用范围 判断所涉及到的模判断所涉及到的模块,是从功能特点考虑的。块,是从功能特点考虑的。3 3)模块的作用范围应与控制范围)模块的作用范围应与控制范围TOPTOPX XT TB BA AB1B1B2B2SD方法认为:方法认为:当作用范围为控制范围的子集时,才当作用范围为控制范围的子集时,才能获得较低的块间联系能获得较低的块间联系, 如图中的设计,判定的作如图中的设计,判定的作用范围恰好在判定所在模块的下一层。用范围恰好在判定所在模块的下一层。4 4)模块的大小适当)模块的大小适当 模
37、块大小指其篇幅,一般模块大小约模块大小指其篇幅,一般模块大小约50-10050-100行行为宜。为宜。5 5)模块的扇入扇出数不宜太多)模块的扇入扇出数不宜太多 扇出数扇出数 一个模块调用其他模块的个数。一个模块调用其他模块的个数。 扇入数扇入数 一个模块被其他模块调用的个数。一个模块被其他模块调用的个数。 除服务性模块外,模块的扇入扇出数不宜太除服务性模块外,模块的扇入扇出数不宜太多。否则块间联系增加。多。否则块间联系增加。 一、任务一、任务 详细设计阶段的任务是开发一个可以直接转换为详细设计阶段的任务是开发一个可以直接转换为程序的软件表示,即对系统中每个模块的内部过程程序的软件表示,即对系
38、统中每个模块的内部过程进行设计和描述。进行设计和描述。 二、常用的描述方法工具二、常用的描述方法工具 1 1、流程图、流程图 2 2、结构化流程图(、结构化流程图(N-SN-S图)图) 3 3、PADPAD图图问题分析图问题分析图 4 4、PDL PDL 语言语言3.4 3.4 详细设计详细设计结构化流程图(结构化流程图(N-SN-S图)图)由顺序、选择、循环三种基本结构组成。由顺序、选择、循环三种基本结构组成。顺序结构顺序结构块块1 1块块2 2块块3 3块块4 4条件条件T FT F块块1 1块块2 2选择结构选择结构Case I=1,2,3Case I=1,2,3T T块块1 1块块2
39、2多分支选择结构多分支选择结构F F块块3 3块块当条件成立时当条件成立时当型循环当型循环块块直到条件成立时直到条件成立时直到型循环直到型循环结构化流程图(结构化流程图(N-SN-S图)图)a ab b条条 件件 1 1T TF F Case Case Xi, i=2,3,4Xi, i=2,3,4X2X2X3X3X4X4当条件当条件3 3成立成立条条 件件 2 2直到条件直到条件4 4成立成立直直 到到 条条 件件 成立成立c cd de ef fg gh hi ij j顺序结构顺序结构选择结构选择结构多分支选择结构多分支选择结构先判定型循环结构先判定型循环结构后判定型循环结构后判定型循环结构
40、F FT TT TF FPADPAD图图问题分析图(问题分析图(problem Analysis Diagramproblem Analysis Diagram)其基本控制结构如下:其基本控制结构如下:条件条件thenthen部分部分elseelse部分部分选择结构选择结构T TF F任务任务1 1任务任务2 2任务任务3 3 顺序结构顺序结构WHILEWHILE型条件型条件循环体循环体先判定型循环结构先判定型循环结构UNTILUNTIL型条件型条件循环体循环体后判定型循环结构后判定型循环结构控控制制变变量量 任务任务1 1任务任务2 2任务任务n n多分支选择结构多分支选择结构值值 1 1值
41、值 2 2值值 n n例例1 1:对数组:对数组X X进行排序。进行排序。 “自顶而下,逐步求精自顶而下,逐步求精”J J:=h=hk k:=h+1=h+1,n nJ:=kJ:=kH H:=1=1,n-1n-1排好第排好第h h个个X X hhW:=XhW:=XhXh:=XjXh:=XjXj:=Xj:=w 1 1、循环一次,排好一个循环一次,排好一个XhXh排好第排好第H H个个X X hh找找 XJ= MAXXJ= MAX(X XhhX Xnn)交换交换 X XJ J 和和 X Xhh2 2、细细化化XkXk XJXJ(a)(a)(b)(b)(b)(b)(a)(a)3 3、连接各图,构成完整
42、连接各图,构成完整的的PADPAD图图H H:=1=1,n-1n-1H H:=1=1,n-1n-1H H:=1=1,n-1n-1H H:=1=1,n-1n-1H H:=1=1,n-1n-13.5 面向对象的设计方法 OOD(Object-Oriented Design)OrderLineOrderLine Quantity:IntegerQuantity:Integer isSatisfied isSatisfied1 1*1 1*1 1*CustomerCustomer namename address address CreditRatingCreditRating()()OrderOrd
43、er dataReceiveddataReceived isPrepaid isPrepaid number:String number:String dispatchdispatch()() close close() () Personal CustomerPersonal CustomercreditCardcreditCardCorporate CustomerCorporate Customer contactName contactName creditRating creditRating creditLimit creditLimit remindremind() () bil
44、lForMonth billForMonth() () EmployeeEmployeeProductProduct0.10.1+ +LineItem:Meeting:MeetingAdministrtionaAdministrtiona:Meeting:Meeting:MeetingMeetingAdministrtionaAdministrtionaDefineMeeting(meeting)DefineMeeting(meeting)IsMeetingExisted=.T.3:Fail(MeetingExisted)IsMeetingExisted=.T.3:Fail(MeetingEx
45、isted)2:new(meeting)2:new(meeting)顺序图顺序图电梯的状态表示电梯的状态表示状态图OnOn first floorfirst floorGo upGo up(floor)(floor)Moving upMoving updo/moving to do/moving to floorfloorGo upGo up(floor)(floor)IdleIdletimer=0timer=0do/increase timerdo/increase timerarrivedarrivedMoving downMoving downdo/moving todo/moving
46、to floor floorGo down (floor)Go down (floor)timer= timer-outtimer= timer-outMoving toMoving to first floor first floorarrivedarrivedarrivedarrived 随着各种应用软件的面市,作为人机接口的用随着各种应用软件的面市,作为人机接口的用户界面具有越来越重要的作用,用户界面是否友好直户界面具有越来越重要的作用,用户界面是否友好直接影响到软件的寿命与竞争力。因此,对用户界面的接影响到软件的寿命与竞争力。因此,对用户界面的设计必须予以足够的重视。设计必须予以足够的
47、重视。3.6 3.6 用户界面设计用户界面设计 用户界面设计中的主要问题进行讨论。用户界面设计中的主要问题进行讨论。 什么是友好的用户界面。什么是友好的用户界面。 用户界面设计应该完成的工用户界面设计应该完成的工 作。作。总之,用户界面设计要以人为本。总之,用户界面设计要以人为本。用户界面设计迭代过程用户界面设计迭代过程分析和理解分析和理解用户活动用户活动在纸上设计在纸上设计原型原型与最终用户与最终用户一起评价一起评价设计原型设计原型产生动态产生动态设计原型设计原型与最终用户与最终用户一起评价一起评价实现最终的实现最终的用户界面用户界面可执行原型可执行原型 用户界面设计原则:用户界面设计原则:
48、 1. 1.可视性和可支付性可视性和可支付性(Visibility and Affordance)(Visibility and Affordance)。 2. 2.努力保持命令、菜单,颜色等统一(努力保持命令、菜单,颜色等统一(Strive for Strive for ConsistencyConsistency)。)。 3.3.为频繁使用的用户提供快捷方式(为频繁使用的用户提供快捷方式(Enable Frequent Users Enable Frequent Users to Use Short Cutsto Use Short Cuts)。)。 4. 4.提供信息反馈(提供信息反馈(
49、Offer Information FeedbackOffer Information Feedback)。)。 5. 5.提供简单的错误处理(提供简单的错误处理(Offer Simple Error HandlingOffer Simple Error Handling)。)。 6. 6.允许方便的进行操作回滚(允许方便的进行操作回滚(Permit Easy Reversal of ActionsPermit Easy Reversal of Actions)。)。 7. 7.降低短期记忆回忆(降低短期记忆回忆(Reduce Short-Term Memory LoadReduce Short-Term Memory Load)。)。 交互性是用户界面最重要的特性,按照交互形交互性是用户界面最重要的特性,按照交互形式分为式分为5 5类:类:主
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 数据驱动的机械制造优化策略研究-洞察阐释
- 小学三年级语文上册语文教案7篇
- 新能源汽车充电桩行业现状分析报告
- 边缘计算驱动的低剂量CT图像恢复技术-洞察阐释
- 长租公寓行业竞争态势分析-洞察阐释
- 农民工:一个正在崛起的新工人阶层
- 网络安全意识与防护试题
- 小学数学跨学科教学策略及实施路径
- 培育壮大民营经济举措研究
- 《从百草园到三味书屋》教学课件
- 2024年安徽省初中(八年级)学业水平考试初二会考生物+地理试卷真题
- 2024年江西省中考生物·地理合卷试卷真题(含答案)
- 在漫画中识别身边的违章施工作业
- 小学科学教育科学六年级下册物质的变化 无字天书
- 少儿美术绘画课件- 艺米中班 4岁-5岁 《荔枝》
- 托管班带生源转让合同
- 借助数学实验 促进思维发展
- 净水厂毕业设计(图纸+计算书)
- 河北工程大学食堂CI手册
- 机械设备维修的安全知识(课堂PPT)
- 住宅小区室外道路及管网配套工程施工方案
评论
0/150
提交评论