第3章 软件设计-2012-10_第1页
第3章 软件设计-2012-10_第2页
第3章 软件设计-2012-10_第3页
第3章 软件设计-2012-10_第4页
第3章 软件设计-2012-10_第5页
已阅读5页,还剩93页未读 继续免费阅读

下载本文档

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

文档简介

第三章软件设计主要内容软件设计概述1软件设计的基本原则2总体设计3详细设计4案例分析5主讲教师包琼湖北经济学院软件工程系教学要求掌握软件设计的基本任务掌握软件设计的原则掌握模块化的概念掌握耦合与内聚掌握常用的详细设计的工具主讲教师包琼湖北经济学院软件工程系主要内容软件设计概述1软件设计的基本原则2总体设计3详细设计4案例分析5主讲教师包琼湖北经济学院软件工程系软件需求分析解决“做什么”的问题,软件设计过程则解决“怎么做”的问题软件设计是把软件需求变换成软件表示的过程,它主要包含两个阶段软件体系结构设计阶段(总体设计)部件级设计(详细设计)主讲教师包琼湖北经济学院软件工程系1.1软件设计的任务使用一种设计方法,将分析阶段获得的需求说明转换为计算机中可实现的系统。包括:过程设计系统结构设计数据设计界面设计软件设计主讲教师包琼湖北经济学院软件工程系1.1软件设计的任务(续)数据设计将分析-类模型变换成类的实现和软件实现所需要的数据结构系统体系结构设计体系结构设计定义了软件的整体结构接口设计接口设计描述了软件内部、软件和协作系统之间以及软件同人之间如何通信部件级设计部件级设计将软件体系结构的结构性元素变换为对软件部件的过程性描述主讲教师包琼湖北经济学院软件工程系1.2软件设计的过程从工程管理的角度来看,软件设计分两步完成总体设计(概要设计):将软件需求转化为数据结构和软件的系统结构。详细设计。通过对结构表示进行细化,得到软件详细的数据结构和算法。需求说明书复审软件结构可接受模块描述复审修改修改总体设计详细设计设计说明书主讲教师包琼湖北经济学院软件工程系主要内容软件设计概述1软件设计的基本原则2总体设计3详细设计4案例分析5主讲教师包琼湖北经济学院软件工程系2软件设计的基本原则2.1抽象与逐步求精2.2模块化2.3信息隐蔽与局部化2.4模块的独立性主讲教师包琼湖北经济学院软件工程系2.1抽象与逐步求精抽象是在软件设计的规模逐渐增大的情况下,控制复杂性的基本策略。抽象的过程是从特殊到一般的过程,上层概念是下层概念的抽象,下层概念是上层概念的精化和细化。软件工程过程的每一步都是对较高一级抽象的解作一次具体化的描述主讲教师包琼湖北经济学院软件工程系2.1抽象与逐步求精(续1)软件设计中主要抽象手段过程抽象(也称功能抽象)是指任何一个完成明确定义功能的操作都可被使用者当作单个实体看待,尽管这个操作实际上是由一系列更低级的操作来完成的。数据抽象是指定义数据类型和施加于该类型对象的操作,并限定了对象的取值范围,只能通过这些操作修改和观察数据 主讲教师包琼湖北经济学院软件工程系2.1抽象与逐步求精(续2)逐步求精把问题的求解过程分解成若干步骤或阶段,每步都比上步更精化,更接近问题的解法抽象使得设计者能够描述过程和数据而忽略低层的细节;而求精有助于设计者在设计过程中揭示低层的细节。主讲教师包琼湖北经济学院软件工程系2.1抽象与逐步求精(续3)下面,以一个CAD软件的开发为例,说明软件开发时的三种不同的抽象层次。该CAD软件实现一个二维绘图系统的全部功能,供低级计算机辅助设计使用。主讲教师包琼湖北经济学院软件工程系抽象层次1抽象层次I:用问题所处环境的术语描述该软件

