软件工程常考简答题

上传人:re****.1 文档编号:507713014 上传时间:2024-01-27 格式:DOCX 页数:11 大小:30.43KB
返回 下载 相关 举报
软件工程常考简答题_第1页
第1页 / 共11页
软件工程常考简答题_第2页
第2页 / 共11页
软件工程常考简答题_第3页
第3页 / 共11页
软件工程常考简答题_第4页
第4页 / 共11页
软件工程常考简答题_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《软件工程常考简答题》由会员分享,可在线阅读,更多相关《软件工程常考简答题(11页珍藏版)》请在金锄头文库上搜索。

1、绪论1、什么是软件工程?软件工程和计算机科学有何区别?答:软件工程是以计算机科学理论及其他相关学科的理论为指导,采用工程化的概念、 原理、技术和方法进行软件的开发和维护,把经过时间证明是正确的管理措施和当前能 够得到的最好的技术、方法相结合,以期用较少的代价获取高质量的软件。计算机科学侧重于理论研究,其成果可应用于软件工程,而软件工程则强调如何有 效的建造一个软件系统。2、什么是软件? 答:计算机软件是与计算机系统操作有关的程序、规程、规则及任何与之有关的 文档及数据;3、什么是软件危机?分析其产生的原因与摆脱危机的方法,你认为现在已经摆脱软件危机 了吗?请说明理由。软件危机是指在计算机软件的

