软件工程复习题简答题部分

合集下载

软件工程考试题及答案

软件工程考试题及答案

软件工程考试题及答案一、单项选择题(每题2分,共20分)1. 软件工程的三要素不包括以下哪一项?A. 工具B. 方法C. 过程D. 环境答案:D2. 软件需求分析阶段的主要任务是确定软件的()。

A. 功能需求B. 性能需求C. 界面需求D. 所有选项答案:D3. 软件测试的目的是()。

A. 发现软件中的错误B. 证明软件是正确的C. 验证软件是否满足需求D. 所有选项答案:D4. 以下哪一项不是软件维护的类型?A. 纠错性维护B. 适应性维护C. 完善性维护D. 开发性维护答案:D5. 软件项目管理的主要目标是()。

A. 提高软件质量B. 控制成本C. 缩短开发周期D. 所有选项答案:D6. 瀑布模型的主要缺点是()。

A. 缺乏灵活性B. 难以适应需求变化C. 无法并行开发D. 所有选项答案:D7. 敏捷开发方法的核心理念是()。

A. 以文档为中心B. 以人为中心C. 以过程为中心D. 以工具为中心答案:B8. 软件配置管理的主要目的是()。

A. 确保软件的一致性B. 跟踪软件的变更C. 控制软件的版本D. 所有选项答案:D9. 以下哪一项不是软件工程的原则?A. 抽象B. 模块化C. 复用D. 随机性答案:D10. 软件工程的目标是()。

A. 开发高质量的软件B. 提高软件生产率C. 降低软件成本D. 所有选项答案:D二、多项选择题(每题3分,共15分)1. 软件需求分析阶段可能包括以下哪些活动?A. 需求收集B. 需求分析C. 需求规格说明D. 需求验证答案:ABCD2. 软件测试的类型包括以下哪些?A. 单元测试B. 集成测试C. 系统测试D. 验收测试答案:ABCD3. 软件维护的常见原因包括以下哪些?A. 适应环境变化B. 修正软件缺陷C. 提高软件性能D. 增加新功能答案:ABCD4. 软件项目管理的关键活动包括以下哪些?A. 项目规划B. 项目监控C. 项目沟通D. 风险管理答案:ABCD5. 软件工程中的常见开发模型包括以下哪些?A. 瀑布模型B. 螺旋模型C. 敏捷模型D. 增量模型答案:ABCD三、判断题(每题2分,共10分)1. 软件工程的目标是开发出零缺陷的软件。

(完整word版)软件工程简答题必考

(完整word版)软件工程简答题必考

1、什么是软件工程?它目标和内容是什么?软件工程就是用科学的知识和技术原理来定义,开发,维护软件的一门学科.软件工程目标:付出较低开发成本;达到要求的功能;取得较好的性能;开发的软件易于移植;只需较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高.软件工程内容:包括开发技术和开发管理两个方面。

2、软件开发中有哪几种过程模型?哪些适用于面向对象的软件开发?软件开发中常见的软件过程模型有瀑布模型、原型模型、螺旋模型、喷泉模型、统一软件过程等。

其中喷泉模型、统一软件过程适用于面向对象的软件开发.3、什么是结构分析方法?该方法使用什么描述工具?结构化分析:简称SA,面向数据流进行数据分析的方法.采用自顶向下逐层分解的分析策略.顶层抽象地描述整个系统,底层具体地画出系统工程的每个细节。

中间层则是从抽象到具体的过渡。

使用数据流图,数据字典,作为描述工具,使用结构化语言,判定表,判定树描述加工逻辑.4、什么是软件概要设计?该阶段的基本任务是什么?把一个软件需求转换为软件表示时,首先设计出软件总的体系结构。

称为概要设计或结构设计。

基本任务:⑴设计软件系统结构⑵进行数据结构及数据库的设计⑶编写概要设计的文档⑷评审5、软件维护有哪些内容?(1)校正性维护。

在软件交付使用后,一些隐含的错误在某些特定的使用环境下会暴露出来。

