当前位置:文档之家› jackson结构化程序设计方法

jackson结构化程序设计方法

jackson结构化程序设计方法

Jackson结构化程序设计方法是一种软件开发方法论,它强调

将程序分解成结构化模块,以便更容易理解、维护和测试。这种方

法的核心思想是将程序分解为小的、可重用的模块,这些模块之间

的交互通过明确定义的接口进行。Jackson结构化程序设计方法的

主要特点包括以下几点:

1. 模块化设计,Jackson方法强调将程序分解为相对独立的模块,每个模块都有明确定义的功能和接口。这种模块化设计使得程

序更易于理解和维护,也提高了代码的重用性。

2. 自顶向下设计,Jackson方法鼓励从整体到细节的设计思路,首先确定整体结构和功能,然后逐步细化到模块层面。这种自顶向

下的设计方法有助于确保程序的整体一致性和完整性。

3. 结构化编程,Jackson方法倡导使用结构化编程语言,避免

使用过多的goto语句和复杂的控制结构,以提高程序的可读性和可

维护性。

4. 模块独立性,Jackson方法强调模块之间的独立性,每个模

块都应该尽可能地与其他模块解耦,以便于单独测试和修改。

5. 逐步细化,Jackson方法鼓励逐步细化设计和实现过程,通过不断地分解和重构,逐步完善程序的功能和性能。

总的来说,Jackson结构化程序设计方法强调模块化、自顶向下、结构化编程和模块独立性,旨在提高软件开发的效率和质量。这种方法适用于各种规模的软件项目,可以帮助开发人员更好地组织和管理复杂的程序设计过程。

软件工程导论名词

1、什么是软件? 答:1).满足功能要求和性能的指令或计算机程序集合; 2.)处理信息的数据结构;3.)描述程序功能以及程序如何操作和使用所要求的文档; 2、软件危机定义:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。 3、软件工程定义:软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地、高效的开发出高质量的软件并有效地维护它,这就是软件工程。 4、软件生存周期:一个软件从开始计划起,到废弃不用止,称为软件的生存周期。 5、瀑布模型:即生存周期模型,是软件工程的基础模型。其核心思想是按工序将问题化简,将功能的实现与设计分开,便于分工协作。 6、增量模型:是瀑布模型的顺序特征与快速原型法德迭代特征相结合的产物。这种模型把软件看成一系列相互联系的增量,在看法过程的各次迭代中,每次完成其中的一个增量。 7、快速原型:是快速建立起来的可以在计算机上运行的程序,它所能完成的功能往往是最终产品能完成的功能的一个子集。快速原型模型的第一步是快速建立一个能反映用户主要需求的原型系统,让用户在计算机上试用它,通过实践来了解目标系统的概貌 8、可行性研究: 可行性研究的目的:就是用最小代价在尽可能短的时间内确定问题是否能够解决。9、需求分析: 需求分析的任务:它的基本任务是准确地回答“系统必须做什么?”这个问题。需求分析的任务不是确定系统如何完成它的工作,而是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。 10、数据流图:是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。 (或者:数据流图:它以图形的方式反映系统的数据流程) 11、数据词典:是描述数据信息的集合,它对数据流图中的各个元素按规定格式进行详细的描述和确切的解释,是数据流图的补充工具。 12、概要设计:又称为总体设计或初步设计,总体设计过程通常由两个主要阶段组成:系统设计阶段,确定系统的具体实现方案;结构设计阶段,确定软件结构。 13、模块:是由边界元素限定的相邻程序元素的序列,而且有一个总体标识符代表它。 14、信息隐蔽:模块中所包括的信息不允许其它不需这些信息的模块调用 15、内聚:一个模块内部各个元素彼此结合的紧密程度的度量。 内聚性。又称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。若一个模块内各元素(语句之间、程序段之间)联系得越紧密,则它的内聚性就越高。 16、耦合:一个软件结构内不同模块之间互连程度的度量。

软件工程填空题