2、开发和维护过程中所遇到的一系列严重问题。主要是 两个问题:(1)如何开发软件,怎样满足对软件的日益增长的需求;(2如何维护数量不 断膨胀的已有软件;软件危机的出现,究其原因,一方面是由软件本身的特点引起的,如软件越来越复 杂,软件故障难于检测,工作量难以估计;另一方面则是因为软件开发和维护方法不当 所造成的,如软件的个体化特征太强等。为了摆脱软件危机所造成的困境,提出软件工程的概念,其主要思路是:要把人类 长期以来从事各种工程项目所积累起来的行之有效的原理,概念,技术和方法,特别是 人类从事计算机硬件研究和开发的经验教训,应用到软件的开发和维护中来。我认为我国现在还未完全摆脱软件危机,因为随着

3、经济发展,各行各业对软件人才 的需求不断扩大,由于我国的软件人才缺口依旧很大,造成了某些行业内软件开发进度 难以预测,软件开发成本难以控制,用户对产品功能难以满足,软件产品质量无法保证, 软件产品难以维护,软件缺少适当的文档资料。4、软件产品的特性是什么? 软件是一种逻辑产品,具有无形性;软件产品的生产主要是研制;软件不存在磨损 和老化问题,但存在退化问题;软件产品的生产主要是脑力劳动;软件产品生产成本昂 贵,目前生产方式还未摆脱手工生产方式;软件具有“复杂性”,其开发和运行常受到 计算机系统的限制。5、软件发展有几个阶段?各有何特征? 程序设计阶段硬件特征:价格贵、存储容量小、运行可靠性差。

4、 软件特征:只有程序、程序设计概念,不重视程序设计方法。 程序系统阶段。硬件特征:速度、容量及工作可靠性有明显提高,价格降低,销售有爆炸性增长。 软件特征:程序员数量猛增,开发人员素质低。 软件工程阶段。硬件特征:向超高速、大容量、微型化及网络化方向发展。软件特征:开发技术有很大进步,但未获得突破性进展,软件价格不断上升,未完全 摆脱软件危机。6、试简要叙述文档在软件工程中的作用。在软件工程中,文档的作用是:(1) 提高软件开发过程的能见度;(2) 记录开发过程的有关信息便于使用与维护;(3) 作为开发人员阶段工作成果和结束标志;(4) 提高开发效率;(5) 提供软件运行、维护和培训有关资料;

5、(6) 便于用户了解软件功能、性能。7、简述一个成熟的软件机构应具有的特点 建立了机构级的软件开发与维护过程。软件人员对其有较好的理解。一切活动均遵 循过程的要求进行,做到工作步骤有次序,且有章可循;软件过程必要时可做改进,但 需在经过小型实验和成本效益分析的基础上进行;软件产品的质量和客户对软件产品的 满意程度不是由开发人员,而是由负责质量保证的经理负责监控;项目进度和预算是根 据以往项目取得的实践经验确定,因而比较符合实际情况。8、软件生存周期中的软件开发过程由哪几个阶段组成?各阶段的任务是什么? 答:以瀑布模型为例主要包括六个阶段: 可行性研究,确定系统的目标与规模,分析项目的可行性 需

6、求分析与规格说明,明确系统的规格与要求 设计,包括概要设计与详细设计 编程,用程序语音实现每个模块的功能 测试,发现并改正错误运行与维护9、瀑布模型相关概念。瀑布模型的基本概念以及特点。瀑布模型的缺陷有哪些?瀑布模型规定了各项软件工程活动,包括需求分析、规格说明、设计、编码、测试 和维护,并规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级而下。瀑布模型的特点是:阶段间具有顺序性和依赖性;清楚区分逻辑设计和物理设计, 尽可能推迟程序的物理实现;每个阶段都必须完成规定的文档,且每阶段结束前需要对 完成的文档进行评审。缺陷:(1)完全地、精确地刻画复杂应用问题的用户需求是不可能的。(2)需

7、求分析和 软件实现是不可分割的。(3)用户和开发人员都难于理解形式的、不可执行的需求规格 说明。(4)传统的开发策略没有为用户参与关键的开发决策提供便利。(5)目标软件的适 应能力不强(6)瀑布模型并不适合于软件项目管理10、螺旋模型相关概念。(1) 简述螺旋模型的基本开发过程。螺旋模型哪些优点? 螺旋模型的基本思想是使用原型及其他方法来尽量降低风险。可以理解为在快速原 型模型的每个阶段之前都增加了风险分析。基本开发过程:(1)需求定义。利用前面介绍的需求分析技术理解应用领域,获取初 步的用户需求,制定项目开发计划。(2)风险分析。根据初始需求或改进意见评审可选用 的方案,给出消除或减少风险的

8、途径。 (3)工程实现。利用前一节介绍的快速原型构造 方法针对已知的用户需求生成快速原型。(4)评审。将原型提交用户使用并征询用户改进 意见。上述过程将不断迭代,直至给出用户满意的目标软件产品。优点:(1)螺旋模型支持用户需求的动态变化。(2)螺旋模型中,需求分析和软件实现 是互相依赖、紧密联系的软件开发活动。(3)原型作为形式的可执行的需求规格说明,既 易于为用户和开发人员共同理解,又可作为后续开发的基础。(4)为用户参与软件开发的 所有关键决策提供了方便。(5)有助于提高目标软件的适应能力(6)为项目管理人员及时调 整管理决策提供了便利,从而降低了软件开发风险。(2)为何螺旋模型主要适合开

9、发人员和用户为同一个组织机构成员的软件项目的开发? 因为如果开发人员和用户属于不同的组织机构,则一般在正式的软件开发之前均需要签 订合同,所有的风险分析均必须在签订合同之前完成。但螺旋模型需要在软件开发的每一个 阶段都进行风险分析,当重要风险不能解决时,项目应该终止。由此螺旋模型可能因为风险 使得合同在完成之前就终止,从而导致法律诉讼。故螺旋模型不适合开发人员和用户属于不 同组织机构的情况。11、快速原型模型相关概念。(1)快速原型技术的基本思想是什么?快速原型模型有几种?各有何特点? 基本思想:花费少量代价建立一个可运行的系统,使用户及早获得学习的机会,最终提 高软件质量。根据原型的不同作用

10、,有三类原型模型:(1)探索型原型。这种类型的原型模型是把原型用于开发的需求分析阶段,目的是要弄清用户的需求,确定所期望的特性,并探索各种方案的可行性。它主要针对开发目标模糊, 用户与开发着对项目都缺乏经验的情况,通过对原型的开发来明确用户的需求。实验型原型。这种原型主要用于设计阶段,考核实现方案是否合适,能否实现,对于 一个大型系统,若对设计方案心中没有把握时,可通过这种原型来证实设计方案的正确 性。演化型原型。这种原型主要用于及早向用户提交一个原型系统,该原型系统或者包含 系统的框或者包含系统的主要功能。在得到用户的认可后,将原型系统不断扩充演变为 最终的软件系统,它将原型的思路扩展到软件

11、开发的全过程。(2)快速开发原型的途径有哪些?废弃型:快速建立需求规格原型; 追加型:快速建立渐进原型法采用循环渐进; 步骤:快速分析、构造原型、运行和评价原型、修改与改进12、比较常用软件工程过程模型(瀑布模型,快速原型化模型,快速应用开发模型,渐增 模型,螺旋模型)的优缺点。指出各自适用的情况。瀑布模型:优点:包括强制性的分阶段的方法,要求每一阶段都必须提供相应的文 档,因此开发过程便于管理和控制。瀑布模型是一种文档驱动的模型,开发过程中产生 的需求规格说明书文档,设计文档,代码文档,以及其他文档如数据库手册,用户手册 和操作文档等,对于软件使用和维护是非常必要的。 缺点:该模型将本来非线

12、性的软件 开发过程,人为地加以线性化,开发的产品只有交付使用时才能和用户见面,用户的反 馈意见只能从需求分析开始从头修改,加大了软件开发的工作量。快速原型化模型:优点:能够开发出真正满足用户需要的软件。 缺点:若采用原 型作为最终产品,不利于软件维护工作。快速应用开发模型:优点:能够快速地完成整个信息系统的开发。 缺点:对于大 的项目,为建立适当数目的 RAD 开发小组可能需要大量的人力资源;同时, RAD 要求开 发人员和用户双方在短期内对完成整个系统的开发达成协议,如果任何一方做不到的 话,使用 RAD 进行开发则不可避免地会失败。渐增模型:优点:每一轮都可以向用户分发布一个高质量的可操作

13、的版本,用户不 需要等到最终软件产品被开发出来就可以使用软件的部分功能。由于软件产品不是突然 一次性提交给用户使用的,用户可以比较容易接受,并且容易提出中肯的意见。这种方 式不要求非常大的初始资金投入。 缺点:要求下一轮新增的功能应能够无缝地集成 到下一轮系统中去,可能这一点并不容易做到。如果整体结构设计不当,可能会导致整 个软件的结构变坏。螺旋模型:优点:它强调可替换性和强约束性,使得螺旋模型支持对现有软件的 复用,并且支持始终把软件质量看作一个目标。开发和维护被视为同样的方式。 缺点:主要适合于内部开发。只适合于规模比较大的系统的开发。它是风险驱动的,只 有当项目组的成员擅长于进行风险分析

14、时,才有理由采用螺旋模型。可行性研究1、可行性研究报告的主要内容有哪些?一个可行性研究报告的主要内容如下:(1)引言:说明编写本文档的目的;项目的名称、背景;本文档用到的专门术语和参考 资料。(2)可行性研究前提:说明开发项目的功能、性能和基本要求;达到的目标;各种限制 条件;可行性研究方法和决定可行性的主要因素。(3)对现有系统的分析:说明现有系统的处理流程和数据流程;工作负荷;各项费用支 出;所需要各类专业技术人员的数量;所需要各种设备;现有系统存在什么问题。(4)所建议系统的技术可行性分析:所建议系统的简要说明;处理流程和数据流程; 与现有的系统比较的优越性;采用所建议系统对用户的影响;

15、对各种设备、现有软件、开发 环境、运行环境的影响;对经费支出的影响;对技术可行性的评价。(5)所建议系统的经济可行性分析:说明所建议系统的各种支出,各种效益;收益投 资比;投资回收周期。(6)社会因素可行性分析:说明法律因素,对合同责任、侵犯专利权、侵犯版权等问题 的分析;说明用户使用可行性,是否满足用户行政管理、工作制度、人员素质的要求。(7)其他可供选择方案:逐一说明其他可供选择的方案,并说明未被推荐的理由。(8)结论意见:说明项目是否能开发;还需要什么条件才能开发;对项目目标有什么变 动等。2、可行性研究的概念?目标?基本内容?步骤?3、成本分析方法?4、系统流程图与数据流图的概念与区别

16、?需求分析1、需求分析的概念?需求收集的方式?2、数据流建模的相关概念。3、如何画分层数据流图 总的原则是:至顶而下,逐层分解(画分层数据流图):比较复杂的系统不能画在一张 纸上 逐层分解的画法可以控制每一层的复杂度。顶层:将整个系统作为一个加工,描述系 统边界(输入与输出。)中间层:表示某个加工分解为一组子加工,其中的子加工还需进一 步分解。底层:由不再进行分解的基本加工组成。4、常用的软件需求分析的方法有哪些?结构化分析方法(SA)、面向对象分析方法(00A)、功能分解法、信息建模法5、简述需求分析工作可以分成哪四个方面?软件需求分析有哪三个基本原则?需求分析阶段分成四个方面:对问题的识别、分析与综合、制定规格说明和评审。三 个基本原则:

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号