软件工程试题
软件工程试卷及答案多套精品试卷

软件工程试卷及答案多套精品试卷IMB standardization office【IMB 5AB- IMBK 08- IMB 2C】软件工程试题及答案第一部分选择题一、单项选择题每小题1分,共20分。
(在每小题的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内)1.在下列工具与环境中()属于较早期的CASE。
A.基于信息工程CASE B.人工智能CASEC.结构的基于图形CASE D.集成的CASE环境2.Putnam成本估算模型是一个()模型。
A.静态单变量 B.动态单变量 C.静态多变量 D.动态多变量3.在McCall软件质量度量模型中,()属于面向软件产品修改。
A.可靠性 B.可重用性C.适应性 D.可移植性4.ISO的软件质量评价模型由3层组成,其中用于评价设计质量的准则是()A.SQIC B.SQMC C.SQRC D.SQDC5.软件复杂性度量的参数包括()A.效率 B.规模 C.完整性 D.容错性6.对象实现了数据和操作的结合,使数据和操作()于对象的统一体中。
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.FORTRAN语言B.Pascal语言 C.C语言D.PL/1语言12.程序的三种基本控制结构是()A.过程、子程序和分程序B.顺序、选择和重复 C.递归、堆栈和队列D.调用、返回和转移13.在详细设计阶段,经常采用的工具有()A.PAD B.SA C.SC D.DFD 14.详细设计的结果基本决定了最终程序的()A.代码的规模 B.运行速度 C.质量 D.可维护性15.需求分析中开发人员要从用户那里了解()A.软件做什么 B.用户使用界面 C.输入的信息 D.软件的规模16.结构化程序设计主要强调的是()A.程序的规模 B.程序的效率C.程序设计语言的先进性D.程序易读性17.IDEF。
软件工程试题(精)

