电大考试2017年软件工程简答题(整理篇)

合集下载

软件工程导论简答题整理版

软件工程导论简答题整理版

第一章4.什么是软件工程?它与软件工程方法学有何关系?软件过程是为了开发高质量的软件产品所需完成的一系列任务的框架,它规定了完成各项任务的工作步骤。

软件过程定义了运用技术方法的顺序,应该交付的文档资料,为保证软件质量和协调软件变化必须采取的管理措施,以及标志完成了相应开发活动的里程碑。

软件过程是软件工程方法学的3个重要组成部分之一。

7.假设要求你开发一个软件,该软件的功能是把读入的浮点数开平方,所得到的结果应该精确到小数点后4位。

一旦实现并测试完之后,该产品将被抛弃。

你打算选用哪种软件生命周期模型?请说明你作出选择的理由。

答:对这个软件的需求很明确,实现开平方功能的算法也很成熟,因此,既无须通过原型来分析需求也无须用原型来验证设计方案。

此外,一旦实现并测试完之后,该产品将被抛弃,因此也无须使用有助于提高软件可维护性的增量模型或螺旋模型来开发该软件。

第三章一列火车最多有两个火车头。

只有一个火车头时则位于列车最前面,若还有第二个火车头时,则第二个火车头位于列车最后面。

火车头既可能是内燃机车也可能是电器机车。

车厢分为硬座车厢、硬卧车厢和软卧车厢等3种。

硬座车厢在所有车厢的前面部分,软卧车厢在所有车厢的后面部分。

此外,在硬卧车厢和软卧车厢之间还有一节餐车。

答:jackson图善于描绘复杂事物的组成。

用jackson图描绘一列火车的构成的方法至少有两种,一种方法是把火车分为一个车头和两个车头两类,另一种方法是把后车头作为可选的。

图3.29给出了描绘一列火车的构成的jackson图。

用Jackson 图描绘一列火车的构成第四章3.假设有一个由5000行FORTRAN语句构成的程序(经编译后大约有25000条机器指令),你估计在对它进行测试期间将发生多少个错误?为什么?答:经验表明,在类似的程序中,单位长度里的错误数Er/Ir近似为常数。

美国的一些统计数字告诉我们,通常0.5ⅹ10-2 <= Er/Ir <= 2ⅹ10-2也就是说,在测试之前每1000条指令中大约有5-20个错误.假设在该程序的每1000条指令中大约有10个错误,则估计在对它进行测试期间将发现的错误数为25000ⅹ10/1000=250第五章3、某软件公司拟采取下述措施提高他们开发出的软件产品的可维护性。

电大考试2017年软件工程简答题(整理篇)

电大考试2017年软件工程简答题(整理篇)

简答题1.什么是软件危机?试简述至少3种软件危机的典型表现。

答:(1)软件危机是指在计算机软件的开发和维护过程中,所遇到的一系列严重问题。

(2)典型表现:●开发费用和进度难以估算和控制,大大超过预期的资金和规定日期;●软件需求分析不够充分,用户不满意“已经完成”的软件系统。

●软件质量难于保证;●软件维护困难;●通常没有保留适当的文档资料●开发成本逐年上升;●软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势2.简述软件过程模型答:(1)软件过程是人们开发和维护软件及相关产品的活动、方法、实践和改进的集合。

它明确定义软件过程中所执行的活动及其顺序,确定没一个活动内容和步骤,定义每个角色和职责。

(2)软件工程将软件开发和维护的过程概况为8个大的活动:问题定义、可行性研究、需求分析、总体设计、详细设计、编码、系统测试和运行维护。

3.简述结构化分析的主要步骤答:(1)根据用户的需求画出初始的数据流程图,写出数据字典和初始的加工处理说明(IPO图),实体关系图。

(2)以初始数据流程图为基础,从数据流程图的输出端开始回溯。

在对数据流程图进行回溯的过程中可能会发现丢失的处理和数据,应将数据流程图补充完善。

(3)对软件性能指标、接口定义、设计和实现的约束条件等逐一进行分析。

(4)系统分析人员与用户一起对需求分析的结果进行复查。

(5)根据细化的需求修订开发计划。

(6)编写需求规格说明书和初始的用户手册,测试人员开始编写功能测试用的测试数据。

4. 请给出软件工程七条基本原理中的任意6条基本原理。

答:原理1.用分阶段的生命周期计划严格管理。

原理2.坚持进行阶段评审。

原理3.实行严格的产品控制。

理4.采用现代程序设计技术。

原理5.结果应能清楚地审查。

原理6.开发小组的人员应该少而精。

原理7.承认不断改进软件工程实践的必要性5.软件工程为什么要强调规范化和文档化?答:(1)软件工程强调规范化和文档化。

规范化的目的是使众多的开发者遵守相同的规范,使软件生产摆脱个人生产方式,进入标准化、工程化的生产方式。

软件工程简答题整理

软件工程简答题整理

什么是软件危机,有哪些具体表现形式?其原因?答:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。

主要有以下表现形式:1、对软件开发成本和进度的估计常常很不准确 2、用户对“已完成的”软件系统不满意的现象经常发生 3、软件产品的质量往往靠不住 4、软件常常是不可维护的 5、软件通常没有合适的文档资料 6、软件成本在计算机系统总成本中所占的比例逐年上升 7、软件开发生产率提高的速度远远跟不上计算机应用迅速普及深入的趋势原因:1、与软件本身特点有关2、与软件开发与维护的方法不正确有关什么是软件生存周期,有哪几个活动?比较模型软件生存周期是指一个软件该软件报废为止的整个时期。

软件生命周期由软件定义、软件开发和软件维护3个时期组成。

1问题定义,解决的问题是是什么;2可行性研究,问题是否有可行的解决办法;3需求分析,确定目标系统必须具备的功能;4总体设计,总体上解决问题,设计软件出层次结构图、5详细设计,具体实现,设计算法;6编码和单元测试,编程和单元测试;7综合测试,系统地设计测试用例;软件维护,修改软件满足用户需要。

瀑布模型:自上而下,相互衔接的固定次序,像瀑布逐级下落,有顺序性和依赖性,推迟实施,质量保证,严格要求输出文档,缺乏灵活性。

快速原型模型:能快速建立。

它所完成的功能往往是最终产品能完成的功能的一个子集,适合中小型,短周期的交互式系统。

增量模型:把软件产品作为一系列增量构件来设计、编码、集成和测试,能在较短的时间完成,有充裕的时间学习。

适合开发需求不明确设计方案有一定风险的软件项目。

螺旋模型:它是风险驱动的。

适合大型系统及软件的开发。

