软件工程基础期末复习资料完整版

上传人:飞*** 文档编号:32639881 上传时间:2018-02-12 格式:DOC 页数:12 大小:124.50KB
返回 下载 相关 举报
软件工程基础期末复习资料完整版_第1页
第1页 / 共12页
软件工程基础期末复习资料完整版_第2页
第2页 / 共12页
软件工程基础期末复习资料完整版_第3页
第3页 / 共12页
软件工程基础期末复习资料完整版_第4页
第4页 / 共12页
软件工程基础期末复习资料完整版_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《软件工程基础期末复习资料完整版》由会员分享,可在线阅读,更多相关《软件工程基础期末复习资料完整版(12页珍藏版)》请在金锄头文库上搜索。

1、2. 文档有何作用?程序代码属不属于文档?答:文档指的是在软件开发和维护过程中形成的文字记录。从软件计划、分析、设计、实现(编码和测试)、维护等开发活动中形成的各种文件。文档属于软件的一部分,是软件维护和升级的重要依据,并且文档内容要与代码同步更新。没有文档的软件维护不但不能延长反而会缩短软件寿命。文档包括需求规格说明书、设计说明书、用户使用说明书、在线帮助等,当然程序代码是必不可少的一种软件文档。3. 什么是软件危机?什么原因产生了软件危机?答:软件危机指的是在计算机软件的开发和维护过程中所遇到的一系列严重问题。产生的原因是主客观不相适应。见书图 1-2。 客观上:软件规模增大、功能要求越来

2、越复杂,需求不断变化等; 主观上:传统的个体化开发观念和方法,无开发过程指导,无开发过程管理;由于主客观矛盾,必然产生软件质量差、开发超期、超预算、维护困难等现象。5. 软件工程三要素是什么?答:软件工程三要素是从计算机科学观点看软件工程,即从软件开发的技术层面应该有过程、方法和工具。见图 1-4。(2)“过程”是软件产品加工所经历的一系列有组织的活动,保证能够合理、高质量和及时地开发出软件。过程定义的活动集合及其序列见第 2 章。(3)“方法”为软件开发提供“如何做”的技术,它涵盖了项目计划、需求分析、系统设计、程序实现、测试与维护等一系列活动的做法。如经常说的面向结构、面向对象、面向组件等

3、开发方法,项目管理中估算、度量、计划等管理方法。软件工程以介绍方法为主,本书从第 3 章开始逐步介绍开发过程所用到的方法。(4)“工具”为过程和方法提供自动的或半自动的支持。这些工具既包括软件也有硬件。软件工具包括编程、建模、管理等开发工具。通过网络环境把这些软件工具集成起来搭建一个支持团队开发的平台,称之为计算机辅助软件工程 (Computer Aided Software Engineering,CASE)。CASE 集成了软件、硬件和一个存放开发过程信息的软件工程数据库,形成了一个软件工程环境。6. 软件工程的目标、过程和原则是什么?答:目标、过程、原则是一切工程的三维框架,它是以工程的

4、观点来看待软件开发。见书1.5.2 节(1)软件工程的目标:降低成本,及时交付高质量的软件产品(高质量、高效率、高效益)。(2)实现目标的过程:完成产品加工的过程。它包括:基本过程、支持过程和组织过程。(3)进行过程应遵守的原则:原则就是过程中的轨道约束。它包括:选取适宜开发范型、采用合适的设计方法、提供高质量的工程支持、重视开发过程的管理。7. 软件工程原理有哪几条?答:软件工程的基本原理是指导软件工程实践的思想方法,一共有 7 条,这 7 条原理相互支撑,保证软件产品的质量和开发效率。见书 1.5.4 节。(1) 用分阶段的生命周期计划严格管理 ;(2) 坚持进行阶段评审 ;(3) 实行严

5、格的产品控制 ;(4) 采纳现代程序设计技术 ;(5) 结果应能清楚地审查 ;(6) 开发小组的人员应少而精 ;(7) 承认不断改进软件工程实践的必要性 ;2. 软件过程与软件工程有什么区别和联系?答:(1)过程与工程是两个层面的问题,过程是加工高质量软件产品的活动集合和顺序,具体的投入产出过程,关注在技术层面;工程是对过程的投入进行资源协调,是向过程要效益的管理层面。(2)软件过程是软件工程的子集。在软件工程的过程、方法和工具三要素中,它是底层要素;在软件工程的目标、原则和过程三维全景图中,通过软件过程才能实现软件工程的目标。3. 什么是软件生命周期?与软件过程有何区别和联系?答:(1)软件