该软件包括一个计算机绘图界面,向绘图员显示图形,以及一个数字化界面,用以代替绘图板和丁字尺。所有的直线、折线、圆、曲线的绘画、所有的几何计算、所有的剖面图和辅助视图都可以用这个CAD软件实现…….主讲教师包琼湖北经济学院软件工程系抽象层次2抽象层次2:任务需求的描述CADSOFTWARETASKS; CAD软件任务;

userinteractiontask; 用户界面任务;

2-Ddrawingcreationtask; 创建二维图形任务;

graphicsdisplaytask; 显示图形任务;

drawingfilemanagementtask;管理图形文件任务;END. 结束。主讲教师包琼湖北经济学院软件工程系抽象层次3程序过程表示(以2-D绘图生成任务为例)PROCEDURE:2-Ddrawingcreation

REPEATUNTIL<创建图形任务终止>

DOWHILE<出现与数字仪的交互时> 数字仪接口任务;

DETERMINEdrawingrequestCASE;

line:linedrawingtask;

circle:circledrawingtask;

……

END;主讲教师包琼湖北经济学院软件工程系2.2模块化模块是数据说明、可执行语句等程序对象的集合,它是单独命名的,并且可以通过名字来访问例如,过程、函数、子程序、宏、类等模块化即把软件按照规定原则,划分为一个个较小的,相互独立的但又相互关联的部件,实际上是系统分解和抽象的过程。主讲教师包琼湖北经济学院软件工程系2.2模块化(续1)理想模块的特点每个理想模块只解决一个问题每个理想模块的功能都应该明确,使人容易理解理想模块之间的联结关系简单,具有独立性由理想模块构成的系统,容易使人理解,易于编程,易于测试,易于修改和维护主讲教师包琼湖北经济学院软件工程系2.2模块化(续2)模块化的理论依据把一个大而复杂的问题分解成一些独立的易于处理的小问题,解决起来会容易得多。

如果无限制的划分软件,那么开发它所需要的工作量就会变得小到可以忽略啦!?主讲教师包琼湖北经济学院软件工程系2.2模块化(续3)模块化和软件成本软件开发的成本=各模块成本+模块集成的成本主讲教师包琼湖北经济学院软件工程系2.2模块化(续4)结论:不要过度模块化。因为,每个模块的简单性将被集成的复杂性所掩盖。主讲教师包琼湖北经济学院软件工程系2.3信息隐藏与局部化

信息隐藏与局部化信息隐藏:是指模块中包含的信息(算法和数据)不被不需要这些信息的其他模块访问。模块间只交流实现软件功能所必需的信息。局部化:是指把一些关系密切的软件元素物理的放得彼此接近。例如:在模块中使用局部数据元素就是局部化的一个例子通过信息隐藏可以定义和加强模块内的过程细节和模块所使用的任何局部数据结构的访问限制。主讲教师包琼湖北经济学院软件工程系2.3信息隐藏与局部化

(续1)采用信息隐藏原理指导模块设计的好处支持模块的并行开发可减少测试和后期维护的工作量。因为测试和维护阶段不可避免地要修改设计和代码,模块对于多数数据和过程处理细节的隐藏可以减少错误向外传播。整个系统欲扩充功能亦只需“插入”新模块,原有的多数模块无须改动。主讲教师包琼湖北经济学院软件工程系2.3信息隐藏与局部化

(续2)ClassJobQueue

{private:

int

queueLength;//作业队列的长度

intqueue[25];//队列可包含最多25个作业

public:

voidinitializeJobQueue()

{queueLength=0;//空作业队列的长度为0

};

voidaddJobQueue(int

jobNumber)

{//在作业队列的最后增加作业

queue[queueLength]=jobNumber;

queueLength=queueLength+1;

};

int

removeJobFromQueue()

{//略

};

}//ClassJobQueue