将瀑布模型与增量模型结合起来,喷泉模型:迭代和无缝连接简述软件测试的任务、目的与类型。

答:软件测试是一个为了寻找软件错误而运行程序的过程。

目的就是为了发现软件中的错误。

一个好的测试用例是指很可能找到迄今为止尚未发现的错误的用例。

一个成功的测试是指揭示了迄今为止尚未发现的错误的测试。

软件工程—简答题

软件工程—简答题

全国2010年10月四、简答题1. 简述软件危机产生的原因。

答案:软件危机产生的原因有:(每点1分)(1)软件的规模越来越大,结构越来越复杂。

(2)软件开发的管理困难。

由于软件规模大,结构复杂,又具有无形性,导致管理困难,进度控制困难,质量控制困难,可靠性无法保证。

(3)软件开发费用不断增加。

软件生产是一种智力劳动,它是资金密集、人力密集的产业,大型软件投入人力多,周期长,费用上升很快。

(4)软件开发技术、开发工具落后,生产率提高缓慢。

(5)生产方式落后。

软件仍然采用个体手工方式开发。

2. 简述需求分析的概念及需求分析的基本任务。

答案:需求分析是指开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的形式功能规约(需求规格说明)的过程。

(3分)需求分析的基本任务是要准确地定义新系统的目标,为了满足用户需要,回答系统必须“做什么”的问题。

(2分)3. 简述数据流图的分类及每一类的特点。

答案:数据流图有两类:变换型数据流图和事务型数据流图。

(1分)变换型数据流图是由输入、处理和输出三部分组成,(1分)因此变化型数据流图是一个顺序结构。

(1分)事务型数据流图特征:事务处理中心将它的输入流分离成许多发散的数据流,形成许多加工路径,(1分)并根据输入的值选择其中一个路径来执行。

(1分)4. 简述建立对象模型的过程。

答案:建立对象模型的步骤如下:(每点1分)(1)确定类:标出来自问题域的相关对象类。

(2)准备数据字典:为所有建模实体准备一个数据字典,准确描述各对象类的精确含义,描述当前问题中的类的范围,包括对类的成员、用法方面的假设或限制;(3)确定关联:确定二个或多个类之间的相互依赖;(4)确定属性:只考虑与具体应用直接相关的属性(5)使用继承来细化类:使用继承来共享公共结构,以此来重新组织类__全国2010年1月1.简述软件工程面临的问题。

软件工程期末复习--简答题

软件工程期末复习--简答题

9、请说明 IPO 图的作用,并给出一个 IPO 图的模板。
10、什么是耦合?什么是内聚?
11、请画图说明软件工程的层次化结构,并详细分析中间两层的内容。
12、请为下面的程序设计符合判定覆盖的测试用例。 int main() { int a,b,c,x,y,z; scanf(“d%,d%,d%),&a,&b,&c); if a>5 x=10 else x=1; if b>10 y=20 else y=2; if c>15 z=30 else z=3; printf(“d%,d%,d%\n”,x,y,z) } 13、请说明快速原型化模型的基本思想。
大学课程《软件工程》期末复习--简答题
1、试从软件的特点出发分析软件危机产生的原因。 2、一个程序片段如下,请设计符合条件组合覆盖的测试用例。 …… if (a>=4) && (b<0) { c=a+b; else c=a-b; if (c>3) || (c<1) printf(“ c 不在计算区域\n”) else printf(“ %d\n”, c); …… 3、面向对象的分析通常要建立三个模型,请问三个模型的作用? 4、软件工程为什么要强调规范化和文档化? 5、读懂下面的程序,调整格式,使其更容易理解,并添加注释。
二、简答题 1、答案
1) 软件是一种逻辑实体,具有抽象性,无法看到软件本身的形态,必须通过观察、分 析、思考和判断才能了解它的功能和性能。 2) 软件对硬件和环境有着不同程度的依赖性, 这导致了软件升级和移植的问题。 计算 机硬件和支撑环境不断升级,为了适应运行环境的变化,软件也需要不断维护,并 且维护的成本通常比开发成本高许多。 3) 软件生产至今尚未摆脱手工方式, 软件开发的手工行为造就了一个致命的问题, 就 是为应用“量身订做”软件。长期以来,软件给人的感觉是修改几条指令很简单, 客户总是强调软件要适应自己的业务需求。因此,软件产品大多是为客户“订做” 的,通用性差。 4) 软件涉及人类社会的各行各业, 常常涉及一些行业知识, 这对软件工程师提出了很 高的要求。 5) 软件是与文学艺术作品相似的精神作品, 与体力劳动相比, 精神活动过程的特点是 “不可见性”,这大大增加了组织管理上的困难。 2、答案 a>=4 b<0 a>=4 b>=0 a<4 b<0 a<4 b>=0 c>3 c<=3 c<1 c>=1 综合以上条件组合,设计测试用例如下(注意结果不唯一,只要满足上面的组合条件即可) : a=4 b=-1 c=3 a=4 b=0 c=4 a=-1 b=-1 c=0 a=-1 b=0 c=-1 3、答案 1)功能模型:表达系统的详细需求,为软件的进一步分析和设计打下基础。在面向对 象方法中,由用例图和场景描述组成。2)对象模型:表示静态的、结构化的系统“数据” 性质。描述现实世界中实体的对象以及它们之间的关系,表示目标系统的静态数据结构。3) 动态模型:描述系统的动态结构和对象之间的交互,表示瞬时的、行为化的系统的“控制” 特性。 4、答案 软件工程强调规范化和文档化。 规范化的目的是使众多的开发者遵守相同的规范, 使软 件生产摆脱个人生产方式,进入标准化、工程化的生产方式。文档化是将软件的设计思想、 设计过程和实现过程完整地记录下来, 以便于后人的使用和维护, 在开发过程中各类相关人

软件工程(简答题)

软件工程(简答题)

1、典型的详细设计工具有流程图、盒图、、类程序设计语言。

问题反馈【教师释疑】正确答案:【PAD图】2、UML是一种语言。

问题反馈【教师释疑】正确答案:【可视化】3、类是一组具有属性、操作、关系和语义的对象的描述。

问题反馈【教师释疑】正确答案:【相同】4、对象是类的一个。

问题反馈【教师释疑】正确答案:【实例】5、用况图是一种表达系统模型的图形化工具。

问题反馈【教师释疑】正确答案:【功能】6、UML中的顺序图是一种交互图,即由一组对象以及按组织的对象之间的关系组成。

问题反馈【教师释疑】正确答案:【时序】7、模块的作用域是指受该模块内一个所影响的所有模块的集合。