1.可行性研究从技术可行性、经济可行性、___三方面进行分析。答案:社会可行性 2..IDEF0方法用来描述系统的功能活动及其联系,建立系统的___模型。答案:功能 3.结构化方法总的指导思想是___逐层分解。答案:自顶向下 4.在一段程序中,将多次出现的一组语句设计为一个子程序,供多个部分调用,这种情况出现的内聚称为___。答案:偶然内聚 5.软件部件的内部实现与外部可访问性分离,这是指软件的___。答案:封装 6.用来模拟被测模块的上级调用模块的模块称为___。答案:驱动模块 7.软件复杂性度量的参数很多,主要有规模、___、结构、智能度。答案:难度 8.软件开发环境中最主要的组成部分是___。答案:软件工具 9.软件工程管理的具体内容包括对开发人员、组织机构、用户和___等方面的管理。答案:文档资料 10.增量模型根据增量方式和形式的不同,分为___和原型模型。答案:渐增模型浙江省2002年1月 11.瀑布模型是以文档为驱动、适合于__软件需求明确______的软件项目的模型。 12.纯收入是指在整个生存周期之内的___累计经济效益_____与投资之差。 13.数据项是指_不可再分解的__数据单元。 14.软件概要设计的主要任务就是_软件结构的设计__。 15.结构化程序设计方法是使用__基本控制结构_构造程序。 16.软件开发是一个自顶向下逐步细化和求精过程,而软件测试是一个_自底向上_集成的过程。 17.软件维护的内容包括校正性维持,适应性维护、__完善性维护__和预防性维护。 18.CASE工具的平台集成指工具运行在相同的__操作系统__平台上。 19.在建立对象的功能模型时,使用的数据流图中包含有处理、数据流、动作对象和_数据存储对象__。 20.将开发项目与一个或多个已完成的类似项目进行比较,找出与某个相类似项目的若干不同之处,并估算每个不同之处对成本的影响,得出开发项目的总成本。这种成本估算方法称为__差别估算__。2007年10月 21.组成软件的两个部分是:___。答案:程序和文档 22.项目开发计划的主要内容包括项目概述、___、人员组织及分工、交付期限。答案:实施计划 23.为了克服软件危机,1968年北大西洋公约组织的工作会议上首先提出了___的概念。答案:软件工程 24.变换型数据流图是由输入、___和输出三部分组成的答案:变换(或处理) 25.Jackson方法是一种面向___的开发方法。答案:数据结构 26.结构化语言是介于___和形式语言之间的一种半形式语言。答案:自然语言 27.软件产品在交付使用之前一般要经过___、集成测试、确认测试和系统测试答案:单元测试 28.不采用软件工程的方法开发软件,软件只有程序而无文档,从而导致维护工作困难,这是一种___的维护。答案:非结构化 29.子类自动共享父类数据结构和方法的机制是___,这是类之间的一种关系答案:继承性 30.软件版本控制是属于___的活动内容。答案:软件配置管理2006年10月 31.软件工具通常由工具、工具接口和___三部分构成。答案:工具用户接口 32.软件工程管理中的控制包括进度控制、人员控制、经费控制和___。答案:质量控制 33.软件开发的原型模型可以分为三类,它们是:探索型原型、实验型原型和___。答案:演化型原型 34.软件复杂性主要表现在程序的复杂性。程序的复杂性主要指___程序的复杂性。答案:模块内 35.白盒法中,___首先以详细设计或源程序为基础,导出控制流程图的拓扑结构(程序图)。答案:基本路径测试 36.在软件的详细设计中,根据控制流程从上到下,从左到右展开的设计工具是___。答案:PAD图 37.一个模块通过传递开关、标志对某一模块的多种功能进行选择,则这两个模块之间的耦合方式是___。答案:控制耦合 38.结构化分析是面向___进行需求分析的方法。答案:数据流 39.有效的模块化是通过定义一组___的模块来实现信息隐蔽的,这些模块彼此之间仅交换那些为了完成系统功能所必须的信息。答案:相互独立 40.在软件生产中,___的作用是规定了获取、供应、开发、操作和维护软件时,要实施的过程、活动和任务。答案:软件工程过程2005年10月 41.软件项目计划是___阶段的结果产品。答案:可行性研究 42.McCall质量度量模型高层特性包含面向软件产品操作、产品修改和___三个方面的11个特性。答案:产品适应 43.在面向对象方法中,___是子类共享父类数据结构和方法的机制,体现了类之间的一种关系。答案:继承性 44.演化提交模型是在___的基础上,项目开发的各阶段都进行增量开发。答案:瀑布模型 45.软件编码是将___阶段产生的算法,用某种程序设计语言编写成程序的过程。答案:详细设计 46.IDEF0用来描述系统的功能活动及其联系,建立系统的___模型。答案:功能 47.两个模块之间把简单的数值作为参数传递,这种耦合方式为___。答案:数据耦合

软件工程自考课后习题3