一个信息隐藏的例子主讲教师包琼湖北经济学院软件工程系2.4模块的独立性模块独立软件系统中每个模块只涉及软件要求的具体的子功能而和软件系统中其他的模块的接口是简单的。模块独立是抽象、模块化、信息隐藏和局部化的直接结果。主讲教师包琼湖北经济学院软件工程系2.4模块的独立性(续1)模块独立的重要性功能被划分,并且接口被简化,所以具有有效模块化的软件更易于开发由于因设计和编码修改引起的副作用受到局限,错误传播被减小,模块复用成为可能,所以独立的模块更易于维护和测试主讲教师包琼湖北经济学院软件工程系2.4模块的独立性(续2)模块的独立性的衡量标准耦合(coupling)模块之间的相对独立性的度量耦合的强弱取决于模块接口的复杂程度、调用模块的方式以及通过接口的信息。内聚(cohesion)一个模块内部各个元素彼此结合的紧密程度的度量独立性强的模块应该是高内聚低耦合的模块。主讲教师包琼湖北经济学院软件工程系2.4.1耦合为了突出好的耦合,各个级别按照从最差到最好的顺序进行描述原则:尽量使用数据耦合,少用控制耦合,限制使用公共耦合,坚决不用内容耦合内容耦合公共耦合控制耦合复合耦合数据耦合高低主讲教师包琼湖北经济学院软件工程系2.4.1耦合——内容耦合定义如果一个模块直接访问另一个模块的内部数据;或者一个模块不通过正常入口转到另一模块内部;或者两个模块有一部分程序代码重迭;或者一个模块有多个入口,则两个模块之间就发生了内容耦合。例如模块p修改模块q的一个语句根据模块q的内部用数字表示的转移,模块p引用模块q的局部数据模块p的分支转移到模块q的一个局部标号主讲教师包琼湖北经济学院软件工程系2.4.1耦合——公共耦合定义若一组模块都访问同一个公共数据环境,则它们之间的耦合就称为公共耦合(commoncoupling)。公共的数据环境可以是全局数据结构、共享的通信区、内存的公共覆盖区等。例如主讲教师包琼湖北经济学院软件工程系2.4.1耦合——公共耦合(续1)公共耦合存在的问题其中一个模块对数据的修改,将会影响所有的相关模块,另外由于无法控制各个模块对公共数据的存取,使软件的可靠性和可维护性较差。公共耦合的适用范围只有在模块之间共享的数据很多,且通过参数表传递不方便时,才使用公共耦合。主讲教师包琼湖北经济学院软件工程系2.4.1耦合——控制耦合定义如果一个模块传送给另一个模块的参数中包含了控制信息,该控制信息用于控制接收模块中的执行逻辑,则称为控制耦合(controlcoupling)。例如当把一个函数名作为参数传递给另一个模块时,实际上就控制了另一个模块的执行逻辑。控制开关Flag作为参数传递时的情况。如图所示。主讲教师包琼湖北经济学院软件工程系2.4.1耦合——控制耦合(续)控制耦合存在的问题控制模块(A)必须知道被控制模块(B)内部的一些逻辑关系,这些都会降低模块的独立性。主讲教师包琼湖北经济学院软件工程系2.4.1耦合——复合耦合定义两个模块之间通过参数表传递一个数据结构的一部分(如某一数据结构的子结构),就是复合耦合(stampcoupling),也称为标记耦合。例如:判断以下情况是否是复合耦合?Case1模块:转换矩阵(原始矩阵,已转换的矩)分析:在上述的调用中,把数据结构作为参数进行传递,但被调用的模块“转换矩阵”在数据结构的所有组件上进行操作,因此,不属于标记耦合。主讲教师包琼湖北经济学院软件工程系2.4.1耦合耦合——复合耦合(续1)Case2模块:计算扣除的工资(雇员记录)其中:雇员记录的结构(雇员号,姓名,工资,电话,住址,…)分析:对于“计算扣除的工资”模块,传递雇员的工资显然是最基本的,但是还传递了一些其他的无关的信息,例如:雇员的电话等。因此,上述的调用传递了比需要更多的信息。属于标记耦合。主讲教师包琼湖北经济学院软件工程系2.4.1耦合——复合耦合(续2)复合耦合存在的问题要求这些模块都必须清楚该记录的结构,并按结构要求对记录进行操作。由于传递了比需要的更多的数据,将出现对数据的访问无法控制的问题以及接踵而来的计算机犯罪问题主讲教师包琼湖北经济学院软件工程系2.4.1耦合——数据耦合定义一个模块传给另一个模块的参数是一个单个的数据项或单个数据项组成的数组,则称为数据耦合(datacoupling)。例如ModuleA