问题反馈【教师释疑】正确答案:【判定】8、模块的控制域是指这个模块本身以及所有直接或间接它的模块的集合。

问题反馈【教师释疑】正确答案:【从属于】9、在数据流图中引入数据源和数据潭这两个术语的目的是为了表示系统的,可以使用它们和相关数据流来定义系统的。

问题反馈【教师释疑】正确答案:【环境|边界】10、模块结构图是系统的一个高层蓝图,允许设计人员在较高的层次上进行抽象思维。

模块结构图可用和两种形式来表示。

问题反馈【教师释疑】正确答案:【层次图|HIPO图】11、在设计模块结构图时要基于原则来设计模块。

问题反馈【教师释疑】正确答案:【高内聚低耦合】12、在进行总体结构设计时,人们通过长期的软件开发实践,总结出一些实现模块“高内聚低耦合”的启发式规则,对初始的模块结构图进行精化,其中一条规则是“尽力使模块的在其控制域之内”。

问题反馈【教师释疑】正确答案:【作用域】13、在进行总体结构设计时,人们通过长期的软件开发实践,总结出一些实现模块“高内聚低耦合”的启发式规则,对初始的模块结构图进行精化,其中一条规则是“力求深度、宽度、扇出和扇入”。

问题反馈【教师释疑】正确答案:【适中】14、在进行总体结构设计时,人们通过长期的软件开发实践,总结出一些实现模块“高内聚低耦合”的启发式规则,对初始的模块结构图进行精化,其中一条规则是“改进软件结构,提高模块的”。

软件工程 简答题复习题(带答案)

软件工程 简答题复习题(带答案)

软件工程简答题复习题(带答案)软件工程简答题复习题(带答案)1. 什么是软件工程?软件工程是一种系统化、规范化、可量化的方法,用于开发、维护和测试软件系统的过程。

它涵盖了软件开发的各个方面,包括需求分析、设计、编码、测试和维护等。

2. 软件开发生命周期有哪些阶段?常见的软件开发生命周期包括需求分析、系统设计、详细设计、编码、测试、部署和维护等阶段。

3. 什么是需求分析?需求分析是软件开发过程中的第一步,它涉及与客户进行沟通和理解客户需求的过程。

通过需求分析,开发团队可以明确软件系统的功能和性能要求,并将这些要求转化为详细的规格说明。

4. 需求分析的主要目标是什么?需求分析的主要目标是确保开发团队和客户对软件系统的需求达成共识。

它需要明确软件系统的功能需求、性能需求和约束条件,以便后续的设计和开发工作能够按照这些需求进行。

5. 什么是软件设计?软件设计是在需求分析的基础上,根据系统需求和约束条件,将系统划分为模块,确定模块之间的接口和关系,设计出满足系统需求的软件结构和算法的过程。

6. 软件设计的原则有哪些?常见的软件设计原则包括单一职责原则(SRP)、开闭原则(OCP)、里氏替换原则(LSP)、依赖倒置原则(DIP)、接口隔离原则(ISP)和迪米特法则(LoD)等。

7. 什么是软件测试?软件测试是为了评估系统的质量和功能是否满足需求的过程。

它通过设计和执行测试用例,检查系统的输出是否符合预期,并发现潜在的错误和缺陷。

8. 软件测试的分类有哪些?软件测试可以分为单元测试、集成测试、系统测试和验收测试等不同的层次。

单元测试用于测试软件的最小功能单元,集成测试用于测试不同模块之间的交互,系统测试则测试整个系统的功能和性能,验收测试是由客户进行的测试,以确认系统是否达到了合同中规定的要求。

9. 什么是软件维护?软件维护是在软件交付给客户后,为了保证其正常运行和适应环境变化而进行的一系列活动。

维护包括错误修复、性能优化、功能扩展等。

电大考试2017年软件工程选择题(整理篇)

电大考试2017年软件工程选择题(整理篇)

软件工程1.以下哪一项不是软件危机的表现形式(C)A.成本高B.生产率低C.技术发展快D.质量得不到保证2.哪种模型分批地逐步向用户提交产品,每次提交一个满足用户需求子集的可运行的产品。

(A)A.演化模型B.喷泉模型C.原型模型D.螺旋模型3.可行性研究的目的不包括(B)A.分析开发系统的必要性B.确定系统建模的方案C.分析系统风险D.确定是否值得开发系统4.可行性分析研究的费用大约是项目总经费的(B)。

A.2%B.8%C.20%D.50%5.在E-R 模型中,包含以下基本成分(C)。

A.数据、对象、实体B.控制、联系、对象C.实体、联系、属性D.实体、属性、联系6.软件需求分析产生一个重要文档是(B)。

A.软件维护说明书B.需求规格说明书C.可行性报告D.初步用户手册7.内聚程度较低的是(D)。

A.通信内聚B.过程内聚C.顺序内聚D.时间内聚8.概要设计是软件系统结构的总体设计,以下选项中不属于概要设计的是(D)A.把软件划分成模块B确定模块之间的调用关系C.确定各个模块的功能D.设计每个模块的伪代码9.UML 语言支持的建模方式不包括有(C)。

A.静态建模B.动态建模C.模块化建模D.功能建模10.以下哪一项不是面向对象的特征。

(D)A.多态性B.继承性C.封装性D.过程调用11.在软件生产的程序系统时代由于软件规模扩大和软件复杂性提高等原因导致了(A)A.软件危机B.软件工程C.程序设计革命D.结构化程序设计12.瀑布模型的关键不足在于(B)A.过于简单B.不能适应需求的动态变更C.过于灵活D.各个阶段需要进行评审13.可行性研究的四大要素是(A)。

A.经济、技术、法律和社会环境B.经济、技术、开发组织能力和领导者水平C.经济、技术、计算机硬件环境和网络带宽D.经济、技术、软件开发工具和人员的稳定性14.经济可行性研究的主要内容包括(D)A.开发过程B.开发工具C.风险分析D. 效益分析15.在需求分析过程中,分析员要从用户那里解决的最重要的问题是(A)。

软件工程简答题

软件工程简答题

软件工程简答题:1什么是软件危机?它有哪些典型表现?为什么会出现软件危机?我的答案:软件危机是指落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。

它的典型表现有以下几点,1.对软件开发成本和进度的估计常常很不准确。

2.用户对“已完成”软件系统不满意的现象经常发生。

3.软件产品的质量往往靠不住。

4.软件常常是不可维护的。

5.软件通常没有适当的文档资料。

6.软件成本在计算机系统总成本中所占的比例逐年上升。

7.软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。

软件危机出现的原因有软件本身的特点也和软件开发与维护的方法不正确有关。