为了识别和纠正错误,修改软件性能上的缺陷,应进行确定和修改错误的过程,这个过程就称为校正性维护.(2)适应性维护。

为了使应用软件适应计算机硬件、软件环境及数据环境的不断发生的变化而修改软件的过程称为适应性维护。

(3)完善性维护。

为增加软件功能、增强软件性能、提高软件运行效率而进行的维护活动称为完善性维护。

(4)预防性维护。

为了提高软件的可维护性和可靠性而对软件进行的修改称为预防性维护。

6、软件测试要经过哪些步骤?这些测试与软件开发各阶段之间有什么关系?软件测试要经过的步骤是:单元测试→集成测试→确认测试→系统测试.单元测试对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误。

软件工程常考简答题

软件工程常考简答题

绪论1、什么是软件工程?软件工程和计算机科学有何区别?答:软件工程是以计算机科学理论及其他有关学科旳理论为指导,采用工程化旳概念、原理、技术和措施进行软件旳开发和维护,把通过时间证明是对旳旳管理措施和目前可以得到旳最佳旳技术、措施相结合,以期用较少旳代价获取高质量旳软件。

计算机科学侧重于理论研究,其成果可应用于软件工程,而软件工程则强调怎样有效旳建造一种软件系统。

2、什么是软件?答:计算机软件是与计算机系统操作有关旳程序、规程、规则及任何与之有关旳文档及数据;3、什么是软件危机?分析其产生旳原因与挣脱危机旳措施,你认为目前已经挣脱软件危机了吗?请阐明理由。

软件危机是指在计算机软件旳开发和维护过程中所碰到旳一系列严重问题。

重要是两个问题:(1)怎样开发软件,怎样满足对软件旳日益增长旳需求;(2怎样维护数量不停膨胀旳已经有软件;软件危机旳出现,究其原因,首先是由软件自身旳特点引起旳,如软件越来越复杂,软件故障难于检测,工作量难以估计;另首先则是由于软件开发和维护措施不妥所导致旳,如软件旳个体化特性太强等。

为了挣脱软件危机所导致旳困境,提出软件工程旳概念,其重要思绪是:要把人类长期以来从事多种工程项目所积累起来旳行之有效旳原理,概念,技术和措施,尤其是人类从事计算机硬件研究和开发旳经验教训,应用到软件旳开发和维护中来。

我认为我国目前尚未完全挣脱软件危机,由于伴随经济发展,各行各业对软件人才旳需求不停扩大,由于我国旳软件人才缺口仍旧很大,导致了某些行业内软件开发进度难以预测,软件开发成本难以控制,顾客对产品功能难以满足,软件产品质量无法保证,软件产品难以维护,软件缺乏合适旳文档资料。

4、软件产品旳特性是什么?软件是一种逻辑产品,具有无形性;软件产品旳生产重要是研制;软件不存在磨损和老化问题,但存在退化问题;软件产品旳生产重要是脑力劳动;软件产品生产成本昂贵,目前生产方式尚未挣脱手工生产方式;软件具有“复杂性”,其开发和运行常受到计算机系统旳限制。

《软件工程》复习题及答案

《软件工程》复习题及答案
软件工程复习题
第一部分
一、选择题:
1.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做(C)。
A.软件工程B.软件周期C.软件危机D.软件产生
2.瀑布模型本质上是一种(A)模型。
A.线性顺序B.顺序迭代C.线性迭代D.早期产品
3.瀑布模型存在的问题是(B)。
A.用户容易参与开发B.缺乏灵活性C.用户与开发者易沟通D.适用可变需求
数据流图的基本符号的意思:
1.矩形表示数据的外部实体;
2.圆角的矩形表示变换数据的处理逻辑;
3.少右面的边矩形表示数据的存储;
4.箭头表示数据流。
8.什么是数据字典?其作用是什么?它有哪些条目?
答:数据字典,主要用来描述数据流程图中的数据流、数据存储、处理过程和和数据源点/终点。
作用:数据流程图描述了系统的逻辑结构,其中的四个基本图形元素的含义无法在数据流程图中详细说明,因此数据流程图需要与其他工具配合使用,数据字典就是这样的工具之一。
32.基线可作为软件生存期中各开发阶段的一个检查点。当采用的基线发生错误时,可以返回到最近和最恰当的(C)上。
A.配置项B.程序C.基线D.过程
33.在软件设计中应该保持模块的独立性原则,( A )反映模块独立性。
A.耦合和内聚 B.数据和模块 C. 模块内部的凝聚力 D.模块之间的耦合
二、简答题
1.什么是软件工程?软件工程的目标是什么?
A、1%B、20%C、8%D、50%
13.我国正式颁布实施的(B)对计算机病毒的定义具有法律性、权威性。
A.《计算机软件保护条例》
B.《中华人民共和国计算机信息系统安全保护条例》
C.《中华人民共和国著作权法》
D.《计算机病毒防治管理办法》

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

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

软件⼯程_简答题复习题(带答案).. ..第⼀章1,与计算机硬件相⽐,计算机软件有哪些特点?软件的特点如下。

1)⽆法直接观察计算机软件的物理形态,只能通过观察它的实际运⾏情况来了解它的功能、特性和质量等。