{…

Line(x0,y0,x1,y1);//从坐标(x0,y0)到(x1,y1)画直线

}主讲教师包琼湖北经济学院软件工程系2.4.2内聚为了理解什么构成了高内聚的模块,从较低的内聚级别开始讨论。弱内聚性强偶然型逻辑型瞬时型通信型顺序型功能型主讲教师包琼湖北经济学院软件工程系2.4.2内聚——偶然内聚定义将几个模块中没有明确表现出独立功能的相同程序代码段独立出来建立的模块称为偶然内聚,也称为巧合内聚。例如一个模块执行的活动如下打印下一行;

将输入参数的字符串反转;

计算一个数组的平均值。主讲教师包琼湖北经济学院软件工程系2.4.2内聚——逻辑内聚定义完成一组逻辑相关任务的模块,调用该模块时,由传送给模块的控制型参数来确定该模块应执行哪一种功能。称为逻辑内聚。例如CASE1:按如下方式调用的模块newOperation

func_code=7

newOperation(func_code,a,b,c);

//若func_code=7,则不使用变量a,b,c主讲教师包琼湖北经济学院软件工程系2.4.2内聚——逻辑内聚(续)CASE2:对主文件记录进行插入、删除和修改的编辑模块。被

块调用模块判定修改增加删除主讲教师包琼湖北经济学院软件工程系2.4.2内聚——瞬时内聚定义一个模块中的所有任务必须在同一时间段内执行,称为瞬时内聚。例如初始化模块和终止模块。例如有完成如下功能的初始化模块:

打开旧的主文件、新的主文件、事务文件;打印文件;

初始化销售地区表;主讲教师包琼湖北经济学院软件工程系2.4.2内聚——通信内聚定义模块的所有元素使用同一个输入数据和(或)产生同一个输出数据,则称为通信内聚。例如如下模块要完成两个处理,他们都使用相同的输入数据。按“配件编号”查询数据存储,获得“单价”按“配件编号”查询数据存储,获得“库存量”主讲教师包琼湖北经济学院软件工程系2.4.2内聚——顺序内聚定义一个模块完成多个任务,这些任务必须按指定的过程执行。一个模块的输出是另一个模块的输入。称为顺序内聚。例如从数据库读取零件号;然后根据零件号在维护文件中更新相关记录主讲教师包琼湖北经济学院软件工程系2.4.2内聚——功能内聚定义一个模块中各个部分都是为完成一项具体功能而协同工作,紧密联系,不可分割的,称为功能内聚。主讲教师包琼湖北经济学院软件工程系主要内容软件设计概述1软件设计的基本原则2总体设计3详细设计4案例分析5主讲教师包琼湖北经济学院软件工程系3总体设计总体设计的工具——软件结构图总体设计的原则体系结构设计的方法主讲教师包琼湖北经济学院软件工程系3.1总体设计的工具——软件结构图结构图的基本图形符号模块用矩形框表示,并用模块的名字标记它。计算每月利息计算月息打印出错信息计算月销售额以功能做模块名以功能的缩写做模块名已定义模块子程序(或过程)主讲教师包琼湖北经济学院软件工程系3.1总体设计的工具——软件结构图(续1)结构图的基本图形符号(续1)模块间的调用(见后)一般调用:箭头有条件的调用:菱形循环调用:弧形符号A被调用模块调用模块BDCBA主讲教师包琼湖北经济学院软件工程系3.1总体设计的工具——软件结构图(续2)结构图的基本图形符号(续2)模块间的数据通讯数据通讯控制通讯A查询学生成绩B查找学生记录学号查找成功信号记录