用户需求不明确,软件开发规模大、复杂度变高,不正确的理论指导是具体原因。

2什么是软件工程?它有哪些本质特性?怎样用软件工程消除软件危机?我的答案:软件工程是指导计算机软件开发和维护的一门工程学科。

采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。

本质特性:1.软件工程关注于大型程序的构造。

2.软件工程的中心课题是控制复杂性。

3.软件经常变化。

4.开发软件的效率非常重要。

5.和谐地合作是开发软件的关键。

6.软件必须有效地支持它的用户。

7.在软件工程领域中通常由具有一种文化背景的人替具有另一种文化背景的人创造产品。

消除软件危机的方法:(1) 对计算机软件有一个正确的认识(软件≠程序)(2) 必须充分认识到软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目(3) 推广使用在实践中总结出来的开发软件的成功技术和方法(4) 开发和使用更好的软件工具3简述软件生命周期的3个时期和8个阶段。

我的答案:软件的生命周期:软件定义、软件开发和运行维护8個階段:問題定義、可行性研究、需求分析、總體設計、詳細設計、編碼和單元測試、綜合測試、軟件維護4什么是软件过程?它与软件工程方法学有何关系?我的答案:软件过程是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。

2017年电大软件工程形成性考核答案(考试用)

2017年电大软件工程形成性考核答案(考试用)

一、选择题:1.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做(C)。

A.软件工程 B.软件周期 C.软件危机 D.软件产生2.瀑布模型本质上是一种(A )模型。

A.线性顺序 B.顺序迭代 C.线性迭代 D.早期产品3.瀑布模型存在的问题是(B )。

A.用户容易参与开发B.缺乏灵活性C.用户与开发者易沟通 D.适用可变需求4.螺旋模型是一种将瀑布模型和(A)结合起来的软件开发模型。

A.增量模型B.专家系统C.喷泉模型D.变换模型5.原型化方法是用户和设计者之间执行的一种交互构成,适用于(A)系统。

A.需求不确定性高的B.需求确定的C.管理信息D.实时6.下列有关软件工程的标准,属于国际标准的是(D )A.GB B.DIN C.ISO D.IEEE7.结构化方法是一种基于(D)的方法。

A.数据结构 B.程序结构 C.算法 D.数据流8.软件可行性研究实质上是要进行一次( A)需求分析、设计过程。

A、简化、压缩的 B、详细的 C、彻底的D、深入的9.可行性研究的目的是(D)A、分析开发系统的必要性B、确定系统建设的方案C、分析系统风险D、确定是否值得开发系统10.设年利率为i,现存入p元,不计复利,n年后可得钱数为(C)。

A、P×(1+i*n) B、P× (i+1)*n C、p×(1+i)n D、p×(i+n)11.可行性研究是在(A)之前A、系统开发B、测试C、试运行D、集成测试12.可行性研究需要的时间长短取决于系统的规模,一般来说,可行性研究的成本只是预期总成本的(C)。

A、1% B、20% C、8% D、50%13.我国正式颁布实施的(B)对计算机病毒的定义具有法律性、权威性。

A.《计算机软件保护条例》B.《中华人民共和国计算机信息系统安全保护条例》 C.《中华人民共和国著作权法》 D.《计算机病毒防治管理办法》14.效率是一个性能要求,因此应当在以下哪个阶段规定?B A、可行性分析B、需求分析C、概要设计D、详细设计15.需求规格说明书的作用不包括(D)A、软件验收的依据 B、用户与开发人员对软件要做什么的共同理解 C、软件可行性研究的依据D、软件设计的依据16.数据字典是用来定义(D)中的各个成份的具体含义的。

软件工程期末复习简答题

软件工程期末复习简答题

1. 如何做好软件质量保证工作?答案:软件质量保证工作是软件工程管理的重要内容,软件质量保证应做好以下几个方面的工作:(1)采用技术手段和工具。

质量保证活动要贯彻开发过程始终,必须从采用技术手段和工具,尤其是使用软件开发环境来进行软件开发。

(2)组织正式技术评审。

在软件开发的第一个阶段结束时,都要组织正式的技术评审。

国家标准要求单位必须采用审查、文档评审、设计评审、审计和测试等具体手段来保证质量。

(3)加强软件测试。

软件测试是质量保证的重要手段,因为测试可发现软件中大多数潜在错误。

(4)推选软件工程规范(标准)。

用户可以自己制定软件工程规范(标准),但标准一旦确认就应贯彻执行。

(5)对软件的变更进行控制。

软件的修改和变更常常会引起潜伏的错误,因此必须严格控制软件的修改和变更。

(6)对软件质量进行度量。

即对软件质量进行跟踪,及时记录和报告软件质量情况。

2. 如何控制因修改而引起的副作用?答案:为了控制因修改而引起的副作用,要做到:(1)按模块把修改分组;(2)自顶向下地安排被修改模块的顺序;(3)每次修改一个模块;(4)对每个修改了的模块,在安排修改下一个模块之前要确定这个修改的副作用,可使用交叉引用表、存储映像表、执行流程跟踪等。

3. 渐增模型有几种?各有何特点?答案:渐增模型是瀑布模型的变种,它有两类: (1)增量构造模型。

它在瀑布模型基础上,对一些阶段进行整体开发,对另一些阶段进行增量开发。

也就是说在前面的开发阶段按瀑布模型进行整体开发,后面的开发阶段按增量方式开发。

(2)演化提交模型。

它在瀑布模型基础上,所有阶段都进行增量开发,也就是说不仅是增量开发,也是增量提交。

4. 对软件开发环境的基本要求有那些?答案:(1)软件开发环境应是高度集成的一体化的系统。

(2)软件开发环境应具有高度的通用性。

(3)软件开发环境应易于定制、裁剪或扩充以符合用户要求,即软件开发环境应具有高度的适应性和灵活性。

软件工程期末考试简答题汇总

软件工程期末考试简答题汇总

软件⼯程期末考试简答题汇总1什么是软件⼯程?基本原理有哪些? (6)2成本_效益分析可⽤哪些指标进⾏度量?(写出公式) (6)3什么是数据流图?其中的基本符号各表⽰什么含义?画出定货系统基本数据流图。