2)⼈们在分析、设计、开发、测试软件产品,以及在软件开发项⽬的管理过程中,渗透了⼤量的脑⼒劳动。

3)不存在像硬件⼀样的磨损和⽼化现象,但存在着缺陷维护和技术更新的问题。

4)软件的开发和运⾏必须依赖于特定的计算机系统环境。

5)具有可复⽤性。

3,什么是软件危机?什么原因导致了软件危机?软件危机的现象如下。

1)经费超出预算,项⽬⼀再拖延。

2)不重视需求,开发的软件不能满⾜⽤户的要求,项⽬成功率低。

3)没有规的软件⼯程⽅法,软件可维护性差、软件质量差、可靠性差。

4)开发⼯具落后,⼿⼯⽅式,开发效率低。

所有导致软件危机的原因,都与软件本⾝的产品特点相关。

1)软件是⼀个复杂的逻辑产品。

如果没有解决复杂问题的有效⽅法,以及软件产品的结构、质量、可维护性得不到保障,开发与维护费⽤就会持续升⾼。

2)软件产品不能实现⼤规模复⽤,这导致了软硬件⽣产效率的不同。

3)软件⽣产是脑⼒劳动,它看不见、摸不着,开发成本、开发周期等都⽆法做到准确估算,⽣产过程不易控制。

4)软件成本主要是由研发成本构成;⽽硬件的⽣产成本主要是材料和制造成本,分摊的研发成本很少,即软件研发过程与硬件制造过程相⽐要复杂得多。

5,请简述软件⼯程研究的容。

软件⼯程研究的容包括软件开发⽅法、软件开发模型、软件⽀持过程和软件管理过程。

软件开发⽅法的容涵盖市场调研、正式⽴项、需求分析、项⽬策划、概要设计、详细设计、编程、测试、试运⾏、产品发布、⽤户培训、产品复制、销售、实施、系统维护、版本升级等。

常⽤的软件开发模型有瀑布模型、迭代模型、增量模型和原型模型等。

软件⽀持过程由所⽀持的CASE⼯具组成,常⽤的CASE⼯具有Power Designer和Rational Rose等。

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

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

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.简述软件工程目标和面临的主要问题。

软件工程是一门工程性的学科,其目标主要是成功地建造一个大型软件系统。

包括:付出较低的开发成本;达到要求的软件功能;取得较好的软件性能;开发的软件易于移植;需要较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。

面临的主要问题是:软件费用软件可靠性软件维护软件生产率软件重用。

2.简述结构化程序设计方法的基本要点。

(1)采用自顶向下,逐步求精的程序设计方法。

(2)使用三种基本控制结构构造程序,分别是顺序,选择和循环(3)采用主程序员组的组织形式。