地址主讲教师包琼湖北经济学院软件工程系3.1总体设计的工具——软件结构图(续3)软件的层次结构图表示软件的系统结构,它是软件模块间关系的表示,均表示为层次关系。0层1层2层3层4层主讲教师包琼湖北经济学院软件工程系3.1总体设计的工具——软件结构图(续4)深度:顶层模块到最底层模块的层数宽度:层次结构中同一层模块的最大模块个数扇入:一个模块直接调用(或控制)的其它模块数目。扇出:调用(或控制)一个给定模块的模块个数。一个好的软件结构的形态准则是:

顶部宽度小,中部宽度最大,底部宽度次之;在结构顶部有较高的扇出数,在底部有较高的扇入数。主讲教师包琼湖北经济学院软件工程系3.2总体设计的原则在进行软件体系结构设计时,可以参考如下规则:改进软件结构提高模块独立性模块适当的深度、宽度、扇出和扇入模块判断作用范围应在其控制作用范围内控制范围—结构方面的特点,包括模块及其所有下属模块。作用范围—判断所涉及的模块,是从功能特点考虑的。主讲教师包琼湖北经济学院软件工程系3.2总体设计的原则(续)消除重复功能力争降低模块接口的复杂度设计单入口单出口的模块模块大小适当模块的扇入/扇出数不宜太多,通常顶层扇出比较高,中层扇出比较少,底层有高扇入主讲教师包琼湖北经济学院软件工程系3.3面向数据流的设计方法基本过程将结构化分析的结果(数据流图)映射成软件的体系结构(软件结构图)信息流变换流事务流将数据流图分为变换型数据流图和事务型数据流图,对应的映射分别称为变换分析和事务分析主讲教师包琼湖北经济学院软件工程系3.3.1变换流特征:数据流图可明显地分成输入、变换、输出三部分信息沿着输入路径进入系统,并将输入信息的外部形式经过编辑、格式转换、合法性检查、预处理等辅助性加工后变成内部形式内部形式的信息由变换中心进行处理然后沿着输出路径经过格式转换、组成物理块、缓冲处理等辅助性加工后变成输出信息送到系统外外部表示内部表示信息时间变换流输入流输出流主讲教师包琼湖北经济学院软件工程系3.3.1变换流(续1)变换型数据流图示例编辑检查计算格式2格式1格式3逻辑输入逻辑输出有效

数据已编辑

数据初始数据计算值1计算值2已格式化1预格式化已格式化2变换中心主讲教师包琼湖北经济学院软件工程系3.3.2事务流特征:数据流沿着输入路径到达一个事务中心,事务中心根据输入数据的类型在若干条动作路径中选择一条来执行事务中心的任务是:接收输入数据(即事务);分析每个事务的类型;根据事务类型选择执行一条动作路径动作路径事务中心输入路径T主讲教师包琼湖北经济学院软件工程系3.3.2事务流(续1)原配置

数据命令

类型读用户

命令判断

命令读系统

数据计算

统计输出结果读密码更新配置比较

密码校验

结果系统配置文件密码文件事务中心参数计算密码计算

结果四位

密码验证