6 4⾮渐增式测试与渐增式测试有什么区别? (6)5试从基本符号和设计⽅法分析HC图与JACKSON图异同点 (6)6软件测试的⽬的是什么? (7)7结构化程序设计的思想是什么? (7)8请解释极限编程和⾃适应软件开发,并说明其异同? (7)9需求⼯程的起始阶段,需求⼯程师的主要⼯作是? (7)10请画出“在餐厅使⽤信⽤卡付费”这⼀活动的完整⽤例图? (8)11分析说明结构化分析和⾯向对象分析的区别? (8)12 请简要给出评价软件设计质量的标准? (8)13 ⼀个良好的设计类需要满⾜四个特点,请详细描述这四个特点? (8)14软件项⽬估算内容与步骤 (9)15⾯向对象设计的准则是什么?有哪5个层次和4个部分? (9)16简述软件⼯程⽬标和⾯临的主要问题。

(9)17简述软件⼯程过程。

(9)18简述模块独⽴性的原则。

(10)19简述结构化程序设计⽅法的基本要点 (10)20简述软件⽣命周期开发⽅法的基本过程及每个阶段的任务。

(10)21复印机的⼯作流程⼤致如下: (11)22简述⽂档在软件⼯程中的作⽤。

(12)23简述软件项⽬管理过程。

(12)24简述系统分析员应该具备的主要知识结构和基本素质。

(12)25简述何谓软件开发⽅法?请列举四种主要⽅法。

(12)26简述单元测试的基本内容。

(13)27什么是软件⽣存周期模型?请⾄少列举四种主要模型? (13)28衡量模块独⽴的两个标准是什么?它们各表⽰什么含义?(⽹上) (14)29简述⽩盒测试的思想,并列举两种典型的测试技术。

(14)30简述CMM(软件能⼒成熟度模型)5个等级的含义 (14)31简述软件维护的定义 (15)32简述软件测试的定义 (15)33 UML建模中主要包括哪九种图?并说明类图的定义及其中常见的关系有哪些?15 34什么是字据字典?其作⽤是什么?它有哪些条⽬? (15)35软件⼯程的两⼤范型分别是什么?它们有什么不同? (16)36如何画分层数据流图? (16)37⾯向对象程序设计有哪些优点? (16)38在软件测试中,应注意哪些原则? (17)39程序设计风格是指⼀个⼈编制程序时所表现出来的特点、习惯、逻辑思路等。

电大软件工程简答题参考

电大软件工程简答题参考

电大软件工程简答题参考(此处为文档内容,请根据需求编写)
1:软件工程概述
1.1 软件工程的定义
1.2 软件开发生命周期
1.3 软件工程的重要性
2:需求分析
2.1 用户需求收集
2.2 需求的规范化和分析
2.3 需求验证与确认
3:设计与架构
3.1 软件设计原则
3.2 结构化设计方法
3.3 面向对象设计方法
3.4 软件架构设计
4:编码与测试
4.1 编码规范与约定
4.2 编码技术与工具
4.3 单元测试与集成测试4.4 验收测试与系统测试5:软件质量保证
5.1 质量标准与度量
5.2 缺陷管理与跟踪
5.3 配置管理与版本控制5.4 过程改进与质量管理6:项目管理与团队协作
6.1 项目计划与进度管理6.2 风险管理与变更控制6.3 团队组织与沟通
6.4 软件工程中的法律问题7:软件维护与升级
7.1 软件维护类型与策略7.2 工具与技术支持
7.3 软件升级与演化
8:总结与展望
8.1 本文档回顾
8.2 软件工程未来发展趋势
8.3 总结与建议
附件:
- 用户需求文档
- 软件架构图
法律名词及注释:
- 版权:法律规定的享有著作权的权利人对其创作的作品拥有排他的权利。

- 商标:商标是标识商品来源的符号,用于区分同类商品来源的标识。

- 专利:专利是国家授予专利申请人创造性的发明、实用新型或外观设计的专有权。

- 保密协议:保密协议是双方或多方之间为了保护一方的机密信息而签订的协议。

国开电大本科《软件工程》期末考试试题及答案

国开电大本科《软件工程》期末考试试题及答案

国开电大本科《软件工程》期末考试试题及答案一、选择题(每题2分,共20分)1. 软件工程的三要素是:_______A. 软件开发、软件维护、软件管理B. 软件设计、软件编码、软件测试C. 软件需求分析、软件设计、软件开发D. 软件开发、软件项目管理、软件维护答案:B2. 下面哪个不是软件工程的七个基本活动之一?_______A. 软件规格说明B. 软件设计和实现C. 软件验证D. 软件部署答案:D3. 面向对象方法中,下面哪个不是三大基本特征之一?_______A. 封装B. 继承C. 多态D. 模块化答案:D4. 软件需求分析的主要目的是:_______A. 确定软件的功能和性能要求B. 设计软件的结构C. 编写软件的测试用例D. 确定软件的开发计划答案:A5. 下面哪个不属于软件测试的级别?_______A. 单元测试B. 集成测试C. 系统测试D. 需求测试答案:D二、填空题(每题2分,共20分)6. 软件生命周期是指软件从_______到_______的全过程。

答案:需求分析、软件退役7. 结构化分析方法主要包括数据流图(DFD)、_______和_______。

答案:实体关系图(ER图)、状态转换图(STD)8. 在软件设计中,设计模式是一种_______的解决方案,它可以解决软件设计中的常见问题。

答案:通用9. 软件编码阶段的主要任务是编写_______和_______。

答案:源代码、文档10. 软件测试的目的是_______,而不是证明软件是正确的。

答案:发现错误三、简答题(每题5分,共25分)11. 简述软件工程的定义及其目标。

答案:软件工程是一门应用计算机科学、数学及管理科学的方法、技术和工具,来定义、开发和维护软件的学科。

软件工程的目标是提高软件的生产率、提高软件的质量、降低软件的成本。

12. 简述面向对象方法的特点。

答案:面向对象方法具有以下特点:(1)封装:将数据和操作数据的方法封装在一起,形成一个对象。

软件工程简答题

软件工程简答题

软件工程简答题1. 什么是软件工程?软件工程是一门通过系统化、规范化和量化的方法,来开发和维护软件系统的学科。

它关注软件开发全过程中的需求分析、设计、编码、测试和维护等环节,以提高软件质量、降低开发成本和缩短开发周期。

2. 软件工程有哪些基本原则?软件工程遵循以下基本原则:- 按照客户需求导向:软件工程过程应始终以满足客户需求为目标,并持续与客户进行合作和沟通。

- 适应性和灵活性:软件工程方法应当具备适应不同项目需求和灵活变化的能力。

- 风险管理:对项目风险进行有效的识别、评估和管理,以减少项目失败的可能性。

- 团队合作:软件开发需要各个角色之间的密切合作和协同努力。

- 不断改进和学习:软件工程过程应不断反思和改进,学习新的技术和方法,以提高开发效率和质量。

3. 解释软件生命周期模型。

