软件工程复习提纲[年0615]_第1页
软件工程复习提纲[年0615]_第2页
软件工程复习提纲[年0615]_第3页
软件工程复习提纲[年0615]_第4页
免费预览已结束,剩余7页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、WORD 格式可编辑软件工程复习提纲Chapter11. 开发文档都有哪些?用图来表示它们之间的关系。2. 说明软件工程研究的内容。3. 软件工程的 7 条基本原理有何现实意义。4. 怎样理解 ISO9000 的文档体系?质量手册、程序文件、质量记录三者有何联系和区别?5. 怎样理解 CMMI,如何用 CMMI去管理软件企业?6.是否存在这一种现象:搞系统软件的公司不需要采用CMMI和 ISO9000 模式? CMMI和 ISO9000 模式只适用于搞应用软件的企业?如果是,为什么,如果不是,又为什么?7. 软件工程与信息系统工程有何异同?8. 怎样理解元数据?Chapter21. 为什么要选

2、择软件开发模型?软件开发模型与软件生存周期有什么关系?2. 简述瀑布模型、 增量模型、迭代模型、 原型模型的优缺点 。3. 软件公司的 ISO9000 或 CMM管理体系与软件开发模型有关吗,为什么?4. 你对“生存周期模型裁剪指南”有什么看法?5. “图书馆信息系统”的开发选用什么开发模型合适?Chapter31. 立项的具体表现形式是什么?2. 立项建议书的编制者为什么主要是软件公司的市场销售人员,而不是开发人员?3. 什么叫风险分析,技能风险与技术风险有何区别?3. 合同、任务书、立项建议书三者有何异同?有何关系?4. 对软件项目和产品的“功能、性能、接口”三项指标如何理解?Chapte

3、r41. 需求分析的目的是什么,需求分析的难点在哪里?2. 需求分析的理论基础有哪几条?3. 为什么说需求分析是面向流程的?4. 解释术语:元数据、实体、中间数据。5. 用户需求报告与需求规格书有何差异?6. 需求描述有哪几种工具?你喜欢哪一种,为什么?专业技术资料整理WORD 格式可编辑Chapter51. 简述软件策划的步骤。2. 简述软件策划的方法。3. 简述对软件工作产品规模进行量化估计的方法。4. 软件工作产品和软件产品有何异同?5. 名称解释:直接人工、直接费用、间接成本、制造费用、管理费用、不可预见费用。6. 怎样理解软件中的度量,它有何作用?Chapter61. 概要设计说明书

4、和详细设计说明书有何区别?2. 怎么理解“软件概要设计是系统总体结构设计或系统架构设计”?3. 模块实现设计包括哪些内容?4. 为什么软件设计要遵守“抽象、分解与模块化、低耦合高内聚、封装、接口和实现分离”的设计原理?Chapter71. 简述 UML的优缺点。2. 信息系统的业务模型、功能模型、数据模型各是什么?3. 请说明“三个模型”的定义以及三者之间的关系。Chapter81. 软件实现要做的工作包括哪几项?2. 界面设计应遵从哪些原则?3. 软件实现管理哪些内容?Chapter99.1软件测试的目的和目标是什么?9.4试阐述软件测试V 模型的思想及不足之处和改进办法。9.6试说出黑盒测

5、试和白盒的区别和联系。9.9软件测试工作中要验证哪些文档?试举例。Chapter1010.3软件项目与软件产品有什么不同?10.4软件产品发布的方式有哪几种?10.5三类软件产品的发布策略有何差异?专业技术资料整理WORD 格式可编辑Chapter1111.6传统软件维护分哪几大类?11.8什么叫结构化维护和非结构化维护?11.10软件维护的副作用表现在哪4 个方面?11.13两层结构和三层结构的软件维护方法有什么不同?11.15软件维护与软件产品版本升级有什么关系?Chapter1212.1怎样理解“软件组织、工作产品、软件过程、软件过程源、软件过程财富”的概念?12.4SW CMM的 5