3.简述文档在软件工程中的作用。

(1)提高软件开发过程的能见度(2)提高开发效率(3)作为开发人员阶段工作成果和结束标志(4)记录开发过程的有关信息便于使用与维护;(5)提供软件运行、维护和培训有关资料;(6)便于用户了解软件功能、性能。

4.简述提高可维护性的方法。

(1)建立明确的软件质量目标(2)利用先进的软件开发技术和工具(3)建立明确的质量保证工作(4)选择可维护的程序设计语言(5)改进程序文档5.软件工程面临的主要问题有哪些?软件费用、软件可靠性、软件可维护、软件生产率、软件重用。

6.增量构造模型有什么特点?增量构造模型是部分阶段进行增量开发,即在该模型中,需求分析阶段和设计阶段与瀑布模型一样,按照瀑布模型方式进行开发,而编码和测试阶段不采用瀑布模型方式,而采用增量方式开发,即先对部分功能进行编码,进行测试,将这部分功能提交用户,然后再对另一部分功能进行编码,测试提交用户,直到把功能按这种方式开发完毕,在这种模型中,用户及早看到部分软件功能,及早发现问题,以便在其它软件功能开发时及时解决。

7.软件测试要经过哪些步骤?.(1)单元测试,集成测试,确认测试,系统测试。

8.简述需求分析方法应遵循的基本原则。

(1)必须能够表达和理解问题的数据域和功能域;(2)可以把一个复杂问题按功能进行分解并可逐层细化;(3)建模。

软件工程(简答题)

软件工程(简答题)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

软件工程简答题及答案

软件工程简答题及答案

软件工程简答题及答案软件工程试题整理_ 简答题1、可行性研究的任务是什么?首先需要进行概要的分析研究,初步确定项目的规模和目标,确定项目的约束和限制,把他们清楚地列举出来。

然后,分析员进行简要的需求分析,抽象出该项目的逻辑结构,建立逻辑模型。

从逻辑模型出发,经过压缩的设计,探索出若干种可供选择的主要解决方法,对每种解决方法都要研究它的可行性,可从以下三个方面分析研究每种解决方法的可行性。

㈠技术可行性:对要开发项目的功能、性能、限制条件进行分析,确定在现有的资源条件下,技术风险有多大,项目是否能实现。

㈡经济可行性:进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资开发。

㈢社会可行性:要开发的项目是否存在任何侵犯、妨碍等责任问题,要开发项目的运行方式在用户组织内是否行得通,现有管理制度、人员素质、操作方式是否可行。

2、什么是模块的影响范围?什么是模块的控制范围?他们之间应该建立什么关系?一个模块的作用范围(或称影响范围)指受该模块内一个判定影响的所有模块的集合。

一个模块的控制范围指模块本身以及其所有下属模块(直接或间接从属于它的模块)的集合。

一个模块的作用范围应在其控制范围之内,且判定所在的模块应在其影响的模块在层次上尽量靠近。

如果再设计过程中,发现模块作用范围不在其控制范围之内,可以用“上移判点” 或“下移受判断影响的模块,将它下移到判断所在模块的控制范围内”的方法加以改进。

3、非渐增式测试与渐增式测试有什么区别?渐增式测试如何组装模块?非渐增式测试与渐增式测试的测试方法有以下区别:㈠非渐增式测试方法把单元测试和集成测试分成两个不同的阶段,前一阶段完成模块的单元测试,后一阶段完成集成测试。

而渐增式测试往往把单元测试与集成测试和在一起,同时完成。

㈡非渐增式需要更多的工作量,因为每个模块都需要驱动模块和桩模块,而渐增式利用已测试过的模块作为驱动模块或桩模块,因此工作量较少。

㈢渐增式可以较早的发现接口之间的错误,非渐增式最后组装是才发现。

软件工程—简答题

软件工程—简答题

软件工程—简答题四、简答题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.简述软件工程面临的问题。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

第一章121,与计算机硬件相比,计算机软件有哪些特点?3软件的特点如下。

