程序流程图盒图PAD图最终
- 格式:docx
- 大小:211.77 KB
- 文档页数:8
软件工程知识点总结软件工程是指将工程化的方法应用于软件开发的过程,包括问题定义、需求分析、概要设计、系统设计、详细设计、软件开发、综合测试和运行维护等阶段。
在软件生命周期中,我们可以采用不同的模型,包括瀑布模型、快速原型、增量、螺旋和喷泉模型等。
在进行软件开发之前,我们需要进行可行性研究,以确定问题是否能够解决。
这个过程需要考虑四个方面,包括技术、经济、操作可行性和法律。
我们可以使用数据流图来帮助我们完成可行性研究,数据流图包括源点/终点、处理、数据存储和数据流等四种成分。
在需求分析阶段,我们需要确定系统必须完成哪些工作,并对目标系统提出完整、清晰、具体的要求。
结构化方法是一种常用的需求分析方法,它可以帮助我们自顶向下逐步求精进行需求分析。
实体联系图包括数据对象、属性和联系等三种元素,其中联系可以是1:1、1:N或M:N的关系。
总体设计阶段的任务是回答“概括的说,系统应该如何实现”,确定系统的物理配置方案,并进而确定组成系统的每个程序结构。
在总体设计阶段中,我们需要考虑模块的内聚和耦合,应尽量选用松散耦合的系统。
内聚表示一个模块内各元素结合的紧密程度,而耦合表示一个软件结构内各个模块之间的互连程度。
详细设计阶段的任务是确定应该怎样具体的实现所要求的系统,经过这个阶段的设计工作应该得出对目标系统的精确描述。
在详细设计阶段中,我们可以使用程序流程图、盒图、PAD图、判定表和判定树等工具来完成过程设计。
在测试阶段,我们需要进行单元测试和集成测试。
单元测试是针对每个程序模块进行的测试,而集成测试则是在单元测试完成后,将模块集成为系统的过程中进行的测试。
在测试过程中,我们可以使用白盒测试技术,包括逻辑覆盖和基本路径测试等。
在白盒测试中,程序被视为一个透明的盒子,测试人员完全了解程序的内部结构和处理过程。
因此,在测试过程中,要按照程序内部的逻辑来测试程序,检验程序中的每条通路是否都能按预定的要求正确工作。
白盒测试也被称为结构测试。
N-S盒图N-S图也被称为盒图或CHAPIN图。
流程图由一些特定意义的图形、流程线及简要的文字说明构成,它能清晰明确地表示程序的运行过程。
在使用过程中,人们发现流程线不一定是必需的,为此,人们设计了一种新的流程图,它把整个程序写在一个大框图内,这个大框图由若干个小的基本框图构成,这种流程图简称N-S图.N-S图结构1.顺序结构N-S图2.选择结构N-S图3.循环结构N-S图1)当型循环 2)直到型循环-----------E-R图E-R图也即实体-联系图(Entity Relationship Diagram),提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。
构成E-R图的基本要素是实体型、属性和联系,其表示方法为:·实体型(Entity):用矩形表示,矩形框内写明实体名;比如学生张三丰、学生李寻欢都是实体。
如果是弱实体的话,在矩形外面再套实线矩形。
·属性(Attribute):用椭圆形表示,并用无向边将其与相应的实体连接起来;比如学生的姓名、学号、性别、都是属性。
如果是多值属性的话,再椭圆形外面再套实线椭圆。
如果是派生属性则用虚线椭圆表示。
·联系(Relationship):用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1 : 1,1 : n或m : n)。
比如老师给学生授课存在授课关系,学生选课存在选课关系。
如果是弱实体的联系则在菱形外面再套菱形。
-------------PAD图PAD是问题分析图(Problem Analysis Diagram)的英文缩写,自1973年由日本日立公司发明以来,已经得到一定程度的推广。
它用二维数形结构的图表示程序的控制流,将这种图转换为程序代码比较容易。
优点1.使用表示结构优化控制结构的PAD符号所设计出来的程序必然是程序化程序2.PAD图所描述的程序结构十分清晰。
第一章1.软件危机的概念:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重的问题。
2.产生软件危机的原因:(1) 开发人员方面,对软件产品缺乏正确认识,没有真正理解软件产品是一个完整的配置组成。
造成开发中制定计划盲目、编程草率,不考虑维护工作的必要性。
(2) 软件本身方面,对于计算机系统来说,软件是逻辑部件,软件开发过程没有统一的、公认的方法论和规范指导,造成软件维护困难。
(3) 尤其是随着软件规模越来越大,复杂程度越来越高,原有软件开发方式效率不高、质量不能保证、成本过高、研制周期不易估计、维护困难等一系列问题更为突出,技术的发展已经远远不能适应社会需求。
3.软件配置的主要包括程序、文文件和数据等成分。
4.软件工程的定义:软件工程是应用计算机科学、数学及管理科学等原理开发软件的工程。
它借鉴传统工程的原则、方法,以提高质量,降低成本为目的。
(ppt上定义)5.所谓基准配置又称基线配置。
6.通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学,也称为范型7.软件工程方法学包含三个要素:方法、工具和过程。
8.目前使用得最广泛的软件工程方法学,分别是传统方法学和面向对象方法学9.传统方法学也称为生命周期方法学或结构化范型10.面向对象方法学的四个要点:1.把对象作为融合了数据及在数据上的操作行为的统一的软件构件 2.把所有对象都划分成类3.按照父类(或称为基类)与子类(或称为派生类)的关系,把若干个相关类组成一个层次结构的系统(也称为类等级)。
4.对象彼此间仅能通过发送消息互相联系。
11.软件生命周期:软件定义(问题定义,可行性研究,需求分析)、软件开发(总体设计,详细设计,编码,单元测试,总体测试)、运行维护(持久地满足用户的需要)12.最基本的测试是集成测试和验收测试。
13.瀑布模型,快速原型模型,增量模型,螺旋模型,喷泉模型,概念.方法.优缺点.区别。
14.所谓构件就是功能清晰的模块或子系统15.RUP(Rational统一过程)软件开发的生命周期是一个二维的生命周期模型16.”极限”二字的含义是指把好的开发实践运用到极致17.微软过程把软件生命周期划分为成5个阶段:规划阶段,设计阶段,开发阶段,稳定阶段,发布阶段。
详细设计的内容包括详细设计,是软件工程中软件开发的一个步骤,就是对概要设计的一个细化,就是详细设计每个模块实现算法,所需的局部结构。
在详细设计阶段,主要是通过需求分析的结果,设计出满足用户需求的软件系统产品。
(1)程序流程图。
程序流程图又称为程序框图,是使用最广泛然而也是用得最混乱的一种描述程序逻辑结构的工具。
它用方框表示一个处理步骤,菱形表示一个逻辑条件,箭头表示控制流向。
其优点是:结构清晰,易于理解,易于修改。
缺点是:只能描述执行过程而不能描述有关的数据。
(2)盒图。
盒图是一种强制使用结构化构造的图示工具,也称为方框图。
其具有以下特点:功能域明确、不可能任意转移控制、很容易确定局部和全局数据的作用域、很容易表示嵌套关系及模板的层次关系。
(3)PAD图。
PAD是一种改进的图形描述方式,可以用来取代程序流程图,比程序流程图更直观,结构更清晰。
最大的优点是能够反映和描述自顶向下的历史和过程。
PAD提供了5种基本控制结构的图示,并允许递归使用。
PAD的特点有:使用PAD符号设计出的程序代码是结构化程序代码;PAD所描绘的程序结构十分清晰;用PAD图表现程序的逻辑易读、易懂和易记;容易将PAD图转换成高级语言源程序自动完成;即可以表示逻辑,也可用来描绘数据结构;支持自顶向下方法的使用。
(4)PDL。
PDL也可称为伪码或结构化语言,它用于描述模块内部的具体算法,以便开发人员之间比较精确地进行交流。
语法是开放式的,其外层语法是确定的,而内层语法则不确定。
外层语法描述控制结构,它用类似于一般编程语言控制结构的关键字表示,所以是确定的。
内层语法描述具体操作,考虑到不同软件系统的实际操作种类繁多,内层语法因而不确定,它可以按系统的具体情况和不同的设计层次灵活选用,实际上任意英语语句都可用来描述所需的具体操作。
用它来描述详细设计,工作量比画图小,又比较容易转换为真正的代码。
PDL的优点:可以作为注释直接插在源程序中;可以使用普通的文本编辑工具或文字处理工具产生和管理;已经有自动处理程序存在,而且可以自动由PDL生成程序代码。
软件工程学习资料(1)一、填空1、软件工程学的内容可包括理论、结构、方法、工具、环境、管理、规范等。
2、N-S图中的顺序结构:在PAD图中表示为:PAD图设置五种基本控制结构,并允许递归使用。
3、模块的独立程度可以由两个定性标准度量,这两个标准分别称为内聚和耦合。
耦合衡量不同模块彼此之间相互依赖的紧密程度。
内聚衡量一个模块内部各个元素彼此结合的紧密程度。
4、软件测试方法按测试过程是否在实际应用环境中分为静态分析和动态测试。
二、单项选择题1、模块在同一段时间内完成各种初始化工作,这属于。
A.偶然内聚B.逻辑内聚C.时间内聚D.过程内聚2、在编程安全方法方面,一般来说无法做到。
A. 避开错误B.完美无缺,绝无错误C. 冗余D.设计防错程序3、在衡量软件质量时,最重要的标准是。
A. 成本低B. 可维护性好C. 符合要求D. 界面友好4、下列工具中,不属于详细设计工具的是。
A. 测试工具B. 图形工具C. 表格工具D. 语言工具5、下列哪个做法会导致不利的语句结构A.避免使用ELSE GOTO结构B.对递归定义的数据结构尽量不再使用递归过程C.模块功能尽可能单一化,模块间的耦合能够清晰可见D.利用信息隐蔽,确保每一个模块的独立性三、判断题1、Jackson系统开发方法是一种典型的面向对象的分析设计方法。
(×)2、HIPO图是由一组IPO图加一张HC图组成,是美国IBM公司在软件设计中使用的主要表达工具。
(√)3、在软件开发中采用原型系统策略的主要困难是成本问题。
(√)4、软件开发所需的资源可以画成一个金字塔,塔的高层最基本的资源是人。
(√)5、下图表示的是WHILE 型循环。
(×6的顺序,而数据流图只反映数据的流向,不反映处理逻辑的先后。
(√)四、问答题1、什么是软件答:软件是一种产品,包含下面三方面的含义。
(1)在运行中能提供所希望的功能和性能的指令集(即程序);(2)使程序能够正确运行的数据结构;(3)描述程序研制过程、方法所用的文档。
软件⼯程综合应⽤例题解析软件⼯程综合应⽤例题第⼀部分《结构化软件开发⽅法》1、根据下列描述,画出教材征订系统的第⼀层数据流图。
学⽣⼊学后到教材科订书,教材科根据教材库存情况分析是否需要买书,如需购买,则向书店购买。
各种资⾦往来通过学校的会计科办理。
解:2、⾼考录取统分⼦系统有如下功能:(1) 计算标准分:根据考⽣原始分计算,得到标准分,存⼊考⽣分数⽂件;(2) 计算录取线分:根据标准分、招⽣计划⽂件中的招⽣⼈数,计算录取线,存⼊录取线⽂件。
试根据要求画出该系统的数据流程图,并将其转换为软件结构图。
解:(1)数据流图:(2)软件结构图:①原始分②标准分③招⽣计划④录取线 3、有下列伪码程序: STARTINPUT (M,N) IF M>=10 THEN X:=10 ELSE X:=l ENDIF IF N>=20 THEN Y:=20 ELSE Y:=2 ENDIFPRINT(X,Y) STOP设计该程序的语句覆盖和路径覆盖测试⽤例。
解:语句覆盖测试⽤例为①M=9(或②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图。
START IF p THENWHILE q DOFEND DOELSEBLOCKgnEND BLOCKEND IFSTOP解:5、根据下⾯程序流程图,给出测试⽤例:解:路径覆盖可使⽤测试⽤例:⑴【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的长度。
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分,共25分)1.软件生存周期一般可以划分为,问题定义、____________、____________、设计、编码、测试和____________。
2.基于软件的功能划分,软件可以划分成__________、__________、__________三种。
3.可行性研究,应从、技术可行性、运行可行性、和开放方案可行性等方面研究。
4.系统流程图是描绘的传统工具。
它的基本思想是用图形符号以描绘系统里面的每个部件。
5.数据流图的基本四种成分:数据输入的源点和数据输出汇点、、和。
6.结构化分析方法是面向________________进行需求分析的方法。
结构化分析方法使用________________与________________来描述。
7.是自动地共享类、子类和对象中的方法和数据的机制。
8.软件详细设计工具可分为3类,即________________、________________和________________。
9.为了在软件开发过程中保证软件的质量,主要采取下述措施:________________、复查和管理复审、________________。
10.大型软件测试包括、、确认测试和四个步骤。
1、可行性研究需求分析运行与维护2、系统软件支撑软件应用软件3、经济可行性法律可行性4、物理系统黑盒子形式5、加工数据流数据存储文件6、数据流数据流图DFD 数据字典DD7、继承性8、图示工具、设计语言表格工具9、审查测试10、单元测试集成测试系统测试1.软件设计中划分模块的一个准则是()。
A、低内聚低耦合B、低内聚高耦合C、高内聚低耦合D、高内聚高耦合2.Jackson设计方法是由英国的M. Jackson提出的,它是一种面向()的软件设计方法。
A、对象B、数据流C、数据结构D、控制结构3.试判断下列叙述中,哪个(些)是正确的()。
a、软件系统中所有的信息流都可以认为是事务流b、软件系统中所有的信息流都可以认为是变换流c、事务分析和变换分析的设计步骤是基本相似的A、aB、bC、cD、b和c4.()是用户和设计交换最频繁的方法。
第一章测试1【多选题】(1分)软件的主要特性是()。
A.无形性B.可独立构成计算机系统C.高成本D.包括程序和文档2【单选题】(1分)包含风险分析的软件工程模型是()。
A.螺旋模型B.增量模型C.瀑布模型D.喷泉模型3【多选题】(1分)下列属于面向对象开发方法的是()。
A.UMLB.OMTC.CoadD.Booch4【多选题】(1分)软件危机的主要表现是()。
A.软件生产率低下B.软件产品的质量低劣C.软件开发人员明显不足D.软件成本太高5【单选题】(1分)从事物的组成部件及每个部件的属性、功能来认识事物。
这种方法被称为()的方法。
A.面向属性B.面向对象C.面向数据D.面向过程6【单选题】(1分)面向数据的设计方法就是根据问题的数据结构定义一组映射,把问题的数据结构转换为问题解的()结构。
A.程序B.物理C.数据D.逻辑7【判断题】(1分)增量模型是非整体开发的模型,软件的开发是用增量开发和增量提交。
()A.错B.对8【判断题】(1分)统一迭代过程在不同阶段,各个核心工作流的工作重心相同。
()A.错B.对9【判断题】(1分)喷泉模型是一种面向对象模型。
()A.错B.对10【判断题】(1分)螺旋模型不适用于大型内部软件开发。
()A.对B.错第二章测试1【单选题】(1分)面向对象的分析方法主要是建立三类模型,即()。
A.对象模型、动态模型、应用模型B.对象模型、动态模型、功能模型C.ER模型、对象模型、功能模型D.系统模型、ER模型、应用模型2【单选题】(1分)SA法的主要描述手段有()。
A.系统流程图和模块图B.功能结构图、加工说明C.DFD图、数据词典、加工说明D.软件结构图、加工说明3【多选题】(1分)画分层DFD图的基本原则有()。
A.数据守恒原则B.数据流封闭的原则C.分解的可靠性原则D.子、父图平衡的原则4【单选题】(1分)数据字典是数据流图中所有元素的定义的集合,一般由以下4类条目组成()。
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、规定功能的软件,在一定程度上对自身错误的作用(软件错误)具有屏蔽能力,则称此软件具有容错功能的软件。