软件工程导论_习题及答案

软件工程导论_习题及答案
软件工程导论_习题及答案

第一章软件工程概论

1.什么是软件生存周期?

软件生存周期是指从软件定义、开发、使用、维护到淘汰的全过程。

2.软件生存周期为什么划分成阶段?

(1) 任何一个阶段的具体任务不仅独立,而且简单,便于不同人员分工协作,从而降低整个软件开发工作的困难程度。

(2) 可以降低每个阶段任务的复杂程度,简化不同阶段的联系,有利于工程的组织管理,也便于采用良好的技术方法。

(3) 使软件开发的全过程以一种有条不紊的方式进行,保证软件的质量,特别是提高了软件的可维护性。

3.应该怎样来划分阶段?

(1)每一个阶段的任务尽可能独立;

(2)同一阶段内的任务性质尽可能相同;

(3)每一个阶段任务的开始和结束有严格的标准。

4.软件开发模型有几种?它们的开发方法有可特点?

软件开发模型有瀑布型、渐增型和变换型。

瀑布型开发方法是按照软件生存周期的划分依次实施,每一个阶段有明确规定的任务。它的特点:

(1)各个阶段的顺序性和依赖性;

(2)划分逻辑设计与物理设计,尽可能推迟程序的物理实现;

(3)每个阶段必须完成规定的文档,对其中问题通过复审及早发现,及早解决。

渐增型开发方法及特点:

(1) 从部分需求出发,先建立一个不完全的系统,通过测试运行该系统取得经验和信息反馈,加深对软件需求的理解,进一步使系统扩充和完善。如此反复,直至软件人员和用户对所设计完成的软件系统满意为止。

(2) 在渐增型开发下的软件是随软件开发的过程而逐渐形成的。

(3) 渐增型开发方法适合于知识型软件的开发,设计系统时对用户需求的认识开始不是很清楚的,需要在开发过程中不断认识、不断获得新的知识去丰富和完善系统。多数研究性质的试验软件,一般采用此方法。

变换型开发方法及特点:

(1)从软件需求的形式化规格说明出发,经过一系列的程序变换,得到最终的程序系统。

(2)该方法必须有严格的数学理论和形式化技术的支持。

5.什么是软件工程?

软件工程是指导计算机软件开发和维护的工程学科。

(1) 它采用工程的概念、原理、技术和方法来开发和维护软件;

(2) 它将管理技术与当前经过时间考验的而证明是正确的技术方法结合起来;

(3) 它强调使用生存周期方法学和结构分析和结构技术;

(4) 经过人们长期的努力和探索,围绕着实现软件优质高产这个目标,从技术到管理两个方面做了大量的努力,逐渐形成了"软件工程学"这一新的学科。

6.什么是软件工程环境:

方法与工具的结合,加上配套的软、硬件支持称为软件工程环境。它能支持开发者按照软件工程的方法,全面完成生存周期中的各项任务。

第二章可行性研究习题答案

1. 问题定义的任务和主要工作?

问题定义的任务:将用户提出的要求具体化、定量化;确定研制系统的范围,明确研制的边界。

问题定义阶段的工作:

(1) 通过调查研究,了解系统需求;

(2) 确定系统的功能需求、性能需求、可靠性需求、安全及保密性、资源、开发费用及开发进度等的需求;

(3) 问题定义阶段的产品--系统目标与范围说明书。

2.可行性研究目的?

确定在问题定义中所提出的问题是否值得去解,在限制条件下,问题能否解决。

3.可行性研究的任务?

(1) 进一步分析和澄清问题的定义,在澄清问题的基础上,导出系统的逻辑模型;

(2) 从系统逻辑模型中,选择问题的若干种主要解法,研究每一种解法的可行性,为以后的行动提出建议;

(3) 如果问题没有可行的解,建议停止系统开发;如果问题有可行的解,应该推荐一个较好的解决方案,并为工程制定一个初步的计划。

4.可行性研究包括哪几方面的内容?

(1)技术可行性:现有技术能否实现本系统,现有技术人员能否胜任,开发系统的资源能否满足;

(2)经济可行性:经济效益是否超出开发成本;

(3)操作可行性:系统操作在用户内部行得通吗?

(4)法律可行性:新系统开发是否会侵犯他人、集体或国家利益,是否违反国家法律。

5.可行性研究的步骤?

(1)复查系统的规模和目标;

(2)研究目前正在使用的系统,总结现有系统的优劣,提出新系统的雏形;

(3)导出新系统的高层逻辑模型;

(4)推荐建议方案;

(5)推荐行动方针;

(6)书写计划任务书(可行性报告);

(7)提交审查。

6. 可行性研究报告的主要内容?

可行性分析的结果是可行性研究报告,内容包括:

(1) 系统概述:说明开发的系统名称,提出单位和开发单位。

(2) 可行性研究的前提:系统目标;要求;约束和限制;可行性研究的基本准则等。

(3) 对现有系统的分析:处理流程,图示说明现有系统的处理流程和数据流程;现有系统存在的问题。

(4) 系统需求:主要功能;主要性能及其要求;操作要求;信

息要求;限制性要求。

(5) 建议系统:系统目标;处理流程;系统结构,功能,性能;系统技术可行性;投资和效益分析;操作可行性;法律可行性。

(6) 其它可选方案:与国内外同类型方案的比较;提出一两个可行性方案供论证和探讨。

(7) 制定下一阶段的预算。

(8) 结论性意见:由用户方、设计方和投资方共同签署意见。第三章需求分析习题答案

1.需求分析的描述工具有哪些?

有数据流图、数据字典、判定表、判定树、结构化自然语言、层次方框图、Warnier图、IPO图和需求描述语言等。

2.需求分析的基本任务是什么?

准确定义未来系统的目标,确定为了满足用户的需要系统必须做什么。

3.怎样建立目标系统的逻辑模型?要经过哪些步骤?

建立目标系统的逻辑模型的过程也就是数据流图的分解过程。它的导出过程如图:

4.什么是结构化分析?它的结构化体现在哪里?

结构化分析:使用数据流程图、数据字典、结构化英语、判定表和判定树等工具,来建立一种新的、称为结构化说明书的目标文档-需求规格说明书。

结构化体现在将软件系统抽象为一系列的逻辑加工单元,各单元之间以数据流发生关联。

5.软件需求规格说明书由哪些部分组成?

组成包括:

(1) 引言:编写目的、背景说明、术语定义及参考资料等。

(2) 概述主要功能、约束条件或特殊需求。

(3) 数据流图与数据字典。

(4) 用户接口、硬件接口及软件接口。

(5) 性能需求、属性等。

(6) 其它需求,如数据库、操作及故障处理等。

6.为什么数据流图要分层?画分层的DFD要遵循哪些原则?

分层的目的:便于逐步细化、结构清晰。

画分层的DFD要遵循哪些原则:

(1)父图与子图之间数据要平衡。

(2)分解的深度和层次达到使加工足够简单、易于理解的基本加工为止。

