软件需求分析与建模课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《软件需求分析与建模课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 需求 分析 建模 课件
- 资源描述:
-
1、结构化详细设计的结构和特点结构化详细设计工具人机交互界面设计数据库设计编码实现详细设计就是在概要设计的基础上决定如何具体实现各模块的内部细节,直到对系统中的每个模块给出足够详细的过程描述。在编码实现阶段就可以完全按照详细设计的细节过程来映射到代码,最终实现整个系统。一般使用结构化程序设计工具来描述结构化详细设计也称为结构化程序设计。结构化程序设计的理念是在20世纪60年代,由Dijkstra等人提出并加以完善的。结构化的程序一般只需要用三种基本的逻辑结构就能实现。这三种基本逻辑结构是顺序结构、选择结构和循环结构。结构化程序设计是一种设计程序的技术,它采用自顶向下逐步求精的设计方法和单入口单出口
2、的控制结构。三种基本结构顺序结构选择结构循环结构 A B a.顺序 exp B A b.if-then-else 选择 exp A c.do-while 循环 或 exp A T F F T 自顶向下逐步求精的方法符合人类解决复杂问题的普遍规律,因此可以显著提高软件开发工程的成功率和生产率。用先全局后局部、先整体后细节、先抽象后具体的逐步求精过程开发出的程序有清晰的层次结构,因此容易阅读和理解。不使用GOTO语句仅使用单入口单出口的控制结构,使得程序的静态结构和它的动态执行情况比较一致。因此,程序容易阅读和理解,开发时也比较容易保证程序的正确性,即使出现错误也比较容易诊断和改正。控制结构有确定
3、的逻辑模式,编写程序代码只限于使用很少几种直截了当的方式,因此源程序清晰流畅,易读易懂而且容易测试。程序清晰和模块化使得在修改和重新设计一个软件时可以重用的代码量最大。程序的逻辑结构清晰,有利于程序正确性证明。图形工具:把过程的细节表示成一个图的组成部分,在这个图上,逻辑构造用具体的图形来表示。列表工具:用一个表来表示过程的细节,这个表列出了各种操作及其相应的条件。也即,描述了输入、处理和输出信息。语言工具:用类语言来表示过程的细节,这种类语言很接近于编程语言。程序流程图又称为程序框图,Goldstine于1946年首先采用。它的主要优点是对控制流程的描绘很直观,便于初学者掌握。程序流程图的主
4、要缺点:程序流程图本质上不是逐步求精的好工具,它诱使程序员过早地考虑程序的控制流程,而不去考虑程序的全局结构;程序流程图中用箭头代表控制流,因此程序员不受任何约束,可以完全不顾结构程序设计的精神,随意转移控制;程序流程图不易表示数据结构。程序流程图符号(a)预处理 (b)选择 (c)多分支 (d)循环上界 (e)循环下界(f)开始/结束 (g)准备 (h)注释 (i)虚线 (j)省略 (k)并行方式 (l)控制流举例:pp79盒图是由Nassi和Shneiderman提出的,所以又称为N-S图。每个处理步骤都用一个盒子来表示,这些处理步骤可以是语句或语句序列,在需要时,盒子中还可以嵌套另一个盒
5、子,嵌套深度一般没有限制。盒图具有下述特点:功能域(即,一个特定控制结构的作用域)明确,可以从盒图上一眼就看出来。由于只能从上边进入盒子然后从下面走出盒子,除此之外没有其它的入口和出口,所以盒图限制了任意的控制转移,保证程序有良好的结构。很容易确定局部和全程数据的作用域。很容易表现嵌套关系,也可以表示模块的层次结构。盒图很容易表示程序结构化的层次结构,确定局部和全局数据的作用域。由于没有箭头,因此不允许随意转移控制。盒图符号 A B a.顺序 F P T B A b.IF-THEN-ELSE 选择 F P T A Do while p S c.do-while 循环 S Do until p
6、d.do-until 循环 P =1 =2 =n A1 A2 An e.多分支选择 举例:pp80PAD是问题分析图(Problem Analysis Diagram)的英文缩写,自1973年由日本日立公司发明。它是由程序流程图演化而来,用二维树形结构的图来表示程序的控制流,将这种图翻译成程序代码比较容易。PAD图的基本原理:采用自顶向下、逐步细化和结构化设计的原则,力求将模糊的问题解的概念逐步转换为确定的和详尽的过程,使之最终可采用计算机直接进行处理。PAD图符号 P1 P2 a.顺序 C P1 P2 b.if-then-else 选择 X= P1 P2 L1 L2 Pn Ln c.case
7、 多分支选择 While c P d.do-while 型循环 until c P e.repeat-until 型循环 使用表示结构化控制结构的PAD符号设计出来的程序必然是结构化程序。PAD图所描绘的程序结构十分清晰。图中最左边的竖线是程序的主线,即第一层结构。随着程序层次的增加,PAD图逐渐向右延伸,每增加一个层次,图形向右扩展一条竖线。PAD图中竖线的总条数就是程序的层次数。用PAD图表现程序逻辑,易读、易懂、易记。PAD图是二维树形结构的图形,程序从图中最左竖线上端的结点开始执行,自上而下,从左向右顺序执行,遍历所有结点。容易将PAD图转换成高级语言源程序,这种转换可用软件工具自动完
8、成,从而可省去人工编码的工作,有利于提高软件可靠性和软件生产率。既可用于表示程序逻辑,又可用于描绘数据结构。PAD图举例 P1 P2 C P3 P4 P2 a.初始的 PAD 图 b.使用 def 符号细化处理框 P2 后的 PAD 图 P5 def P6 C1 P8 until C2 P7 until C3 P9 P10 问题:1、程序流程图、盒图和PAD如何分别表示程序的3种基本控制结构的?2、比较程序流程图、盒图和PAD的特点特点:历史最悠久、使用最广泛、最混乱优:直观,适合初学者缺:1.不是逐步求精的好工具2.不以表示数据结构3.用箭头表示数据流,程序员可能随意转移控制特点:1.功能域
9、明确,一眼看出2.不可能任意转移控制3.容易确定局部、全程数据的作用域4.容易表现嵌套关系,模块层次结构 坚持使用N-S图作为详细设计的工具,可是程序员养成结构化的方式思考问题和解决问题 的习惯!优点:1.结构化程序-PAD符号是表示结构化控制的;2.程序结构清晰(竖线总条数即程序层次数);易读、易懂、易记;易将PAD图转为高级语言源程序; 可用于表示程序逻辑,也可用于描绘数据结构支持自顶向上,逐步求精;问题:3、下面2张程序流程图表示的程序是结构化的吗?若不是,请将其转化为功能等价的结构化程序。再分别用盒图和PAD加以表示。结构化程序一般应由三种基本结构即顺序结构、分支结构和循环结构组成。其
10、特点是: :1) 1) 只有一个入口; ;2) 2) 只有一个出口( (指结构与结构之间) ;) ;3) 3) 无死语句( (即没有永远执行不到的语句) ;) ;4) 4) 无死循环( (即没有永远执行不完的循环) )。非结构化程序往往表现为有两个或两个以上出口和不加限制地使用G OT O 语句。盒图if (POWER_N=1) OUTPUT;else caculate new line; while (Required LINE_NUMBER in triang) caculate new line; output expansion; PAD图举例:条件复合法条件复合法这种方法是把控制循环
展开阅读全文