结果路径1路径3路径2事务型流图转化成软件结构图主讲教师包琼湖北经济学院软件工程系3.3.3数据流图映射到结构图的步骤复审和精化数据流图确定数据流图的类型(变换型、事务型)将DFD映射成初始结构图:采用变换分析或事务分析技术,将DFD映射成初始结构图改进初始结构图主讲教师包琼湖北经济学院软件工程系3.3.4变换分析变换分析步骤划定输入流和输出流的边界,确定变换中心进行第一级分解:将DFD映射成变换型的程序结构图进行第二级分解:将DFD中的加工映射成结构图中的一个适当的模块标注输入输出信息:根据DFD,在初始结构图上标注模块之间传递的输入信息和输出信息主讲教师包琼湖北经济学院软件工程系变换流映射结果总控模块取得有效数据给出结果1计算格式化1给出结果2格式化2格式化3检验编辑主讲教师包琼湖北经济学院软件工程系3.3.5事务分析将事务型DFD映射成初始的结构图实例:银行业务中有存款、取款、查询余额、开户、转帐等多种事务,这种软件通常是接收一个事务,然后根据事务的类型执行一个事务处理的功能事务型的结构图如图所示,包括:主控模块:完成整个系统的功能接收模块:接收输入数据(事务)发送模块:根据输入事务的类型,选择一个动作路径控制模块动作路径控制模块:完成相应的动作路径所执行的子功能主讲教师包琼湖北经济学院软件工程系事务流映射结果读密码事务控制读用户命令判断命令密码验证校验结果比较密码配置更新计算统计输出结果更新配置文件读系统数据主讲教师包琼湖北经济学院软件工程系3.4初始结构图改进减少模块间的耦合度消除重复功能消除“管道”模块模块的大小适中避免高扇出应尽可能研究整张结构图,而不是只考虑其中的一部分高扇出时重新分解(a)高扇出(b)重新分解主讲教师包琼湖北经济学院软件工程系主要内容软件设计概述1软件设计的基本原则2总体设计3详细设计4案例分析5主讲教师包琼湖北经济学院软件工程系4详细设计详细设计的任务详细设计的工具详细设计规约详细设计评审的内容主讲教师包琼湖北经济学院软件工程系4.1详细设计的任务算法设计用图形、表格、语言等工具描述模块处理的详细算法数据结构设计对需求分析、总体设计阶段确定的概念性的数据类型进行确切的定义物理设计对数据库进行物理设计,即确定数据库的物理结构主讲教师包琼湖北经济学院软件工程系4.1详细设计的任务(续)其他设计代码设计输入输出格式设计人机对话设计编写详细设计说明书(格式参见模版)评审主讲教师包琼湖北经济学院软件工程系4.2详细设计的工具图形工具程序流程图盒图(NS图)PAD图表格工具判定表和判定树语言工具PDL语言主讲教师包琼湖北经济学院软件工程系4.2.1程序流程图程序流程图独立于任何一种程序设计语言,比较直观、清晰、易于学习掌握五种基本控制结构的表示主讲教师包琼湖北经济学院软件工程系4.2.1程序流程图(续1)主讲教师包琼湖北经济学院软件工程系4.2.1程序流程图(续2)优点对控制流程的描绘很直观,便于初学者掌握缺点程序流程图本质上不是逐步求精的好工具,它诱使程序员过早地考虑程序的控制流程,而不去考虑程序的全局结构。程序流程图中用箭头代表控制流,因此程序员不受约束,可以完全不顾结构程序设计的精神,随意转移控制。程序流程图不易表示数据结构主讲教师包琼湖北经济学院软件工程系4.2.2盒图(NS图)由Nassi和Shneiderman提出的一种符合结构化程序设计原则的图形描述工具。五种基本控制结构的表示主讲教师包琼湖北经济学院软件工程系4.2.2盒图(NS图)(续1)例如主讲教师包琼湖北经济学院软件工程系4.2.2盒图(NS图)(续2)特点功能域(即一个特定控制结构的作用域)明确,很容易从盒图上看出。不可能任意转移控制很容易确定局部和全程数据的作用域很容易表现嵌套关系,也可以表示模块的层次结构盒图没有箭头,不可以随意转移控制,不允许违背程序设计的原则主讲教师包琼湖北经济学院软件工程系4.2.3PAD图PAD是ProblemAnalysisDiagram的缩写,由程序流程图演化而来五种基本控制结构的表示主讲教师包琼湖北经济学院软件工程系4.2.3PAD图(续1)主讲教师包琼湖北经济学院软件工程系4.2.3PAD图(续2)特点使用PAD图设计的程序必然是结构化程序PAD图描绘的程序结构十分清晰。用PAD图表现程序逻辑,易读、易懂、易记。容易将PAD图转换成高级语言源程序PAD图既可用于表示程序逻辑,也可用于描绘数据结构。PAD图的符号支持自顶向下、逐步求精方法的使用。PAD图面向高级语言。主讲教师包琼湖北经济学院软件工程系4.2.4判定表与判定树当算法中包含多重嵌套的条件选择时,用程序流程图、盒图或PAD都不易清楚地描述。而判定表却能清晰地表达复杂的条件组合与应做动作之间的对应关系。判定树是判定表的一种变形,其本质一样。主讲教师包琼湖北经济学院软件工程系4.2.4判定表与判定树(续1)例1航空行李托运费的算法描述按规定: 重量不超过30kg的行李可以免费托运。 重量超过30kg时,对超运部分: 头等舱国内乘客收4元/kg; 其他舱位国内乘客收6元/kg; 国外乘客收费为国内乘客的两倍; 残疾乘客的收费为正常乘客的1/2。主讲教师包琼湖北经济学院软件工程系4.2.4判定表与判定树(续2)W<30kgW>30kg国内乘客头等舱残疾乘客免费(W-30)*4(W-30)*6(W-30)*8(W-30)*12(W-30)*2(W-30)*3请同学们自己将这张表填好主讲教师包琼湖北经济学院软件工程系4.2.4判定表与判定树(续3)例2为了适应判定表条件取值只能是“T”和“F”的情形,需将多分支判断改为两分支判断.主讲教师包琼湖北经济学院软件工程系4.2.4判定表与判定树(续4)判定表的优点能够简洁,无二义性地描述所有的处理规则。判定表的缺点判定表表示的是静态逻辑,是在某种条件取值组合情况下可能的结果,它不能表达加工的顺序,也不能表达循环结构。主讲教师包琼湖北经济学院软件工程系4.2.5设计性语言PDLPDL(ProgramDesignLanguage)是一种用于描述功能部件的算法设计和处理细节的语言,称为设计性语言。它是一种伪码。一般地,伪码的语法规则分为“外语法”和“内语法”外语法应当符合一般程序设计语言常用语句的语法规则;内语法可以用英语中一些简单的句子、短语和通用的数学符号,来描述程序应执行的功能主讲教师包琼湖北经济学院软件工程系4.2.5设计性语言PDL(续1)PROCEDUREspellcheckIS