(3)区分局部文件和局部外部项(局限于数据流中某一层或某几层的文件和外部项)。

(4)不要把控制流作为数据流。

(5)忽略琐碎的枝节。

(6)每个数据流要有一个合适的名字,尽量使用现实系统中有具体意义的名字。

7.系统流程图与数据流程图有什么区别?

系统流程图描述系统物理模型的工具,数据流程图描述系统逻辑模型的工具。

系统流程图从系统功能的角度抽象的描述系统的各个部分及其相互之间信息流动的情况。

数据流程图从数据传送和加工的角度抽象的描述信息在系统中的流动和数据处理的工作状况。

8.数据字典包括哪些内容?它的作用是什么?

数据字典是描述数据流图中数据的信息的集合。它对数据流图上

每一个成分:数据项、文件(数据结构)、数据流、数据存储、加工和外部项等给以定义和说明;它主要由数据流描述、加工描述和文件描述三部分组成。对用户来讲,数据字典为他们提供了数据的明确定义;对系统分析员来讲,数据字典帮助他们比较容易修改已建立的系统逻辑模型。

9.描述加工逻辑的工具有哪些?

有决策树(又称判定树)、决策表(又称判断表)和结构化语言等。

10.某单位拟开发一个计算机房产管理系统,要求系统具有分房、调房、退房和查询统计等功能。房产科将用户申请表输入系统后,系统首先检查申请表的合法性,对不合法的申请表,系统拒绝接收;对合法的申请表根据类型分别进行处理。

(1) 如果是分房申请,则根据申请者的情况(年龄、工龄、职称、职务、家庭人口等)计算其分数,当分数高于阀值分数时,按分数高低将申请单插到分房队列的适当位置。在进行分房时,从空房文件中读出空房信息,如房号、面积、等级、单位面积房租等,把好房优先分给排在分房队列前面的符合该等级房条件的申请者;从空房文件中删掉这个房号的信息,并从分房队列中删掉该申请单,再把此房号的信息和住户信息一起写到住房文件中,输出住房分配单给住户,同时计算房租,并将算出的房租写到房租文件中。

(2) 如果是退房申请,则从住房文件和房租文件中删除有关信

息,再把此房号的信息写到空房文件中。

(3) 如果是调房申请,则根据申请者的情况确定其住房等级,然后在空房文件中查找属于该等级的空房,退掉原住房,再进行与分房类似的处理。

(4) 住户可以向系统查询目前分房的阀值分数,居住某类房屋的条件,某房号的单位面积及房租等信息。房产科可以要求系统打印住房情况的统计表,或更改某类房屋的居住条件、单位面积和房租等。

用数据流图描绘该系统的功能需求;在数据字典中给出主要的数据流、文件和加工说明。

参考第四章4.5应用举例教案之二分析。

第四章总体设计习题答案

1. 系统设计包括哪两个阶段?

系统设计包括总体设计与详细设计两个阶段。

2. 总体设计的主要任务是什么?

总体设计的主要任务是完成软件结构的设计,确定系统的模块及其模块之间的关系。

3. 什么是模块?模块具有哪几个特征?总体设计主要考虑什么特征?

模块是数据说明、可执行语句等程序对象的集合,可以单独命名且可通过名字来访问。

模块具有输入和输出(参数传递)、功能、内部数据结构(局部变量)和程序代码四个特性。

概要设计主要考虑输入、输出(参数传递)和功能两个特性。

4. 什么是模块化?模块设计的准则?

模块化是按规定的原则将一个大型软件划分为一个个较小的、相对独立但又相关的模块。

模块设计的准则:

(1) 改进软件结构, 提高模块独立性:在对初步模块进行合并、分解和移动的分析、精化过程中力求提高模块的内聚,降低藕合。

(2) 模块大小要适中:大约50行语句的代码,过大的模块应分解以提高理解性和可维护性;过小的模块,合并到上级模块中。

(3) 软件结构图的深度、宽度、扇入和扇出要适当。一般模块的调用个数不要超过5个。

(4) 尽量降低模块接口的复杂程度;

(5) 设计单入口、单出口的模块。

(6) 模块的作用域应在控制域之内。

5. 变换型数据流由哪几部分组成?

变换型结构由三部分组成:传入路径、变换(加工)中心和传出路径。

6. 变换分析设计的步骤?

(1) 区分传入、传出和变换中心三部分,划分DFD图的分界线;

(2) 完成第一级分解:建立初始SC图的框架;

(3) 完成第二级分解:分解SC图的各个分支;

(4) 对初始结构图按照设计准则进行精化与改进。

7. 事务型数据流由哪几部分组成?

事务型结构由至少一条接受路径、一个事务中心与若干条动作路径组成。

8. 事务分析设计的步骤?

(1) 在DFD图中确定事务中心、接收部分(包含全部接收路径)和发送部分(包含全部动作路径);

(2) 画出SC图框架,把DFD图的三部分分?quot;映射"为事务控制模块,接收模块和动作发送模块.一般得到SC图的顶层和第一层(如果第一层简单可以并入顶层);

(3) 分解和细化接收分支和动作分支,完成初始的SC图;

(4) 对初始结构图按照设计准则进行精化与改进。

9. 比较层次方框图与结构图是的异同?

(1) 层次方框图描绘数据的层次结构, 结构图描绘的是软件结构。

(2) 二者都采用多层次矩形框树形结构。层次方框图的顶层矩形框代表完整的数据结构, 下面各层矩形框依次代表上个框数据的子集;结构图是在层次图的每一个方框内注明模块的名字或主要功能,方框之间的直线表示模块的调用关系,用带注解的箭头表示模块调用过程中传递的信息。

10.欲开发一个银行的活期存取款业务的处理系统:储户将填好的存/取款单和存折交给银行工作人员,然后由系统作以下处理;

(1)业务分类处理:系统首先根据储户所填的存/取款单,确定本次业务的性质,并将存/取款单和存折交下一步处理;

(2)存款处理:系统将存款单上的存款金额分别记录在存折和帐目文件中,并将现金存入现金库;最后将存折还给储户;

(3)取款处理:系统将取款单上的取款金额分别记录在存折和帐目文件中,并从现金库提取现金;最后将现金和存折还给储户。

绘制该系统的数据流图和软件结构图。

顶层

一层

二层

软件结构图

第五章习题参考答案

一.回答问题

1.详细设计的目的?

为软件结构图(SC图或HC图)中的每一个模块确定采用的算法和块内数据结构,用某种选定的表达工具给出清晰的描述.

2.详细设计的主要任务?

编写软件的“详细设计说明书”.软件人员要完成的工作:

(1) 为每一个模块确定采用的算法, 选择某种适当的工具表达算法的过程,写出模块的详细过程描述.

(2) 确定每一模块使用的数据结构.

(3) 确定模块结构的细节,包括对系统外部的接口和用户界面,

对系统内部其它模块的接口,以及关于模块输入数据、输出数据及局部数据的全部细节.

(4) 为每一个模块设计出一组测试用例,以便在编码阶段对模块代码(即程序)进行预定的测试.