6、个级别各有哪些特征?12.5CMMI的实施步骤是什么?Chapter1313.1人们为什么越来越重视软件配置管理?13.4软件配置管理的目的是什么?13.6什么是配置项?什么是配置管理?13.9基线、里程碑与检查点各是什么含义?它们之间有什么关系?13.13软件配置管理员的职责有哪些?Chapter1414.2针对软件质量保证问题,最有效的办法是什么?14.5对软件质量进行“全面综合治理”有哪5 种方法,哪一种方法最好,为什么?Chapter1515.2为什么说“规范是对过程的约束,标准是对产品的约束,制度是对行为的约束”?15.3培训与企业文化有什么关系?15.4培训文档与培训管理文档有什么

7、差别?Chapter1616.6“项目管理提供给人们一种解决问题的思路和方法”。请论述其中的思路和方法。16.16请说明软件企业的工作流。专业技术资料整理WORD 格式可编辑第一部分软件工程内容与方法、生存周期及开发模型、立项与合同(参见补充资料)本章学习目标 :1. 对软件的定义及其特点有比较全面、客观的认识。2. 认真分析计算机软件发展的三个时期的演进过程,提高对软件工程化的认识。3. 简述软件危机产生的原因。4. 阐释软件生存期的六个步骤。5. 针对软件生存期的瀑布模型、演化模型、螺旋模型、喷泉模型、智能模型、线性顺序模型、原型模型、RAD模型、增量模型的改进过程,指出各个模型的特点与不

8、足,并预测软件工程开发模型的发展趋势。6. 用自己的语言叙述“螺旋模型” 、“RAD模型”的实施过程。7. 比较“软件工程”的各种不同的定义,简述软件工程观念的变化。8. 论述软件工程项目的基本目标及其相互之间的关系。9. 阐释组成“基于计算机系统( Computer-based Systems )”的系统各元素及其相互之间的关系,能用这种组成原则来分析具体问题。10. 理解“计算机系统工程”的实质,认真分析其“分配方案”的评价准则,试在更广泛的学科范围应用这些准则。11. 比较用“事件流”方式描述的硬件工程过程与软件工程过程的异同,用自己的语言描述出这种异同。12. 人作为“基于计算机系统”

9、的组成元素,其自己的构成涉及到哪些成分?通过人类工程过程的描述,加深对“用户友好性”的认识。13.可行性研究需要考虑的范围有哪些(即可行性研究的方法及可行性研究报告的主要内容),详细论述这些范围所涉及的情况。14. 用自己的语言综合论述“系统分析”的任务、步骤和方法。15. 通用软件产品开发和定制软件开发之间有什么不同?这在实际应用中对通用软件产品用户意味着什么?16. 解释为什么软件工程的基本思想适用于所有的软件系统?一、基本概念软件,软件的特点,软件生存期,软件生存期模型,瀑布模型,增量模型,迭代模型,原型模型,软件工程的基本目标,基于计算机的系统的基本内容,可行性研究,软件立项,软件策划

10、,二、简答和练习题回答下列问题 什么是软件危机?为什么会产生软件危机?怎样消除软件危机? 软件开发与写程序有什么不同?为什么应该有所不同? 软件生存周期为什么要划分成阶段?应该怎样来划分阶段?2. 为方便储户,某银行拟开发计算机储蓄系统。储户填写的存款单或取款单由业务员键入系统,如果是存款,系统记录存款人姓名、住址、存款类型、存款日期、利率等信息,并印出存款单给储户;如果是取款,系统计算机利息并印出利息清单给储户。请写出问题定义并分析此系统的可行性。3.为方便旅客, 某航空公司拟开发一个机票预定系统。旅行社把预定机票的旅客信息( 姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地等) 输入

