电大考试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年软件工程选择题(整理篇)

软件工程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年电大软件工程形成性考核答案(考试用)

一、选择题: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. 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)使用的场合不同:在分析用例、理解涉及多个用例的工作流、处理多线程应用等情况下,一般使用活动图;在显示一个对象在其生命周期内的行为时,一般使用状态图。

相关文档
最新文档