3.结构化程序设计的基本原则?

在详细设计中所有模块都使用单入口、单出口的顺序、选择、循环三种基本控制结构.

4.比较面向数据流和面向数据结构两类设计方法的异同?

相同点:

(1) 遵守结构程序设计“由顶向下”逐步细化的原则,并以其为共同的基础;

(2) 均服从“程序结构必须适应问题结构”的基本原则,各自拥有从问题结构(包括数据结构)导出程序结构的一组映射规则。

不同点:

(1) 面向数据流的设计以数据流图为基础,在分析阶段用DFD 表示软件的逻辑模型,在设计阶段按数据流类型,将数据流图转换为软件结构。面向数据结构的设计以数据结构为基础,从问题的数据结构出发导出它的程序结构。

(2) 面向数据流的设计的最终目标是软件的最终SC图,面向数据结构的设计的最终目标是程序的过程性描述。

5.比较Jackson方法和LCP方法的异同?

Jackson与LCP设计方法都是以数据结构为出发点,以程序的过

程描述为最终目标,设计步骤基本相似。它们的主要差别是:

(1)使用不同的表达工具,其中LCP方法中的表达工具Warnier 图

比Jackson设计方法中的表达工具Jackson图有更大的通用性;

(2)Jackson方法的步骤和指导原则有一定的灵活性,而LCP设计

方法则更加严密。

6.详细设计的描述工具应具备什么功能?

无论哪类描述工具不仅要具有描述设计过程,如控制流程、处理功能、数据组织及其它方面的细节的能力,而且在编码阶段能够直接将它翻译为用程序设计语言书写的源程序。

二.给出一组数从小到大的排序算法,分别用下列工具描述其详细过程:

(1) (1) 流程图;(2)N—S图;(3)PAD图;(4)PDL语言。

PDL语言略

三.根据后面给出“卡片的分类及统计”项目说明,完成下列工作:

(1)用Jackson图表示输入与输出数据结构,找出它们之间的对应单元;

(2)画出用Jackson图表示的程序结构;

(3)列出程序所需用的操作,并加到上一步画出的程序结构图上;

(4)用Jackson伪代码写出程序的过程表示。

输入卡片分析程序。一叠输入卡片按内容分为K1、K2、K3三类,卡片的排列规则是:以K1卡始,以K2卡终。起始卡之前属前置部分,不含K1卡;起始卡与终了卡之间属分批部分,不含K2卡。如图:

试用Jackson方法编一程序,要求依次完成下列分析工作:

-----统计起始卡前卡片的张数,存入A;

-----打印起始卡的内容;

-----统计起始卡后出现的K1卡和K3卡总批数,存入B;

-----统计起始卡后出现的K1卡的张数,存入C; -----统计起始卡后出现的K3卡的批数,存入D; -----打印终了卡的内容;

-----打印A、B、C、D四个统计值。

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

《软件工程导论》期末考试-试题与答案 一、填空题 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.可 移植

《软件工程导论》课后习题大题

习题2-2 为方便储户,某银行拟开发计算机储蓄系统。储户填写的存款单或取款单由业务员键入系统。如果是存款,系统记录存款人姓名、住址、身份证号码、存款类型、存款日期、到期日期、利率及密码(可选)等信息,并打印出存款单给储户。如果是取款,并且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并打印出利息清单给储户。 功能级数据流图: 对象模型:

习题2-3 为方便旅客,某航空公司拟开发一个机票预订系统。旅行社把预订机票的旅客信息(姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地等)输入进该系统,系统为旅客安排航班,印出取票通知和账单,旅客在飞机起飞的前一天凭取票通知和账单交款取票,系统校对无误即印出机票给旅客。 数据流图: 习题2-4 目前住院病人主要由护士护理,这样做不仅需要大量护士,而且由于不能随时观察危重病人的病情变化,还会延误抢救时机。某医院打算开发一个以计算机为中心的患者监护系统,请写出数据流图。

医院对患者监护系统的基本要求是随时接收每个病人的生理信号(脉搏,体温,血压,心电图等),定时记录病人情况以形成患者日志。当某个病人的生理信号超出医生规定的安全范围时向值班护士发出警告信息。此外,护士在需要时还可以要求系统印出某个指定病人的病情报告。

习题3-6 复印机的工作过程大致如下:未接到复印命令时处于闲置状态,一旦接到复印命令则进入复印状态,完成一个复印命令规定的工作后又回到闲置状态,等待下一个复印命令;如果执行复印命令时发现没纸,则进入缺纸状态,发出警告,等待装纸,装满纸后进入闲置状态,准备接收复印命令;如果复印时发生卡纸故障,则进入卡纸状态,发出警告等待维修人员来排除故障,故障排除后回到闲置状态。

软件工程导论复习试题库完整

a(1)在软件工程中,白盒测试法可用于测试程序的内部结构。此方法将程序看作是 A) 路径的集合 B)循环的集合C)目标的集合D)地址的集合 c(2)在下述哪一种测试中,测试程序的设计者必须接触到源程序 I.功能测试Ⅱ. 结构测试 A)均不须B)只有ⅠC)只有ⅡD)Ⅰ和Ⅱ a(3)检查软件产品是否符合需求定义的过程称为 A)确认测试B)集成测试C)验证测试D)验收测试 c(4)下述陈述中,哪一个不是软件健壮性的度量指标? A)失败后重新启动所需的时间B)引起失败的时间所占的百分比 D)失败前的平均工作时间D)在一次失败中数据恶化的概率 b(5)对软件是否能达到用户所期望的要求的测试称为 A) 集成测试B) 有效性测试C) 系统测试D) 验收测试 a(6)在面向数据流的软件设计方法中,一般将信息流分为 A)变换流和事务流B)变换流和控制流 C)事务流和控制流D)数据流和控制流 d(7)软件需求说明书是软件需求分析阶段的重要文件,下述哪个(些)是其应包含的内容 I.数据描述Ⅲ. 模块描述 II.功能描述Ⅳ. 性能描述 A)ⅡB)Ⅲ和ⅣC)Ⅰ、Ⅱ和ⅢD)Ⅰ、Ⅱ和Ⅳ (8)软件测试一般分为三类,即 I.静态测试Ⅱ. 动态测试Ⅲ. 正确性测试 设计测试用例对程序进行测试,应属于 A)ⅠB)ⅡC)Ⅰ和ⅡD)Ⅲ (9)模块独立性是由内聚性和耦合性来度量的,其中内聚性是度量____,耦合性是度量____。 A)模块间联系程度B)模块的功能强度 C)信息隐蔽程度D)模块的复杂程度 (10)软件设计中一般将用到图形工具,下述哪种(些)工具可用作设计的图形工具 I.结构图Ⅱ. 实体关系图Ⅲ. IPO图 II.Ⅳ. 流程图Ⅴ. N-S图 A)Ⅰ和ⅡB)Ⅲ和ⅣC)Ⅰ、Ⅲ、Ⅳ和ⅤD)全部 A (2)C (3)A (4)C (5) B (6)A (7)D (8)B (10)C (11)试判断下列论述中哪个(些)是正确的 I.软件系统中所有的信息流都可以认为是变换流 II.软件系统中所有的信息流都可以认为是事务流 III.事务分析和变换分析的设计步骤基本类似 A)ⅠB)ⅡC)ⅢD)Ⅰ和Ⅲ (12)软件的有效性测试是验证软件的运行是否达到用户的期望,用户的期望应体现于A)详细设计报告B)软件需求说明书 C)总体设计报告D)有效性测试要求 (13)软件设计中的软件过程其主要描述的是 A)模块间关系B)模块操作细节 C)模块控制方法D)模块类型 (14)软件测试是软件件开发过程的重要阶段,是软件质量保证的重要手段,下列哪个(些)是软件测试的任务?