11、进该系统,系统为旅客安排航班,印出取票通知和帐单,旅客在飞机起飞的前一天凭取票通知和帐单交款取票,系统校对无误即印出机票给旅客。请写出问题定义并分析此系统的可行性。专业技术资料整理WORD 格式可编辑三、基本术语翻译四、简述题1. 谈谈你对软件工程化开发的认识。2. 软件工程过程有哪几种基本活动?试加以说明。3. 试说明“软件生存周期”的概念。4. 试论述瀑布模型、 增量模型、迭代模型、 原型模型等软件开发方法的基本过程及优缺点。5. 简述软件工程3 种开发方法、4 项研究内容以及5 个面向理论。6. 软件工程是开发、运行、维护和修复软件的系统化方法,它包括哪些要素?试加以说明。7. 软件工程

12、的基本原则有哪些?试加以说明。8. 有人认为软件开发时,一个错误发现得越晚,为改正它所付出的代价就越大。请提出你的观点并解释。9. 比较 ISO 9000 、CMM/CMMI以及微软管理体系的差异。10. 信息系统工程的层次有哪些?阐述软件工程与信息系统工程之间的关系。11. 比较顾客、客户、用户之间的异同。12. 一个系统分析员可以是三个来源之一;系统开发者;系统需求者;或某些外部机构。讨论使用每一来源的正反两方面的特点。描述一个“理想的”分析员(即分析员的职责及其应具备的条件)。13. 人作为“基于计算机系统”的组成元素,其自己的构成涉及到哪些成分?通过人类工程过程的描述,加深对“用户友好

13、性”的认识。14. 解释为什么增量式开发是开发商务软件系统的最有效技术?为什么这种模型不适用于实时系统工程?15. 说明为什么在需求工程过程中区分用户需求开发和系统需求开发是重要的。16. 描述在软件设计过程中的主要活动以及这些活动的输出。使用图来说明在这些活动输出之间可能存在的关系?17. 让一名用户紧密参与到软件开发团队中的一个问题是“本地化”,也就是,团队成员采纳开发团队的观点而忽视用户队员的需求。请写出3 个解决建议,并讨论每一个的优点和缺点。第二部分软件需求分析(参见补充资料)本章学习目标:1. 简述需求分析的任务、过程以及常用的方法,并用自己的语言叙述图3.3 (P41)软件需求分

14、析工作的流程。2. 掌握软件需求分析的原则。结合图 3.2 和图 3.6 阐述对用户、分析员、程序员的素质要求,他们彼此之间的关系以及各自对需求分析阶段工作的贡献。3. 理解不同需求分析方法的共性。结合图 3.9( P50) 阐述快速原型方法的细化过程,并分析在软件开发周期不同阶段引入快速原型方法后的开发过程。4. 阐述软件复用的概念、范围以及复用技术。5. 掌握结构化分析方法及其所使用的工具以及这些工具的各自特点;并简述进行系统动态分析的几种方法。6. 理解不同方式的软件需求分析工具的特色,阐述自己对软件需求分析自动化的看法。7. 了解需求规格说明和需求评审的主要内容,并用自己的语言综合论述

15、“软件需求分析”的全部过程。一、基本概念原型化方法,软件复用及软件复用的范围,结构化分析方法,数据流图,数据词典,Warnier 图,数据库的基本概念二、简述题1. 在软件需求分析时, 首先建立当前系统的物理模型, 再根据物理模型建立当前系统的逻辑模型。 请问什么是当前系统?当前系统的物理模型与逻辑模型有什么差别?专业技术资料整理WORD 格式可编辑2. 软件需求分析是软件工程过程中交换意见最频繁的步骤。为什么交换意见的途径会经常阻塞?3. 你认为一个系统分析员的理想训练和基础知识是什么?请说明理由。4. 信息和信息结构有什么区别?有没有不存在信息流的系统?有没有不存在信息结构的系统?5. 软

