《软件工程期末考试简答题汇总》由会员分享,可在线阅读,更多相关《软件工程期末考试简答题汇总(26页珍藏版)》请在金锄头文库上搜索。
1、1 1 什么是软件工程?基本原理有哪些?. 3 2 成本_效益分析可用哪些指标进行度量?(写出公式). 3 3 什么是数据流图?其中的基本符号各表示什么含义?画出定货系统基本数据 流图。 3 4 非渐增式测试与渐增式测试有什么区别?. 3 5 试从基本符号和设计方法分析HC图与 JACKSON 图异同点 . 4 6 软件测试的目的是什么?. 4 7 结构化程序设计的思想是什么?. 4 8 请解释极限编程和自适应软件开发,并说明其异同?. 4 9 需求工程的起始阶段,需求工程师的主要工作是?. 4 10 请画出“在餐厅使用信用卡付费”这一活动的完整用例图?. 5 11 分析说明结构化分析和面向对
2、象分析的区别?. 5 12 请简要给出评价软件设计质量的标准? 5 13 一个良好的设计类需要满足四个特点,请详细描述这四个特点? 5 14 软件项目估算内容与步骤 . 6 15 面向对象设计的准则是什么?有哪5 个层次和 4个部分? . 6 16 简述软件工程目标和面临的主要问题。. 6 17 简述软件工程过程。 . 6 18 简述模块独立性的原则。 . 6 19 简述结构化程序设计方法的基本要点. 7 20 简述软件生命周期开发方法的基本过程及每个阶段的任务。. 7 21 复印机的工作流程大致如下:. 7 22 简述文档在软件工程中的作用。. 8 23 简述软件项目管理过程。 . 8 24
3、 简述系统分析员应该具备的主要知识结构和基本素质。. 8 25 简述何谓软件开发方法?请列举四种主要方法。. 9 26 简述单元测试的基本内容。. 9 27 什么是软件生存周期模型?请至少列举四种主要模型?. 9 28 衡量模块独立的两个标准是什么?它们各表示什么含义?(网上). 10 29 简述白盒测试的思想,并列举两种典型的测试技术。. 10 30 简述 CMM (软件能力成熟度模型) 5 个等级的含义 . 10 31 简述软件维护的定义 . 11 32 简述软件测试的定义 . 11 33 UML 建模中主要包括哪九种图?并说明类图的定义及其中常见的关系有哪些?11 34 什么是字据字典?
4、其作用是什么?它有哪些条目?. 11 35 软件工程的两大范型分别是什么?它们有什么不同?. 11 36 如何画分层数据流图? 12 37 面向对象程序设计有哪些优点? 12 38 在软件测试中,应注意哪些原则? 12 39 程序设计风格是指一个人编制程序时所表现出来的特点、习惯、逻辑思路 等。 . 13 40 面向对象分析与面向对象设计的关系? 13 41 成本-效益分析的目的是什么?可用哪些指标进行度量? 132 42 软件设计分哪几个阶段,它们的主要任务是什么?. 13 43 用户需求和系统需求各有什么特点?. 14 44 面向对象设计的准则? . 14 45 需求分析过程主要有哪几个步
5、骤?. 14 46 软件设计分哪几个阶段,它们的主要任务是什么? 14 47 什么是软件结构图?它有哪些主要元素?. 14 48 面向对象方法的特点是什么?为什么要用面向对象方法开发软件? 15 49 什么是编码风格?请根据自己的编程经验编写一个编程注意事项。 15 50 软件生命期各阶段的任务是什么?. 16 51 非渐增式测试与渐增式测试有什么区别? 16 52 面向对象程序设计有哪些优点? 17 53 模块间的耦合性有哪几种? 17 54 软件开发步骤包括哪些过程?. 17 55 数据字典有哪几类元素构成?. 17 56 大型软件系统的设计思想是什么?. 17 57、数据库设计一般分为哪
6、几个阶段?形成哪三种模式?(P101) 17 58 什么是软件危机?其产生的原因是什么?(P7). 18 59、概要设计的原则?( P72) 18 60 阐述结构化设计的主要思想?(P79). 18 61 软件工程主要研究哪些领域?(P16). 18 62以 G.J.Myers 的观点,简述对软件测试的目的。 19 63就程序设计语言的工程特性而言,对程序编码有哪些要求? 19 64 模块的内聚性包括哪些类型?. 19 65 可行性研究报告的主要内容有哪些?. 19 66 系统设计的内容是什么? . 20 67 什么是软件危机?软件危机的表现是什么?其产生的原因是什么?. 20 68软件质量保
7、证应做好哪几方面的工作? 21 69 软件复用 . 22 70、Case技术. 22 71 请说明软件文档的作用?软件开发项目生存期各阶段都包含哪些文档?. 22 72 什么是数据字典?其作用是什么?它有哪些条目?. 22 73 采用黑盒技术设计测试用例有哪几种方法?这些方法各有什么特点?. 22 74 何谓软件生存周期?其可以划分为几个时期?每个时期又可分为几个阶段? 每个阶段的主要任务是什么? 23 75 如何做好软件质量保证工作?. 24 76 什么是软件工程?什么是软件危机?. 24 77 软件的可行性研究主要研究哪些问题?并对此进行说明。. 24 78 什么是黑盒测试, 适用的方法有
8、哪些?什么是白盒测试,适用的方法有哪些?24 79 什么是软件维护?软件维护包括哪四类活动?. 25 80 有人说:软件开发时,一个错误发现得越晚, 为改正它所付出的代价就越大。 请问这句话对否?请解释你的回答。 25 81 请将下述有关模块独立性的各种模块内聚,按其内聚度(强度)从高到低排 列起来。 253 1 什么是软件工程?基本原理有哪些?软件工程是指导计算机软件开发和维护的工程学科。 用分阶段的生命周期计划管理、坚持阶段评审、 实行严格产品控制、 采用现代设 计技术、结果审查、开发小组人员少而精、并不断改进方法。2 成本_效益分析可用哪些指标进行度量?(写出公式)可用投资回收期、纯收入
9、、投资回收率指标,通过P=F/(1+i)n计算求得。3 什么是数据流图?其中的基本符号各表示什么含义?画出定货系统基本数据流图。用符号描绘信息在系统中流动的情况,源点、终点、处理、数据存储、数据流。4 非渐增式测试与渐增式测试有什么区别?两种都用于集成测试。渐增式是把下一个要测试的摸块同已经测试好的模块结 合起来进行测试,每次增加一个模块。非渐增式先分别测每个模块,再把所有 模块按设计要求放在一起结合成所要的程序。仓 库 管理员采 购 员定 货 系统事务定货报表4 5 试从基本符号和设计方法分析HC图与 JACKSON 图异同点答:HC图是面向 DFD ,而 JACKSON 图是面向数据结构的
10、。符号省略。6 软件测试的目的是什么?测试的目的是为了发现错误. 7 结构化程序设计的思想是什么?答:自上而下,逐步求精8 请解释极限编程和自适应软件开发,并说明其异同?答:极限编程和自适应软件开发都属于敏捷过程模型。极限编程是应用最广泛的 敏捷过程( 2 分)。按照计划、设计、编码和测试四个框架活动组织。极限编程 建议一系列新颖和有力的技术, 保证敏捷团队创建能力体现客户指定优先级特征 和功能的频繁软件开发(2 分)。自适应软件开发强调人的合作和团队的组织, 按思考、协作和学习的三个框架活动组织,其使用迭代过程。 该过程由自适应循 环计划、相对严格的需求收集方法和一个迭代开发循环构成(2 分
11、)。9 需求工程的起始阶段,需求工程师的主要工作是?答:需求工程的起始阶段,工程师的主要工作为: 1)建立基本的问题需求( 2 分) 2)定义最重要的项目约束以及陈述主要的特征和功能(2 分) 3)与共利益的各方建立基本的谅解(2 分)5 10 请画出“在餐厅使用信用卡付费”这一活动的完整用例图?信用卡用户系统管理员金额核对密码验证从信用卡扣款1分1分1分1分1分1分11 分析说明结构化分析和面向对象分析的区别?答:分析建模的目标是创建各种表现形式,以描述软件信息、 功能和行为的需求 (2 分)。为实现这一目标,可采用结构化分析和面向对象分析方法(1 分)。 结构化分析把软件看作信息装换器,辅
12、助软件工程师识别数据对象、 对象间的联 系以及这些数据对象流经软件处理功能时转换的方式(2 分)。面向对象分析就 是检查定义为一组用例的问题域,尽量提取定义问题的类(1 分)。12 请简要给出评价软件设计质量的标准?答:评价软件设计质量的标准如下: 1)设计必须实现所有包含在分析模型中的明确需求,以及用户期望的所有隐含 需求( 2 分) 2)对于那些生成代码的人和那些进行代码测试以及随后维护软件的人而言,设 计必须是可读、可理解的指南(2 分) 3)设计必须提供软件的全貌,从实现的角度水明数据域、功能域和行为域(2 分)13 一个良好的设计类需要满足四个特点,请详细描述这四个特点?答:一个良好
13、的设计类需要满足: 1)完整性和充分性( 1 分) 2)原始性( 2分) 3)高内聚性( 2 分) 4)低耦合性( 1 分)6 14 软件项目估算内容与步骤15 面向对象设计的准则是什么?有哪5 个层次和 4个部分?准则:模块化、抽象、信息隐蔽、高内聚、低耦合、可重用16 简述软件工程目标和面临的主要问题。目标:支付较低的开发成本、达到要求的软件功能、获取较好的软件性能、开发 的软件易于移植、需要较低的维护费用、能按时完成开发任务,几时交付使用、 开发的软件可靠性高 面临的主要问题是:软件费用软件可靠性软件维护软件生产率软件重用。17 简述软件工程过程。软件工程过程是为获得软件产品, 在软件工
14、具支持下由软件工程师完成的一系列 软件工程活动。软件工程过程通常包含四种基本的过程活动: P(Plan) :软件规格说明。规定软件的功能及其运行的限制; D(Do):软件开发。产生满足规格说明的软件; C(Check):软件确认。确认软件能够完成客户提出的要求; A(Action) :软件演进。为满足客户的变更要求,软件必须在使用的过程中 演进。 事实上,软件工程过程是一个软件开发机构针对某一类软件产品为自己规定的工 作步骤,它应当是科学的、合理的,否则必将影响到软件产品的质量。18 简述模块独立性的原则。模块独立性是指软件系统中每个模块只涉及软件要求的具体子功能,而和软件系 统中其他的模块接
15、口是简单的 模块独立性的概念是模块化、抽象、信息隐蔽和局部话概念的直接结果 由耦合和内聚 2 个标准度量7 19 简述结构化程序设计方法的基本要点1. 采用自顶向下, 逐步求精的程序设计方法在需求分析, 概要设计中, 都采用 了自顶向下,逐层细化的方法。 2. 使用三种基本控制结构构造程序任何程序都可由顺序、 选择、重复三种基本 控制结构构造。 1) 用顺序方式对过程分解,确定各部分的执行顺序。 2) 用选择方式对过程分解,确定某个部分的执行条件。 3) 用循环方式对过程分解,确定某个部分进行重复的开始和结束的条件。 4) 对处理过程仍然模糊的部分反复使用以上分解方法,最终可将所有细节确定下
16、来。 3. 主程序员组的组织形式20 简述软件生命周期开发方法的基本过程及每个阶段的任务。(1)问题定义阶段,尽可能清楚地描述问题,搞清楚要解决的问题是什么; (2)可行性研究阶段,主要是确定待解的问题是否有可行的解决办法。需要做 经济可行性分析、技术可行性分析、操作可行性分析和法律可行性分析; (3)需求分析阶段,主要是确定目标系统必须具备的功能。通常用数据流图、 数据字典和简要的算法表示系统的逻辑模型。 (4)总体设计阶段,从总体上解决问题,确定可实现的方案,并设计出软件的 层次结构图; (5)详细设计,把解法具体化,确定如何具体地实现这个系统。针对每个模块 设计相应的算法; (6)编码和单元测试阶段,把详细设计的结果翻译成选定的语言所写的程序, 并对每个模块进行单元测试。 (7)测试阶段,系统地设计测试用例,尽可能多地发现软件中的错误,并调试 改正软件中的错误; (8)软件维护阶段,主要目的是通过修改软件使所开发的软件能够持久地满足 用户的需要。21 复印机的工作流程大致如下:未接到复印命令时处于闲置状态,一旦接到复印命令则进入复印状态