软件工程导论基础试题

一、填空 1、计算机软件不仅仅是程序,还应该有一整套(文档资料). 2、软件定义时期的最后一个工作阶段是(需求分析)阶段。 3、(快速原型)模型的基本特性是“快速”和“容易修改”。 4、信息流的类型主要包括(事务流)和(变换流)。 5、(判定表)适用于表示多重嵌套的条件选择。 6、我们通常采用的调试途径包括(蛮干法,回溯法和原因消除法)。 7、程序流程图中的箭头代表(控制流) 8、内聚程度较低的是(偶然)内聚。 9、软件工程方法学三要素(方法,工具,过程). 10、可行性分析至少应从(经济,技术,操作)三方面研究每种解法的可行性。 11、(可行性研究)的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否 能够开发,是否值得开发。

12、在大型数据处理系统的功能分析与设计中,同时进行数据分析和数据设计。数据 库的“概念设计”与“逻辑设计”分别对应于系统开发中的(总体设计)和(需求分析 )阶段,而数据库的物理与模块的(详细设计)相对应。 13、模块之间联系越紧密,其耦合性就越(高),模块的独立性就越(低) 。 14、要把数据流图转换成软件结构,必须首先研究数据流图的类型,一般可分为事务 流和变换流两类。 15、动态测试方法中,根据测试用例设计方法的不同,分为(白盒测试和黑盒测试)。 16、软件产品在交付使用前一般要经过以下四步测试:(单元测试,集成测试,确认测 试和系统测试).对一些关系重大的系统,交付后并不立即投入生产性运行,还要经过 (平行运行)阶段

17、驱动模块的作用是用来模拟被测试模块的(上级调用模块),它只完成接收测试数 据,并把这些测试数据传送给被测试的模块,并且接收测试模块的(结果) 并输出。 18、桩(存根)模块用来代替被测试模块(所调用的模块),它的作用是返回被测试模 块所需信息。 19、软件结构是以(模块)为基础而组成的一种控制层次结构。 20.软件维护的内容包括(改正性维护,适应性维护,完善性维护和预防性维护). 二、选择 1.需求规格说明书的作用不应该包括(D )。 A、软件设计的依据 B、用户与开发人员对软件要做什么的共同理解 C、软件验收的依据 D、软件可行性研究的依据 2.软件测试方法中的静态测试方法之一为(A )A.计算机辅助静态分析B.黑盒法C.路径覆盖D.边界值分析

软件工程导论试题集46172(1)

第一章:软件工程学概述 一.填空题 1. 计算机科学中的研究成果均可用于软件工程,但计算机科学更侧重于(原理和理论)、而 软件工程侧重于(如何建造一个软件系统) 2. 计算机程序及其说明程序的各种文档称为(文件)。计算任务的处理图像对象和处 理规则的描述称为(程序)。有关计算机程序功能、设计、编制、使用的文字或图形资 料称为(文档)。 3. 软件开发环境是相关一组(软件工具)的集合,它支持一定的软件开发方法或按照一定 的软件开发模型组织而成的。 4. CASE这一术语的英文是(Computer Aided Software Engineering)。 5. (平台集成)是指工具运行在相同的硬件/操作系统平台上。(数据集成)是指工具使 用共享数据模型来操作。(表示集成)是指工具提供相同的用户界面。 6. 根据支持的范围,CASE工具可分为(窄支持)、(较宽支持)和(一般支持)工具。 7. 软件危机的主要原因有(软件本身的特点)和(缺乏好的开发方法和手段)。 8. (增量)模型是一种非整体开发的模型。软件在该模型中是“逐渐”开发处理的, 开发出一部分,向用户展示一部分,可让用户及早看到部分软件,及早发现问题。或者先开发一个“原型”软件,完成部分主要功能,展示给用户并征求意见,然后逐步完善,最终获得满意的软件产品。 9.结构化方法总得指导思想是(自顶而下逐步求精)。它的基本原则是功能的(分解)与(抽象)。它是软件工程中最早出现的开发方法,特别适用于数据处理领域的问题。 10. 面向对象开发方法包括(面向对象分析)、(面向对象设计)、(面向对象实现)、三部分。 11. 瀑布模型是将软件生存周期各个活动规定为依线性顺序连接的若干阶段的模型。它包括(可行性分析)、项目开发计划、(需求分析)、(概要设计) 、(详细设计)、_ (编码)、(测试)、(维护),它规定了由前至后、相互衔接的固定次序 ,如同瀑布流水,逐级下落。 12. 瀑布模型本质上是一种(线性)顺序模型。 13. 构造原型时,必须注意(功能性能)取舍,忽略一切暂时不关心的部分。 14. 属性指的是类中对象所具有的(性质(数据值))。不同对象的同一属性可以具有相同或不同的(属性值)。 15. 结构化方法和原型化方法是软件开发中常使用的两种方法,在实际的应用中,它们之间的关系表现为(相互补充)。 二.判断题 1. 瀑布模型的存在问题是缺乏灵活性。(√) 2. 软件是一种逻辑产品。(√) 3. 软件工程学科出现的主要原因是程序设计方法学的影响。(× ) 4. 有关计算机程序功能、设计、编制、使用的文字或图形资料称为文档。(√) 5. CASE开放式工作台或者提供控制集成机制,或者可剪裁,其数据集成或协议是独立的。(× ) 6. 在软件的开发与维护过程中,用来存储、更新、恢复和管理一个软件的多版本,它是版本控制工具。(√) 7. 平台集成是指工具运行在相同的硬件/操作系统平台上。(√) 8. 软件生存周期模型有多种,功能模型是软件生存周期模型。(× ) 9. 从结构化的瀑布模型看,在软件生命周期中得8个阶段中,详细设计阶段出错,对软件

软件工程导论试题