软件生命周期模型是指软件从开始开发到退役的全过程,包括需求分析、设计、编码、测试、发布和维护等阶段。

常见的软件生命周期模型有瀑布模型、迭代模型、螺旋模型等。

- 瀑布模型:按照线性顺序依次进行需求分析、设计、编码、测试和维护等阶段,每个阶段产生的文档和成果是下一个阶段的输入。

- 迭代模型:迭代模型强调快速迭代开发,将软件开发过程划分为多个迭代周期,每个迭代周期内包含需求分析、设计、编码、测试等阶段。

每个迭代周期都会产生可工作的部分软件。

- 螺旋模型:螺旋模型采用风险驱动的迭代方式,每个迭代周期都会评估和处理风险,根据评估结果确定下一步的开发方向。

4. 请解释软件需求工程的概念和目标。

软件需求工程是软件工程中的一个重要领域,旨在确保软件开发过程中对需求进行全面、一致和可验证的规格说明。

其目标包括:- 理解和明确用户和利益相关者的需求。

- 确定需求的优先级和约束条件。

- 分析和定义需求的功能和非功能特性。

- 确保需求的一致性和完整性。

- 验证和验证需求的正确性和满足性。

- 管理和追踪需求变更。

5. 什么是软件验证和确认?软件验证是指通过评审、检查、演练和测试等手段,确认软件是否符合规定的需求和规格要求。

软件工程 简答题

软件工程 简答题

简答题1. 软件工程的七条基本原理是什么?答: 软件工程的七条基本原理是:(1) 用分阶段的是的生存周期计划严格管理(2) 坚持进行阶段评审;(3) 严格实施的产品控制(4) 采用现代程序技术(5) 结果应能清楚地审查;(6) 开发小组的成员应该少而精(7) 承认不断改进软件工程的必要性。

2. 良好的编码风格应具备哪些条件?答:应具备以下条件:(1)使用标准的控制结构(2)有限制地使用GOTO语句(3)源程序的文档化(应具备以下内容)①有意义的变量名称——“匈牙利命名规则”②适当的注释——“注释规范”③标准的书写格式:——用分层缩进的写法显示嵌套结构的层次(锯齿形风格)——在注释段的周围加上边框——在注释段与程序段、以及不同程序段之间插入空行——每行只写一条语句——书写表达式时,适当使用空格或圆括号等作隔离符(4)满足运行工程学的输入输出风格3. 简述文档在软件工程中的作用答:(1)提高软件开发过程的能见度(2) 提高开发效率(3) 作为开发人员阶段工作成果和结束标志(4) 记录开发过程的有关信息便于使用与维护(5) 提供软件运行、维护和培训有关资料(6) 便于用户了解软件功能、性能4. 可行性研究包括哪几方面的内容?答(1)经济可行性:是否有经济效益,多长时间可以收回成本(2)技术可行性:现有技术能否实现本系统,现有技术人员能否胜任,开发系统的资源能否满足(3)运行可行性:系统操作在用户内部行得通吗?(4)法律可行性:新系统开发是否会侵犯他人、集体或国家利益,是否违反国家法律5. 结构化的需求分析描述工具有哪些?答:有数据流图(DFD)、数据字典(DD)、判定表、判定树、结构化语言(PDL)、层次方框图、Warnier图、IPO图、控制流图(CFD)、控制说明(CSPEC)、状态转换图(STD)和实体—关系图(E—R)等6. 一般面向对象分析建模的工具(图形)有哪些?答:用例图、类/对象图、对象关系图、实体—关系图(E—R)、事件轨迹图(时序图)和状态转换图(STD)等7. UML统一建模语言有哪几种图形?用例图、类图、对象图、构件(组件)图、部署(配置)图、状态图、活动图、顺序(时序)图、合作(协作)图等九种图8. 在面向对象分析时类和对象的静态关系主要有哪几种?答:类和对象的静态关系主要有关联、聚集、泛化、依赖等四种关系9. 什么是模块化?模块设计的准则?模块设计的准则:(1) 改进软件结构, 提高模块独立性:在对初步模块进行合并、分解和移动的分析、精化过程中力求提高模块的内聚,降低藕合(2) 模块大小要适中:大约50行语句的代码,过大的模块应分解以提高理解性和可维护性;过小的模块,合并到上级模块中(3) 软件结构图的深度、宽度、扇入和扇出要适当一般模块的调用个数不要超过5个(4) 尽量降低模块接口的复杂程度(5) 设计单入口、单出口的模块(6) 模块的作用域应在控制域之内10. 什么是模块独立性?用什么度量?答:模块独立性概括了把软件划分为模块时要遵守的准则,也是判断模块构造是不是合理的标准。

软件工程简答题

软件工程简答题

软件工程简答题第一篇:软件工程简答题1.什么是软件工程?简述软件工程的七条基本原理。

软件工程是一门研究如何用系统化、规范化、数量化等工程原则和方法来进行软件开发和维护的学科。

七条基本原理:用分阶段的生命周期计划严格管理;坚持进行阶段评审;实行严格的产品控制;采用现代程序设计技术;结果应能清楚地审查;开发小组的人员应该少而精;承认不断改进软件工程实践的必要性。

2.什么是软件生存周期模型?请至少列举四种主要的模型。

软件生存周期模型是软件开发全部过程、活动和任务的结构框架。

它能直观表达软件开发全过程,明确规定要完成的主要活动、任务和开发策略。

四种主要的模型:瀑布模型,演化模型,喷泉模型,螺旋模型、基于构件的开发模型 3.为什么软件需要维护?简述软件维护的过程。

1)改正在特定使用条件下暴露出来的一些潜在程序错误或设计缺陷;2)因在软件使用过程中数据环境发生变化(如所要处理的数据发生变化)或处理环境发生变化(如硬件或软件操作系统等发生变化),需要修改软件,以适应这种变化;3)用户和数据处理人员在使用时常提出改进现有功能、增加新功能、以及改善总体性能的要求,为满足这些要求,需要修改软件。

软件维护的过程:首先建立维护的机构,申明提出维护申请报告的过程及评价的过程,为每一个维护申请规定标准的处理步骤,建立维护活动的记录保管,并规定复审的标准。

4.影响软件维护工作量的因素有哪些?1)系统大小。

系统越大,功能越复杂,理解掌握起来就越困难,需要的维护工作量越大。

2)程序设计语言。

使用功能强的程序设计语言可以控制程序的规模。

语言的功能越强,生成程序所需的指令数就越少;语言的功能越弱,实现同样功能所需的语句就越多,程序就越大,维护起来就越困难。

3)系统年龄。

老系统比新系统需要更多的维护工作量。