第四章习题参考答案 1、什么是软件概要设计?该阶段的基本任务是什么? 答:把一个软件需求转换为软件表示时,首先设计出软件总的体系结构。称为概要设计或结构设计。基本任务:⑴设计软件系统结构,具体为:1.采用某种设计方法,将一个复杂的系统按功能划分为模块。2.确定每个模块的功能。3.确定模块之间的调用关系。4.确定模块之间的接口(模块之间传递的信息)评价模块的结构质量⑵进行数据结构及数据库的设计⑶编写概要设计的文档主要内容有:概要设计说明书,数据库说明书(DBMS的简介,概念模型,逻辑设计,结果)用户手册,修订测试计划(测试的策略﹑方法﹑步骤)⑷评审:是否完整地实现了规定的功能﹑性能要求。设计方案是否可行。关键的处理及内部接口定义的正确性,有效性,各部分的一致性。 2、软件设计的基本原理包括哪些内容? 答:⑴模块化:模块是软件的组成部分,是具有独立功能且可命名的一段程序,所有模块组成整体,可以满足问题的要求。模块化即按照一定的原则,将软件划分成若干个模块,每个模块完成一个特定的功能,然后把这些模块按照某种方法组装成一个软件系统。(可降低复杂度、减少工作量) 模块具有以下几种特性:接口:模块的输入输出。功能:指模块实现什么功能。逻辑:描述模块内部如何实现要求及所需的数据。状态:该模块的运行环境,模块间调用与被调用关系。⑵抽象:认识复杂现象过程所使用权的工具,只考虑事物本质的共同特性,忽略细节和其它因素。通过抽象确定组成软件的过程实体。⑶信息隐蔽:将模块实现自身功能的细节与数据"隐蔽"起来。模块间仅交换为完成系统功能所必须的信息。⑷模块独立性:每个模块只完成系统要求的独立的子功能。 3、衡量模块独立性的两个标准是什么?各表示什么含义? 答:内聚:又称为块内联系,指模块内部各成分之间相互关联的程度,以高内聚为设计目标。耦合:也称块间联系,模块之间相互联系程度的度量,联系越紧密,耦合性越强,独立性越差,以低耦合为设计目标。 4、模块的耦合性有哪几种?各表示什么含义? 答:⑴内容耦合:一个模块直接操作或修改另一模块的数据,或者不通过正常入口直接转入另一模块⑵公共耦合:两个或多个模块通过共同引用一个全局数据环境相互作用⑶控制耦合:模块之间通过传递控制信息相互作用⑷标记耦合:两个模块之间通过传递公共指针或地址相互作用的耦合⑸数据耦合:模块之间通过传递数据交换信息⑹无耦合:模块间无任何关系,独立工作 5、模块的内聚性有哪几种?各表示什么含义?答:⑴偶然内聚:一个模块各个成分之间毫无关系⑵逻辑内聚:将几个逻辑上相关的功能放在同一个模块中⑶时间内聚:一个模块完成的功能在同一时间执行⑷过程内聚:一个模块内部的处理成分是相关的,而且必须以特定的次序执行⑸通信内聚:一个模块的所有成分都集中在同一个数据结构上⑹顺序内聚:一个模块的各个成分同一个功能密切相关,而且一个成分的输出,作为另外一个成分的输入⑺功能内聚:模块内的所有成分属于一个整体,完成单一的功能。(内聚最高) 6、什么是软件结构?简述软件结构设计的优化准则。 答:⑴改进软件结构,提高模块独立性首先设计出软件初始结构,评价该结构,通过模块分解或合并,力求降低耦合提高内聚。⑵模块的规模应该适中⑶模块结构的深度、宽度、扇出和扇入应适中。深度:软件结构中控制的层数宽度:软件结构中同一层次上最大模块总数扇入:某一模块有多少直接调用它的上级模块数目(越大越好)扇出:一个模块直接控制(调用)下级模块的数目。(越少越好,3,4个为宜,不超过9个,"顶层扇出较高,中间扇出较少,底层模块高扇入多"⑷一个模块的作用域(范围),应处在这个模块的控制域(范围)之内模块的作用域:受该模块内一个判定影响的所有模块的集合模块的控制域:这个模块本身以及所有直接或间接从属于它的模块的集合一个模块的影响范围(作用域),应处在这个模块的模块的控制范围(控制域)内。 8、什么样是"事物流"?什么是"变换流"?试将相应形式的数据流图转换为软件结构图 答:数据流图(DFD)一般可分为"变换流","事物流"两种。"变换流":由输入﹑输出﹑变换(或称处理)三部分组成,是一顺序结构。"事物流":它的某个加工,分离成许多发散的数据流,形成许多加工路径,并且根据输入值选择其中一个路径来执行。(这人加工称为事务处理中心) 9.试述"变换分析"﹑"事务分析"设计步骤。 答:变换分析设计步骤:⑴确定变换中心,逻辑输入和输出。⑵设计软件结构的顶层和第一层--变换结构:顶层的功能是完成所有模块的控制(名称应是系统名,以体现完成整个系统功能)第一层至少有三种功能模块:输入﹑输出和变换模块⑶设计中﹑下层模块,对第一层的模块自顶向下分解。输入模块由两部分组成:接收数据﹑转换成调用模块所需信息。输出模块由两部分组成:将数据转换成下属模块所需的形式﹑发送数据变换模块:对每个基本加工建立一功能模块、⑷设计的优化:输入部分求精,每个物理输入设置专门模块,以体现系统的外部接口。其它输入模块与转换数据模块都很简单时,可将它们合并。输出部分求精:每个物理输出设置专门模块,其它也可适当合并。变换部分求精:根据设计准则,对模块适当合并。事务分析的设计步骤:⑴确定事务中心和加工路径⑵设计顶层(事务机构)和第一层顶层模块有两个功能:接收数据和根据事务类型调动相应处理模块。⑶中下层模块的设计﹑优化工作与变换结构相同。事务型软件结构包括两部分:接收分支发送分支出通常包括一调度模块,当事务类型不多时,可与主模块合并。第五章习题参考答案 1、详细设计的基本任务是什么,有哪几种描述方法?答:详细设计的基本任务包括:(1)为每个模块进行详细的算法设计(2)为模块内的数据结构进行设计(3)对数据库进行物理设计(4)其他设计(5)编写详细设计说明书(6)评审详细设计的描述方法有图形、表格和语言,其中图形常用结构化程序流程图、盒图和PAD(问题分析图)为描述工具,语言常用过程设计语言(PDL)来作为工具。 2、结构化程序设计的基本要点是什么?答:主要有三个:(1)采用自顶向下、逐步求精的程序设计方法(2)使用三种基本控制结构构造程序。任何程序都可以由顺序、选择、重复(循环)三种基本控制结构构造,这三种基本结构的共同点是单入口、单出口。(3)主程序员组的组织形式。 3、简述Jackson方法的设计步骤。答:Jackson方法的设计步骤如下:1.分析并确定输入数据和输出数据的逻辑结构,并用Jackson结构图表示这些数据结构。 (2)找出输入数据结构和输出数据结构中有对应关系的数据单元。3.按一定的规则由输入、输出的数据结构导出程序结构。 4.列出基本操作与条件,并把它们分配到程序结构图的适当位置。 (5)用伪码写出程序。 第六章习题参考答案 程序语言有哪些共同特征?

软件工程的100道问答题

1、什么是软件危机?产生软件危机的原因?怎样消除? 2、什么是软件工程?包括哪些内容? 3、软件生存周期包含哪些内容? 4、软件开发模型有几种?各有什么特点? 7、在软件开发的早期阶段,为什么要进行可行性研究?应该从哪些方面研究目标系统的可行性? 8、一个软件开发系统的可行性研究报告应如何编写? 9、数据流图有哪几种基本符号? 10、画数据流图原则是什么? 11、数据流图在软件分析中的作用是什么? 12、数据字典的作用? 13、什么是数据字典?有几个定义?各自特点是什么? 14、有几种效益的分析方法? 15、需求分析的任务是什么? 16、需求分析通常采用哪些分析技术? 17、什么是结构化分析?他的结构化体现在哪里? 18、简述面向对象分析技术的主要步骤? 19、原型开发技术的目的,特点是什么? 20、简述总体设计的一般过程? 21、什么叫软件结构?什么叫软件工程?二者之间关系? 22、解释深度、宽度、扇出、扇入对软件的影响。 23、什么叫模块化?M代表的含义是什么? 24、模块化的三个重要特征是什么?阐明各自的作用。 25、举例说明各种耦合情况和各种内聚情况。 26、简述设计准则的内容。 27、简述层次方框图与软件结构图的异同点。 28、事物型软件结构图有什么特点?原因是什么?

29、详细设计的任务是什么? 30、什么是结构化程序设计?用N-S图表示三种基本结构。 31、简述Jackson程序设计方法的主要内容。 32、简述Wariner程序设计方法的主要内容。 35、 C语言属于第几代语言?第四代语言特点是什么? 36、简述高级语言的应用特点和内在特点。 37、试分析程序设计语言特点及软件可*性、可理解性、可修改性、可测试性及成本 的关系。 38、选择一种语言的实用标准是什么? 39、简述开发环境、计算机体系结构、软件设计方法、软件开发过程与程序设计语言 之间的促进和制约作用。 40、程序的编码风格主要体现在哪几个方面? 41、软件测试的基本任务是什么?测试与调试区别是什么? 42、软件测试的目标是什么? 43、软件测试分几个步骤进行?每个步骤解决什么问题? 44、软件测试有几种方法?每种方法的特点是什么? 45、软件出错有几种类型?验证其程序正确性有几种方法? 46、什么是单元测试和集成测试?他们各有什么特点? 47、简述渐增式测试方法与非渐增式测试方法的优劣。 48、简述存根程序驱动程序的作用。 49、编最大、最小公倍数程序,并为它设计测试用例。 50、测试的具体任务是什么?为什么说调试是软件开发过程中最艰巨的任务? 51、举出几种常用的测试工具,说明他们的用法。 52、 MTTF的含义是什么?如何计算Et值? 53、假设有一个由1000行Pascal语句构成的程序(编译后约有5000条机器指令),请估算对它进行测试期间将发现多少错误。为什么?

软件工程期末考试参考考试试题

软件工程期末考试参考试题 一、填空题 1、软件生存周期一般可分为问题定义、可行性研究、需求分析、设计编码、测试、运行与维护 阶段。 2、按软件的功能进行划分,软件可以划分为系统软件、支撑软件和应用软件。 3、可行性研究主要集中在以下四个方面经济可行性、技术可行性、法律可行性和抉择。 4、用户界面的可使用性是用户界面设计最重要的也是最基本的目标。 5、常见的软件概要设计方法有3大类:以数据流图为基础构造模块结构的结构化设计方(SD), 以数据结构为基础构造模块的Jackson方法,以对象、类、继承和通信为基础的面向对象设计方法(OOD)。 6、数据流图和数据字典共同构成系统的逻辑模型。 7、软件测试的方法有分析方法和非分析方法(即黑盒法)。 8、单元测试一般以白盒测试为主,黑盒测试为辅。 9、成本估计方法主要有自底向上估计、自顶向下估计和算法模型估计三种类型。 10. 文档(document)—一种数据媒体和其上所记录的(数据)。 11 机器语言、汇编语言:依赖于机器,面向(机器) 12. 软件有效性(efficiency),指软件系统的时间和(空间)效率。 13. 软件定义过程可通过软件系统的(可行性研究)和需求分析两个阶段来完成。 14. 软件定义的基本任务是确定软件系统的工程(需求),也就是要搞清“做什么”。 15. 为了使用户需求逐步精细化、完全化、一致化,通常采用(需求建模技术)。 16. 一个软件的深度是指其控制的(层数)。 17. 以详细设计说明书为输入,将该输入用某种程序设计语言翻译成计算机可以理解并最终可运 行的代码的过程叫(编码)过程。 18. 软件维护是软件生命周期的(最后)一个阶段 19. 软件工程由(方法)、工具和过程三部分组成,称软件工程的三要素。 20. 基于计算机系统的软件要素中的软部件由程序、数据和(文档)组成。 21. 数据流图就是用来刻画数据流和转换的信息系统建模技术。它用简单的图形记号分 别表示数据流、转换、(数据源)以及外部实体。 22. 被继承的类我们称之为基类(父类),在基类的基础上新建立的类我们称之为派生 类子类。 23. 流程图也称为程序框图是最常用的一种表示法,它有顺序、分支和(循环)三个基 本控制构件。 24. 机器语言和汇编语言,也称为(低级)语言。 25. 软件测试是执行程序发现并排除程序中潜伏的(错误)的过程。 26. 软件可维护性,是指软件产品交付使用后,在实现改正潜伏的错误、改进性能等属 性、适应环境变化等方面工作的(难易)程度。 27. 软件可理解性,指系统具有清晰的结构,能直接反映问题的(需求)。 28 在实体-关系图简称E-R图中,数据对象实体用长方形、关系用(菱形)、属性用椭圆表示。 29. 建立数据流模型要遵循的原则包括:每个加工至少应有一个输入数据流以反映被处理数据的 来源和一个(输出)数据流来反映加工的结果 30. 从工程管理的角度软件设计可分为概要设计和(详细)设计两大步骤。 31. 通过向用户提供视觉和听觉上的反馈,保持用户与界面间的双向通信,是提高界面可(交互) 性的措施之一。 32. 程序设计语言的可靠性是指程序设计语言本身不出错或对错误的(纠正)能力。 33. 对发现错误较多的程序模块,应进行(重点)测试。

软件工程填空题(18套试题及答案)

《软件工程》填空题 二、填空题(请把答案写在相应的横线上,每小题1.5分) 1、软件是数据、计算机程序及其说明程序的各种文档。 2、概要设计主要是把各项功能需求转换成系统的体系结构。 3、面向对象开发方法包括OOA 、OOD 、OOP 三部分。 4、结构化设计中以数据流图为基础的两种具体分析设计方法是变换分析、事物分析设计。 5、在单元测试时,需要为被测模块设计驱动模块和桩模块。 6、CMM把软件过程从无序到有序的进化分成5个阶段,排序而形成5个逐层提高的等级,分别是初始级、可重复级、已定义级、已管理级和可优化级。 7.子类自动共享父类的属性和操作的机制称为继承。 8. 软件工程管理的具体内容包括对开发人员、组织机构、用户、文档资料等方面的管理。 9、可行性研究的三个方面是技术可行性、社会可行性和__经济可行性__。 10、在软件概要设计阶段,建立软件结构后,还应为每个模块写一份处理说明和_接口说明__。 11、在画分层的DFD时,父图与子图的输入输出数据流要__平衡__。 12、在详细设计阶段,除了对模块内的算法进行设计,还应对模块内的__数据结构_进行设计。 13. 对象的抽象是___类___。 14. 基线的作用是把各阶段的开发工作划分得更加明确,便于检查与确认阶段成果。因此,基线可以作为项目的一个___检查点__。 15. 软件工程包括软件开发技术和__软件工程管理__两大部分内容。 16、开发过程管理包括项目计划、控制和___任务管理__等。 17、CASE是多年来在软件开发管理、软件开发方法、软件开发环境和__软件工具__等方面研究和发展的产物。 18、数据字典中有四类条目,分别是___数据流、数据项、数据存储、基本加工。 19、用于描述基本加工的小说明的三种描述工具是结构化语言、判定表、判定树_。 20、子类只继承一个父类的属性和操作,这称为__单重继承__。

《软件工程导论》期末考试-试题与答案

《软件工程导论》期末考试- 试题与答案 一、填空题 1.软件工程中的结构化剖析SA 是一种面向 ________的剖析方法。 2.软件模块独立性的两个定性胸怀标准是_________________ 。 3.软件开发是一个自顶向下逐渐细化和求精的过程,而软件测试是一个________ 的过程。4.________和数据词典共同组成了系统的逻辑模型 5. ___________ 是一种黑盒测试技术,这类技术把程序的输入域区分为若干个数据类,据此导出测试用例。 二、单项选择题 1.在软件危机中表现出来的软件质量差的问题,其原由是 _______。 A.软件研发人员素质太差B.用户常常干涉软件系统的 研发工作C.没有软件质量标准 D.软件开发人员不恪守软件质量标准2.在软件质量因素中,软件在异样 条件下还能运转的能力成为软件的_____。 A.安全性B.强健性C.可用性 D.靠谱性 3.在以下测试技术中,______不属于黑盒测试技 术。 A.等价区分B.界限值剖析C.错误推断 D.逻辑覆盖 4.软件工程方法是在实践中不停发展着的方法,而初期的软件工程方法主假如指 ______。 A.原型化方法B.结构化方法C.功能化方法D.面向对象方法 5. ______ 是把对象的属性和操作联合在一同,组成一个独立的对象,其内部信息对外界是隐蔽的,外界只好经过有限的接口与对象发生联系。 A.多态 B.继承 C.封装 D.信息

6. Jackson方法是在软件开发过程中常用的方法,使用Jackson方法时能够实现 ______。 A.从数据结构导出程序结构B.从数据流图导出初始结构图C.从模块结构导出数据结构D.从模块结构导出程序结构 7.软件测试时为了________而履行程序的过 程。 A.纠正错误B.发现错误 C.防止错误 D.证明错误 8.在软件系统中,一个模块应拥有什么样的功能,这是由_____决定 的。 A.整体设计B.需求剖析C.详尽设计D.程序设计 9.面向对象剖析是对系统进行_________ 的一种方 法。 A.需求剖析B.程序设计C.设计评审D.测 试查收 10.软件文档是软件工程实行中的重要部分,它不单是软件开发各阶段的重要依照,并且影响软件的 _______。 A.可理解性 B.可保护性 C.可扩展性 D.可移植 11.模块内聚度越高,说明模块内各成分相互联合的程序越_______。 A.松懈B.密切C.没法判断D.相等 12.软件开发的瀑布模型,一般都将开发过程区分为:剖析、设计、编码、测试和保护等阶段,一般以为可能占用人员最多的阶段是________。 A.剖析阶段 B.设计阶段 C.保护阶段D.测试阶段

详细设计填空题20小题1详细设计的基本任务是为每个

第 5 章详细设计 一、填空题(20 小题) 1、详细设计的基本任务是为每个模块进行详细的();为模块内的() 进行设计;对()进行物理设计;其他设计;编写详细设计说明书和()。答案:算法设计、数据结构、数据库、评审 2、Jackson 方法可用()、()、()三种基本结构来表示。Jackson 方法中的伪码也称(),与Jackson 所示的()图完全对应。答案:顺序、选择、重复、图解逻辑、程序结构 3、在算法描述工具中,PAD图可自动生成程序。由机器自动通过()生成相应的源代码,大大提高了()。 答案:走树的方法、软件的生产率 4、过程设计语言的选择结构有:()结构、()结构、()结构三种。 答案:IF-ELSE 、IF-ORIF-ELSE CASE 5、过程设计语言的顺序结构采用()描述。 答案:自然语言 6、在JSP方法中解决结构冲突的具体办法是()。 答案:中间数据结构或中间文件 7、JSP方法定义了一组以数据结构为指导的(),它根据()、()的数据结构,按一定的规则映射成(),即(),而不是软件的体系结构, 因此该方法适用于()。 答案:映射过程、输入、输出、软件的过程描述、程序结构、详细设计阶段 8、处理过程设计中采用的典型方法是(),简称()方法。 答案:结构化程序设计、SP 9、结构化程序设计方法的要点是使用()结构,自顶向下,逐步求精地构造算法或程序。 答案:三种基本控制 10、结构化程序设计技术指导人们用良好的思想方法开发易()、易()的程序。 答案:理解、验证 11、在详细设计阶段,为了提高数据的输入、存储、检索等操作的效率并节约存储空间, 对某些数据项的值要进行()设计。 答案:代码 12、在详细设计阶段,经常采用的工具有()、()、()等。 答案:程序流程图、PDL,PAD图 13、结构化程序设计方法的基本要点是:(1)采用()、()的程序设计 方法;(2)使用()构造程序;(3)()。

软件工程(本)阶段练习三

华东理工大学网络教育学院 《软件工程(本)》阶段练习三 一、判断题(每题1分,共10分;正确打“√”,错误打“×”) 1、Jackson结构图只能描述数据结构,不能描述程序结构。( ×) 2、HIPO图是由一张层次图和一组IPO图组成的。( √) 3、源程序的文档化就是软件的文档化。( ×) 4、问题分析图(PAD)是一种常用的详细设计描述工具。( √) 5、Jackson方法是一种面向对象的软件设计方法。( ×) 6、把一个软件系统划分成多个模块的目的是为了降低软件系统的复杂性。( √) 7、耦合性是一个用来衡量模块内部各个元素彼此结合紧密程度的度量指标。( ×) 8、将软件系统划分为模块时,应尽量做到高内聚低耦合,提高模块的独立性。( √) 9、面向数据流的设计以需求分析阶段产生的数据流图为基础,按一定的步骤将其映射为软件结构。( √) 10、软件结构图是软件系统的模块层次图,它反映了整个系统的功能实现。( √) 二、单项选择题(每空1分,本大题共30分) 1、在模块化软件设计中,划分程序模块通常遵循的基本原则是:使各模块间的耦合性 ①;使各模块内部的内聚度②。 A、尽可能强 B、尽可能弱 C、适中 D、视情况而定 2、面向数据流的设计方法把数据流图(DFD)划分为变换型和③两大类,并提出了对应于这两类结构的分解方法。 A、控制型 B、处理型 C、事务型 D、功能型 3、模块化的目的是为了④。 A、增加内聚性 B、提高易读性 C、降低复杂性 D、减少耦合性 4、三种可能的模块耦合是: ⑤:例如一个模块直接引用另一个模块中的数据。 ⑥:例如一个模块把控制另一个模块执行流程的逻辑量作为参数传递给另一个模块。 ⑦:例如一个模块把一个数据量传递给另一个模块。 其中⑧的耦合性最强。

信息技术:软件开发的管理和控制

信息技术:软件开发的管理和控制 软件开发是一项很复杂的工作,对于软件开发的管理和控制,现在有一门专门的学科:软件工程。在这方面有许多国家标准和国际标准。许多公司也有相应的文档模版,及相关规定。现在不谈技术角度来规范软件开发的管理和控制,从管理和实践的角度来探讨软件开发的管理和控制应遵循的的一些原则。 对于软件开发项目中,经常出现两种极端情况,一种是创造了新的生产率和质量的纪录;一种则完全是一场灾难,不是被取消就是拖延很长时间。前者如在很短的时间内,为了赶进度,在几乎不可能的时间内开发出一套软件产品,创造了软件开发的记录,满足了上级所要求的上机日期,由于开发时间太短,过于仓促,上机时,问题百出,试运行时间长达几个月或一年半载的,而且程序一改再改,维护工作量大。 后者,如某套系统未弄清楚需求,或因设计问题,开发失败。通过提炼这些成功和失败的例子,软件项目成功或失败的根本原因可能会更清晰一些。 在讨论这些原因之前,我们先来说明一下什么情况可以称为失败的软件项目。 1.由于费用超支或计划执行超时而终止。 2.完成计划的时间或费用超过了原计划的50%。 3.由于质量或性能上的原因引起和客户的纠纷。 下面我们将按其影响大小的顺序排列说明5种错误的实践方式。 错误1:没有软件项目开发的历史数据 缺乏软件开发的历史数据是大多数软件项目失败的关键所在,这样的结论也许使很多人感到吃惊,但事实就是如此。没有一个可靠的软件开发的历史数据会使项目经理程序员,客户对于软件开发的过程缺少清醒的认识。 假设现在你正在管理一个软件项目,而这个项目还没有一个公司在36个月内完成。作为一个负责的经理,你作了一个比较细致和保守的估计,然后告诉你的客户和你的手下说你认为这个项目需要36-38个月完成。然而常常有这样的情况发生:你的客户和程序员要求把时间压缩到18个月。客户一方面希望软件尽早投入使用而产生经济效益一方面也想压缩项目时间作为一个讨价还价的筹码;而程序员一方面可能过于自信,一方面尽早结束项目也能使他们多赚点钱。而此时你的手头上也没有一个可靠的软件开发的历史数据在他们的压力下你同意

软件工程专升本考试模拟题(附答案)

软件工程考试模拟题(附答案) 一、单选题(共80题,每题1分,共80分) 1、为了提高软件的可维护性,在编码阶段应注意( ) A、养成好的程序设计风格 B、文档的副作用 C、提高模块的独立性 D、保存测试用例和数据 正确答案:A 2、软件的可理解性支持软件的( )。 A、可追踪性 B、可移植性 C、有效性 D、可靠性 正确答案:B 3、软件可行性研究一般不考虑( ) A、是否有足够的人员和相关的技术来支持系统开发 B、是否有足够的工具和相关的技术来支持系统开发 C、待开发的软件是否会有质量问题 D、待开发软件是否有市场、经济上是否合算 正确答案:C 4、基于代码行的面向规模的度量方法适合于( )。 A、过程式程序设计语言和事前度量 B、过程式程序设计语言和事后度量 C、第四代语言和事后度量 D、第四代语言和事前度量 正确答案:B 5、软件是( )。 A、处理对象和处理规则的描述 B、程序 C、计算机系统 D、程序及其文档 正确答案:D 6、JAckson结构化程序设计方法主要适用于规模适中的( )系统的开发。 A、数据处理

B、实时控制 C、文字处理 D、科学计算 正确答案:A 7、需求分析的基本原则包括( )。 A、修正系统开发计划 B、必须能够表达和理解问题的数据域和功能域 C、自顶向下、逐层分解问题 D、要给出系统的逻辑视图和物理视图 正确答案:B 8、在整个软件项目定义与开发各阶段一种典型的工作量分布原则,称为40-20-40分布原则,其中20%的工作量指的是( )。 A、测试工作量 B、需求分析工作量 C、编码工作量 D、详细设计工作量 正确答案:C 9、在软件质量要素中,改变一个操作的顺序所需的工作量的多少指的是( )。 A、完整性 B、可用性 C、正确性 D、灵活性 正确答案:D 10、各种软件维护的类型中最重要的是( ) 。 A、预防性维护 B、纠错性维护 C、完善性维护 D、适应性维护 正确答案:C 11、在软件质量要素的评价准则中,程序监视自身运行并标识错误的程度指的是( )。 A、可操作性 B、容错性

软件工程试题与答案 (1)

《软件工程模拟试题及参考答案》(一) 一、单向选择题(四选一、每小题3分,共18分) 1、面向对象(Object Oriented)方法是将现实世界的事物以对象的方式(B )到计算机世界的方法。 对应 映射 反映 反射 2、盒图也称为(D)或Chapin图。这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题。 流程图 框图 判定表 N-S图 3、面向数据的设计方法就是根据问题的数据结构定义一组映射,把问题的数据结构转换为问题解的(A)结构。 程序 数据 逻辑 物理 4、人机界面的风格大致经过了(B)代的演变。 三 四 五 六 5、以下不属于白盒测试技术的是(D) 逻辑覆盖 基本路径测试 循环覆盖测试 等价类划分 6、为改正软件系统中潜藏的错误而进行的维护活动称为(A)。 纠错性维护 适应性维护 改善性维护 预防性维护 二、填空题(每空2分,共18分) 1.文档-一种数据媒体和其上所记录的(数据)。 2.机器语言、汇编语言:依赖于机器,面向(机器) 3.软件有效性,指软件系统的时间和(空间)效率. 4.软件定义过程可通过软件系统的(可行性研究)和需求分析两个阶段来完成。 5.软件定义的基本任务是确定软件系统的工程(需求),也就是要搞清“做什么"。 6.为了使用户需求逐步精细化、完全化、一致化,通常采用(需求建模技术). 7.一个软件的深度是指其控制的(层数). 8.以详细设计说明书为输入,将该输入用某种程序设计语言翻译成计算机可以理解并最终

可运行的代码的过程叫(编码)过程. 9.软件维护是软件生命周期的(最后)一个阶段. 三、判断题(每小题2分,共24分,错误打X、正确打√) 1.缺乏有力的方法学的指导和有效的开发工具的支持,这往往是产生软件危机的原因之 一.(√) 2.一个好的开发人员应具备的素质和能力不包括具有良好的书面和口头表达能力.(X) 3.在用户需求分析时观察用户手工操作过程不是为了模拟手工操作过程,而是为了获取第 一手资料,并从中提取出有价值的需求。(√) 4.快速原型技术的适用于软件产品要求大量的用户交互、或产生大量的可视输出、或设计 一些复杂的算法等场合。(√) 5.流程图也称为程序框图是最常用的一种表示法.(√) 6.面向数据设计方法一般都包括下列任务:确定数据结构特征;用顺序、选择和重复三种 基本形式表示数据等步骤。(√) 7.理想的人机界面应针对具有典型个性的特定的一类用户设计。(√) 8.数据输入的一般准则中包括尽量增加用户输入的动作.(X) 9.用穷举测试是较现实的测试方法。(X) 四、简答题(每小题4分,共20分) 1、计算机软件——与计算机系统操作有关的程序、规程、规则及任何与之有关的文档和数据. 2、需求分析的任务是什么? 需求分析的任务是确定待开发的软件系统“做什么”。具体任务包括确定软件系统的功能需求、性能需求和运行环境约束,编制软件需求规格说明书、软件系统的验收测试准则和初步的用户手册。 3、软件项目的成本管理—-估算软件项目的成本,作为立项和签合同的依据之一,并在软件开发过程中按计划管理经费的使用 4、快速原型技术的基本思想是什么? 在软件开发的早期,快速开发一个目标软件系统的原型,让用户对其进行评价并提出修改意见,然后开发人员根据用户的意见对原型进行改进。 5、程序设计语言的有哪些特点? 1)一致性 2)二义性 3)紧致性 4)局部性 五、综合题(每小题10分,共20分) 1、可将软件生存周期划分为哪3个过程和哪9个阶段。 (1)3个过程是:软件定义过程、软件开发过程、软件使用与维护过程。 (2)9个阶段有:可行性研究、需求分析、概要设计、详细设计、实现、组装测试、验收测试、使用与维护、退役。 2、画出与图1所示的程序流程图对应的程序图,并试计算其巡回秩数V(G)。 解: (1)程序图如(图2)所示: (2)计算其巡回秩数:V(G)=E –N +2=13 –10 +2=5 (图一) (图二)《软件工程模拟试题及参考答 案》(二) 一、单向选择题(四选一、每小题3分,共18分)

