欢迎来到天天文库
浏览记录
ID:42093946
大小:29.00 KB
页数:3页
时间:2019-09-07
《软件工程教学资料-第1章习题及答案》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、第1章习题及答案一、选择题1.ABC2.CD3.C4.ABCD5.BD6.ABC7.ABCD二、问答题1.软件产品的特性是什么?答:软件是一种逻辑产品,具有无形性;软件产品的生产主要是研制;软件不存在磨损和老化问题,但存在退化问题。软件产品的生产主要是脑力劳动;软件产品的成本非常昂贵,其开发方式目前尚未完全摆脱手工生产方式。软件具有“复杂性,,,其开发和运行常受到计算机系统的限制。2.软件发展有几个阶段?各有何特征?答:(1)程序设计阶段。硬件特征:价格贵、存储容量小、运行可靠性差。软件特征:只有程序、程序设计概念,不
2、重视程序设计方法。(2)软件设计阶段。硬件特征:速度、容量及工作可靠性有明显提高,价格降低,销售有爆炸性增长。软件特征:程序员数量猛增,开发人员素质低。(3)软件工程阶段。硬件特征:向超高速、大容量、微型化及网络化方向发展。软件特征:开发技术有很大进步,但未获得突破性进展,软件价格不断上升,未完全摆脱软件危机。3.什么是软件危机?其产生的原因是什么?答:“软件危机”的出现是由于软件的规模越來越大,复杂度不断增加,软件需求量增大。而软件开发过程是一•种高密集度的脑力劳动,软件开发的模式及技术不能适应软件发展的需要。致使大
3、量质量低劣的软件涌向市场,有的花费大量人力财力,而在开发过程屮就夭折。“软件危机”主要表现在两个方面:(1)软件产品质量低劣,甚至开发过程就夭折。(2)软件生产率低,不能满足需要。4.什么是软件工程?简述软件工程的基本原理。答:软件工程是一门指导计算机软件开发和维护的工程学科。它采用工程的概念、原理、技术和方法来开发和维护软件,并将经过时间考验而证明正确的管理技术和当前能够得到的最好技术相结合,开发出质量较高又经济的软件,并对其进行有效地维护。基本原理具体内容如下:(1)用分阶段的生命周期计划严格管理(2)坚持进行阶段
4、评审(3)实行严格的产品控制(4)采纳现代程序设计技术(5)结果应能清楚地审查(6)开发组织的人员应少而精(7)承认不断改进软件工程实践的必要性开发人员理解以上七条基本原理并严格按照它们对软件产品进行开发和维护,必然可以确保软件产品的高质量和高开发率。1.什么是软件工程方法学?简述结构化方法和面向对象方法的要点,并分析它们的优缺点。答:软件工程方法学包含3个要素:方法、工具和过程。其中,方法是完成软件开发的各项任务的技术方法,解决“怎样做"的问题,是软件工程学科的核心内容;工具是为运用方法而提供的口动的或半口动的软件工
5、程支撑环境;过程是为了获得高质量的软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。(1)结构化方法也称为生命周期方法学或结构化范型。这种方法学把软件生命周期的全过程依次划分为若干个阶段,然后釆用结构化技术來完成每个阶段的任务。前一个阶段任务的完成是开始进行后一个阶段工作的前提和基础,而后一阶段任务的完成通常是使前一阶段提出的解法更进一步具体化。同时,在每一个阶段结束之前都必须进行严格的技术审查和管理复审,通过之后这个阶段才算结束;如果没通过检查,则必须进行必要的返工,而且返工后还要再经过审查。结构化方
6、法是基于模块化,口顶向下,逐步求解设计、结构化程序设计技术发展起來的,是面向过程的。结构化方法的优点,由于把软件生命周期划分成若干个阶段,每个阶段的任务相对独立且简单,便于不同人员分工协作,从而降低了整个软件开发工程的困难程度;在软件生命周期的每个阶段都采用科学的管理技术和良好的技术方法,而且在每个阶段结之前都从技术和管理两个角度进行严格的审查,合格之后才开始下一阶段的工作,这就使软件开发工程的全过程一种有条不紊的方式进行,保证了软件的质量,特别是提高了软件的可维护性。总之,采用生命周期方法学不仅大大提高了软件开发的成
7、功率,而且也提高了软件开发的生产率。目前,结构化方法仍然是人们广泛使用的一种软件工程方法学。它为广大软件工程师所熟悉,而且在开发某些类型的软件时也比较有效,但是,由于结构化方法要么面向行为,要么面向数据,缺乏使两者有机结合的机制,对于软件规模较大,或者对软件的需求不明确或用户提出新要求时,使用结构化方法开发软件成功率较低。此外,采用这种方法开发的软件可重用程度低,造成软件很难维护,这是一个严重的弊端。(2)面向对象方法面向对象方法是一种以数据为主线,把数据和对数据的操作紧密地结合起來的方法。它把数据和行为看成同等重要。
8、面向对象方法学是以面向对象技术为核心,利用类的继承等复用方式,通过逐步细化地建立对象模型,以及迭代和演化的步骤完成软件开发的模式。概括地说,面向对象方法学具有下述4个要点。(1)把对象(Object)作为融合了数据及在数据上的操作行为的统一的软件构件。用对象分解取代了传统方法的功能分解。(2)把所有对象都划分成类(Class)o每
此文档下载收益归作者所有