6、生存周期:软件产品从定义到开发、经过使用和维护,直到最终被弃用;(2)两者指同一个事情,只是表达问题的角度不同: 软件过程:关注产品加工的活动集合、顺序和方法论; 生命周期:关注软件产品从诞生到消亡的生命历程,实质内容也就是软件过程;因此软件过程=软件生存周期,“软件生存周期模型”也称为“软件过程模型”或“软件开发模型”。5. 软件生命周期划分哪些阶段?每个阶段有哪些基本活动?答:生存周期的基本划分:分成三个大的阶段也称三个时期,即计划时期、开发时期和运行时期。每个时期又由若干活动组成。 计划时期:是软件项目的初始阶段。主要活动及顺序是问题定义和可行性研究;活动内容是搞清软件的开发目的、规模、

7、约束条件和技术方案,属论证阶段;目标是获取软件开发项目。 开发时期:软件开发的第二阶段。包括的活动及顺序是分析、设计和实现;活动内容是逐步细化软件模型、经过编码和测试,最终得到可运行的软件。开发时期属实质性开发阶段;目标是构建高质量的软件。 运行时期:软件生存周期的最后阶段,软件处在运行中,往往也是最长阶段。主要活动就是维护;活动内容是治疗和进化软件;目标是延长软件的寿命。6. 介绍了哪四种传统开发模型?各有何特点?答:瀑布、原型、增量、螺旋四个传统模型:(1) 瀑布模型:主要体现了分阶段、有控制的思想。活动间强调按顺序、文档化;存在的问题是:过于理想化,每一步的工作必须完整准确,否则无法进行

8、下一步工作。(2) 原型模型:需求分析入手快速、表达直观、容易交流。重点解决瀑布模型需求分析入手难的问题。(3) 增量模型:对于需求复杂的系统,采用分块开发,逐步集成的开发策略。增量体现了演进、迭代思想,每一块就是一个增量。每个增量是一次迭代。增量模型的新版本叫做“极限编程”(XP)。(4) 螺旋模型:融合了上述三种模型,融进了循环往复、强化了演进迭代的思想,增加风险控制环节。但风险分析的正确性是左右软件演进的关键因素。7. 当需求不能一次搞清,且系统要求比较复杂时应选用哪种开发模型较适合?答:开发模型不是孤立或排斥的,相互借鉴和参考。在上述四种古典螺旋模型中,螺旋模型是一种综合性的模型,适应

9、于较复杂的系统。8. RUP 模型有哪些优越性?为何得到如此广泛的应用?答:RUP 采用了时间与过程的二维表达方式,全面贯穿了软件开发分段、分层、细化、往复、循环、迭代、并发、重叠、演进、基线、里程碑、评审、控制等方法论。(1) 生命周期模型分为初始、细化、构造和交付四个阶段,比三个时期的传统模型更为合理。因为各种活动不是随阶段的划分而戛然截止,每个阶段多种活动是重叠、并发、延续、主次分明;(2) 阶段控制采用了基线与里程牌,工作有起点、有目标、有计划;(3) 模型反映了软件开发需要团队合作,因此 RUP 是一个团队模型;(4) 双重迭代,大迭代(周期迭代)完成一个新版本,小迭代(阶段内迭代)

10、完成里程牌目标;(5) RUP 并不是不讲究维护,维护只是一个新的增量迭代(周期迭代)过程,在过程集合中有“配置和变更管理” 活动来管理软件的维护;1. 软件计划时期有哪些工作活动?目标是什么?答:软件计划是基本生命周期模型中的的第一个阶段,作为项目的起点,多数活动处在商务层面,面向决策层。主要活动有三项:(1 )问题研究;(2 )可行性研究;(3 )项目计划。该阶段目标就是完成产品立项,中心工作是确定开发什么样的软件、是否值得去开发、继而作出初步的安排。在 RUP 模型中属于“初始阶段”,它的里程牌就是“软件目标”。2. 问题定义阶段的目的、任务是什么?答: 问题定义阶段的目的:弄清要计算机

