欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    需求分析任务.ppt

    • 资源ID:5667410       资源大小:403.04KB        全文页数:102页
    • 资源格式: PPT        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    需求分析任务.ppt

    2.4 需求分析-任务,一、需求分析的任务基本任务:准确地回答“系统必须做什么?”1.确定对系统的综合需求(1)系统功能要求(2)系统性能要求(3)运行要求(4)将来可能提出的要求2.分析系统的数据要求采用建立“概念模型”的方法,并辅助图形工具,如:层次方框图、Warnier图等。,2.4 需求分析-过程,3.导出系统的逻辑模型数据流程图、数据字典、主要算法4.修正系统开发计划5.开发原型系统二、分析过程1.沿数据流程图回溯从“输出端”到“输入端”回溯,分析数据元素。2.用户复查借助已有的数据流程图,帮助复查,再次完善数据流程图。,2.4 需求分析-过程,3.细化数据流程图4.修正开发计划5.书写文档系统规格说明:系统的概貌、功能要求、运行要求、将来可能的要求。数据要求:数据字典、图形工具(数据结构的层次图、Warnier图)用户系统描述:初步的用户手册修正的开发计划,2.4 需求分析-过程,分析追踪数据流程图,用户复查,细化数据流程图,有补充修正,无补充修正,需要分解,不需分解,需求分析的基本过程,2.4 需求分析-概念模型和规范化,三、概念模型和规范化1.概念模型最常用的表示概念性数据模型的方法:实体联系方法(Entity-Relationship Approach),简称E-R模型。E-R模型包含三个基本成分:“实体”、“联系”、“属性”(1)实体:是客观世界中存在的、且可相互区分的事物。它可以是人或物,也可以是具体事物或抽象事物。例如:教师、学生、课程是实体。,2.4 需求分析-概念模型和规范化,实体用矩形框表示,如:,教师,(2)联系:客观世界中的事物彼此之间有联系,描述实体与实体之间的关系。联系有三种:1:1(一对一联系)例如:实体“校长”与“大学”之间的联系为“1:1”1:N(一对多联系)例如:实体“学校”与“院系”之间的联系为“1:N”M:N(多对多联系)例如:实体“学生”与“课程”之间的联系为“M:N”联系用菱形框表示,如:,2.4 需求分析-概念模型和规范化,(3)属性:属性是实体或联系所具有的性质。通常一个实体或联系由若干属性来刻画。,教师,学生,课程,教,学,1,N,M,N,成绩,2.4 需求分析-概念模型和规范化,2.范式第一范式每个属性值都必须是原子值,即仅仅是一个简单值而不含内部结构。第二范式满足第一范式条件,而且每个非关键字属性都由整个关键字决定(而不是由关键字的一部分来决定)。第三范式符合第二范式的条件,每个非关键字属性都仅由关键字决定,而且一个非关键字属性不能仅仅是对另一个非关键字属性的进一步描述(即一个非关键字属性值不依赖于另一个非关键字属性值)一般使用第三范式,避免第三范式,2.4 需求分析-图形工具,四、图形工具1.层次方框图层次方框图用树形结构的一系列多层次的矩形框描绘数据的层次结构。树形结构的顶层是一个单独的矩形框,它表达完整的数据结构,下面的各层矩形框代表这个数据的子集,最底层的各个框代表组成这个数据的实际数据元素(不能再分解的元素)例如:P46页 图3-3,2.4 需求分析-图形工具,2.Warnier图Warnier图也用树形结构描绘信息,且更丰富,能表达逻辑关系。例如:P46页 图3.4,2.4 需求分析-图形工具,3.IPO图IPO图是输入/处理/输出图的简称,能够方便地描述输入数据、对数据的处理和输出数据之间的关系。基本形式是在左边的框中列出有关的输入数据,在中间的框内列出主要的处理,在右边的框内列出产生的输出数据。例如:P47页 图3.5、图3.6,2.4 需求分析,五、验证软件需求1.验证软件需求的四个方面一致性完整性现实性有效性2.验证软件需求的方法3.验证软件需求的软件工具,2.4 需求分析,六、软件需求说明书(P15)引言任务概述需求规定运行环境规定,2.5 总体设计-过程,一、总体设计的过程1.设想供选择的方案在数据流程图的基础上,一个边界一个边界设想并列出供选择的方案。不评价这些供选择的方案,2.5 总体设计-过程,2.选取合理的方案从上一步得到的一系列供选择的方案中选取若干个合理的方案,通常至少选取低成本、中等成本和高成本的三种方案。根据系统分析确定的目标,来判断哪些方案是合理的。,2.5 总体设计-过程,3.推荐最佳方案综合分析对比各种合理方案的利弊,推荐一个最佳的方案,并为最佳方案制定详细的实现计划。,2.5 总体设计-过程,4.功能分解对流程图进一步细化,进行功能分解,2.5 总体设计-过程,5.设计软件结构软件结构反映系统中模块的相互调用关系:顶层模块调用它的下层模块以实现程序的完整功能,每个下层模块再调用更下层的模块,最下层的模块完成最具体的功能。软件结构通过层次图或结构图来描绘,可以直接从数据流程图映射出软件结构。,2.5 总体设计-过程,6.数据库设计,2.5 总体设计-过程,7.制定测试计划,2.5 总体设计-过程,8.书写文档文档包括:系统说明用户手册测试计划详细的实现计划数据库设计结果,2.5 总体设计-过程,9.审查和复审先技术审查后管理审查,2.5 总体设计-模块,二、模块的概念1.定义具有四种属性的一组程序语句称为一个模块,四种属性:输入/输出、逻辑功能、运行程序、内部数据。前两个属性又称为外部属性,后两个属性又称为内部属性。(1)一个模块的输入/输出都是指同一个调用者。(2)模块的逻辑功能是指模块能够做什么事,表达了模块把输入转换成输出的功能,可以是单纯的输入/输出功能。(3)模块的运行程序指模块如何用程序实现其逻辑功能。,2.5 总体设计-模块,(4)模块的数据指属于模块自己的数据。2.属性外部属性:输入/输出、逻辑功能内部属性:运行程序、内部数据在结构化系统设计中。人们主要关心的是模块的外部属性,至于内部属性,将在系统实施工作中完成3.大小模块有大有小,它可以是一个程序,也可以是程序中的一个程序段或者一个子程序。,2.5 总体设计-模块,4.理想模块(黑箱模块)理想模块的特点:(1)每个理想模块只解决一个问题。(2)每个理想模块的功能都应该明确,使人容易理解。(3)理想模块之间的联结关系简单,具有独立性。(4)由理想模块构成的系统,容易使人理解,易于编程,易于测试,易于修改和维护。对用户来说,其感兴趣是模块的功能,而不必去理解模块内部的结构和原理。,2.5 总体设计-模块,5.模块的理论根据设函数C(x)定义问题x的复杂程度,函数E(x)确定解决问题x需要的工作量。对于两个问题P1和P2,如果:C(P1)C(P2),则显然有:E(P1)E(P2)根据人类解决一般问题的经验,有:C(P1+P2)C(P1)+C(P2)进而获得:E(P1+P2)E(P1)+E(P2),2.5 总体设计-模块,6.模块的图形及符号(1)模块的图形:用矩形表示。模块的名称写在方框内,由一个动词和一个作为宾语的名词组成。例如:,修改库存,(2)模块间通讯的图形模块间通讯有两种:数据通讯、控制通讯。数据通讯是一个数据流,它表示了一个经过处理的数据从一个模块传向另一个模块。,2.5 总体设计-模块,控制通讯,只传送一个标志,该标志只表达了处理工作的某种状态,而不是由被发送模块真正进行过处理的数据。,A,B,模块间的联结,获得配件库存量,读库存记录,模块间的通讯,配件编号,库存量,无此配件,2.5 总体设计-模块,(3)模块间判断调用的图形一个模块是否调用某一个从属模块,依赖于调用模块中判断的条件。如果条件成立,则产生调用命令。,A,B,C,D,2.5 总体设计-模块,(4)模块间循环调用的图形指一个模块需要循环调用某一个或若干个从属模块。,A,C,2.5 总体设计-模块,7.模块设计的基本原则模块设计的基本原则:降低系统中模块之间的联结程度,提高每个模块的独立性、聚合度。(1)模块间的联结两个模块之间的联结有五种形式,按照联结程度由低到高排列为:数据联结、特征联结、控制联结、公共联结、内容联结。,2.5 总体设计-模块,A.数据联结如果两个模块间的通讯信息是若干参数,其中每一个参数都是一个数据元素,称这种联结为数据联结。这是模块之间影响最小的联结关系。,开发货单,计算金额,单价,数量,金额,2.5 总体设计-模块,B.特征联结如果两个模块都与同一个数据结构有关,则称为特征联结。,计算水费和电费,计算水费,计算电费,住户详情,水费,住户详情,电费,模块之间的特征联结,2.5 总体设计-模块,住户详情数据结构中包括“本月用水量”、“本月用电量”。上面的“特征联结”图可改进为下面“数据联结”图。,计算水量和电费,计算水费,计算电费,水费,电费,本月用水量,本月用电量,模块之间的数据联结,2.5 总体设计-模块,C.控制联结如果模块A向模块B所传递的信息控制了模块B的内部逻辑,那么A和B之间的联结称为控制联结。控制信息可以看作是一个开关量,它传递了一个控制信息或状态的标志。控制信息不同于数据信息,数据信息一般通过处理过程处理被处理的数据,而控制信息则是控制处理过程中的某些参数。,2.5 总体设计-模块,当要查找的库存编号找不到时,经上级模块反馈一个控制信息,要求上级模块打印“无此库存记录”错误信息。,获得库存记录,检索库存记录,库存编号,库存量,打印“无此库存记录”错误信息,2.5 总体设计-模块,D.公共联结如果两个模块都和同一个公共数据域有关,则称为公共联结。公用联结是一种不良的联结关系,它给模块的维护和修改带来困难。如公共数据要作修改,很难判定有多少模块应用了该公共数据,故在模块设计时,一般不允许有公共联结关系的模块存在。,A,B,C,公用数据,2.5 总体设计-模块,E.内容联结(病态联结)如果一个模块和另一个模块的内部属性(即运行程序和内部数据)有关,则称为内部联结。例如:模块A中TRC:模块B中GO TO TRC模块A与模块B存在内容联结,这是一种最坏的联结。,2.5 总体设计-模块,设计模块时,应以数据联结为主,辅以特征联结与控制联结,消除公共联结和内容联结。,2.5 总体设计-模块,(2)模块的聚合模块的聚合是指一个模块内部的各个组成部分的紧凑性,其处理动作的组合强度。聚合的七种形式:A.功能聚合如果一个模块内部的各组成部分的处理动作全都为执行同一个功能而存在,并且只执行一个功能,则称为功能聚合。判断一个模块是不是功能聚合,只要看这个模块是“做什么”,是完成一个具体的任务,还是完成多任务。,2.5 总体设计-模块,B.顺序聚合如果一个模块内部的各个组成部分执行的几个处理动作有这样的特征:前一个处理动作所产生的输出数据是后一个处理动作的输入数据,称为顺序聚合。顺序聚合维护起来不如功能聚合方便,要修改模块中的一个功能,会影响到同一个模块中的其他功能。,A,B,C,功能1,功能2,2.5 总体设计-模块,C.通讯聚合如果一个模块内各组成部分的处理动作都使用相同的输入数据或相同的输出数据,称为通讯聚合。,获得配件单价和库存量,配件编号,库存量,单价,两个工作:1.按配件编号查询“数据存储”,获得单价。2.按配件编号查询“数据存储”,获得库存量。,这两个处理动作都使用相同的输入数据,称为通讯聚合。,2.5 总体设计-模块,D.过程聚合如果一个模块内部的各个组成部分的处理动作各不相同,彼此也没有联系,但他们都受同一个控制流支配,决定他们的执行次序,称为过程聚合。,循环体,计算累积,事务记录,累积销售额,累积订货量,通过循环体,计算两种累积数。,2.5 总体设计-模块,E.暂时聚合如果一个模块内的各组成部分的处理动作和时间有关,则称为暂时聚合。暂时聚合模块的处理动作必须在特定的时间内完成。例如:程序设计中的初始化模块。,2.5 总体设计-模块,F.逻辑聚合如果一个模块内部的各组成部分的处理动作在逻辑上相似,但功能都彼此不同或无关,则称为逻辑聚合。一个逻辑聚合模块往往包括若干个逻辑相似的动作,使用时可以选用一个或几个功能。例如:把编辑各种输入数据的功能放在一个模块中。,2.5 总体设计-模块,G.机械聚合如果一个模块的内部各组成部分的处理动作彼此没有任何联系,则称为机械聚合。,2.5 总体设计-模块,模块聚合性的判断,该模块只能执行一个功能吗?,功能聚合,模块内各组成部分的关系如何?,是,否,次序重要吗?,次序重要吗?,逻辑相似吗?,数据流,控制流,两者都不是,是,是,是,否,否,否,顺序聚合,通讯聚合,过程聚合,暂时聚合,逻辑聚合,机械聚合,2.5 总体设计-模块,七种聚合模块的性能比较,2.5 总体设计-模块,8.模块设计的其他原则(1)模块的分解分解是指把一个模块分解成若干个从属于它的下层模块。一般按功能分解,分解到成为一个小的功能单一的模块为止。一般一个模块内包含的语句在3050条左右较好(指高级语言)。,2.5 总体设计-模块,(2)模块的扇出和扇入模块的扇出指一个模块拥有的直属下级模块的个数,一般扇出数控制在7以内。模块的扇入是指一个模块的直接上级模块的个数。在设计中,扇入系数大,说明模块分解得好,通用性强,冗余度低。,2.5 总体设计-模块,(3)模块的控制范围和判断作用范围模块的控制范围:本身及其所有下级模块。模块的判断作用范围:被判断调用的模块。原则:A.对于任何一个内部存在判断调用的模块,它的判断作用的范围应该是其控制范围的一个子集。B.存在判断调用的模块,所在层次不要与那些属于判断作用范围的模块所在的层次相隔太远。,2.5 总体设计-模块,A,B,C,D,E,F,G,模块G中有一条判断调用D的语句,违反第1条原则,2.5 总体设计-模块,A,B,C,D,E,F,G,违反第2条原则,2.5 总体设计-模块,A,B,C,D,E,F,G,违反第2条原则,2.5 总体设计-模块,A,B,C,D,E,F,G,正确,2.5 总体设计-模块,(4)力争降低模块接口的复杂程度模块接口复杂是软件发生错误的一个主要原因。应该仔细设计模块接口,使得信息传递简单并且和模块的功能一致。接口复杂或不一致(即看起来传递的数据之间没有联系),是紧联结或低聚合的征兆,应该重新分析这个模块的独立性。(5)设计单入口单出口的模块,2.5 总体设计-模块,(6)模块功能应该可以预测模块的功能应该能够预测,但也要防止模块功能过分局限。,2.5 总体设计-面向数据流的设计方法,三、面向数据流的设计方法(一)概念1.变换流2.事务流3.设计过程,2.5 总体设计-面向数据流的设计方法,1.变换流,外部表示,内部表示,信息,输入流,输出流,变换流,信息流,时间,参看图形,信息沿输入通路进入系统,同时由外部形式变换成内部形式,进入系统的信息通过变换中心,经过加工处理以后再沿输出通路变换成外部形式离开软件系统。当数据流具有这些特征时,这种信息流称为变化流。,2.5 总体设计-面向数据流的设计方法,2.事务流,T,事务,事务中心,数据沿输入通路到达一个处理T,这个处理根据输入数据的类型在若干个动作序列中选出一个来执行。这种“以事务为中心的”的数据流,成为“事务流”。,处理T称为事务中心,完成以下任务:接收输入数据;分析每个事务以确定它的类型;根据事务类型选取一条活动通路。,精化数据流程图,流类型,区分事务中心和数据接收通路,区分输入和输出分支,映射成事务结构,映射成变换结构,运用模块设计规则,精化软件结构,导出接口描述和全程数据结构,复查,详细设计,事务分析,变换分析,事务,变换,面向数据流的设计过程,2.5 总体设计-面向数据流的设计方法,(二)变换分析1.复查基本系统模型复查的目的是确保系统的输入数据和输出数据符合实际。2.复查并精华数据流程图3.确定数据流程图具有变换特性还是事务特性只有当遇到有明显事务特性的信息流时,才采用事务分析方法,否则,一般都认为是变换流,采用变换分析的方法。,2.5 总体设计-面向数据流的设计方法,4.确定输入流和输出流的边界,从而孤立出变换中心(1)检查“输入流”的边界从输入的数据源开始,沿着每一个由数据源传入的数据流的移动方向进行跟踪分析,逐个分析它所经过的处理逻辑功能。如果仅是传入的数据流作形式上的转换,逻辑上没有进行实际的数据处理功能,则这些处理逻辑属于系统的“输入处理部分”。顺着传入的数据流的移动方向,一直跟踪到它被真正地处理为止。,2.5 总体设计-面向数据流的设计方法,(2)检查“输出流”的边界从输出结果的地方开始,逆着每一个传递出去的数据流,由外向里反方向跟踪,逐个分析它的处理逻辑功能,一直反方向跟踪到它被真正地产生出来为止。(3)得到变换中心根据前两步的分析结果,画出一个闭环界线,在界线以内的就是变换中心。,2.5 总体设计-面向数据流的设计方法,5.完成“第一级分解”,Cm,Ca,Ct,Ce,第一级分解的方法,2.5 总体设计-面向数据流的设计方法,控制模块Cm是抽象出来的,它位于软件结构最顶层,协调控制下属模块。输入信息处理控制模块Ca,协调对所有输入数据的接收。变换中心控制模块Ct,管理对内部形式的数据的所有操作。输出信息处理控制模块Ce,协调输出信息的产生过程。,2.5 总体设计-面向数据流的设计方法,6.完成“第二级分解”所谓第二级分解就是把数据流程图中的每个处理映射成软件结构中一个适当的模块。完成第二级分解的方法是,从变换中心的边界开始沿着输入通路向外移动,把输入通路中每个处理逻辑映射成软件结构中Ca控制下的一个低层模块;然后沿输出通路向外移动,把输入通路中每个处理逻辑映射成直接或间接受模块Ce控制的一个低层模块;最后把变换中心内的每个处理映射成受Ct控制的一个模块。,2.5 总体设计-面向数据流的设计方法,A,D,C,B,Cm,Ca,C,B,D,A,第二级分解的方法,2.5 总体设计-面向数据流的设计方法,7.使用模块的设计原则,对第一次分割得到的软件结构进一步精化。为了得到一个易于实现、易于测试和易于维护的软件结构,根据软件设计的基本原则和其它启发性原则,对初步分割得到的模块进行再分解或合并。,2.5 总体设计-面向数据流的设计方法,(三)事务分析事务分析的设计步骤和变换分析的设计步骤大部分相同或类似,主要差别仅在由数据流程图到软件结构的映射方法不同。由事务流映射成的软件结构包括一个接收分支和一个发送分支。映射出接收分支结构的方法和变换分析映射出输入结构的方法相似,即从事务中心的边界开始,把沿着接收流通路的处理逻辑映射成模块。发送分支的结构包含一个调度模块,它控制下层的所有活动模块;然后把数据流程图中的每一个活动流通路映射成与它的特征相对应的结构。,总控,调度,A_CTL,B_CTL,C_CTL,接收通路,C通路,B通路,A通路,事务分析的映射方法,2.5 总体设计-面向数据流的设计方法,(四)总结对于一个大系统,常常把变换分析和事务分析应用到同一个数据流程图的不同部分,由此得到的子结构形成“构件”,可以利用它们构造完整的软件结构。一般说来,如果数据流不具有显著的事务特点,最后使用变换分析;反之,如果具有明显的事务中心,则应该采用事务分析技术。,2.5 总体设计-总体设计说明书,四、总体设计说明书引言总体设计接口设计运行设计系统数据结构设计系统出错处理设计,2.6详细设计-基本任务,一、基本任务回答的关键问题:“怎样具体地实现这个系统”主要任务是设计出程序的“蓝图”,供程序员日后根据这个蓝图编写出实际的程序代码。注意:设计程序的蓝图,不是具体地编写程序。设计程序主要采用结构化的程序设计方法。,2.6详细设计-基本步骤,二、基本步骤确定模块如何实现编写详细设计说明书制定单元测试计划详细设计评审,2.6详细设计-结构程序设计,三、结构程序设计1.什么是结构程序设计结构程序设计是一种设计程序的技术,它采用自顶向下逐步求精的设计方法和单入口单出口的控制结构。,2.6详细设计-结构程序设计,三种基本的控制结构,A,B,exp,B,A,F,T,exp,A,T,F,exp,A,F,T,2.6详细设计-结构程序设计,2.逐步求精的含义详细设计阶段逐步求精的含义:把一个模块的功能逐步分解细化为一系列具体的处理步骤或某种高级语言的语句。总体设计阶段逐步求精的含义:把一个复杂问题的解法分解和细化成一个由许多模块组成的层次结构的软件系统。,2.6详细设计-结构程序设计,3.结构程序设计技术的优越性(1)自顶向下逐步求精的方法符合人类解决复杂问题的普遍规律,因此可以显著提高软件开发工程的成功率和生产率。(2)用先全局后局部、先整体后细节、先抽象后具体的逐步求精过程开发出的程序有清晰的层次结构,因此容易阅读和理解。(3)不使用GO TO语句仅使用单入口单出口的控制结构,使得程序的静态结构和它的动态执行情况比较一致,易于阅读和理解。,2.6详细设计-结构程序设计,(4)控制结构有确定的逻辑模式,编写程序代码只限于很少几种直截了当的方式,因此源程序清晰流畅。(5)程序清晰和模块化使得在修改和重新设计一个软件时可以重用的代码量最大。(6)程序的逻辑结构清晰,有利于程序正确性证明。,2.6详细设计-详细设计的工具,四、详细设计的工具(含义、图例、评价)1.程序流程图2.盒图(NS图)3.PAD图4.判定表5.判定树6.过程设计语言(PDL)7.模块开发文件夹,2.6详细设计-详细设计的工具,1.程序流程图(1)程序流程图又称为程序框图,是早期软件设计的主要工具。(2)优点:对控制流程的描绘很直观,便于初学者掌握。(3)缺点:程序流程图本质上不是逐步求精的好工具,它诱使程序员过早地考虑程序的控制流程,而不去考虑程序的全局结构。,2.6详细设计-详细设计的工具,程序流程图中用箭头代表控制流,因此程序员不受约束,可以完全不顾结构程序设计的精神,随意转移控制。程序流程图不易表示数据结构。,2.6详细设计-详细设计的工具,2.盒图(N_S图)盒图由Nassi和Shneiderman提出,又称为N_S图,它有以下特点:(1)功能域(即一个特定控制结构的作用域)明确,很容易从盒图上看出。(2)不可能任意转移控制(3)很容易确定局部和全程数据的作用域(4)很容易表现嵌套关系,也可以表示模块的层次结构(5)盒图没有箭头,不可以随意转移控制,不允许违背程序设计的原则。,2.6详细设计-详细设计的工具,3.PAD图PAD图由日本日立公司在1973年发明,它用二维树型结构的图来表示程序的控制流,比较容易翻译成程序代码。主要特点:(1)使用PAD图设计的程序必然是结构化程序(2)PAD图描绘的程序结构十分清晰。(3)用PAD图表现程序逻辑,易读、易懂、易记。(4)容易将PAD图转换成高级语言源程序,2.6详细设计-详细设计的工具,(5)PAD图既可用于表示程序逻辑,也可用于描绘数据结构。(6)PAD图的符号支持自顶向下、逐步求精方法的使用。(7)PAD图面向高级语言。,2.6详细设计-详细设计的工具,4.判定表判定表能够清晰地表示复杂的条件组合与应做的动作之间的对应关系,而其它的工具不易表示。一张判定表由四部分组成,左上部列出所有条件,左下部是所有可能做的动作,右上部是表示各种条件组合的一个矩阵,右下部是和每种条件组合相对应的动作。判定表的每一列实质上是一条规则,规定了与特定的条件组合相对应的动作。,2.6详细设计-详细设计的工具,5.判定树判定树是判定表的变种,也能清晰地表示复杂的条件组合与应做的动作之间的对应关系。优点:形式简单,不需任何说明,易看出含义,易于掌握和使用。缺点:简洁性不如判定表,相同的数据元素往往要重复写多遍,而且越接近树的叶端重复次数越多。,2.6详细设计-详细设计的工具,6.过程设计语言PDLPDL也称为伪码,是用正文形式表示数据和处理过程的设计工具。PDL具有严格的关键字外部语法,用于定义控制结构和数据结构;另一方面,PDL表示实际操作和条件的内部语法通常又是灵活自由的,以便可以适应各种工程项目的需要。,2.6详细设计-详细设计说明书,五、详细设计说明书引言程序系统的组织结构关键程序的设计说明,2.7编码-程序设计概述,一、程序设计概述1.50年代用机器指令代码进行手工编写程序当时程序设计是繁杂而又仔细的劳动,重复0与1,后期逐渐被用符号指令的汇编程序代替。当时评价程序的好坏是指令条数少,运行速度快,存储单元少。,2.7编码-程序设计概述,2.60年代初,第一个高级语言Fortran的出现,大大简化了程序设计。用高级语言编写程序,基本与机器无关,可集中精力于算法本身。随着计算机的应用推广而渗透到各学科和技术领域,一系列不同程序风格和不同服务对象的专用语言和通用语言大量出现,至今已有1000多种。,2.7编码-程序设计概述,3.70年代初期,大型软件(如操作系统、数据库)的出现,给程序设计带来了新的问题。如花费大量的资金和人力编制程序,还有产品的可靠性、维护、修改和移植等,形成软件危机。例:IBM公司的OS/360系统,花费了几千人年的努力,历尽艰辛,但结果令人失望。OS/360系统的负责人Brooks生动地描述了研制过程中的困难和混乱:“象巨兽在泥潭中作垂死挣扎,挣扎得越猛,泥浆就沾得越多,最后没有一个野兽能逃脱淹没在泥潭中得命运程序设计就象这样一个泥潭一批批程序员在泥潭中挣扎没有人料到问题竟会这样”,2.7编码-程序设计概述,4.从60年代末开始,出现了许多程序设计的方法,比较成功或流行的有:结构化的程序设计、逐步求精的程序设计、程序的推导技术、程序变换技术、面向对象的程序设计。如果说70年代、80年代是“结构化的程序设计”年代,那么90年代则是“面向对象的程序设计”的天下。,2.7编码-程序设计概述,总之,软件的发展大体上经历了三个阶段:程序设计阶段、软件阶段、软件工程阶段。在当今软件工程时代,软件不再是建立在个别人“手艺”基础上的、个体或“作坊”生产的“工艺品”,而是以工程的方式批量生产的产品。,2.7 编码-程序设计语言,二、程序设计语言1.分类,机器语言,汇编语言,高级语言,语言,2.7 编码-程序设计语言,高级语言,从应用特点分,从内在特点分,基础语言,如BASIC,结构化语言,如PASCAL、C,专用语言,如APL,系统实现语言,如C,静态高级语言,如COBOL,块结构高级语言,如PASCAL,动态高级语言,不属于通用语言,2.7 编码-程序设计语言,2.特点名字说明类型说明初始化程序对象的局部性程序模块控制结构:顺序、分支、循环异常处理独立编译,2.7 编码-程序设计途径,三、程序设计途径1.写程序的风格程序内部的文档:恰当的标识符、适当的注释和程序的视觉组织等。数据说明语句构造:原则是每个语句都应该简单而直接,并注意以下规则:不要为了节省空间而把多个语句写在同一行。尽量避免复杂的条件测试尽量减少对“非”条件的测试避免大量使用循环嵌套和条件嵌套利用括号使逻辑表达式或算术表达式的运算次序清晰直观。,2.7 编码-程序设计途径,输入/输出:好的设计原则:(1)对所有输入数据进行检验(2)检查输入项重要组合的合法性(3)保持输入格式简单(4)使用数据结束标记,不要要求用户指定数据的数目(5)明确提示交互式输入的请求,详细说明可用的选择或边界数值(6)当程序设计语言对格式有严格要求时,应保持输入格式一致(7)设计良好的输出报表(8)给所有输出数据加标志。,2.7 编码-程序设计途径,效率:主要指处理机时间和存储器容量两个方面。提高程序运行时间的原则:(1)写程序之前先简化算术的和逻辑的表达式(2)仔细研究嵌套的循环,以确定是否有语句可以从内层往外移(3)尽量避免使用多维数组(4)尽量避免使用指针和复杂的表(5)使用执行时间短的算术运算(6)不要混合使用不同的数据类型(7)尽量使用整数运算和布尔表达式存储效率输入/输出的效率,2.7 编码-程序设计途径,2.程序设计方法论自顶向下的程序设计方法自底向上的程序设计方法3.程序设计自动化4.程序设计工具,

    注意事项

    本文(需求分析任务.ppt)为本站会员(sccc)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开