软件工程导论试题 一.选择 1、瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和(C)。 A、详细计划 B、可行性分析 C、运行阶段 D、测试与排错 2、从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项中哪个环节出错,对软件的影响最大(C)。 A、详细设计阶段 B、概要设计阶段 C、需求分析阶段 D、测试和运行阶段 3、在结构化的瀑布模型中,哪一个阶段定义的标准将成为软件测试中的系统测试阶段的目标(A)。 A、需求分析阶段 B、详细设计阶段 C、概要设计阶段 D、可行性研究阶段 4、软件工程的出现主要是由于(C)。 A.程序设计方法学的影响 B.其它工程科学的影响 C.软件危机的出现 D.计算机的发展 5、软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是(C) A、硬件环境 B、软件开发的环境 C、软件开发工具和软件开发的环境 D、开发人员的素质 6、软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为(B) A、相互排斥 B、相互补充 C、独立使用 D、交替使用 7、UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法(C) A、基于瀑布模型的结构化方法 B、基于需求动态定义的原型化方法 C、基于对象的面向对象的方法 D、基于数据的数据流开发方法 8、在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高(B) A、结构化方法 B、原型化方法 C、面向对象的方法 D、控制流方法 9、结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的(B)A、控制流B、数据流C、程序流D、指令流 10、软件开发的结构化生命周期方法将软件生命周期划分成(A) A、计划阶段、开发阶段、运行阶段 B、计划阶段、编程阶段、测试阶段 C、总体设计、详细设计、编程调试 D、需求分析、功能定义、系统设计11、软件开发中常采用的结构化生命周期方法,由于其特征而一般称其为(A) A、瀑布模型 B、对象模型 C、螺旋模型 D、层次模型 12、软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是(C) A、分析阶段 B、设计阶段 C、编码阶段 D、测试阶段 二.填空 21.系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素表达了系统中各种元素之间的(信息流动)情况。 [解析]系统流程图是描述物理系统的传统工具,用图形符号表示系统中的各个元素,如人工处理、数据处理、数据库、文件、设备等,表达了元素之间的信息流动的情况。 22.成本效益分析的目的是从(经济)角度评价开发一个项目是否可行。 [解析]成本效益分析首先是估算将要开发的系统的开发成本,然后与可能取得的效益进行比较和权衡,其目的是从经济角度评价开发一个新的软件项目是否可行。 23.自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:深度优先策略和(宽度优先策略)。 [解析]渐增式测试法有自顶向下结合和自底向上结合两种组装模块的方法,其中自顶向下集成是构造程序结构的一种增量式方式,不需要编写驱动模块,只需要编写桩模块。它从主控模块开始,按照软件的控制层次结构,以深度优先或宽度优先的策略,逐步把各个模块集成在一起。 24.独立路径是指包括一组以前没有处理的语句或条件的一条路径。从程序图来看,一条独立路径是至少包含有一条(在其他独立路径中未有过)的边的路径。 [解析]在基本路径测试中,以详细设计或源程序为基础,导出控制流程图的拓扑结构——程序图,在计算了程序图的环路复杂性之后,确定只包含独立路径的基本路径图,其中独立路径是包括一组以前没有处理的语句或条件的一条路径。从程序图来看,一条独立路径是至少包含有一条在其他独立路径中未有过的边的路径。 25.汇编语言是面向(机器)的,可以完成高级语言无法完成的特殊功能,如与外部设备之间的一些接口工作。 [解析]汇编语言属于低级语言,是一种面向机器的语言,它与高级语言相比有许多优越性:如操作灵活,可以直接作用到硬件的最下层,完成与外部设备的接口工作等,是能够利用计算机硬件特性直接控制硬件设备的唯一语言。 26.在JSP方法中解决结构冲突的具体办法是(中间数据结构或中间文件)。 [解析]JSP方法是面向数据结构的设计方法。它定义了一组以数据结构为指导的映射过程,根据输入、输出的数据结构,按一定的规则映射成软件的过程描述,在JSP方法中解决结构冲突的具体办法是引入中间数据结构或中间文件,将冲突部分分隔开来,建立多个程序结构,再利用中间文件把它们联系起来,构成一个系统的整体。 27.详细设计的任务是确定每个模块的内部特性,即模块的算法、(使用的数据)。 [解析]详细设计的基本任务是为每个模块进行详细的算法设计,为模块内的数据结构进行设计,确定每个模块的内部特性,包括模块的算法和使用的数据。对数据库进行物理设计等。 28.所有软件维护申请报告要按规定方式提出,该报告也称(软件问题)报告。 [解析]在软件维护的流程中,第一步就是制定维护申请报告,也称为软件问题报告,它是维护阶段的一种文档,由申请维护的用户填写。

软件工程导论试题

1.办公室复印机的工作过程大致如下: 未接到复印命令时处于闲置状态,一旦接到复印命令则进入复印状态,完成一个复印命令规定的工作后又回到闲置状态,等待下一个复印命令; 如果执行复印命令时发现缺纸,则进入缺纸状态,发出警告,等待装纸,装满纸后进入闲置状态,准备接受复印命令;如果复印时发生卡纸故障,则进入卡纸状态,发出警告等待维修人员排除故障,故障排除后回到闲置状态。 请试画出复印机的状态转换图 答案: 2.录入统计计算某班学生成绩,画出数据流图(DFD)。 学生成绩表数据结构如下: 学号|高数|物理|英语|计算机|法律常识|总分|平均分|不及格门数|升留补| 需求功能如下: (1)录入全班学生各课的考分,生成成绩表; (2)检查各课成绩,修改错误,补充未录入成绩,删除非法成绩; (3)计算总分,平均分;

(4)统计不及格门数,然后再写入升级、补考、留级; (5)打印成绩通知单,交家长。 答案: 3.中国古代在“室”内举办宴会,座位以西为尊,北次之,南再次之,东最次。“按上北下南,左西右东”的方位和长幼尊卑的顺序进行入座。孙坚有四个儿子,分别为孙伯符、 孙叔弼、孙仲谋、孙季佐(长幼顺序已打乱),请根据以上叙述,画出入座顺序的程序流程图以及座位分布图。 答案: 座位分布图 程序流程图: 错误成绩通知

4.简要画出电梯系统用例图 答案: 5. 画出下列伪码程序的程序流程图和盒图:START IF p THEN WHILE q DO f END DO ELSE BLOCK m n END BLOCK

END IF STOP 流程图: 盒图:

【信息化-精编】软件工程导论课后习题详细答案

软件工程导论课后习题详细答案