许多老系统在当初并未按照软件工程的要求进行开发,没有文档,或文档太少,或者在长期的维护中许多地方与程序不一致,维护起来困难较大。

4)数据库技术的应用。

国家开放大学软件工程考前简答题笔记

国家开放大学软件工程考前简答题笔记

第一部分:软件工程学概论1,什么是软件工程?软件工程的目标是什么?软件工程(学)是研究软件生产方法和技术的学科。

软件工程采用工程的概念、原理和方法来开发、维护软件,把经过时间检验的管理方法和先进的软件技术相结合,以提高软件开发的效率、质量和可用性,并有效控制成本和进度。

软件工程的目标是解决或改善软件危机,即用更低成本、在更短时间内,开发出更高质量、更易使用和维护的软件产品。

2,什么是软件危机?软件危机表现在哪几个方面?软件危机是1960年代以来广泛存在的软件生产力发展远远跟不上社会对软件需求的增长而表现出的一系列矛盾的统称。

其主要表现有:(1)需求分析不充分:即闭门造车,所产软件的功能、用法与用户真实需要相去甚远。

(2)质量参差不齐且售后服务没保障。

(3)开发进度、成本失控。

(4)软件组成不完整,普遍缺失开发文档、源代码和质量评价。

(5)维护成本高。

3,软件工程的基本原理有哪些?(1)分阶段的实施与管理:按软件生命期理论划分软件开发、运行与维护的各项工作任务,对不同阶段安排不同的时间、人员和物力,每个阶段都有相应的管理方法和规范。

(2)各阶段的成果都应是确定的、具体的、可评价的,从而能被清楚地审查。

(3)严格的阶段评审:尤其是靠前的阶段,其工作质量对软件工程的整体质量极为关键。

(4)严格的产品控制:主要是功能、性能需求的基准配置管理。

(5)尽可能采用先进的技术:包括分析技术、设计技术、实现技术、测试技术、维护技术等。

(6)开发人员应少而精。

(7)在软件工程的实践中不断发展软件工程学。

4,什么是软件生存周期模型?软件生存周期模型即软件工程过程模型,它从时间角度将软件开发、运行与维护等工作划分成多个特色鲜明的阶段,对不同阶段安排不同的时间、人员和物力,每个阶段都有相应的管理方法和规范。

它是指导软件开发与维护的方法论基础。

从最初的三阶段论(软件计划、软件开发、运行与维护)到比较成熟的七阶段论(可行性研究、需求分析、概要设计、详细设计、编码实现、测试、运行与维护),形成了多种经典的软件工程过程模型:(1)瀑布模型:是较早体现七阶段理论的实际工程模型,主要体现了软件工程基本原理一、二、三、四,使用此模型,软件开发效率高,但需求分析不充分的风险比较大。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

简答题1.什么是软件危机?试简述至少3种软件危机的典型表现。

答:(1)软件危机是指在计算机软件的开发和维护过程中,所遇到的一系列严重问题。

(2)典型表现:●开发费用和进度难以估算和控制,大大超过预期的资金和规定日期;●软件需求分析不够充分,用户不满意“已经完成”的软件系统。

●软件质量难于保证;●软件维护困难;●通常没有保留适当的文档资料●开发成本逐年上升;●软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势2.简述软件过程模型答:(1)软件过程是人们开发和维护软件及相关产品的活动、方法、实践和改进的集合。

它明确定义软件过程中所执行的活动及其顺序,确定没一个活动内容和步骤,定义每个角色和职责。

(2)软件工程将软件开发和维护的过程概况为8个大的活动:问题定义、可行性研究、需求分析、总体设计、详细设计、编码、系统测试和运行维护。

3.简述结构化分析的主要步骤答:(1)根据用户的需求画出初始的数据流程图,写出数据字典和初始的加工处理说明(IPO图),实体关系图。

(2)以初始数据流程图为基础,从数据流程图的输出端开始回溯。

在对数据流程图进行回溯的过程中可能会发现丢失的处理和数据,应将数据流程图补充完善。

(3)对软件性能指标、接口定义、设计和实现的约束条件等逐一进行分析。

(4)系统分析人员与用户一起对需求分析的结果进行复查。

(5)根据细化的需求修订开发计划。

(6)编写需求规格说明书和初始的用户手册,测试人员开始编写功能测试用的测试数据。

4. 请给出软件工程七条基本原理中的任意6条基本原理。

答:原理1.用分阶段的生命周期计划严格管理。

原理2.坚持进行阶段评审。

原理3.实行严格的产品控制。

理4.采用现代程序设计技术。

原理5.结果应能清楚地审查。

原理6.开发小组的人员应该少而精。

原理7.承认不断改进软件工程实践的必要性5.软件工程为什么要强调规范化和文档化?答:(1)软件工程强调规范化和文档化。

规范化的目的是使众多的开发者遵守相同的规范,使软件生产摆脱个人生产方式,进入标准化、工程化的生产方式。

(2)文档化是将软件的设计思想、设计过程和实现过程完整地记录下来,以便于后人的使用和维护,在开发过程中各类相关人员借助于文档进行交流和沟通。

另外,在开发过程中产生的各类文档使得软件的生产过程由不可见变为可见,便于管理者对软件生产进度和开发过程进行管理。

在用户最终验收时可以通过对提交的文档进行技术审查和管理审查,保证软件的质量。

6.简述模块独立性,内聚与耦合。

答:模块独立性, 是指软件系统中每个模块只涉及软件要求的具体的子功能,而和软件系统中其它的模块的接口是简单的。

一般采用两个准则度量模块独立性。

即模块间耦合和模块内聚。

耦合是模块之间的互相连接的紧密程度的度量。

内聚是模块功能强度(一个模块内部各个元素彼此结合的紧密程度)的度量。

模块独立性比较强的模块应是高内聚低耦合的模块。

7.设计下列伪程序的语句覆盖测试用例。

BEGININPUT(A,B,C)IF A>5 THENX=10ELSEX=1END IFIF B>10 THENY=20ELSEY=2END IFIF C>15THEN Z=30ELSE Z=3END IFPRINT(X,Y,Z)END答:因为每个判定表达式为真或假时均有赋值语句,为了使每个语句都至少执行一次,总共需要两组测试数据,以便使得每个判定表达式取值为真或假各一次。

下面是实现语句覆盖的典型测试用例:(1)使3个判定表达式之值全为假,输入:A=1,B=1,C=1,预期的输出:X=1,Y=2,Z=3(2)使3个判定表达式之值全为真,输入:A=20,B=40,C=60,预期的输出:X=10,Y=20,Z=308. 为了提高软件的可维护性,在软件开发过程的各个阶段怎样充分考虑软件的可维护性因素。