软件工程习题及答案

软件工程习题及答案 一、选择题: 1。为了提高测试的效率,应该. A、随机地选取测试数据 B、取一切可能的输入数据作为测试数据 C、在完成编码后制定软件的测试计划 D、选择发现错误可能性大的数据作为测试数据 2。与设计测试数据无关的文档是。 A、需求说明书 B、设计说明书 C、源程序 D、项目开发设计 3。结构设计是一种应用最广泛的系统设计方法,是以为基础、自顶向下、逐步求精和模块化的过程。 A、数据流 B、数据流图 C、数据库 D、数据结构 4. 概要设计的结果是提供一份。 A、模块说明书 B、框图 C、程序 D、数据结构 5。需求分析是由分析员经了解用户的要求,认真细致地调研、分析,最终应建立目标系统的逻辑模型并写出。 A、模块说明书 B、软件规格说明书 C、项目开发计划 D、合同文档 6。注释是提高程序可读性的有效手段,好的程序注释占到程序总量的。 A、1/6 B、1/5 C、1/4 D、1/3 7。变换型和事务型是程序结构的标准形式。从某处获得数据,再对这些数据作处理,然后将结果送出是属于. A、变换型 B、事务型 8. PAD(Problem Analysis Diagram)图是一种工具。 A、系统描述 B、详细设计 C、测试 D、编程辅助 9. 分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描绘了系统的。 A、总貌 B、细节 C、抽象 D、软件的作者 10。数据流图中,当数据流向或流自文件时,. A、数据流要命名,文件不必命名 B、数据流不必命名,有文件名就足够了 C、数据流和文件均要命名,因为流出和流进数据流是不同的 D、数据流和文件均不要命名,通过加工可自然反映出