《软件工程导论》课后习题答案 第一章软件工程概论 1.什么是软件危机? 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。这些问题表现在以下几个方面:(1)用户对开发出的软件很难满意。(2)软件产品的质量往往靠不住。(3)一般软件很难维护。(4)软件生产效率很低。(5)软件开发成本越来越大。(6)软件成本与开发进度难以估计。(7)软件技术的发展远远满足不了计算机应用的普及与深入的需要。 2.为什么会产生软件危机? (1)开发人员方面,对软件产品缺乏正确认识,没有真正理解软件产品是一个完整的配置组成。造成开发中制定计划盲目、编程草率,不考虑维护工作的必要性。(2)软件本身方面,对于计算机系统来说,软件是逻辑部件,软件开发过程没有统一的、公认的方法论和规范指导,造成软件维护困难。(3)尤其是随着软件规模越来越大,复杂程度越来越高,原有软件开发方式效率不高、质量不能保证、成本过高、研制周期不易估计、维护困难等一系列问题更为突出,技术的发展已经远远不能适应社会需求。 3.怎样克服软件危机? (1)充分吸收和借鉴人类长期以来从事各种工程项目中积累的行之有效的有效原理、概念、技术与方法,特别是吸取几十年来人类从事计算机硬件研究和开发的经验教训。在开发软件的过程中努力作到良好的组织,严格的管理,相互友好的协作。(2)推广在实践中总结出来的开发软件的成功的技术和方法,并研究更好、更有效的技术和方法,尽快克服在计算机系统早期发展阶段形成的一些错误概念和作法。(3)根据不同的应用领域,开发更好的软件工具并使用这些工具。将软件开发各个阶段使用的软件工具集合成一个整体,形成一个很好的软件开发支环环境。总之为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。 4.构成软件项目的最终产品:应用程序、系统程序、面向用户的文档资料和面向开发者的文档资料。 5.什么是软件生存周期?软件生存周期是指从软件定义、开发、使用、维护到淘汰的全过程。 5-1。(1)在1985年对计算机存储容量的需求,估计是 如果字长为16位,则这个存储器的价格是 ● ●(2)如果一条指令的长度为一个字,则使存储器装满程序共需4474263条指令。 ●在1985年一名程序员每天可开发出10条指令,如果每月有20个工作日,则每人每月可开发出10×20条指令。 ●为了开发出4474263条指令以装满存储器,需要的工作量是: ●程序员的月平均工资是4000美元,开发出4474263条指令的成本是 ●(3)在1995年对存储容量的需求估计为: ● 7 4080e =4472.0048.01974 1985??=-P )19601995(28.04080-=e M

软件工程导论-期末题库(完整版)

1.填空题 1.一般来说,可以从__一致性__、_完整性___、_现实性____和_有效性___四个方面验证软件需求的正确性。 2.IPO图是_输入、处理和输出图_的简称,它是美国IBM公司发展完善起来的一种图形工具。 3.系统流程图是描述__物理模型__的传统工具,用图形符号表达了系统中各种元素之间的_____信息流动_____情况。 4.数据流图中的箭头表示数据流,椭圆或圆形表示数据处理,矩形表示数据的源点/终点。 5.软件测试的步骤按顺序分别是:___单元测试_____、子系统测试、系统测试(子系统和系统测试通常称为集成测试)、__确认测试__和_____系统测试(集成测试)____ 6.软件生命周期一般可分为_问题定义_、可行性研究、_需求分析_、设计编码、_测试_、运行与维护阶段。 7.可行性研究主要集中在以下四个方面_经济可行性_、__技术可行性____、__法律可行性___和抉择。 8.在结构化设计中,HIPO图应用在总体设计阶段,由IPO图和_层次图_两部分组成。9.复杂问题的对象模型通常由下述五个层次组成:主题层、___类与对象_层、__结构___层、_属性_层和__服务_层。 10.实施精化设计的目标是基于模块的“高内聚低耦合”的原则,提高模块的_独立性。11.软件生命周期一般可分为___问题定义_、可行性研究、__需求分析__、概要设计__、详细设计、编码、__软件测试_、运行与维护阶段。 12.面向对象的数据存储管理模式分为__文件__、_关系数据库__和__面向对象数据库___三种。 13.单元测试一般以_白盒_测试为主,__黑盒__测试为辅。 14.软件工程三要素包括_方法_、__工具___和__过程___,其中, _过程_支持软件开发的各个环节的控制和管理。 15.类构件的重用方式有_实力重用__、__继承重用______和_ 多态重用__三种。16.能力成熟度模型分为5个等级:初始级、____可重复____级、__已定义___级、____已管理__级和__优化____级。 2.判断题 1. 向滞后的项目中增加人手会使得项目更加滞后。(T)

软件工程导论期末试题

软件工程导论期末考试试题 一.选择(20分) 1、瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和( C)。 A、详细计划 B、可行性分析 C、运行阶段 D、测试与排错 2、从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项中哪个环节出错,对软件的影响最大(C )。 A、详细设计阶段 B、概要设计阶段 C、需求分析阶段 D、测试和运行阶段 3、在结构化的瀑布模型中,哪一个阶段定义的标准将成为软件测试中的系统测试阶段的目标(A )。 A、需求分析阶段 B、详细设计阶段 C、概要设计阶段 D、可行性研究阶段 4、软件工程的出现主要是由于(C )。 A.程序设计方法学的影响 B.其它工程科学的影响 C. 软件危机的出现 D.计算机的发展 5、软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是(C ) A、硬件环境 B、软件开发的环境 C、软件开发工具和软件开发的环境 D、开发人员的素质 6、软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为 ( B) A、相互排斥 B、相互补充 C、独立使用 D、交替使用 7、UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法(C ) A、基于瀑布模型的结构化方法 B、基于需求动态定义的原型化方法 C、基于对象的面向对象的方法 D、基于数据的数据流开发方法

8、在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高(B ) A、结构化方法 B、原型化方法 C、面向对象的方法 D、控制流方法 9、结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的(B ) A、控制流 B、数据流 C、程序流 D、指令流 10、软件开发的结构化生命周期方法将软件生命周期划分成(A ) A、计划阶段、开发阶段、运行阶段 B、计划阶段、编程阶段、测试阶段 C、总体设计、详细设计、编程调试 D、需求分析、功能定义、系统设计 二.填空(20分) 21.系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素 表达了系统中各种元素之间的(信息流动)情况。 22.成本效益分析的目的是从(经济)角度评价开发一个项目是否可行。 23.自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:深度优先 策略和(宽度优先策略) 。 24.独立路径是指包括一组以前没有处理的语句或条件的一条路径。从程序图 来看,一条独立路径是至少包含有一条(在其他独立路径中未有过)的边的路径。 25.汇编语言是面向(机器) 的,可以完成高级语言无法完成的特殊功能,如与外部设备之间的一些接口工作。 26.在JSP方法中解决结构冲突的具体办法是(中间数据结构或中间文件)。 27.详细设计的任务是确定每个模块的内部特性,即模块的算法、(使用的数据)。 28.所有软件维护申请报告要按规定方式提出,该报告也称( 软件问题)报告。 29.有两类维护技术:在开发阶段使用来减少错误、提高软件可维护性的面向 维护的技术;在维护阶段用来提高维护的效率和质量的(维护支援)技术。 30.科学工程计算需要大量的标准库函数,以便处理复杂的数值计算,可供选 择的语言有:(FORTRAN语言)、PASCAL语言、C语言和PL/1语言。三.判断(10分)

软件工程导论试题(整理)

单项选择题(每小题1分,共10分) 1、在结构性的瀑布模型中,哪一个阶段定义的标准将成为软件测试中的系统测试阶段的目标( A ) (A)需求分析阶段(B)详细设计阶段(C)概要设计阶段(D)可行性 2、研究阶段软件工程方法中普遍定义的方法之一是结构化生命周期方法(SLC方法),下述哪一个论述不具有SLC方法的主要特征( C ) A 严格定义需求 B 划分开发阶段 C 规范文档格式 D 分析控制流程 3、软件结构中两个模块之间有调用关系,传递简单数据值,相当于高级语言中的值传递,这两个模块之间的耦合是( D ) (A)公共耦合(B)控制耦合(C)标记耦合(D)数据耦合 4、软件维护的四类维护活动是( A ) (A)改正性维护,适应性维护,完善性维护和预防性维护。 (B)适应性维护,完善性维护,抢救性维护和辅助性维护。 (C)改正性维护,适应性维护,完善性维护和辅助性维护。 (D)适应性维护,完善性维护,抢救性维护和预防性维护。 5、主要从( A )几个方面进行系统可行性研究。 (A)技术可行性,经济可行性,操作可行性。(B)技术可行性,经济可行性,系统可行性。(C)经济可行性,系统可行性,操作可行性。(D)经济可行性,系统可行性,时间可行性。 6、进行需求分析可使用多种工具,但( C )是不适用的。 (A)数据流图(B)判定表(C)PAD图(D)数据字典 7、软件需求分析阶段的工作,可以分为四个方面:对问题的识别、分析与综合、编写需求分析文档以及( B ) (A)软件的总结(B)需求分析评审(C)阶段性报告(D)以上答案都不对8、OMT(Object Modelling Technique)方法的第一步是从问题的陈述入手,构造系统模型。系统模型由对象模型、( C )组成。 A静态模型和功能模型 B动态模型和过程模型 C动态模型和功能模型 D静态模型和操作模型 9、为了表示项目管理功能工作中各项任务之间的进度衔接关系,常用的计划管理工具是( D ) (A)程序结构图(B)数据流图(C) E-R图(D)甘特(Gantt)图 ①软件生命周期中所花费用最多的阶段是(D) A.详细设计B.软件编码C.软件测试D.软件维护 ②可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据,因必须给出(B)的回答。 A.确定B.行或不行C.正确D.无二义 ③下列关于瀑布模型的描述正确的是(C)。 A. 瀑布模型的核心是按照软件开发的时间顺序将问题简化。 B. 瀑布模型具由于良好的灵活性。 C. 瀑布模型采用结构化的分析与设计方法,将逻辑实现与物理实现分开。 D. 利用瀑布模型,如果发现问题则修改的代价很低。 ④详细设计的结果基本决定了最终程序的(C) A.代码的规模B.运行速度C.质量D.可维护性

《软件工程导论》期末考试试题和答案2

得分评卷人 一、填空题(每空1分,共20分) 1.软件生存周期一般可分为__问题定义__、可行性研究、_需求分析_____、设计编码、__ 测试________、运行与维护阶段。 2.按软件的功能进行划分,软件可以划分为系统软件、支撑软件 和应用软件。 3.可行性研究主要集中在以下四个方面经济可行性、技术可行 性、法律可行性和抉择。 4.用户界面的可使用性是用户界面设计最重要的也是最基本的目标。 5.常见的软件概要设计方法有3大类:以数据流图为基础构造模块结构的___结构化设计 方法_________,以数据结构为基础构造模块的__jackson方法__________,以对象、类、继承和通信为基础的__面向对象设计方法__________。 6.__数据流图________和__数据字典___共同构成系统的逻辑模型。 7.软件测试的方法有__分析方法________和___非分析方法_______(即黑盒法)。 8.单元测试一般以___白盒_____________测试为主,___黑盒______测试为辅。 9.成本估计方法主要有__自底向上估计________、_自顶向下估计_________和算法模型估 计三种类型。 得分评卷人 二、单项选择题(每小题2分,共10分) 1.下列哪个阶段不属于软件生存周期的三大阶段( C )。 A、计划阶段 B、开发阶段 C、编码阶段 D、维护阶段 2.需求分析是(A )。 A、软件开发工作的基础 B、软件生存周期的开始 C、由系统分析员单独完成的 D、由用户自己单独完成的 3.原型化方法是软件开发中一类常用的方法,它与结构化方法相比较,更需要(B )。 A、明确的需求定义 B、完整的生命周期 C、较长的开发时间 D、熟练的开发人员

软件工程导论试题(打印)(1)

软件工程导论试题(老师给的) 一.选择 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、相互排斥 B、相互补充 C、独立使用 D、交替使用 7、UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法( ) 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、测试阶段 二.填空 21.系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素表达了系统中各种元素之间的( )情况。 22.成本效益分析的目的是从( )角度评价开发一个项目是否可行。 23.自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:深度优先策略和() 。

软件工程导论试题集汇总

1. 航空公司“机票预定系统”: 航空公司为给旅客乘机提供方便,需要开发一个机票预定系统。各个旅行社把预定机票的旅客信息(姓名、性别、工作单位、身份证号码(护照号码)、旅行时间、旅行始发地和目的地,航班舱位要求等)输入到系统中,系统根据旅客信息和航班信息为旅客安排航班。当旅客交付了预订金后,系统打印出取票通知和帐单给旅客,旅客在飞机起飞前一天凭取票通知和帐单交款取票,系统核对无误即打印出机票给旅客。 请用结构化分析方法,给出系统的功能模型(DFD描述)。 参考答案:( 2. 一个简化的机票销售系统需求描述如下: 售票员根据旅客需要的航班,首先查询有无该航班机票。若有,则负责录入旅客的基本信息,并将指定的机票标志设置为售出;售票部经理可随时查询每一个航班的售票情况,并在当日结算时能计算出日营业

3. 图书馆的预定图书子系统有如下功能: (1)由供书部门提供书目给订购组 (2)订书组从各单位取得要订的书目 (3)根据供书目录和订书书目产生订书文档留档 (4)将订书信息(包括书目、数量)反馈给供书单位 (5)将未订书目通知订书者 (6)对于重复订购的书目有系统自动检查,并将结果反馈给订书者 画出数据流图,并转换为软件结构图。 4.某单位要研制一个计算机培训管理系统,它的业务是将学员发来的信件收集分类后,按以下几种情况处理:

如果是报名,则将报名数据送给负责报名事物的职员,他们将查阅课程文件,检查课程是否满额,然后在学生文件、课程文件上登记,并开出报告单较财务部们,财务人员开出发票给学生。 2)注销课程; 如果是想要注销原来已选修的课程,则有注销人员在课程文件、学生文件和账目文件上做相应的修改,并给学生注销单。 3)处理付款 如果是付款,则有财务人员在账目文件上登记,也给学生一张收费收据。 要求:给出该系统的数据流图和软件结构图。 参考答案:(1)数据流图 (2)结构图 5. 假设一家工厂的采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次定货的零件。对于每个需要再次定货的零件应该列出下述数据;零件编号、零件名称、定货数量、目前价格、主要供应者和次要供应者。零件入库或出库称为事务,通过放在仓库中的CRT终端把事务报告给定货系统。当某种零件的库存数量少于库存量临界值时就应该再次定货。 要求:用结构化方法学对定货系统进行分析及设计,分别完成以下工作: (1) 给出定货系统的功能模型。

