软件工程简答题66339
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
简答题:
1、什么是软件工程?它有哪些本质特性?怎样用软件工程消除软件危机?
软件工程是:①把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;②研究把工程应用于软件中提到的途径。
软件工程的本质特征:
(1)软件工程关注于大型程序的构造;
(2)软件工程的中心课题是控制复杂性;
(3)软件产品交付使用后仍然需要经常修改;
(4)开发软件的效率非常重要;
(5)和谐地合作是成功开发软件的关键;
(6)软件必须有效地支持它的用户
(7)在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人开发产品。
消除软件危机的途径:
(1)对计算机软件有一个正确的认识(软件≠程序)
(2)必须充分认识到软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目
(3)推广使用在实践中总结出来的开发软件的成功技术和方法
(4)开发和使用更好的软件工具
2、简述结构化范型和面向对象范型的要点,并分析它们的优缺点。
1. 传统方法学:也称为生命周期方法学或结构化范型。优点:把软件生命周期划分成基干个阶段,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,从而降低了整个软件开发过程的困难程度。缺点:当软件规模庞大时,或者对软件的需求是模糊的或会承受时间而变化的时候,开发出的软件往往不成功;而且维护起来仍然很困难。
2. 面向对象方法学:优点:降低了软件产品的复杂性;提高了软件的可理解性;简化了软件的开发和维护工作;促进了软件重用。
3、什么是软件生命周期模型?试比较瀑布模型、快速原型模型、增量模型和螺旋模型
的优缺点,说明每种模型的适用范围。
答:软件生命周期模型也称为软件过程模型,反映软件生存周期各个阶段的工作如何组织、衔接。
瀑布模型:
优点:为项目提供了按阶段划分的检查点、当前一阶段完成后,只需要去关注后续阶段。
缺点:在项目各个阶段之间极少有反馈、只有在项目生命周期的后期才能看到结果、通过过多的强制完成日期和里程碑来跟踪各个项目阶段。
适用范围:对于经常变化的项目而言,瀑布模型不适用。
快速原型模型:
优点:克服瀑布模型的缺点,减少由于软件需求不明确带来的开发风险。
缺点:所选用的开发技术和工具不一定符合主流的发展,快速建立起来的系统结构加上连续的修改可能会导致产品质量低下。
适用范围:迅速确定系统的基本需求,发现问题、消除误解、开发者与用户充分协调的一个步骤。
增量模型:
优点:增大投资的早期回报。
缺点:要求开放的结构,可能退化为建造-修补模型。
适用范围:增量包足够小,其影响对整个项目来说是可以承受的,不容易破坏整体结构的。
螺旋模型:
优点:设计上的灵活性,可以在项目的各个阶段进行变更,以小的分段来构建大型系统,使成本计算变得简单容易,客户始终参与每个阶段的开发,保证了项目不偏离正确方向以及项目的可控性。
缺点:建设周期长,而软件技术发展比较快,所以经常出现软件开发完毕后,和当前的技术水平有了较大的差距,无法满足当前用户需求。
适用范围:特别适合于大型复杂的系统,对于新近开发,需求不明确的情况下,便于风险控制和需求变更。
3、画出下列伪码程序的程序流程图和盒图:
P=1 P=2
P=n A1 A2
An
F F
F
T
T
T
5.多情况选择型
S
P
F
T
4.后判定型循环
(DO_UNTIL)
A
B
1.顺序型
S
P
T
F
3.先判定型循环
(DO_WHILE)
P
A B
F T
2.选择型
4、软件的可维护性与哪些因素有关?
主要有5个:可理解性、可测试性、可修改性、可移植性、可重用性。