程序流程图 盒图 PAD图(最终)
- 格式:docx
- 大小:159.83 KB
- 文档页数:6
软件工程(简要知识点)一、. 软件过程五个模型对比(瀑布模型、快速原型、增量、螺旋、喷泉模型)二、可行性研究:1、任务:用最小的代价在尽可能短的时间内确定问题是否能够解决。
2、四个方面:技术、经济、操作可行性、法律3、数据流图四种成分:1、源点/终点2、处理3、数据存储4、数据流三、需求分析:1、任务:确定系统必须完成哪些工作,对目标系统提出完整、清晰、具体的要求。
2、结构化方法就是面向数据流自顶向下逐步求精进行需求分析的方法。
3、实体联系图:1、数据对象2、属性3、联系(1:1、1:N 、M:N )四、总体设计:1.任务:回答“概括的说,系统应该如何实现”,用比较抽象概括的方式确定系统如何完成预定的任务,也就是说应该确定系统的物理配置方案,并且进而确定组成系统的每个程序结构。
2. 系统设计阶段(确定系统具体实施方案)、结构设计阶段(确定软件结构)3.模块独立:内聚和耦合4. 耦合表示一个软件结构内各个模块之间的互连程度,应尽量选用松散耦合的系统 问题定义(确定题目)可行性研究需求分析 概要设计详细设计编码和单元测试 综合测试系统设计 系统实现 软件定义 软件开发 运行维护:主要任务是使软件持久地满足用户的需要软件生命周期:5. 内聚(Cohesion): 一个模块内各元素结合的紧密程度6.面向数据流的设计方法:变换流和事务流五、详细设计:1.任务:确定应该怎样具体的实现所要求的系统,也就是说经过这个阶段的设计工作应该得出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。
2.过程设计的工具(程序流程图、盒图、PAD图、判定表、判定树)七、测试:1、单元测试:又称模块测试。
每个程序模块完成一个相对独立的子功能,所以可以对该模块进行单独的测试。
由于每个模块都有清晰定义的功能,所以通常比较容易设计相应的测试方案,以检验每个模块的正确性。
2、集成测试:在单元测试完成后,要考虑将模块集成为系统的过程中可能出现的问题,例如,模块之间的通信和协调问题,所以在单元测试结束之后还要进行集成测试。
软件工程综合应用例题第一部分《结构化软件开发方法》1、根据下列描述,画出教材征订系统的第一层数据流图。
学生入学后到教材科订书,教材科根据教材库存情况分析是否需要买书,如需购买,则向书店购买。
各种资金往来通过学校的会计科办理。
解:教材库存收应学生书店P1教材科P2会计订书订书发书发书F1款通知付款通知2、高考录取统分子系统有如下功能:(1) 计算标准分:根据考生原始分计算,得到标准分,存入考生分数文件;(2) 计算录取线分:根据标准分、招生计划文件中的招生人数,计算录取线,存入录取线文件。
试根据要求画出该系统的数据流程图,并将其转换为软件结构图。
解:(1)数据流图:(2)软件结构图:①原始分②标准分③招生计划④录取线3、有下列伪码程序:STARTINPUT (M,N)IF M>=10THEN X:=10ELSE X:=lENDIFIF N>=20 THEN Y:=20 ELSE Y:=2 ENDIFPRINT(X,Y) STOP设计该程序的语句覆盖和路径覆盖测试用例。
解:语句覆盖测试用例为①M=9(或<l0),N=l9(或<20); ②M=l0(或>=10),N=20(或>=20) 路径覆盖的测试用例为 ①M=9,N=19; ②M=9、N=20; ③M=l0,N=l9; ④M=10,N=204、画出下列伪码程序的程序流程图、盒图(N-S 图)、PAD 图。
STARTIF p THEN WHILE q DOFEND DO ELSE BLOCKg nEND BLOCK END IF STOP 解:STARTqpg nFSTOPTFTF5、根据下面程序流程图,给出测试用例:入口返回A>1 AND B=0A=2 OR X>1X=X/AX=X+1F TTF解:路径覆盖可使用测试用例: ⑴【A=1,B=1,X=1】 ⑵【A=1,B=1,X=2】 ⑶【A=3,B=0,X=1】 ⑷【A=2,B=0,X=4】 边覆盖,可使用测试用例: ⑴【A=3,B=0,X=3】 ⑵【A=2,B=1,X=1】 判定覆盖的测试用例: ⑴【(A=3,B=0,X=3)】 ⑵【(A=2,B=1,X=1)】 语句覆盖,可使用测试用例: 【 A=2,B=0,X=3 】6、下面是一段求最大值的程序,其中datalist 是数据表,n 是datalist 的长度。
软件工程中的图软件工程导论中一般把软件的开发分为八个阶段:1.问题定义2.可行性研究3.需求分析4.总体设计(概要设计)5.详细设计6.编码和单元测试7.综合测试8.软件维护下面我们就说说各个阶段中与图的难解难分。
1. 问题定义问题定义阶段主要是根据用户的需求来定义用户需要解决的问题,用户要实现哪些功能。
2. 可行性研究可行性研究阶段就是看是否有一种使其在最小的代价,尽可能短的时间内,利益最大化的情况下解决问题的方案。
这个阶段的分析主要涉及以下几个图形工具。
2.1 系统流程图系统流程图是描述系统物理模型的一种传统工具。
它是表达数据在系统各部件之间流动的情况,而不是对数据加工处理的控制过程,它是物理数据流图而不是程序流程图。
系统流程图形象的呈现了软件的功能,即使不懂软件的人也可以轻松的看懂,可以说它是软件设计师与用户之间沟通、交流的有效工具。
2.2 数据流图数据流图是从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。
如果说系统流程图能让用户更好的明白系统的功能,那么数据流图则让用户更加明白系统的工作原理。
数据流图的基本符号:数据流图的使用例子:2.3 数据字典数据字典就是数据的信息的集合,也可以说就是对上面提到的数据流图中的所有元素的定义的集合。
数据字典的主要作用就是在软件的分析与设计阶段方便我们查阅不甚了解的数据的描述信息。
3. 需求分析需求分析阶段主要确定系统必须做什么。
比如用户对系统的要求,确定目标系统所有的功能,确定系统运行的硬件和软件环境,系统性能要求,出错处理要求,接口需求,验证软件需求等等。
3.1 E-R图E-r图的主要作用就是把用户的数据要求用可视化的图形呈现出来。
3.2 状态转换图状态转换图说白了就是系统的行为建模,就是通过描述系统的状态以及引起状态变化的事件来表示系统的行为,将系统运行时详细的状态变化呈现给用户。
详细设计的内容包括详细设计,是软件工程中软件开发的一个步骤,就是对概要设计的一个细化,就是详细设计每个模块实现算法,所需的局部结构。
在详细设计阶段,主要是通过需求分析的结果,设计出满足用户需求的软件系统产品。
(1)程序流程图。
程序流程图又称为程序框图,是使用最广泛然而也是用得最混乱的一种描述程序逻辑结构的工具。
它用方框表示一个处理步骤,菱形表示一个逻辑条件,箭头表示控制流向。
其优点是:结构清晰,易于理解,易于修改。
缺点是:只能描述执行过程而不能描述有关的数据。
(2)盒图。
盒图是一种强制使用结构化构造的图示工具,也称为方框图。
其具有以下特点:功能域明确、不可能任意转移控制、很容易确定局部和全局数据的作用域、很容易表示嵌套关系及模板的层次关系。
(3)PAD图。
PAD是一种改进的图形描述方式,可以用来取代程序流程图,比程序流程图更直观,结构更清晰。
最大的优点是能够反映和描述自顶向下的历史和过程。
PAD提供了5种基本控制结构的图示,并允许递归使用。
PAD的特点有:使用PAD符号设计出的程序代码是结构化程序代码;PAD所描绘的程序结构十分清晰;用PAD图表现程序的逻辑易读、易懂和易记;容易将PAD图转换成高级语言源程序自动完成;即可以表示逻辑,也可用来描绘数据结构;支持自顶向下方法的使用。
(4)PDL。
PDL也可称为伪码或结构化语言,它用于描述模块内部的具体算法,以便开发人员之间比较精确地进行交流。
语法是开放式的,其外层语法是确定的,而内层语法则不确定。
外层语法描述控制结构,它用类似于一般编程语言控制结构的关键字表示,所以是确定的。
内层语法描述具体操作,考虑到不同软件系统的实际操作种类繁多,内层语法因而不确定,它可以按系统的具体情况和不同的设计层次灵活选用,实际上任意英语语句都可用来描述所需的具体操作。
用它来描述详细设计,工作量比画图小,又比较容易转换为真正的代码。
PDL的优点:可以作为注释直接插在源程序中;可以使用普通的文本编辑工具或文字处理工具产生和管理;已经有自动处理程序存在,而且可以自动由PDL生成程序代码。
20122831—第五组第五组组长:程伟组员:程伟赵嘉宾袁婷峰王呈陈璐璐周莹莹2014年10月26日一、程序流程图程序流程图独立于任何一种程序设计语言,比较直观、清晰,易于学习掌握。
但流程图也存在一些严重的缺点。
例如流程图所使用的符号不够规范,常常使用一些习惯性用法。
特别是表示程序控制流程的箭头可以不受任何约束,随意转移控制。
这些现象显然是与软件工程化的要求相背离的。
为了消除这些缺点,应对流程图所使用的符号做出严格的定义,不允许人们随心所欲地画出各种不规范的流程图。
例如,为使用流程图描述结构化程序,必须限制流程图只能使用下图所给出的五种基本控制结构。
任何复杂的程序流程图都应由这五种基本控制结构组合或嵌套而成。
流程图的基本控制结构实例:输入三个正整数作为边长,判断该三条边构成的三角形是等边、等腰还是一般三角形。
流程图:二、盒图(N-S图)Nassi和Shneiderman 提出了一种符合结构化程序设计原则的图形描述工具,叫做盒图,也叫做N-S图。
任何一个N-S 图,都是前面介绍的五种基本控制结构相互组合与嵌套的结果。
当问题很复杂时,N-S图可能很大。
N-S图的五种基本控制结构实例:输入三个正整数作为边长,判断该三条边构成的三角形是等边、等腰还是一般三角形。
盒图三、PAD 图PAD是Problem Analysis Diagram的缩写,它是日本日立公司提出,由程序流程图演化来的,用结构化程序设计思想表现程序逻辑结构的图形工具。
PAD也设置了五种基本控制结构的图式,并允许递归使用。
PAD的基本控制结构实例:输入三个正整数作为边长,判断该三条边构成的三角形是等边、等腰还是一般三角形。
动物传染病及防疫考试题及答案一、单项选择题(1×30)1.传染病流行的三个基本环节有传染源、传播途径和。
A.免疫动物 B.易感动物 C.家禽 D.家畜2.注射油乳剂灭活苗后产生的抗体比注射相同的活疫苗产生的抗体。
1、软件工程的基本原则包括__分解__、__独立_、一致性、确定性等。
2、软件生存周期一般定义为问题定义、(可行性分析)、(总体描述)、设计、( 编码)、测试、运行与维护阶段。
3、HIPO图是由一组IPO_和一张HC__图组成。
4、UML的定义包括__UML语义_ 和__UML表示法___两个部分5、软件测试的方法有__结构测试_和_功能测试____(又称黑盒法)6、成本估算方法主要有___ 、_ 和____三种类型7、详细设计的工具有图示工具、设计语言和表格工具8、为了使用流程图描述结构化程序,限制流程图有五种基本的控制结构,即顺序型、选择型_、while型循环_、until循环、多情况选择。
9、大型软件测试包括单元测试;集成测试、确认测试和系统测试10.详细设计的工具有三种类型分别为___、__和语言工具11软件工程是从( 软件开发技术 )和( 软件工程 )两个方面研究如何运用工程学的基本原理和方法来更好地开发和维护计算机软件的一门学科。
12.数据流图的基本符号包括(1)数据源点或终点(外部实体) (2)加工(数据处理) (3)数据存储(文件) (4)数据流。
把程序从一个硬件或软件环境转移到另一种配置环境称为软件的( 可移植性)12,Jackson图除了可以表达程序结构外,还可以表达(程序结构、),它首先要分析_(数据结构_),并用适当的工具来描述。
13.白盒法包括多种具体设计程序测试用例的方法,主要目的是提高测试的_(效率).14.设计测试方案中最困难的问题是__设计测试用的输入数据__,通常的做法是用设计基本的测试方案_(设计基本的测试方案),再用_(白盒法补充一些方案_)补充一些方案。
19、在软件开发过程中要产生大量的信息,要进行大量的修改软件配置管理能协调软件开发,并使混乱减到最低程度。
20、规定功能的软件,在一定程度上对自身错误的作用(软件错误)具有屏蔽能力,则称此软件具有容错功能的软件。
我们通常都是对图形化的东西情有独钟,我们小时候的启蒙教育基本上也都是从图形化开始的,我们曾经看过的连环画、漫画、看图识字等等。
因为图形能将一个抽象的东西具体化、形象化,图形化的表述能将一个用文字语言无法表达清楚或很难表达的观点、事物、科学概念等清晰的呈现出来。
这就是为什么我们相比晦涩难懂文字更喜欢形象生动的图形的原因。
软件工程导论作为软件工程中非常重要的一门课程,通常因为其偏文科性、理论性、概念性而得不到人们的重视,但幸运的是在软件工程导论中有我们非常易于接受、理解的东西——图,否则我们自己会把自己害得很惨(软件工程导论真的很重要哦!)。
软件工程导论中一般把软件的开发分为八个阶段:1.问题定义2.可行性研究3.需求分析4.总体设计(概要设计)5.详细设计6.编码和单元测试7.综合测试8.软件维护。
下面我们就说说各个阶段中与图的难解难分。
1. 问题定义问题定义阶段主要是根据用户的需求来定义用户需要解决的问题,用户要实现哪些功能。
2. 可行性研究可行性研究阶段就是看是否有一种使其在最小的代价,尽可能短的时间内,利益最大化的情况下解决问题的方案。
这个阶段的分析主要涉及以下几个图形工具。
2.1 系统流程图系统流程图是描述系统物理模型的一种传统工具。
它是表达数据在系统各部件之间流动的情况,而不是对数据加工处理的控制过程,它是物理数据流图而不是程序流程图。
系统流程图形象的呈现了软件的功能,即使不懂软件的人也可以轻松的看懂,可以说它是软件设计师与用户之间沟通、交流的有效工具。
2.2 数据流图数据流图是从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。
如果说系统流程图能让用户更好的明白系统的功能,那么数据流图则让用户更加明白系统的工作原理。
2.3 数据字典数据字典就是数据的信息的集合,也可以说就是对上面提到的数据流图中的所有元素的定义的集合。
20122831—第五组
第五组组长:程伟
组员:程伟赵嘉宾袁婷峰王呈陈璐璐周莹莹
2014年10月26日
一、程序流程图
程序流程图独立于任何一种程序设计语言,比较直观、清晰,易于学习掌握。
但流程图也存在一些严重得缺点。
例如流程图所使用得符号不够规范,常常使用一些习惯性用法。
特别就是表示程序控制流程得箭头可以不受任何约束,随意转移控制。
这些现象显然就是与软件工程化得要求相背离得。
为了消除这些缺点,应对流程图所使用得符号做出严格得定义,不允许人们随心所欲地画出各种不规范得流程图。
例如,为使用流程图描述结构化程序,必须限制流程图只能使用下图所给出得五种基本控制结构。
任何复杂得程序流程图都应由这五种基本控制结构组合或嵌套而成。
流程图得基本控制结构
实例:
输入三个正整数作为边长,判断该三条边构成得三角形就是等边、等腰还就是一般三角形。
二、盒图(N-S图)
Nassi与Shneiderman 提出了一种符合结构化程序设计原则得图形描述工具,叫做盒图,也叫做N-S图。
任何一个N-S图,都就是前面介绍得五种基本控制结构相互组合与嵌套得结果。
当问题很复杂时,N-S图可能很大。
N-S图得五种基本控制结构
实例:
输入三个正整数作为边长,判断该三条边构成得三角形就是等边、等腰还就是一般三角形。
盒图
三、PAD 图
PAD就是ProblemAnalysis Diagram得缩写,它就是日本日立公司提出,由程序流程图演化来得,用结构化程序设计思想表现程序逻辑结构得图形工具。
PAD也设置了五种基本控制结构得图式,并允许递归使用。
PAD得基本控制结构
实例:
输入三个正整数作为边长,判断该三条边构成得三角形就是等边、等腰还就是一般三角形。