已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件工程复习题(简答题)五、简述题:1,软件产品具有与硬件产品完全不同的特征是:答:(1)软件是一种逻辑实体,具有抽象性,我们可以把它们存储在介质上,但却不能直接看到软件的形态,因而必须通过运行,观察、分析、思考、判断才能了解软件的功能、性能及其他特性。软件产品具有明显的非可视性。(2)软件的生产和硬件生产不同。软件是由开发或工程化而形成的,不是传统意义上的制造过程生产的。硬件在生产过程当中仍然可能引入质量问题,这种问题在软件生产中几乎是不存在的。软件的开发成本集中在开发过程上,硬件生产成本主要表现在原材料的消耗上。(3)软件产品不会磨损。软件产品也会出现故障,所不同的是硬件产品的故障主要来自于外界条件造成的部件磨损或老化,软件故障都是由于设计开发过程中的隐患造成的,硬件故障通过更换零件来解决故障,软件则是通过软件维护修改来排除故障。2、软件危机的具体表现是:答:(1)软件开发没有真正的计划性,对软件开发进度和软件开发成本的估计不准确,计划制定盲目、工期超时、成本失控。(2)对软件需求信息获取不充分,产品不能满足用户的实际需求。(3)缺乏良好的软件质量评测手段,导致软件质量不能保证。(4)对可理解性、可维护性理解不够,产品可复用性和可维护性不如人意。(5)软件开发过程没有实现规范化,缺乏必要的文档资料或这文档资料不合格、不准确、难以进行专业维护。(6)软件开发的人力成本持续上升。(7)缺乏自动化软件开发技术,软件开发生产率低下,不能满足急剧增长的需求。3、产生软件危机的原因:答:从客观上来看,软件生产不同于硬件,它的生产过程和产品都具有明显的“不可视”特征,这就导致在完成编码并且运行之前,对软件开发过程的进展情况较难衡量,软件产品的质量也难进行先期评价,因此对软件开发过程进行管理和控制比较困难。软件运行过程中发现错误,必然是遇到了在开发时期引入的,在检测过程中没有检查出来的故障。对这些故障的修改,就有可能修改早期的分析结果和设计结果,并调整编码。由于软件的不可视性,在客观上造成了软件难以维护的结果。从主观上来看,忽视软件需求分析的重要性,忽视软件的可理解性,文档不完备,轻视软件的可维护性,过分强调编码技巧等。4、简述软件“生命周期”三个阶段的主要工作:答:软件定义阶段,主要进行软件项目策划、可行性研究和软件需求分析工作,通过和用户交流,了解软件必须完成什么工作,和用户达成共识。软件开发阶段,主要对软件的体系架构、数据结构和主要算法进行设计和编码实现。对于编码结果进行规范化测试之后,才能交付使用。软件运行与维护阶段,分析和设计阶段遗留的问题和缺陷可能会逐步暴露出来,运行环境的变化也会对软件提出变更的要求,用户新的需求的提出常常要求扩充现有的软件功能和改进性能。5,解决软件危机的途径有:答:(1)从管理层面上考虑,应注意推广和使用在实践中总结出来的开发软件的成功的技术和方法,并且探索更好的、更有效的技术和方法,注意积累软件开发过程中的经验数据,逐步消除早期形成的错误的概念和做法。建立适合于本组织的软件工程规范;指定软件开发各个环节流程文件、工作指南和阶段工作产品模板;实施针对软件开发全过程的计划跟踪和质量管理活动;为每一项工程开发活动建立配置管理库;实施严格的产品基线管理斌建立组织的软件过程数据库和软件财富库;为各类员工及时提供必要的培训等。(2)从技术层上考虑,应该开发和使用更好的软件开发工具,提高软件开发效率和开发工作过程的规范化程度。在计算机软件开发的各个阶段,都有大量的繁琐重复的工作要做,应该有适当的工具帮助完成。6、软件工程的七项基本原则:答:(1)用分阶段的生命周期计划严格管理软件工程过程。(2)坚持在软件工程过程中进行阶段性评审。(3)实行严格的产品控制。(4)采用现代化的开发技术进行软件的设计与开发。(5)工作结果应该是能够清楚地审查的。(6)开发小组的人员应该“少而精”。(7)承认不断改进软件工程实践的必要性。7、一个良好的软件工程过程应当具备的特点:答:(1)易理解性。(2)可见性。(3)可支持性。(4)可接受性。(5)可靠性。(6)健壮性。(7)可维护性。(8)高效率。8,软件工程过程所包含的基本的过程活动:答:(1)软件规格说明:规定软件的功能、性能及运行限制。(2)软件开发:产生满足规格说明的软件,包括设计与编码等工作。(3)软件确认:确认软件能够满足客户提出的要求,对应于软件测试。(4)软件演进:为满足客户的变更要求,软件必须在使用的过程中演进,以求尽量延长软件的生存周期。9,一个良好软件工程过程的特点:答:(1)易理解性:在软件工程过程的每一个环节上使得设计人员、开发人员、用户能够充分理解其含义和目的。(2)可见性:每个过程都以得到明确的结果而告终,保证过程的进展对外可见。(3)可支持性:容易得到CASE的支持。(4)可接受性:比较容易被软件工程师接受和使用。(5)可靠性:不会出现过程错误,或者出现的过程错误能够在产品出错之前被发现。(6)健壮性:不受意外发生问题的干扰。(7)可维护性:过程可以根据开发组织的需求的改变而改进。(8)高效率:从给出软件规格说明开始,能够较快地完成开发而交付使用。10、线性顺序模型的优缺点:答:它提供了一个模板,使得分析、设计、编码、测试与维护工作可以在该模板的指导下有序展开,避免了软件开发、维护过程中的随意性。采用这种模型曾成功地进行过许多大型软件工程的开发。直到目前,对于需求确定、变更较少的项目,线性顺序模型仍然是一种可以考虑采取的过程模型。11、使用原型法必须具备的两个前提:答:(1)用户必须积极参与原型的建造,同时开发者和用户必须有共识:建造原型仅是为了定义需求,之后就必须全部抛弃,实际的软件必须考虑到软件的质量和可维护性之后才能开发。(2)必须有快速开发工具可供使用。12、软件成分重用的意义:答:(1)需求分析在软件工程中的地位举足轻重。一个完善的需求分析将指导我们走向成功之路,反之,错误的分析必将导致项目的彻底失败。在大部或局部雷同的项目中重复地使用已经被前驱项目证明是正确的部分分析结果,是提高分析工作效率、保证分析成功的一种有效的方法。(2)设计结果重用在开发类同项目的软件,尤其是在软件移植过程中能够极大地减少工作量,提高工作效率。(3)代码重用是最直接的重用,包括基于“宏”的重用,基于函数库的重用和基于继承的重用。13、采用框架技术进行软件开发的主要特点:答:(1)领域内的软件结构一致性好;(2)建立了更加开放的系统;(3)重用代码大大增加,软件生产效率和质量得到了提高;(4)软件设计人员要专注于对该领域的了解,使需求更充分;(5)存储了经验,可以让经验丰富的人员去设计框架和领域构件,而不是设计低级编程;(6)允许采用快速原型技术;(7)有利于在一个项目内多人协同工作;(8)大粒度的重用使得平均开发费用降低,开发速度加快,开发人员减少,维护费用降低,而参数化框架使得适应性,灵活性增强。14、计算机系统工程师在选择硬件元素时,应当考虑的特性:答:(1)从集成化的角度考虑,对各种元件打包形成单独的构件块。(2)各个元件/构件块之间尽量采用标准接口。(3)性能、成本、有效性相对比较容易确定。(4)尽量提供多种可供权衡选择的硬件方案。15、系统分析的目标:答:(1)识别出用户的需求;(2)评价系统的可行性;(3)进行经济分析和技术分析;(4)在明晰总体需求的前提下,将要实现的功能分配给硬件、软件、人、数据库和其他的系统元素;(5)预测成本、进行进度设计;(6)生成系统规格说明,用作所有后续工程的基础。16、设别用户真正需求时,分析人员应该弄清楚哪些问题:答:(1)用户所期望的功能和性能;(2)对于可靠性和质量提出的问题有哪些?(3)总的系统目标是什么?(4)成本、资源和进度有哪些限制和约束?(5)可能会有哪些扩充需求?(6)有哪些有效地技术可供使用?(7)制造的需求是什么?市场竞争情况如何?17、技术分析的目的:答:是提交系统的技术分析可行性评估,说明为完成系统功能、达到系统性能指标要采取什么样的技术、存在哪些技术风险并判定这些技术问题对成本有什么影响。18、系统定义的评审目的:答:对系统定义进行评审其主要目的就是要保证:(1)正确地定义了项目的范围;(2)使当地定义了功能、性能和接口;(3)通过可行性分析证明了系统是可行的;(4)开发方和用户方对系统的目标达成共识。19、用户对系统的需求有哪些?答:功能性需求:主要说明待开发的系统在功能上实际应该做到什么,通常包括系统的输入、输出、系统能够完成的功能。 非功能性需求:从各个角度对所考虑的可能的解决方案的约束和限制。主要包括:过程需求(如交付需求、实现方法需求等)、产品需求(如可靠性需求、可移植性需求、安全保密性需求等)和外部需求(如法规需求、费用需求等)等。20,系统定义的评审从管理方面考虑的关键问题?答:(1)商业需求是否已经确定,系统可行性分析的结论是否合理。(2)市场是否真的需要所描述的系统。(3)是否考虑过一组候选方案并进行了择优。(4)每一系统元素的开发风险有哪些。(5)是否剧本开发系统的有效资源。(6)成本与进度的期望值是否合理。21,系统定义的评审从技术方面应重点评审的问题?答:(1)系统的功能复杂性是否与开发风险、成本、进度的评估一致。(2)功能分配定义是否足够准确。(3)系统元素之间的接口、系统元素和环境的借口定义是否清晰。(4)在规格定义中是否考虑了性能、可靠性和可维护性问题。(5)系统规格说明是否足以支持后继的硬件和软件工程步骤。22、关系数据库中二维表必须满足规范化约束条件:答:(1)表中的每一个项必须是不可再分的数据项;(2)表中的每列中的所有信息必须是同类型的数据,各列次序任意,每列对应一个唯一的名字;(3)表中每一行的数据各不相同,各行的数据不相同,次序任意。23、建立数据字典的原则:答:(1)所有定义必须严密、精确、不存在二义性。(2)书写格式应该简洁且严格。(3)应可以方便的实现对所需条目的按名查询。(4)应便于修改和更新。24、体系结构设计的原则:答:(1)降低模块的耦合性,提高模块的内聚性;(2)保持适中的模块规模;(3)模块应具有高扇入和适当的扇出;(4)软件结构中的深度和宽度不宜过大;(5)模块的作用于应该处于其控制范围之内;(6)尽量降低模块的借口复杂度。25、详细设计阶段的主要目的:答:详细设计阶段的主要目的是在体系结构设计的基础上,为软件中的每一个模块确定相应的算法及内部数据结构,获得目标系统具体结构实现的精确描述,为编码工作做好准备。26、详细设计的任务:答:(1)确定每个模块的具体算法;(2)确定每个模块的内部数据结构和数据库的物理结构;(3)确定模块借口的具体细节;(4)为每个模块设计一组测试用例;(5)编写文档,参加复审。27、程序流程图的优缺点:答:优点:在于对程序的控制流程描述直观、清晰、使用灵活,便于阅读和掌握。缺点:(1)程序流程图可以随意使用流程线容易造成程序控制结构的混乱,与结构化思想相违背。(2)程序流程图难以描述逐步求精的过程,容易导致程序员过早的考虑程序的控制流程,而忽略程序全局结构的设计。(3)程序流程图难以表示系统中的数据结构。28,PDL语言的主要特点:答:(1)各种定义语句及控制结构的表达都具有严格的语法形式,使程序结构、数据说明等更加清晰;(2)提供了数据说明机制,可用于定义简单及复杂的数据结构;(3)提供了模块的定义和调用机制,方便了程序模块化的表达;。29、详细设计阶段应该遵循的原则:答:(1)将保证程序的清晰度放在首位;(2)设计过程中应采用逐步细化的实现方法;(3)选择适当的表达工具。30、软件测试的基本原则:答:(1)尽早地不断地进行软件测试。(2)程序员或程序设计机构应该避免测试自己的程序。(3)测试用例中不仅要有输入数据,还要有与之对应的预期结果。(4)测试用例的设计不仅要有合法的输入数据,还要有非法的输入数据。(5)在对程序修改之后要进行回归测试。(6)程序中尚未发现的错误数量通常与改程序中已经发现的错误数量成正比。(7)妥善保留测试计划、全部测试用例、出错统计和最终分析报告,并把他们作为软件的组成部分之一,为维护提供方便。(8)应当对每一个测试结果做全面的检查。(9)严格执行测试计划,排除测试的随意性。31、错误推测法:答:(1)零作为测试数据往往容易使程序发生错误;(2)分析规格说明书的漏洞,编写测试数据;(3)根据尚未发现的软件错误与已经发现软件错误成正比的统计规律,进一步测试时中点发现错误的程序段;(4)等价类划分与边界值分析容易忽略组合的测试数据,因而可采用判定表货盘定数列出测试数据;(5)与人工代码审查相结合,两个模块中共享的变量已被修改的,可用来做测试用例。32,为什么要进行封装?答:封装体现了良好的模块特性,它将定义模块和实现模块分开。封装使对象的内部软件的范围有清楚的边界,有一个描述该对象和其他对象之间通信的接口;使得模块内部的数据收到很好的保护,避免外部的干扰。封装大大增强了软件的可维护性、可修改性,这是软件追求的目标。33、设计人机交互界面的准则:答:一致性、减少步骤、及时提供反馈信息、提供插销命令、减少记忆、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 IEC 60794-1-207:2025 FR Optical fibre cables - Part 1-207: Generic specification - Basic optical cable test procedures - Environmental test methods - Nuclear radiation,Meth
- 【正版授权】 IEC 60335-2-85:2022/AMD1:2025 EN-FR Amendment 1 - Household and similar electrical appliances - Safety - Part 2-85: Particular requirements for fabric steamers
- 【正版授权】 ISO/IEC TS 42119-2:2025 EN Artificial intelligence - Testing of AI - Part 2: Overview of testing AI systems
- 【正版授权】 IEC 62841-3-1:2014/AMD2:2025 FR Amendment 2 - Electric motor-operated hand-held tools,transportable tools and lawn and garden machinery - Safety - Part 3-1: Particular requ
- GB/T 30340-2025机动车驾驶员培训机构业务条件
- 中国吗啉脒胍项目投资可行性研究报告
- 齿轮齿条摆动油缸行业深度研究报告
- 中国热电偶传感器项目投资可行性研究报告
- 2025年法律知识与法治宣传知识考察试题及答案解析
- 中国震摆式筛砂机项目投资可行性研究报告
- 湖北省鄂州市鄂城区2024-2025学年五年级上学期语文期中试卷(含答案)
- 2025年特种紧固件行业研究报告及未来发展趋势预测
- 2025年三农基础知识试题及答案
- 2025年民政行业技能鉴定考试-殡仪服务员考试历年参考题库含答案解析(5套典型题)
- 2026年高考政治一轮复习:必修+选必修共7册主观题背诵考点汇编
- 统括保单管理办法
- 甘肃宣传课件模板
- 水文知识课件
- 船舶机工基础技能培训手册
- 国际高中英文版数学试卷
- 高尿酸血症健康管理方案
评论
0/150
提交评论