查找错拼的单词

BEGIN

splitdocumentintosinglewords把整个文档分离成单词

lookupwordsindictionary

在字典中查这些单词

displaywordswhicharenotindictionary

显示字典中查不到的单词

createanewdictionary造一新字典

ENDspellcheck例如主讲教师包琼湖北经济学院软件工程系4.3软件设计规约Ⅰ.工作范围A.系统目标B.运行环境C.主要软件需求D.设计约束∕限制Ⅱ.体系结构设计A.数据流与控制流复审B.导出的程序结构C.功能与程序交叉索引Ⅲ.数据设计A.数据对象与形成的数据结构B.文件和数据库结构C.全局数据D.文件∕数据与程序交叉索引Ⅳ.接口设计A.人机界面规格说明B.人机界面设计规则C.外部接口设计D.内部接口设计规则主讲教师包琼湖北经济学院软件工程系4.3软件设计规约(续1)Ⅴ.各部件的过程设计A.处理与算法描述B.接口描述C.设计语言(或其它)描述D.使用的部件E.内部程序逻辑描述F.注释∕约束∕限制Ⅵ.运行设计A.运行部件组合B.运行控制规则C.运行时间安排Ⅶ.出错处理设计A.出错处理信息B.出错处理对策ⅰ设置后备ⅱ性能降级ⅲ恢复和再启动Ⅷ.安全保密

温馨提示

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

评论

0/150

提交评论