41)无法直接观察计算机软件的物理形态,只能通过观察它的实际运行5情况来了解它的功能、特性和质量等。

62)人们在分析、设计、开发、测试软件产品,以及在软件开发项目的7管理过程中,渗透了大量的脑力劳动。

83)不存在像硬件一样的磨损和老化现象,但存在着缺陷维护和技术更9新的问题。

104)软件的开发和运行必须依赖于特定的计算机系统环境。

115)具有可复用性。

123,什么是软件危机?什么原因导致了软件危机?13软件危机的现象如下。

141)经费超出预算,项目一再拖延。

152)不重视需求,开发的软件不能满足用户的要求,项目成功率低。

163)没有规范的软件工程方法,软件可维护性差、软件质量差、可靠性17差。

184)开发工具落后,手工方式,开发效率低。

所有导致软件危机的原因,都与软件本身的产品特点相关。

19201)软件是一个复杂的逻辑产品。

如果没有解决复杂问题的有效方法,21以及软件产品的结构、质量、可维护性得不到保障,开发与维护费用就会持续升高。

22232)软件产品不能实现大规模复用,这导致了软硬件生产效率的不同。

243)软件生产是脑力劳动,它看不见、摸不着,开发成本、开发周期等25都无法做到准确估算,生产过程不易控制。

264)软件成本主要是由研发成本构成;而硬件的生产成本主要是材料和27制造成本,分摊的研发成本很少,即软件研发过程与硬件制造过程相比要28复杂得多。

295,请简述软件工程研究的内容。

30软件工程研究的内容包括软件开发方法、软件开发模型、软件支持过程和软件管31理过程。

32软件开发方法的内容涵盖市场调研、正式立项、需求分析、项目策划、概要设计、33详细设计、编程、测试、试运行、产品发布、用户培训、产品复制、销售、实施、34系统维护、版本升级等。

35常用的软件开发模型有瀑布模型、迭代模型、增量模型和原型模型等。

36软件支持过程由所支持的CASE工具组成,常用的CASE工具有Power Designer和Rational Rose等。

(完整)软件工程简答题必考

(完整)软件工程简答题必考

(完整)软件工程简答题必考软件工程简答题必考软件工程是一门研究如何通过系统化的、规范化的、可度量的方法来构建和维护软件的学科。

它的目标是通过合理地应用工程的原理、方法和工具,控制软件开发的各个环节,保证软件的质量和进度,并提高开发效率和可维护性。

下面我们来探究一些软件工程的常见简答题,加深对该领域的理解。

1. 请解释什么是软件过程?软件过程是指在软件开发的整个生命周期中,按照一定的流程和方法进行的活动集合。

它包括需求分析、设计、编码、测试、发布和维护等阶段,并通过规范化的文档和工具来管理和支持这些活动。

通过软件过程,开发团队可以更加有效地组织和协调工作,确保软件开发按时、按质量地完成。

2. 请解释软件生命周期模型,并举例说明。

软件生命周期模型描述了软件开发和维护的不同阶段。

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

例如,瀑布模型将软件开发划分为需求分析、设计、编码、测试和维护等阶段,每个阶段顺序进行,并且每个阶段结束后都有相应的文档。

这种模型适用于需求明确、变动较少的项目。

3. 请解释什么是软件需求工程?软件需求工程是指对软件需求进行系统化和规范化的管理过程。

它包括需求获取、需求分析与建模、需求验证与确认等活动。

软件需求工程旨在确保对用户需求的全面理解和准确描述,并将其转化为开发团队可以理解和实现的形式,以此为软件开发提供准确的目标和方向。

4. 请解释什么是软件设计原则,并举例说明。

软件设计原则是指为了提高软件系统的设计质量,而从实践中总结出来的一些指导原则。

常见的软件设计原则包括开闭原则、单一职责原则、里氏替换原则等。

例如,开闭原则要求软件系统对扩展开放,对修改关闭,通过模块化的设计,可以方便地添加新功能而不影响已有功能的正常运行。