软件工程导论简答题参考资料——课后习题答案

第一章 一、什么是软件危机它有哪些典型表现为什么会出现软件危机 软件危机是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题。它包括两方面:如何开发软件,已满足对软件日益增长的需求;如何维护数量不断增长的已有软件。 软件危机的典型表现: (1) 对软件开发成本和进度的估计常常很不准确。常常出现实际成本比估算成本高出一个数量级、实际进度比计划进度拖延几个月甚至几年的现象。而为了赶进度和节约成本所采取的一些权宜之计又往往损害了软件产品的质量。这些都降低了开发商的信誉,引起用户不满。 (2) 用户对已完成的软件不满意的现象时有发生。 (3) 软件产品的质量往往是靠不住的。(4) 软件常常是不可维护的。 (5) 软件通常没有适当的文档资料。文档资料不全或不合格,必将给软件开发和维护工作带来许多难以想象的困难和难以解决的问题。 (6) 软件成本、软件维护费在计算机系统总成本中所占比例逐年上升。 (7) 开发生产率提高的速度远跟不上计算机应用普及的需求。 软件危机出现的原因: (1) 来自软件自身的特点:是逻辑部件,缺乏可见性;规模庞大、复杂,修改、维护困难。 (2) 软件开发与维护的方法不当:忽视需求分析;认为软件开发等于程序编写;轻视软件维护。 (3) 供求矛盾将是一个永恒的主题:面对日益增长的软件需求,人们显得力不从心。 二、什么是软件工程它有哪些本质特征怎样用软件工程消除软件危机 1993年IEEE的定义:软件工程是:①把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;②研究①中提到的途径。 软件工程的本质特征: (1) 软件工程关注于大型程序(软件系统)的构造(2) 软件工程的中心课题是分解问题,控制复杂性(3) 软件是经常变化的,开发过程中必须考虑软件将来可能的变化 (4) 开发软件的效率非常重要,因此,软件工程的一个重要课题就是,寻求开发与维护软件的更好更有效的方法和工具 (5) 和谐地合作是开发软件的关键(6) 软件必须有效地支持它的用户 (7) 在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人(完成一些工作) 消除软件危机的途径: (1) 对计算机软件有一个正确的认识(软件≠程序) (2) 必须充分认识到软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目 (3) 推广使用在实践中总结出来的开发软件的成功技术和方法 (4) 开发和使用更好的软件工具 三、简述结构化范型和面向对象范型的要点,并分析他们的优缺点。