11、解决的根本问题所在(目的),确定新系统的作用域(范围与规模),以及项目所需的资源、工期和经费。就是搞清解决问题的题意和约束条件。 主要任务: 在向用户调查研究的基础上,编写项目报告提交审查 ,并作为下一次工作可行性分析的依据。3. 可行性研究的目的、任务是什么?答: 可行性研究的目的:确定项目以最小的代价在尽可能短(限定)时间里是否能够开发,是否值得去开发。即在约束条件下问题是否有解。 可行性分析的主要任务: 可行性分析 ,写可行性报告,作出开发计划。在了解客户的要求及现实环境基础上,从技术、经济和社会因素等三方面研究并论证本软件项目的可行性,编辑可行性研究报告,制定初步项目开发计划。4. 从

12、哪几个方面研究可行性?分别考虑什么问题?答:可行性研究从技术可行性,经济可行性,社会可行性三个方面研究; 技术可行性包括开发风险分析,资源分析,技术分析;分析利用现有的技术能否实现,能否解决系统中的技术难题,所开发的系统能否达到所要求的功能和性能,系统对技术人员的要求,现有的技术人员能否胜任,开发所需的软件与硬件能否如期得到等; 经济可行性包括一次性开发费用的估算,年运行费用的估算,效益估算;上述估算的基础是正确估算出软件的规模,进而才能估算出工期、资源和成本。 社会可行性主要考虑市场,政策和法律方面问题;5. 技术可行性分析的步骤?答: 复查确认系统目标、规模; 研究目前正在使用系统工作流程

13、; 导出要实现的新系统高层逻辑模型; 重新定义问题; 导出和评价供选择的方案; 推荐可行的方案;6. 技术可行性研究中可用什么图形工具表达现有系统的模型?答: 可行性研究中也需要建立一些模型,如业务模型、数据模型、需求模型等。一般表达现有系统可采用物理模型,如表达现有工作流程可采用 SFD,它不需要专用的建模工具,用 Office 的 Word 或 Visio 就可画 SFD,并且 SFD 没有专业的语法要求,其表达含义双方都可理解,容易交流。7. 经济可行性研究的内容?答:1) 一次性开发费用的估算:主要是硬件设备,人员工资,培训,材料消耗;2) 年运行费用估算:主要是维护人员,软件硬件升级

14、,消耗品;3) 效益的估算:经济效益与社会效益;8. 可行性分析阶段最终提交什么分析成果?答:最终要提交可行性研究报告:将可行性分析的结果写在报告里,这是立项的基础文件;一旦项目确立实施,项目组进一步编制“项目计划书”3. 讨论:问题定义和可行性研究之间的传承关系参考:问题定义和可行性研究之间的传承关系如同解决一个数学问题一样: 问题定义是搞清软件的性质、规模、工期、投资等给定的约束条件。这相当于给出一道文字描述的数学应用题,解题前首先要清楚这是一个解决天文的、电磁学的、热学的还是化学的等哪方面问题?是离散的还是连续的?给定的条件有哪些?搞清问题的边界。 可行性分析相当于找出解题的思路:首先看

15、这个题是否在自己的解题能力范围之内,根据自己的能力(基础和经验)确定问题是否可解,若问题难度远远超过自己的能力,就不存在下一步。若可解,进一步考虑解题的方案及模型。因此软件可行性分析,就是研究在现有掌控的技术和人力资源下,在限定的工期、经费条件下,是否做到所要求的功能和质量要求。这就是教材中讲述的“可行性研究是确定项目用最小代价在尽可能短的时间内是否能够开发,是否值得去开发”。这也就是涉及到技术、经济和法律上的问题。4. 讨论:技术可行性分析的业务模型有何作用?参考:在现代的软件开发中,业务建模越来越受到重视。但是在“软件工程”的教材和教学中几乎都忽略了这个过程。商业建模是针对整个企业或部分业务的组织结构、工作流程、人员职责、基础数据的全面描述。业务建模是分析要实行的软件部分在企业中的地位、关系和功能,业务建模是“软件模型”的上一个层面,是商务层面使用的模型,也是理解和建立软件“需求模型”的

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

当前位置:首页 > 行业资料 > 其它行业文档

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