长安大学软件工程导论简答题重点习题集

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

1.何谓软件危机?分析其产生的原因与摆脱危机的方法,你认为现在已经摆脱软件危机了吗?请说明理由。

答:软件危机是计算机软件开发和维护过程中遇到的一系列严重问题。这些问题不仅仅限于所开发出的软件不能正常工作,还包括如何开发软件,如何维护越来越多的现有软件,以及如何满足不断增长的软件需求。

软件危机的出现,究其原因,一方面是由软件本身的特点引起的,如软件越来越复杂,软件故障难于检测,工作量难以估计;另一方面则是因为软件开发和维护方法不当所造成的,如软件的个体化特征太强等。

为了摆脱软件危机所造成的困境,提出软件工程的概念,其主要思路是:要把人类长期以来从事各种工程项目所积累起来的行之有效的原理,概念,技术和方法,特别是人类从事计算机硬件研究和开发的经验教训,应用到软件的开发和维护中来。

我认为我国现在还未完全摆脱软件危机,因为随着经济发展,各行各业对软件人才的需求不断扩大,由于我国的软件人才缺口依旧很大,造成了某些行业内软件开发进度难以预测,软件开发成本难以控制,用户对产品功能难以满足,软件产品质量无法保证,软件产品难以维护,软件缺少适当的文档资料。

2.比较常用软件工程过程模型(瀑布模型,快速原型化模型,快速应用开发模型,渐增模型,螺旋模型)的优缺点。指出各自适用的情况。

答:瀑布模型优点:包括强制性的分阶段的方法,每一阶段都必须提供相应的文档,要求每一阶段的产出物(包括文档)都必须由SQA组进行仔细的检查确认等,因此开发过程便于管理和控制。瀑布模型是一种文档驱动的模型,开发过程中产生的需求规格说明书文档,设计文档,代码文档,以及其他文档如数据库手册,用户手册和操作文档等,对于软件使用和维护是非常必要的。

瀑布模型缺点:该模型将本来非线性的软件开发过程,人为地加以线性化,开发的产品只有交付使用时才能和用户见面,用户的反馈意见只能从需求分析开始从头修改,加大了软件开发的工作量。

快速原型化模型优点:能够开发出真正满足用户需要的软件。

快速原型化模型缺点:若采用原型作为最终产品,不利于软件维护工作。

快速应用开发模型优点:能够快速地完成整个信息系统的开发。

快速应用开发模型缺点:对于大的项目,为建立适当数目的RAD开发小组可能需要大量的人力资源;同时,RAD要求开发人员和用户双方在短期内对完成整个系统的开发达成协议,如果任何一方做不到的话,使用RAD进行开发则不可避免地会失败。

渐增模型优点:每一轮都可以向用户分发布一个高质量的可操作的版本,用户不需要等到最终软件产品被开发出来就可以使用软件的部分功能。由于软件产品不是突然一次性提交给用户使用的,用户可以比较容易接受,并且容易提出中肯的意见。这种方式不要求非常大的初始资金投入。

渐增模型缺点:要求下一轮新增的功能应能够无缝地集成到下一轮系统中去,可能这一点并不容易做到。如果整体结构设计不当,可能会导致整个软件的结构变坏。

螺旋模型优点:它强调可替换性和强约束性,使得螺旋模型支持对现有软件的复用,并且支持始终把软件质量看作一个目标。开发和维护被视为同样的方式。

螺旋模型缺点:主要适合于内部开发。只适合于规模比较大的系统的开发。它是风险驱动的,只有当项目组的成员擅长于进行风险分析时,才有理由采用螺旋模型。

3.何谓软件质量,软件质量保证活动有哪些?

答:软件质量是与软件产品满足明确或隐含需求的能力有关的特征和特性的总和,它仅依赖于软件本身。

软件质量保证由各种任务构成,分别与两种不同的参与者相关——负责技术工作的软件工程师和负责质量保证的计划,监督,记录,分析及报告工作的软件质量保证小组。软件工程师通过采用可靠的技术方法和措施,进行正式的技术复审,执行计划周密的软件测试来保证软件质量。SQA小组主要辅助软件工程小组得到高质量的最终产品,对项目准备SQA计划,如确定需要进行的评价,需要进行的审计和复审,项目可采用的标准等;参与开发项目的软件过程描述,以保证该过程与组织政策,内部软件标准,外界所订标准以及软件项目计划的其他部分相符;复审各项软件工程活动,对其是否符合定义好的软件过程进行核实;审计指定的软件工作产品,对其是否符合定义好的软件过程中的相应部分进行核实;确保软件工作及工作产品中的偏差已被记录,并根据预定的规程进行处理;记录所有不符合的部分,并报告给高级管理者等等。

4.软件生存周期中的软件开发过程由概要设计和其它哪几个阶段组成?

答:主要由需求分析,概要设计和详细设计,以及编码,测试,交付,验收阶段组成。

详细设计是将概要设计的结果具体化,为了完成系统设计的任务,系统设计人员通常需要进行下面的设计过程和步骤:数据设计,软件结构设计,接口设计,过程设计。

5:简述面向对象分析方法(OOA)的基本步骤。

答:第一步,确定对象和类。这里所说的对象是对数据及其处理方式的抽象,它反映了系统保存和处理现实世界中某些事物的信息的能力。类是多个对象的共同属性和方法集合的描述,它包括如何在一个类中建立一个新对象的描述。

第二步,确定结构(structure)。结构是指问题域的复杂性和连接关系。类成员结构反映了泛化-特化关系,整体-部分结构反映整体和局部之间的关系。

第三步,确定主题(subject)。主题是指事物的总体概貌和总体分析模型。

第四步,确定属性(attribute)。属性就是数据元素,可用来描述对象或分类结构的实例,可在图中给出,并在对象的存储中指定。

第五步,确定方法(method)。方法是在收到消息后必须进行的一些处理方法:方法要在图中定义,并在对象的存储中指定。对于每个对象和结构来说,那些用来增加、修改、删除和选择一个方法本身都是隐含的(虽然它们是要在对象的存储中定义的,但并不在图上给出),而有些则是显示的。

1.在需求分析和设计阶段建立原型的好处有:

(1)增进开发人员和用户对系统需求的一致理解,明确软件需求,尤其是功能含糊的需求。(2)原型提供了一种有力的学习手段,能够使用户尽早接触系统。

(3)原型可以用来识别或化解风险。

(4)原型有的可以原封不动地成为产品,有的略加修改就可以成为最终系统的一个组成部

相关文档
最新文档