16、件需求分析的操作性原则和需求工程的指导性原则是什么?6. 描述加工逻辑说明的工具有哪些?各自的特点,试分别举例说明之。7. 数据流图和数据字典的作用是什么?数据流图的基本成分有哪些?数据字典有哪些词条?8. 传统的软件开发模型的缺陷是什么?原型化方法的类型有哪些?原型开发模型的主要优点是什么?9. 软件需求分析说明书主要包括哪些内容?10. 状态迁移图、时序图和 Petri 网的用途何在?11. 利用你关于自动取款机的使用知识,设计一组用例,用来作为理解自动取款机系统需求的基础。三、基本术语翻译第三部分软件设计、界面设计以及UML建模(参见补充资料)本章学习目标:1. 区别设计、程序设计 和软

17、件设计 等概念,阐述软件设计在软件工程中的地位和作用,并结合图4.1 、 4.2 和4.3 从管理和技术两种角度来理解软件设计。2. 概述软件设计应具备的基础,或从哪些方面来理解和进行软件设计。3. 掌握模块划分的评价准则模块独立性的判别。4. 结合图( 参见 RJGC(第 6 章 软件设计) P25 页图) 阐述模块大小、模块数与成本之间的关系。5. 试从整个软件生存期角度来理解抽象化的作用,并结合过程抽象、数据抽象和控制抽象来理解软件设计的抽象过程。6. 阐述模块的 属性 、特性及独立性 。根据模块独立性的度量准则)来理解耦合性和内聚性的分类以及每种类别的特点。7. 比较变换型分析方法与事

18、物型分析方法的异同,简述设计后处理需要考虑的问题) 。8. 理解过程设计的任务、过程,阐述三类详细设计工具的异同及其相互关系。9. 了解软件设计规格说明和设计评审的主要内容10. 综述系统结构设计、数据设计(文件设计)及过程设计的原则、方法和具体实施步骤。一、基本概念模块 ( 基本属性、外部特性及内部特性 ) ,耦合、内聚及其种类,界面设计, UML 二、简述题阐述分析模型与设计模型之间的关系。(参见附件PPT)1. 逐步求精、分层过程与抽象等概念之间的相互关系如何?2. 完成良好的软件设计应遵循哪些原则?3. 如何理解模块独立性?用什么指标来衡量模块独立性?4. 模块独立性与信息隐蔽(反映模

19、块化有效程度的属性)有何关系?5. 简述变换型问题的分析方法6. 举例说明你对概要设计与详细设计的理解。有不需要概要设计的情况吗?7. 进行详细设计的工具有哪些?分别说明之8. 界面设计遵循的认知原则有哪些?9. Theo Mandel 的三条黄金原则是什么?10. 界面设计的需要考虑的四种模型有哪些?试比较其差异?专业技术资料整理WORD 格式可编辑11. 用户界面设计过程包括哪四种不同的框架?12. 简述采用增量迭代开发模型时 ,UML 实际建模步骤。13. 基于你使用银行 ATM机的经历,请画一个活动图,当客户从机器中提取现金时,为可能涉及的数据处理过程建模。三、基本术语翻译四、练习题试

20、为每种类型的模块耦合举一个具体例子; 试为每种类型的模块内聚举一个具体例子; 用面向数据流的方法设计下列系统的软件结构: 储蓄系统 机票预定系统 假设只有SEQUENCE(顺序)和DO WHILE两种控制结构,怎样利用它们完成IF THEN ELSE 操作? 假设只允许使用SEQUENCE和 IF THEN ELSE 两种控制结构,怎样利用它们完成DO WHILE操作? 画出下列伪码程序的流程图和N-S 图:STARTIF q THENWHILE q DOfEND DOELSEBLOCKqnEND BLOCKEND IFSTOP 某交易所规定给经纪人的手续费计算方法如下:总手续费等于基本手续费