答:(1)在需求分析阶段应该明确维护的范围和责任,检查每条需求,分析维护时这条需求可能需要的支持,对于那些可能发生变化的需求要考虑系统的应变能力。

(2)在设计阶段应该做一些表更实验,检查系统的可维护性、灵活性和可移植性,设计时应该将今后可能变更的内容与其他部分分离出来,并且遵循高内聚、低耦合的原则。

(3)编码阶段要保持源程序与文档的一致性、源程序的可理解性和规范性。

(4)在测试阶段测试人员应该按照需求文档和设计文档测试软件的有效性和可用性,收集出错信息并进行分类统计,为今后的维护打下基础。

9.简述在项目开发时选择程序设计语言的主要考虑的因素。

答:编程人员的水平和编程经历;待开发的软件类型;算法和计算复杂性;数据结构的复杂性;软件的开发成本和时间要求;软件可移植性要求;可用的软件工具。

10.设计下列伪程序的条件组合覆盖测试用例。

BEGININPUT(A,B)IF(A>0) AND (B>0) THENX=A+BELSEX=A-BENDIF (C>A) OR (D<B) THENY=C-DELSEY=C+DENDPRINT(X,Y)END答:条件组合覆盖标准为,使得每个判定表达式中条件的各种可能组合都至少出现一次。

本程序中共有两个判定表达式,每个判定表达式中有两个简单条件,因此,总共有8种可能的条件组合,它们是:A>0,B>0A>0,B<=0A<=0,B>0A<=0,B<=0C>A,D<BC>A,D>=BC<=A,D<BC<=A,D>=B下面的4个测试用例,可以使上面列出的8种条件组合每种至少出现一次:实现1,5两种条件组合输入:A=1,B=1,C=2,D=0预期的输出:X=2,Y=2 (1分)实现2,6两种条件组合输入:A=1,B=0,C=2,D=1预期的输出:X=2,Y=1 (1分)实现3,7两种条件组合输入:A=0,B=1,C-1,D=0预期的输出:X=-1,Y=-1 (1分)实现4,8两种条件组合输入:A=0,B=0,C=-1,D=1预期的输出:X=0,Y=0 (1分)1、试从软件的特点出发分析软件危机产生的原因。

答案:a)软件是一种逻辑实体,具有抽象性,无法看到软件本身的形态,必须通过观察、分析、思考和判断才能了解它的功能和性能。

b)软件对硬件和环境有着不同程度的依赖性,这导致了软件升级和移植的问题。

计算机硬件和支撑环境不断升级,为了适应运行环境的变化,软件也需要不断维护,并且维护的成本通常比开发成本高许多。

c)软件生产至今尚未摆脱手工方式,软件开发的手工行为造就了一个致命的问题,就是为应用“量身订做”软件。

长期以来,软件给人的感觉是修改几条指令很简单,客户总是强调软件要适应自己的业务需求。

因此,软件产品大多是为客户“订做”的,通用性差。

d)软件涉及人类社会的各行各业,常常涉及一些行业知识,这对软件工程师提出了很高的要求。

e)软件是与文学艺术作品相似的精神作品,与体力劳动相比,精神活动过程的特点是“不可见性”,这大大增加了组织管理上的困难。

2、什么是软件生命周期?他分为哪几个阶段?答案:软件生命周期是一个软件从提出开发要求到废弃为止的整个时期。

分为8个阶段:问题定义、可行性分析、需求分析、概要设计、详细设计、编码、系统测试和运行维护3、一个程序片段如下,请设计符合条件组合覆盖的测试用例。

……if (a>=4) && (b<0)c=a+b;elsec=a-b;if (c>3) || (c<1)printf(“c不在计算区域\n”);elseprintf(“%d\n”, c);……答案a>=4 b<0a>=4 b>=0a<4 b<0a<4 b>=0c>3c<=3c<1c>=1综合以上条件组合,设计测试用例如下(注意结果不唯一,只要满足上面的组合条件即可):a=4 b=-1 c=3a=4 b=0 c=4a=-1 b=-1 c=0a=2 b=0 c=24、请说明对象模型的作用是什么?答案:对象模型:表示静态的、结构化的系统“数据”性质。

描述现实世界中实体的对象以及它们之间的关系,表示目标系统的静态数据结构。

在面向对象方法中,类图是构建对象模型的核心工具。

6、面向对象的分析通常要建立三个模型,请问三个模型的作用?答案:1)功能模型:表达系统的详细需求,为软件的进一步分析和设计打下基础。

在面向对象方法中,由用例图和场景描述组成。

2)对象模型:表示静态的、结构化的系统“数据”性质。

描述现实世界中实体的对象以及它们之间的关系,表示目标系统的静态数据结构。

3)动态模型:描述系统的动态结构和对象之间的交互,表示瞬时的、行为化的系统的“控制”特性。

10、一个程序片段如下,请设计符合判定覆盖的测试用例。

if (a>=5) && (b<0) {c=a+b;elsec=a-b;if (c>5) || (c<1)printf(“c不在计算区域\n”)elseprintf(“%d\n”, c);答案条件:a>=5 b<0a>=5 b≮0c<11<c<5符合判定覆盖的测试用例(不唯一):a=5,b=-1,c=4; a=5,b=5,c=0;11、请画图说明软件工程的层次化结构,并详细分析中间两层的内容。

答案:软件工程的内容具有层次化结构,最底层是质量保证层,中间是过程层其中过程层定义了一组关键过程域,目的是保证软件开发过程的规范性和可控性。

方法层提供了软件开发的各种方法,包括如何进行软件需求分析和设计,如何实现设计,如何测试和维护等方法。

12、请为下面的程序设计符合判定覆盖的测试用例。

int main(){int a,b,c,x,y,z,t;scanf(“d%,d%,d%),&a,&b,&c,&t);if a>5 && t<1 x=10 else x=1;if b>10 y=20 else y=2;if c>15 z=30 else z=3;printf(“d%,d%,d%\n”,x,y,z)}答案条件:a>5,t=0a<=5,t=0b>10b<=10c>15c<=15测试用例(不唯一):a=6 t=0 b=11 c=16; a=5 t=0 b=10 c=1513、活动图与状态图的区别?答案:(1)描述的重点不同:活动图描述的是从活动到活动的控制流;状态图描述的是对象的状态及状态之间的转移。

(2)使用的场合不同:在分析用例、理解涉及多个用例的工作流、处理多线程应用等情况下,一般使用活动图;在显示一个对象在其生命周期内的行为时,一般使用状态图。

相关文档
最新文档