软件工程导论第1-2套试题及答案要点

软件工程A卷 一、判断题:每小题1分,共15分,在正确的打上√,错误的打上× 1.软件工程学只有理论意义,没有实际用途。() 2.软件工程的方法只适用于大型软件的开发,对小型软件的开发没有帮助。() 3.可行性研究进一步研究问题分析阶段所确定的问题是否有可行的解。() 4.代码审查方法没有计算机测试方法好。() 5.验证软件需求的方法主要靠人工审查的方法。() 6.并发系统中遇到的一个主要问题是定时问题。() 7.编码风格由个人喜好决定,没有固定格式。() 8.面向对象建模得到的模型包含系统的3个要素,即静态结构、交互次序和数据变换。() 9.软件重用是提高软件开发生产率和目标系统质量的重要途径。() 10.判定覆盖不一定包含条件覆盖,条件覆盖也不一定包含判定覆盖。() 11.Power Designer是一个CASE工具。() 12.软件是指用程序设计语言(如Pascal,C,Visual Basic等)编写的程序,软件开发实际上就是编写程序代码。()13.在进行需求分析时需同时考虑维护问题。() 14.UML是一种面向对象的分析设计方法,即OOA/OOD方法。() 15.在面向对象的软件开发方法中,每个类都存在其相应的对象,对象是类的实例,类是生成对象的模板。() 二、单选题:每题1分,共15分 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、有完整的故障处理 E、算法的合理性 6、软件可行性研究一般不考虑() A、是否有足够的人员和相关的技术来支持系统开发 B、是否有足够的工具和相关的技术来支持系统开发 C、待开发软件是否有市场、经济上是否合算 D、待开发的软件是否会有质量问题 7、SA法中,有一个处理过程逻辑不易用语言表达清楚,最好是用()来描述 A、流程图 B、判定表 C、NS图 D、问题分析图PAD

软件工程导论期末考试题

一、单项选择题 1.适合于面向对象方法学的软件生存周期模型是( B ) A.瀑布模型 B.喷泉模型 C.螺旋模型 D.增量模型 2.从实用角度看,数据规范化程度在大多数场合选用第( C )范式。 A. 1 B.2 C.3 D.5 3. 可行性分析研究的目的是( A )。 A. 项目值得开发否 B.争取项目 C.开发项目 D.规划项目 4. 模块的内聚性最高的是( D ) A.逻辑内聚 B.时间内聚 C.偶然内聚 D.功能内聚 5.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( B ) A.软件工程 B. 软件危机 C. 软件周期 D.软件产生 6. 需求分析阶段的任务是确定( D ) A.软件开发方法 B.软件开发工具 C.软件开发费 D.软件系统的功能 7. 完整的软件结构通常用( B )图来表示。 A. IPO图 B. HIPO图 C.PAD图 D.DFD图 8. 在白盒法技术测试用例的设计中( A )是最弱的覆盖标准。 A.语句 B.路径 C.条件组合 D.判定 9.对象实现了数据和操作的结合,使数据和操作(C)于对象的统一体中。

A.结合 B.隐藏 C.封装 D.抽象 10.在数据流图中,圆代表(C)。 A.源点 B.终点 C.加工 D.模块 11.模块内聚度越高,说明模块内各成分彼此结合的程度越( B )。 A.松散 B.紧密 C.无法判断 D.相等 12.软件测试方法中,黑盒、白盒测试法是常用的方法,其中黑盒测试主要用于测试( B )。 A.结构合理性 B.软件外部功能 C.程序正确性 D.程序内部逻辑 13.面向对象开发方法中,( C )是占主导地位的标准建模语言。 A.Booch方法 B.Coad方法 C.UML语言 D.OMT方法 14.软件需求分析的主要任务是准确地定义出要开发的软件系统是(C ) A.如何做 B.怎么做 C.做什么 D.对谁做 15.结构化程序设计的一种基本方法是( C ) A.筛选法 B.迭代法 C.逐步求精法 D.递归法 二、填空题 1.目前使用最广泛的软件工程学方法分别是传统方法学和(面向对象方法学)。 2.数据流图中信息流的类型有(变换流)和事务流。 3.软件的定义是:软件=程序+数据+ (文档)。 4.经典结构程序设计包括顺序、选择和(重复)三种结构。 5.集成测试时对软件结构中上层使用自顶向下的集成测试方法,对软件结构中下层使用

相关文档
最新文档