21、加上与交易中的每股价格和股数有关的附加手续费。如果交易总金额少于1,000 元,则基本手续费为交易金额的8.4%;如果交易总金额超过1,000 元到 10,000 元之间,则基本手续费为交易金额的5%,再加 34 元;如果交易总金额超过10,000 元,则基本手续费为交易金额的 4%加上 134 元。当每股售价低于14 元时,附加手续费为基本手续费的5%,除非买进、卖出的股数不是100的倍数,在这种情况下附加手续费为基本手续费的9%。当每股售价在14 元到 25 元之间时,附加手续费为基本手续费的 2%,除非交易的股数不是100 的倍数,在这种情况下附加手续费为基本手续费的6%。当每股售价超过

22、25 元,如果交易的股数零散(即不是100 的倍数),则附加手续费为基本手续费的4%。要求: 用判定表表示手续费的计算方法; 用判定树表示手续费的计算方法。第四部分程序编码(参见补充资料)本章学习目标:1. 结合“对源程序的质量要求”和“关于GOTO语句的争论” ,正确理解和认识结构化程序设计的原则和实施步骤。2. 综合结构化程序设计方法和面向对象实现技术,阐述程序设计风格的考虑范围以及你对程序设计风格的认识。3. 概述影响程序效率的因素和准则。4. 以你自己的观点,对目前流行的程序设计语言进行比较、分类,并给出选择建议。5. 比较几种程序复杂性度量方法,阐述各自特点和不足。专业技术资料整理W

23、ORD 格式可编辑6. 掌握度量程序复杂性的 McCabe方法和 Halstead 方法。一、基本概念程序效率,代码行度量法, McCabe度量法, Halstead 的软件科学二、简述题1.结构化程序设计有时被错误地称为“无GOTO语句”的程序设计。请说明为什么会出现这样的说法,并讨论环绕着这个问题的一些争论。2.从下面关于程序编制的叙述中,选出3 条正确的叙述。在编制程序之前,首先必须仔细阅读给定的程序说明书。然后,必须如实地依照说明书编写程序。说明书中常会有含糊不清或难以理解的地方。程序员在作业时应该对这些地方做出适当的解释。 在着手编写程序时,重要的是采用既能使程序正确地按设计说明书进

24、行处理,又易于出错的编写方法。 在编制程序时, 首先应该对程序的结构充分考虑,不要急于开始编码,而要像写软件文档那样,很好地琢磨程序具有什么样的功能,这些功能如何安排,等等。 考虑到以后的程序变更,为程序编写完整的说明书是一项很重要的工作。只要有了完整的程序说明书,即使程序的编写形式难以让他人看懂也没有什么关系。 编制程序时不可缺少的条件是,程序的输入和输出数据格式都应确定。其他各项规定都是附带的,无足轻重。 作为一个好的程序,不仅处理速度要快,而且易读易修改等也都是重要的条件。为了能得到这样的程序,不仅要熟悉程序设计语言的语法,还要注意采用适当的规程和单纯的表现方法,注意使整个程序的结构简洁

25、。3. 用某种软件复杂性度量算法来度量不同类型的程序时,得出的度量值是否真正反映了它们的复杂性?如果对同类型的程序进行度量,其结果是否就比较有价值?4. 软件复杂性有哪几类?软件复杂性度量模型应遵循哪些基本原则?第五部分软件测试、维护和发布与实施(参见补充资料)本章学习目标:1.简述什么是软件测试?软件测试的目的和原则是什么?(从用户的角度出发,从软件开发者的角度出发)2. 了解软件测试与软件开发过程的关系。3. 了解软件错误的分类。4. 简述软件测试的过程与策略。5. 了解软件测试用例设计的方法,掌握逻辑覆盖、基本路径测试、因果图等测试用例设计方法。6. 简述白盒测试与黑盒测试的区别及其适用

26、的范围。7. 了解程序静态测试的方法。一、基本概念软件测试,测试用例,白盒测试,驱动模块,桩模块,黑盒测试,等价类,边界值,因果图,测试, 测试,软件维护,软件发布二、简述题1.从下列关于软件测试的叙述中,选出5 条正确的叙述。 用黑盒法测试时,测试用例是根据程序内部逻辑设计的。 尽量用公共过程或子程序去代替重复的代码段。 测试是为了验证该软件已正确地实现了用户的要求。 对于连锁型分支结构,若有n 个判定结构,则有2n 条路径。专业技术资料整理WORD 格式可编辑 尽量采用复合的条件测试,以避免嵌套的分支结构。 GOTO语句概念简单,使用方便,在某些情况下,保留GOTO语句反能使写出的程序更加