软件工程试题及答案

一、填空 1.结构化分析方法的分析策略是自顶向下逐步求精。 2.衡量模块独立性的两个定性标准是_耦合性与内聚性。 3.软件集成测试的方法主要有两种,它们是渐增式与非渐增式测试。 4.可行性研究的目的是用最小的代价在尽可能短的时间内确定该软件项目_是否值得开发_。 5.需求分析阶段,分析人员要确定对问题的综合需求,其中最主要的是功能需求_。 6.软件生存周期中时间最长、花费的精力和费用最多的一个阶段是维护阶段。 7.计算机辅助软件工程这一术语的英文缩写为_CASE 。 8.McCall 提出的软件质量模型包括11 个软件质量特性。 9.软件结构是以模块 10.软件概要设计的主要任务就是为基础而组成的一种控制层次结构。 软件结构的设计。 11.结构化程序设计方法是使用三种基本控制结构 (条件\控制\循环) 构造程序。 12.在建立对象的功能模型时,使用的数据流图中包含有处理、数据流、动作对象和数据存储对象_ 二、选择 1.UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法( C ) A、基于瀑布模型的结构化方法 B、基于需求动态定义的原型化方法 C、基于对象的面向对象的方法 D、基于数据的数据流开发方法 2、面向对象的开发方法中,(B)将是面向对象技术领域内占主导地位的标准建模语言。 A、Booch 方法 B、UML 语言 C、OMT 方法 D、Coad 方法 3、功能模型中所有的( A)往往形成一个层次结构。在这个层次结构中一个数据流图的过程可以由下一层的数据流图作进一步的说明。 A、数据流图 B、概念模型图 C、状态迁移图 D、事件追踪图 4、(A)应当在应用分析之前进行,因为我们在了解问题之前应当对问题敞开思想考虑,不应加以限制。 A、问题域分析 B 、高层分析C、实例的建立D、类的开发 5、通过执行对象的操作改变对象的属性,但它必须通过(B)的传递。 A、接口 B 、消息C、信息D、操作 6、所有的对象可以成为各种对象类,每个对象类都定义了一组(B) A、说明 B 、方法C、过程D、类型 9、面向对象的主要特征除对象唯一性、封装、继承外,还有(A) A、多态性 B 、完整性C、可移植性D、兼容 10、在面向对象的设计中,我们应遵循的设计准则除了模块化、抽象、低耦合、高内聚以外,还有(B) A、隐藏复杂性 B 、信息隐藏C、即存类的重用 D 、类的开发 13、在考察系统的一些涉及时序和改变的状况时,要用动态模型来表示。动态模型着重于系统的控制逻辑,它 包括两个图:一个是事件追踪图,另一个是(B) A、数据流图 B、状态图 C、系统结构图 D、时序图 14、人们常用的评价软件质量的 4个因素是( B ) A.可维护性、可靠性、健壮性、效率 B.可维护性、可靠性、可理解性、效率 C.可维护性、可靠性、完整性、效率 D.可维护性、可靠性、移植性、效率 15、软件可移植性是用来衡量软件的( C ) 重要尺度之一。 A.通用性 B. 效率 C.质量 D. 人机界面 16、为了提高软件的可移植性,应注意提高软件的( D ) A.使用的方便性 B.简洁性 C.可靠性 D.设备独立性 20.在软件质量因素中,软件在异常条件下仍能运行的能力称之为软件的( B ) A.可靠性 B.健壮性 C.可用性 D.安全性 21.在软件设计中,设计复审是和软件设计本身一样重要的环节,其主要的目的和作用是为了能够( B) A.减少测试工作量 B. 避免后期付出高代价 C.保证软件质量 D. 缩短软件开发周期 22.在软件危机中表现出来的软件质量差的问题,其原因是( B)