向上移动
向下移动
空闲
上楼
到达
下楼
上楼
到达
超时
4.一元二次方程式
AX 2+BX+C=0
的求根程序有以下功能:①输入A、B、C 3个系数;②输出有关根的性质的信息,包括两个相等或不等的实根,两个大小相等符号相反的实根,仅有一个实根,或有两个虚根等;③打印根的数值。试用功能(黑盒测试方法设计出程序的测试用例。(15分
(1顾客通过提供相关信息,向酒店申请入住,如果申请通过,则办理入住客房,否则将遭到
答:完整的软件测试应该贯穿整个软件生命周期,这一说法有两方面的含义:(1分(1软件开发不同阶段都有软件测试工作;(2分
(2软件测试工作的各个步骤分布在整个软件生存周期中。(2分4.软件维护就是改正软件中的错误吗?为什么?
答:软件维护是指在软件的运行/维护阶段由软件厂商向客户所提供的服务工作,不完全是修改软件中的错误。(3分软件维护除了改正性的维护以外,还有适应性、完善性以及预防性的维护。(2分5.在NATO关于软件工程的定义中提到:“软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它”。如何理解上述意思。
A.软件投机
B.软件危机
C.软件工程
D.软件产生
3.划分软件生存周期的阶段时所应遵循的基本原则是(B。
A.各阶段的任务尽可能相关性
B.各阶段的任务尽可能相对独立
C.各阶段的任务在时间上连续
D.各阶段的任务在时间上相对独立
4.需求分析是由分析员了解用户的要求,认真细致地调研分析,最终应建立目标系统的逻辑模型并
2024年10月《软件工程》全国自考试题含解析

2024年10月《软件工程》全国自考试题一、单项选择题1、软件工程在20世纪60年代末到80年代初获得的主要成果有______。
A.CASE产品B.面向对象语言C.瀑布模型D.软件生存周期过程2、CMMI组织过程改善的成熟度等级中的2级是______。
A.已执行级B.已定义级C.已管理级D.已定量管理级3、集成化能力成熟度模型(CMMI)针对每个过程域设定了能力等级,其中最高级为______。
A.3级B.4级C.5级D.6级4、在常见的软件开发模型中,主要用于支持面向对象技术软件开发的是______。
A.喷泉模型B.螺旋模型C.增量模型D.瀑布模型5、集成化能力成熟度模型(CMMI)中有22个过程域,分为4类:项目管理类、工程类、过程管理类和______。
A.需求管理类B.支持类C.项目包类D.目标类6、黑盒测试技术又称为功能测试技术,包括事务处理流程技术、定义域测试技术和______。
A.路径测试技术B.用例测试技术C.状态测试技术D.结构测试技术7、软件生存周期是指______。
A.开发软件的全部时间B.使用软件的全部时间C.开发和使用软件的全部时间D.从形成概念开始到最后淘汰让位于新的软件产品的时间8、结构化分析方法给出了一种能表达功能模型的工具是______。
A.HIPO图B.PAD图C.N-S图D.DFD图9、下列可用于概念模型和软件模型的动态结构的是______。
A.类图B.对象图C.部署图D.用况图10、RUP的迭代、增量式开发过程中,需要估算成本、进度,并能够减少次要的错误风险,至少需要完成______。
A.初始阶段B.精化阶段C.构造阶段D.移交阶段11、有效性测试的目标是发现软件实现的功能与下列哪个选项不一致,正确的是______。
A.需求规格说明书B.概要设计说明书C.详细设计说明书D.测试计划12、“与所规约的系统执行之间的偏差”是指______。
A.错误B.失效C.故障D.误差13、下列不属于软件危机的主要表现是______。
软件工程考试试题(含答案)

一、填空题(每空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.()是用户和设计交换最频繁的方法.A、原型化方法B、瀑布模型方法C、螺旋模型方法D、构件组装模型5.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是()。
软件工程试题及答案(较详细)

一.判断题:1.如果决定将软件全部包给第三方公司开发。
(×)2.有了对系统的目标有了大致的了解,就可以开始开发项目,以后的在开发中继续了解。
(×)3.对于一个成功的软件项目,可执行程序是唯一交付的东西。
(×)4.直到程序运行,才评估软件系统的质量。
(×)5.如果未能按时完成任务,我们可以通过增加程序员来加快完成任务.(×)6.虽然软件需求不断变更,但因软件比硬件有弹性,所以我们经常可以变更它.(×)7.软件工程将导致我们产生大量的无用文档,降低工作效率。
(×)8.在面向对象建模中,主题划分提供了在更高一层上描述。
(主题划分是指UML中将一组关联比较强的类的集合。
则上百个类可划分为几个主题)(√)9.面向对象的开发,对象分解取代功能分解. (√)10.软件中80%的错误存在20%的模块中。
(√)11.结构化分析方法在建立系统模型时,使用一般――特殊结构(实际上没有这种关系)来处理信息。
(×)12.开发软件就是编程。
(×)13.需求规格说明书说明了(√)14.结构化方法,建立系统模型时使用一般连接组织信息. (×)15.敏捷过程模型选用小而高激励的团队使用而不适用于大团队。
(√)二.简答题1.软件工程是层次化的,其四个层次是?答:方法,工具,过程,质量保证软件工程是一种层次化的技术(如图2-1所示)。
任何工程方法(包括软件工程)必须以有组织的质量保证为基础。
全面的质量管理和类似的理念刺激了不断的过程改进,正是这种改进导致了更加成熟的软件工程方法的不断出现。
支持软件工程的根基就在于对质量的关注。
软件工程的基层是过程层。
软件工程过程是将技术层结合在一起的凝聚力,使得计算机软件能够被合理地和及时地开发出来.过程定义了一组关键过程区域的框架(KPAs)[PAY93],这对于软件工程技术的有效应用是必须的。
关键过程区域构成了软件项目的管理控制的基础,并且确立了上下各区域之间的关系,其中规定了技术方法的采用、工程产品(模型、文档、数据、报告、表格等)的产生、里程碑的建立、质量的保证及变化的适当管理。
《软件工程》题库及参考答案

《软件工程》练习测试题库一、单项选择题1.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做()A.软件工程B.软件周期C.软件危机D.软件产生2.研究开发所需要的成本和资源是属于可行性研究中的()研究的一方面。
A.技术可行性B.经济可行性C.社会可行性D.法律可行性3.IDEF0图不反映出系统()A.系统做什么B.系统功能如何实现C.系统由谁来做D.系统实现的约束条件4.模块的内聚性最高的是()A.逻辑内聚B.时间内聚C.偶然内聚D.功能内聚5.在SD方法中全面指导模块划分的最重要的原则是()A.程序模块化B.模块高内聚C.模块低耦合D.模块独立性6.软件详细设计主要采用的方法是()A.模块设计B.结构化设计C.PDL语言D.结构化程序设计7.下列关于JSP方法不正确的说法是()A.JSP方法主要用于规模不大的数据处理系统B.JSP方法不明确的划分软件概要设计和详细设计的两个阶段C.JSP方法适用于输入数据和输出数据之间有对应关系的问题求解D.JSP方法根据输入、输出的数据结构,按一定的规则映射成软件的体系结构。
因此它只适用于详细设计阶段8.不适合作为科学工程计算的语言是()A. PascalB. CC. FortranD. Prolog9.黑盒测试在设计测试用例时,主要需要研究()A.需求规格说明与概要设计说明B.详细设计说明C.项目开发计划D.概要设计说明与详细设计说明10.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。
设计这组测试用例的方法是()A.条件覆盖法 B.等价分类法C.边界值分析法D.错误推测法11.下列属于维护阶段的文档是()A.软件规格说明B.用户操作手册C.软件问题报告D.软件测试分析报告12.快速原型模型的主要特点之一是()A.开发完毕才见到产品B.及早提供全部完整的软件产品C.开发完毕后才见到工作软件D.及早提供工作软件13.因计算机硬件和软件环境的变化而做出的修改软件的过程称为()A.较正性维护B.适应性维护C.完善性维护D.预防性维护14.类库这种机制是()级别的信息共享。
软件工程学试题及答案

软件工程学试题及答案一、单项选择题(每题2分,共10分)1. 软件工程的目的是()。
A. 提高软件的生产率B. 提高软件的运行效率C. 降低软件的生产成本D. 提高软件的可维护性答案:A2. 下列哪项不是软件需求分析的任务?()。
A. 确定软件的功能需求B. 确定软件的性能需求C. 确定软件的界面需求D. 确定软件的测试需求答案:D3. 软件生命周期中,()阶段是确定软件需求的阶段。
A. 需求分析B. 系统设计C. 编码D. 测试答案:A4. 软件测试的目的是()。
A. 证明软件是正确的B. 证明软件存在错误C. 发现软件中的错误D. 证明软件不存在错误答案:C5. 软件危机主要表现在()。
A. 软件成本B. 软件质量C. 软件进度D. 所有选项答案:D二、多项选择题(每题3分,共15分)1. 软件工程的基本原理包括()。
A. 用分阶段的生命周期计划严格管理B. 强调开发过程的迭代性质C. 采用合适的编程规范D. 强调软件工具的使用答案:ABD2. 软件需求分析的常用方法包括()。
A. 数据流图B. 用例图C. 状态转换图D. 流程图答案:ABC3. 软件测试的类型包括()。
A. 单元测试B. 集成测试C. 系统测试D. 验收测试答案:ABCD4. 软件维护的类型包括()。
A. 校正性维护B. 适应性维护C. 完善性维护D. 预防性维护答案:ABCD5. 软件工程中常用的设计模式包括()。
A. 单例模式B. 工厂模式C. 观察者模式D. 策略模式答案:ABCD三、简答题(每题5分,共20分)1. 简述软件工程中的模块化设计原则。
答案:模块化设计原则要求将系统分解成若干个模块,每个模块具有高内聚、低耦合的特点,以便于系统的开发、测试、维护和理解。
2. 描述软件需求分析的重要性。
答案:软件需求分析是软件开发过程中的关键步骤,它确保了开发团队对用户需求有清晰的理解,有助于避免开发出不符合用户需求的软件,减少返工和成本。
软件工程试题及答案

软件工程一、选择题1、软件需求规格说明的内容不包括(B)A、主要功能B、算法的详细描述C、用户界面及运行环境D、软件的性能2、面向对象的分析方法主要是建立三类模型,即(D)A、系统模型、ER模型、应用模型B、对象模型、动态模型、应用模型C、ER模型、对象模型、功能模型D、对象模型、动态模型、功能模型3、在ER模型中,包括以下基本成分(C)A、数据、对象、实体B、控制、联系、对象C、实体、联系、属性D、实体、属性、操作4、各种软件维护的类型中最重要的是(A)A、完善性维护B、纠错性维护C、适应性维护D、预防性维护5、若有一个计算类型的程序,它的输入量只有一个X,其范围是[—2.0,2.0],现从输入的角度考虑一组测试用列—2.001,-2,20,2.001,设计这组测试用列的方法是(C)A、条件覆盖法B、等价分类法C、边界值分析法D、错误推测法6、下列白盒测试法,哪种是最强的覆盖准则(D)A、语句覆盖B、条件覆盖C、判定覆盖D、条件组合覆盖7、确定测试计划是在(A)阶段制定的。
A、总体设计B、详细设计C、编码D、测试8、数据字典是软件需求分析阶段最重要的工具之一,其最基本的功能是(C)A、数据库设计B、数据通信C、数据定义D、数据维护9、软件开发当中,抽取和整理用户需求并建立问题域精确模型的过程(D)A、生成期B、软件意向C、结构化程序设计D、面向对象分析10、以下不属于IT企业当中过程管理和过程改进模型的是(D)A、ISO9001B、CMMIC、软件企业文化D、UML11、适合互联网上编程并可供不同平台运行的面向对象程序设计的语言是(java)12、软件结构图中,模块之间用直线连接,则表示他们之间存在(A )。
A、调用关系B、组成关系C、链接关系D、顺序执行关系13、生命周期方法设计软件的过程中,画用例图属于(A)阶段的工作.A、需求分析B、概要设计C、详细设计D、软件维护14、PDL属于(B)语言。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
南京信息工程大学软件工程模拟试题出题人:软件工程一班一.选择题(每题一分,15题,共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.可维护性6..经济可行性研究的范围包括()A.资源有效性B.管理制度C.效益分析D.开发风险7.ISO的软件质量评价模型由3层组成,其中用于评价设计质量的准则是()A.SQIC B.SQMC C.SQRC D.SQDC8.瀑布模型的本质是一种()A.顺序迭代模型B.线性顺序模型C.现行迭代模型D.非线性模型9.一个软件的宽度是指其控制的()。
A. 模块数B. 层数C. 跨度D. 厚度10.以下哪一项不是面向对象的特征().A.多态性B.继承性C.封装性D.过程调用11.软件生命周期终止的最典型的原因().A.错误太多B.利润过低C.可维护性差D.效率不高12.结构化程序设计主要强调程序的()A效率.B.速度 C.可读性 D.大小13.下列哪一项不是为处理命名的要求()A、先为数据流命名再为与之相关的处理命名;B、名字应该反映内容;C、可以用经常用“加工”、“处理”等笼统的动词命名;D、尽量分解为简单的处理;14.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0, 1.0],现从输入的角度考虑一组测试用例:-1.001, -1.0, 1.0, 1.001.设计这组测试用例的方法是()A.条件覆盖法B.等价分类法C.边界值分析法D.错误推测法15.使用程序流程图作为工具设计软件时,常常通过研究流程图确定模块的划分,这样得到的往往是( )的模块。
A.时间内聚B.逻辑内聚C.过程内聚D.功能内聚二.填空题(每空一分,15空,共15分)1.通常和统称为实现。
2.耦合方式有、、特征耦合、公共环境耦合、。
3.软件是和以及相关文档的完整集合。
4.结构程序设计中3中基本的控制结构:、。
5.白盒测试技术中逻辑覆盖包括:、判定覆盖、、、、点覆盖、、路径覆盖。
三、判断题(每题1分,共10分。
正确用√,错误用×)1.()开发软件就是编写程序。
2.()系统测试的主要方法是白盒法,主要进行功能测试、性能测试、安全性测试及可靠性测试等测试。
3.()编程时应尽可能利用硬件特点以提高程序效率。
4.()软件需求分析的任务是建立软件模块结构图。
5.()尽可能使用高级语言编写程序。
6.()以结构化分析方法建立的系统模型就是数据流图。
7.()进行总体设计时应加强模块间的联系。
8.()编码时应尽量多用全局变量。
9.()用CASE环境或程序自动生成工具来自动生成一部分程序。
10.()软件测试是要发现软件中的所有错误。
四、论述题(每题10分,2题,共20分)1.软件的可维护性与哪些因素有关?在软件开发过程过程中应该采取哪些措施来提高软件产品的可维护性?2.试陈述软件测试的基本任务和方法.五、简答题(每小题5分,共20分)1.列举软件设计过程中应该遵循的基本原理。
2.列举出5个详细设计阶段的常用工具。
3.简述面向对象方法学的4个要点。
4.简述软件工程的概念六、计算题(每题5分,两道题,10分)1.已知有一个国外典型的软件项目的记录,开发人员M=6人,其代码行数=20.2KLOC,工作量E=43PM,成本S=314000美元,错误数N=64,文档页数Pd=1050页。
试计算开发该软件项目的生产率P、平均成本C、代码出错率EQR和文档率D。
2.甲乙两名程序测试员同时对一个程序进行独立测试一个月,甲发现并改正了24个错误;乙发现并改正了20个错误,其中有10个错误甲也发现了。
试估算该程序经过甲乙两人这一个月测试后,还残留多少个错误?七、分析设计题(共10分)1.请指出下面功能需求描述存在的问题,并进行适当的修改。
(1)系统用户界面友好。
(2)即使在系统崩溃的情况下,用户数据也不能受到破坏。
(3)A TM系统应该快速响应用户的请求。
(4)A TM系统需要检验用户存取的合法性。
(5)软件应该用JA V A语言实现。
答案:一、选择题1-5 ACBDC 6-10CDBCD 11-15CCCCC二、填空题1编码测试2数据耦合控制耦合内容耦合3程序数据4顺序结构选择结构循环结构5语句覆盖条件覆盖判定/条件覆盖条件组合边覆盖三、判断题1——5:××××√6——10:×××√×四、论述题1.软件的可维护性与哪些因素有关?在软件开发过程过程中应该采取哪些措施来提高软件产品的可维护性?维护就是在软件交付使用后进行的修改,修改之前必须理解待修改的对象,修改之后应该进行必要的测试,以保证所做的修改是正确的。
如果是改正性维护,还必须预先进行调试以确定错误的具体的位置。
因此决定软件可维护性的因素主要有下述5个。
(1)可理解性:表现为外来读者理解软件结构,功能,接口和内部处理过程的难易程度。
(2)可测试性:诊断和测试的容易程度决定了可测试性。
(3)可修改性:耦合,内聚,信息隐藏,局部化,控制域,作用域都影响软件的可修改性。
(4)可移植性:即把程序从一种计算机环境转移到另一种计算环境的难易程度。
(5)可重用性:即同一事物不做修改或者稍加修改就会在不同的环境中多次使用。
软件开发的每一个阶段的工作都和软件可维护性有密切的联系。
因此,要做到在每一次的步骤中做到精准的良好的设计,并且完成完整准确易读的理解的文档资料。
以及一系列的严格的复审和测试。
文档是影响软件可维护性的决定因素,因此文档甚至比可执行的程序代码更重要。
文档可分为用户文档和系统文档,不管是哪一类的文档都必须和程序代码同时维护,只有和程序代码完全一致的文档才是具有价值的文档。
预防性维护在全部的维护中占有很少的比例但是我们补课忽视它,可以投提高整体的可维护性。
3.试陈述软件测试的基本任务和方法。
(1)软件测试是软件开发过程中的重要阶段,是软件质量保证的重要手段。
其任务可归纳为三个方面:1)预防软件发生错误2)发现改正程序错误3)提供错误诊断信息(2)目前,软件测试的方法有三种:动态测试,静态测试和正确性证明。
动态测试:通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率和健壮性等性能,这种方法由三部分组成:构造测试实例、执行程序、分析程序的输出结果.所谓软件的动态测试,就是通过运行软件来检验软件的动态行为和运行结果的正确性。
目前,动态测试也是公司的测试工作的主要方式。
静态测试:静态方法是指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。
对需求规格说明书、软件设计说明书、源程序做结构分析、流程图分析、符号执行来找错。
在实际使用中,代码检查比动态测试更有效率,能快速找到缺陷,发现30%~70%的逻辑设计和编码缺陷;代码检查看到的是问题本身而非征兆。
但是代码检查非常耗费时间,而且代码检查需要知识和经验的积累。
正确性证明: 正确性证明是通过数学技术来确定软件是否正确,也就是说,是否符合其规格说明。
程序正确性证明方法认为:一段程序的正确性是指给定一个输入断言以及程序的程序函数,能够导出程序的输出断言。
严格意义上的程序正确性定义分为:部分正确性、终止性和完全正确性。
五、简答题1:模块化,抽象,逐步求精,信息隐藏和局部化,模块独立。
2:程序流程图,盒图,PAD图(问题分析图),判定表,判定树,过程设计语言。
3.(1)认为客观世界是由各种对象组成的,任何事物都是对象,复杂的对象可以有比较简单的对象以某种方式组合而成。
(2)把所有对象都划分成各种对象类,每个对象类都定义了一组数据和一组方法。
(3)按照子类与父类的关系,把若干个对象类组成一个层次结构的系统。
(4)对象彼此之间仅能通过传递消息相互联系。
4:采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。
六、计算题1.解:根据给出的已知数据,可得:P = L / E =20.2 KLOC /43 PM = 0.47 KLOC / PM = 470 LOC / PMC = S / L = 314000美元/ 20.2 KLOC = 15.54 美元/ LOCEQR = N / L = 64个/ 20.2KLOC = 3.17 个/ KLOCD = Pd / L = 1050 页/ 20.2 KLOC = 51.98 页/ KLOC2.解:由题意知,E 1 = 24, E 2 = 20,E 0 = 10,该程序所含错误总数可估算如下:ET = E1×E 2 / E 0 = 24×20 / 10 = 48(个)经过一个月的测试,该程序还残留的错误数为:E r = ET –EC(1)= ET –(E 1 + E 2 –E 0 )= 48 –(24+20-10)=14(个)答:还残留14个错误。
七、分析设计题1. (1)问题:“友好”是不可验证的。
改正:具有一年计算机使用经验的用户经过3小时的培训就可以学会使用该系统。
(2)问题:“不能受到破坏”是不可验证的。
改正:如果系统发生崩溃,那么该系统重新正常启动后,可以将用户数据恢复到最后未完成操作执行前的状态。
(3)问题:“快速”是不可验证的。
改正:A TM系统将在1秒钟之内响应用户的请求。
(4)问题:“如何验证合法性”是存在歧义的。
改正:A TM系统将通过用户名和口令验证其存取的合法性。
(5)问题:该描述不是功能需求或非功能需求,应该是对设计实现的一个约束条件。