5. 请解释什么是软件测试?软件测试是指对已经开发完成的软件系统进行验证和评估的过程。

它旨在发现软件系统中的错误和缺陷,以提高系统的质量和可靠性。

软件测试可以分为单元测试、集成测试、系统测试和验收测试等不同的级别和类型,针对不同的需求和目标进行。

电大软件工程简答题参考

电大软件工程简答题参考

电大软件工程简答题参考(此处为文档内容,请根据需求编写)
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 总结与建议
附件:
- 用户需求文档
- 软件架构图
法律名词及注释:
- 版权:法律规定的享有著作权的权利人对其创作的作品拥有排他的权利。

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

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

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

软件工程简答题

软件工程简答题

软件工程简答题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、简述软件质量保证的目标。

(1) 事前预防工作,例如,着重于缺陷预防而不是缺陷检查。

(2) 尽量在刚刚引入缺陷时即将其捕获,而不是让缺陷扩散到下一个阶段。

(3) 作用于过程而不是最终产品,因此它有可能会带来广泛的影响与巨大的收益(4) 贯穿于所有的活动之中,而不是只集中于一点。

3、简述螺旋模型的优缺点。

螺旋模型具有以下优点:(1) 设计上的灵活性,可以在项目的各个阶段进行变更。

(2) 以小的分段来构建大型系统,使成本计算变得简单容易。

(3) 客户始终参与每个阶段的开发,保证了项目不偏离正确方向以及项目的可控性。

(4) 随着项目推进,客户始终掌握项目的最新信息,从而使得客户能够和管理层有效地交互。

(5) 对可选方案和约束条件的强调有利于已有软件的重用,也有助于把软件质作为软件开发的一个重要目标。

螺旋模型也存在以下缺点:螺旋模型是风险驱动的,因此要求软件开发人员必须具有丰富的风险评估经验和这方面的专门知识,否则将出现真正的风险: 当项目实际上正在走向灾难时,开发人员可能还以为一切正常。

所以,很难让用户确信这种演化方法的结果是可以控制的。

4、哪些方法有助于提高软件的可理解性?以下方法都有助于提高软件的可理解性(1) 模块化(2) 详细的设计文档(3)结构化设计方法(4)程序内部的文档(5)良好的高级程序设计语言5、什么是单元测试?其内容包括哪些?单元测试又称为模块测试,是针对软件设计的最小单位一程序模块,进行正确性检验的测试工作,其目的在于发现各模块内部可能存在的各种差错。

软件工程—简答题

软件工程—简答题

软件工程—简答题1. 什么是软件工程?软件工程是一门研究和应用如何以系统化、规范化、可靠地开发和维护软件的学科。

它涉及到从需求分析开始,通过设计、编码、测试等阶段来创建高质量的软件产品。

2. 软件生命周期有哪些阶段?请详细描述每个阶段。

(1) 需求分析:在这个阶段中,收集并明确用户对于所需功能和性能方面的要求,并将其转换为具体而清晰的文档形式。

(2) 设计:根据需求分析产生一个或多个解决方案,在此基础上进行架构设计与模块划分,并制定相应的技术实现方案。

(3) 编码:根据设计结果使用合适语言进行代码编写,包括程序结构搭建以及算法实现等内容。

(4) 测试:对已经完成编码部署前后端联调运行环境检查是否符合预期效果, 广泛采取黑盒测试白盒测试灰度发布漏洞扫描压力测验等手法验证项目完整性.(5)交付/部署: 将最新版本的软件交付给用户,并进行部署和安装,确保其在目标环境中正常运行。

(6) 维护:对已经发布的软件进行故障修复、功能升级等维护工作。

3. 什么是需求分析?为什么它很重要?需求分析是指通过与客户沟通并收集信息来明确系统或产品所需要满足的功能、性能以及其他约束条件。

它非常重要,因为: - 定义了项目范围和目标;- 确定了开发方向和优先级;- 提供了一个基准用于评估最终结果是否符合预期;这些都有助于避免后期修改成本高昂且时间紧迫。

