欢迎来到天天文库
浏览记录
ID:57036193
大小:1.25 MB
页数:86页
时间:2020-07-27
《软件设计(详细设计)课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第三章软件设计(详细设计)实用软件工程第3章软件设计软件设计通常分为两个阶段:总体设计阶段和详细设计阶段。总体设计详细设计3.1软件设计的基本任务详细设计的基本任务详细设计是总体设计的进一步的具体化,主要确定每个模块的具体执行过程,故也称为过程设计。其基本任务有:(1).为每个模块进行详细的算法设计。(2).为模块内的数据结构进行设计。(3).对数据库进行物理设计。(4).界面设计。(5).编写文档(6).评审第6章:详细设计确定如何具体实现所要求的系统。不是具体编写程序,而是设计程序的“蓝图”。详细设计的结果决定最终
2、程序代码的质量。不仅在逻辑上正确地实现每个模块的功能,更重要的设计出的处理过程应该尽可能简明易懂。3.4.1详细设计的目标:3.4详细设计3.4.2结构程序设计:一种设计程序的技术,它采用自顶向下逐步求精的设计方法和单入口单出口的控制结构。3.4详细设计使用结构程序设计技术的好处:1)提高软件开发工程的成功率和生产率;2)系统有清晰的层次结构,容易阅读理解;3)单入口单出口的控制结构,容易诊断纠正;4)模块化可以使得软件可以重用;5)程序逻辑结构清晰,有利于程序正确性证明。3.4详细设计经典的结构程序设计:只允许使用顺序
3、、IF_THEN_ELSE选择和DO_WHILE循环;扩展的结构程序设计:除了三种基本控制结构,还使用DO_CASE和DO_UNTIL循环;修正的结构程序设计:除了三种基本控制结构和两种扩充结构,还使用BREAK等结构。1)顺序结构:相当于“A、B”3.4.3三种基本控制结构AB(a)顺序结构2)选择结构相当于“IfexpthenAelseBendif”ABexp(b)选择结构3)循环结构:相当于“WhileexpdoA”A(c)循环结构exp1)多分支结构相当于“CaseIofI=1:C1;I=2:C2;I=3:C3;
4、…;I=n:Cn”3.扩充两种控制结构CnC3C1C2(d)多分支结构I=?…2)UNTIL循环结构相当于“RepeatAUntilexp”A(e)UNTIL循环exp(1)程序流程图程序流程图:是一种描述程序的控制结构流程和指令执行情况的有向图。历史悠久、使用广泛、直观描绘控制流程、便于初学者掌握。3.4.4详细设计时使用的工具ASP检索程序流程图:记录集末端?记数变量加1,输出记录字段值及图像转跳下一记录关闭数据库链接对象、记录集对象,并释放资源输出记录数和提示结束YN开始加载Include文件定义记数变量、作物变量
5、创建数据库链接对象、记录集对象打开数据库用客户提交的值对作物变量赋值SQL查询语句赋值通过记录集对象打开SQL语句设定的记录2)程序流程图中用箭头代表控制流,因此程序员不受任何约束,可以完全不顾结构程序设计的精神,随意转移控制。3)程序流程图不易表示数据结构。程序流程图的缺点:1)程序流程图本质上不是逐步求精的好工具,它诱使程序员过早地考虑程序的控制流程,而不去考虑程序的全局结构。由Nassi和Shneiderman开发了另一种图形化设计工具,它的目标是保证结构化程序设计,这种图形工具叫做盒状图,或称为N—S图。盒图的特
6、点:(1)功能域(即一个特定控制结构的作用域)明确,很容易从盒图上看出。(2)不可能任意转移控制(3)很容易确定局部和全程数据的作用域(4)很容易表现嵌套关系,也可以表示模块的层次结构(5)盒图没有箭头,不可以随意转移控制,不允许违背程序设计的原则。(2)盒图(N-S图)盒图(N-S图)在NS图中,每个“处理步骤”是用一个盒子表示的,所谓“处理步骤”可以是语句或语句序列。需要时,盒子中还可以嵌套另一个盒子,嵌套深度一般没有限制,只要整张图在一页纸上能容纳得下,由于只能从上边进入盒子然后从下边走出,除此之外没有其他的入口和
7、出口,所以,NS图限制了随意的控制转移,保证了程序的良好结构。盒图(N-S图)ABC条件FTElseBThenACase条件Case1ACase2B…CasenN循环条件循环条件Do-While部分Do-Until部分Aa.顺序结构b.选择结构c.多分支结构d.当型循环结构e.直到型循环结构f.调用子程序A图3.4盒图的基本符号FTBCDACase1E2F3G4HA:盒图例子PAD(ProblemAnalysisDiagram)是问题分析图。日立公司发明和推广(1973)。(3)PAD图P1P2WHILECUNTILCP
8、PP2P1CP1P2Pn…X=L1L2Lndefa.顺序结构b.当型循环结构c.直到型循环结构d.选择结构e.多分支结构f.语句标号g.定义PAD图的基本符号例子:例子:P1P2UNTILC2P7P4P3Cdefa.初始的PAD图PAD图例子b.使用def符号细化处理框P2P5P2P8C1UNTILC2P9P10P6
此文档下载收益归作者所有