软件工程习题及答案

软件工程习题及答案: 一、选择题: D1. 为了提高测试的效率,应该。 A、随机地选取测试数据 B、取一切可能的输入数据作为测试数据 C、在完成编码后制定软件的测试计划 D、选择发现错误可能性大的数据作为测试数据 D2. 与设计测试数据无关的文档是。 A、需求说明书 B、设计说明书 C、源程序 D、项目开发设计 B3. 结构设计是一种应用最广泛的系统设计方法,是以为基础、自顶向下、逐步求精和模块化的过程。 A、数据流 B、数据流图 C、数据库 D、数据结构 A4. 概要设计的结果是提供一份。 A、模块说明书 B、框图 C、程序 D、数据结构 B5. 需求分析是由分析员经了解用户的要求,认真细致地调研、分析,最终应建立目标系统的逻辑模型并写出。 A、模块说明书 B、软件规格说明书 C、项目开发计划 D、合同文档 D6. 注释是提高程序可读性的有效手段,好的程序注释占到程序总量的。 A、1/6 B、1/5 C、1/4 D、1/3 A7. 变换型和事务型是程序结构的标准形式。从某处获得数据,再对这些数据作处理,然后将结果送出是属于。 A、变换型 B、事务型 B8. PAD(Problem Analysis Diagram)图是一种工具。 A、系统描述 B、详细设计 C、测试 D、编程辅助 A9. 排错一般是在测试发现错误后进行,其中找到错误位置占排错总工作量的。 A、95% B、5% C、50% D、20% A10. 分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描绘了系统的。 A、总貌 B、细节 C、抽象 D、软件的作者 B11. 数据流图中,当数据流向或流自文件时,。 A、数据流要命名,文件不必命名 B、数据流不必命名,有文件名就足够了 C、数据流和文件均要命名,因为流出和流进数据流是不同的 D、数据流和文件均不要命名,通过加工可自然反映出 B12. 分析员是。 A、用户中系统的直接使用者 B、用户和软件人员的中间人 C、软件的编程人员 D、用户和软件人员的领导 A13. 在软件开发中,有利于发挥集体智慧的一种做法是。 A、设计评审 B、模块化 C、主程序员制 D、进度控制 A14. 在开发软件时,可用来提高程序员的工作效率。 A、程序开发环境 B、操作系统的作业管理功能 C、编译程序的优化功能 D、并行运算的大型计算机 C15. 软件测试中设计测试实例(test case)主要由输入数据和两部分组成。 A、测试规则 B、测试计划 C、预期输出结果 D、以往测试记录分析 C16. 结构化程序设计主要强调程序的。 A、效率 B、速度 C、可读性 D、大小 B17. 开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作。 A、软件投机 B、软件危机 C、软件工程 D、软件产生 B18. 成功的测试是指。 A、运行测试实例后未发现错误项 B、发现程序的错误 C、证明程序正确 D、改正程序的错误 E,I,B,G,H19. 数据流图的3种成分为① 、② 和③ ,② 是数据流中① 的变换,③ 用来存储信息,④

相关主题
文本预览
相关文档 最新文档