4. 软件测试包括哪些类型?请简述每种类型。

- 单元测试: 对代码中独立单元(如函数)进行验证,检查其逻辑正确性。

- 集成测试: 将多个模块组合起来,在整体上验证各个模块之间相互调用关系是否正确- 系统测试: 在完整而真实的操作环境下执行一系列针对整个系统功能、可靠性等特点设计出来全面有效地方法, 检验该软硬设备具备所有必须的功能.- 验收测试: 由用户或客户进行,以验证软件是否满足合同和需求规范中所定义的要求。

- 性能测试:通过模拟实际使用情况来评估系统在不同负载下的性能表现。

软件工程简答题

软件工程简答题

软件工程简答题1.什么是软件工程?软件工程的目标是什么?答:软件工程是①将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护过程,即将工程化应用于软件开发和管理之中,②对①中所选方法的研究。

目标:1合理预算开发成本,付出较低的开发费用。

2实现预期的软件功能,达到较好的软件性能,满足用户的需求。

3 提高软件的可维护性,降低维护费用。

4 提高软件开发生产率,及时交付使用5 增强软件过程的可见性和可控性,保证软件的质量。

2.可行性研究报告的主要内容是什么?答:可行性研究主要包括以下几个部分:(1)概述(2)技术可行性(3)项目成熟程度(4)市场需求情况和风险分析(5)投资估算及资金筹措(6)经济与社会效益(7)综合实力和产业基础(8)项目实施进度计划(9)其它尚需要说明的必要的方面(10)结论3.什么是需求分析?需求分析阶段的基本任务是什么?答:所谓"需求分析",是指对要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么。

可以说,“需求分析”就是确定要计算机“做什么”。

任务:确定软件项目的目标和范围。

调查使用者的要求,分析软件必须做什么,编写需求规格说明书等它相关文档,并进行必要的需求审查。

除此之外,还包括需求变更控制,需求风险控制,需求版本控制等对需求的管理工作4.什么是结构化分析方法?该方法使用什么描述工具?答:结构化的分析方法是面向数据流的方法,因此,此方法研究的核心是数据的组成和数据流向和对数据的加工处理。

结构化分析方法用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直至找到满足功能要求的所有可实现的软件元素为止描述工具:1系统流程图 2 数据流程图 3数据字典 4 IPO图 5层次方框图 6实体—关系图 7状态—变迁图5.什么是数据流图?其作用是什么?其中的基本符号各表示什么含义?答:数据流图:简称DFD,就是采用图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。

软件工程复习资料简答题

软件工程复习资料简答题

三、简答题1、软件开发与写程序有何不一样?答:软件包括程序,程序是软件旳一部分。

软件是程序、数据及其有关文档旳完整集合。

程序只是为了实现软件旳功能和性能规定而编写旳指令序列。

2、软件旳构造设计可以采用多种措施,目前重要使用旳措施有哪几种?内容分别是什么?3、软件质量保证旳重要功能是什么?4、什么是DFD?其意义怎样?解释DFD四要素旳内容。

答:(1)是数据流图英文缩写,是一种描述数据在系统中流动旳图形工具;(2)是以图形方式体现数据处理系统中信息旳传递和变换处理过程,它从数据加工旳角度来描述一种企事业组织中旳业务活动;(3)A圆框符号转换数据流旳处理过程,又称泡。

B方框符号代表位于软件系统边界之外旳信息生产着或消费者。

C箭头符号代表转换之间旳有向流动旳数据项或数据项集合。

D双杠符号代表为一种或多种转换提供数据源或数据存储服务旳缓冲区、文献或数据库。

5、需求分析旳难点重要表目前哪几种方面?答:(1) 问题旳复杂性。

因顾客需求所波及旳原因繁多引起,如运行环境和系统功能等等。

(2)交流障碍。