27、简洁。 发现错误多的程序模块,残留在模块中的错误也多。 黑盒测试方法中最有效的是因果图法。 在做程序的单元测试时,桩(存根)模块比驱动模块容易编写。 程序下率的提高主要应通过选择高效的算法来实现。2. 对小的程序进行穷举测试是可能的,用穷举测试能否保证程序是百分之百正确呢?3. 在任何情况下单元测试都是可能的吗?都是需要的吗?4. 应该由谁来进行确认测试?是软件开发者还是软件用户?为什么?5. 传统软件维护的种类、工作程序以及副作用?6. 比较 UML、CMM对软件维护的重大影响?7. 解释在系统交付给用户致歉,为什么对于程序来说没有一点缺陷是没有必要的。8. 解释回归测试和压力测试。三、基本

28、术语翻译第六部分软件管理及能力成熟度模型(参见补充资料)本章学习目标:1. 了解软件过程的概念、软件过程框架和软件过程模型。2. 了解软件项目管理的过程3. 了解软件度量的种类、面向规模和面向功能的度量以及质量度量的种类。4. 掌握 LOC估算和 FP 估算的方法方法、分解技术和工作量估算方法。5. 了解软件成本估算的概念,掌握COCOMO成本估算方法。6. 了解软件成本 - 效益估计方法。7. 了解软件进度安排方法及图形工具。8. 了解软件项目划分的方式、项目组织的模式、人员配备的原则和条件。9. 简述软件配置管理的概念,包括配置项和基线的概念、配置管理的主要工作。10. 了解软件工程标准化

29、的概念, 包括软件工程标准化的意义、 软件工程标准的制定与推行、 软件工程标准的层次、软件工程的国家标准。11. 了解软件文档的概念,包括文档编制的要求、文档的作用、文档的分类、文档的工作。12.简述软件过程能力评估的CMM模型 ,包括过程成熟度的概念、软件机构的能力成熟度模型、关键过程区域、 关键实践的概念。13.了解 ISO9000 国际标准, 包括质量管理、 质量认证和质量审核的概念, ISO9000 系列标准的特点、 科学依据、主要内容,以及 ISO9000-3 标准。一、基本概念软件过程,软件项目管理, 软件度量, LOC 估算, FP 估算, IBM 估算模型, Putnam 估算

30、模型, COCOMO 估算模型软件配置项,基线,CMM模型,关键过程区域,ISO9000二、填空题1.由于软件工程有如下的特点,使软件管理比其他工程的管理更为困难。软件产品是A。 B标准的过程。大型软件项目往往是C项目。D的作用是为有效地、定量地进行管理,把握软件工程过程的实际情况和它所专业技术资料整理WORD 格式可编辑产生的产品质量。在制定计划时,应当对人力、项目持续时间、成本做出E ;风险分析实际上就是贯穿于软件工程过程中的一系列风险管理步骤。最后,每个软件项目都要制定一个F ,一旦G制定出来,就可以开始着手H 。AC:可见的 不可见的 “一次性” “多次” 存在 不存在DH:进度安排 度量 风险分析估算 追踪和控制开发计划答案:A:B:C:D:E:F:G:H:2. 在软件项目估算时,将代码行 LOC和功能点 FP 数据在两个方面使用:一是作为一个估算变量,度量软件每个 A的大小; 一是联合使用过去的项目中收集到的B和其他估算变量, 进行成本和C估算。 LOC和 FP是两种不同的估算技术,但两者有许多共同的特征,只是LOC和 FP 技术对于分解所需要的D不同。当用E 作为

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论