需求分析波及人员较多,如软件系统顾客、问题领域专家、需求工程师和项目管理员等,这些人具有不一样旳背景知识,处在不一样旳角度,饰演不一样角色。

导致了互相之间交流旳困难。

(3)不完备性和不一致性。

由于多种原因,顾客对问题旳陈说往往是不完备旳,其各方面旳需求还也许存在着矛盾,需求分析要消除矛盾,形成完备及一致性旳定义。

(4)需求易变性。

顾客需求旳变动是一种极为普遍旳问题,虽然是部分变动,也往往会影响到需求分析旳所有,导致不一致性和不完备性。

为了克服上述困难,人们重要围绕着需求分析旳措施及自动化工具(如CASE技术)等方面进行研究。

6、白盒测试中旳逻辑覆盖有哪几种常用旳覆盖技术?试对它们旳检错能力进行比较。

答:(1)语句覆盖(2) 鉴定覆盖(比语句覆盖严格些)(3) 条件覆盖(比单是鉴定覆盖要严格)(4) 鉴定/条件测试(条件覆盖也不一定满足鉴定覆盖,由于只符合条件覆盖旳用例也许会不满足每个鉴定语句均有真值或假值出现。

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

1.简述容错技术的四种主要手段,并解释。

结构冗余:包括静态冗余、动态冗余和混合冗余。

信息冗余:为检测或纠正信息在运算或传输中的错误,须外加一部分信息。

时间冗余:指重复执行指令或程序来消除瞬时错误带来的影响。

冗余附加技术:指为实现上述冗余技术所需的资源和技术。

2.以G.J.Myers的观点,简述对软件测试的目的。

软件测试是(1)为了发现错误而执行程序的过程;(2)一个好的用例能够发现至今尚未发现的错误的测试。

(3)一个成功的测试是发现至今尚未发现的错误的测试。

3.就程序设计语言的工程特性而言,对程序编码有哪些要求?
就程序设计语言的工程特性而言,对程序编码有如下要求:可移植性、开发工具的可利用性、软件的可重用性、可维护性。

4.模块的内聚性包括哪些类型?
模块的内聚性包括:偶然内聚、逻辑内聚、时间内聚、通信内聚、顺序内聚、功能内聚。

5.简述软件工程目标和面临的主要问题。

软件工程是一门工程性的学科,其目标主要是成功地建造一个大型软件系统。

包括:付出较低的开发成本;达到要求的软件功能;取得较好的软件性能;开发的软件易于移植;需要较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。

面临的主要问题是:软件费用软件可靠性软件维护软件生产率软件重用。

6.简述结构化程序设计方法的基本要点。

(1)采用自顶向下,逐步求精的程序设计方法。

(2)使用三种基本控制结构构造程序,分别是顺序,选择和循环
(3)采用主程序员组的组织形式。

7.简述文档在软件工程中的作用。

(1)提高软件开发过程的能见度
(2)提高开发效率
(3)作为开发人员阶段工作成果和结束标志
(4)记录开发过程的有关信息便于使用与维护;
(5)提供软件运行、维护和培训有关资料;
(6)便于用户了解软件功能、性能。

8.简述提高可维护性的方法。

(1)建立明确的软件质量目标
(2)利用先进的软件开发技术和工具
(3)建立明确的质量保证工作
(4)选择可维护的程序设计语言
(5)改进程序文档
9.软件工程面临的主要问题有哪些?
软件费用、软件可靠性、软件可维护、软件生产率、软件重用。

10.软件配置管理的作用及其主要目标是什么?
软件配置管理用于整个软件工程过程。

其目的是协调整个软件的开发,使得混乱减少到最小程度,使得变更所产生的错误达到最小并最有效地提高生产率。

它的主要目标是:标识变更、控制变更、确保变更的正确实现、报告有关变更。

11.简述SA步骤。

(1)了解当前系统的工作流程,获得当前系统的物理模型;
(2)抽象出当前系统的逻辑模型;
(3)建立目标系统的逻辑模型;(4)作进一步补充和优化。

相关文档
最新文档