《软件工程(第二版)陆慧恩 张成姝编著 清华大学出版社》)41810.docx》由会员分享,可在线阅读,更多相关《软件工程(第二版)陆慧恩 张成姝编著 清华大学出版社》)41810.docx(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1. 什么叫文档?(P1)文档是确定软件生产各个阶段必须完成的有关计算机程序功能、设计和使用的文字或图形资料。2. 什么叫软件?软软件和程序的的区别是什么么?(P4)软件是计算机程程序及其有关关数据和文档档的完整集合合。程序是能能够完成预定定功能的可执执行的指令序序列 。而软软件=程序+文档。3. 软件工程方法学学的三个要素素是什么?各各个要素的作作用是什么?(P4)三个要素:方法法、工具和过过程。方法:完成软件件开发任务的的技术方法。工具:为方法的的运用提供自自动或半自动动的软件支撑撑环境。过程:规定了完完成任务的工工作阶段、工工作内容、产产品、验收的的步骤和完成成准则。4. 瀑布模型把软件
2、件生命周期分分为那几个时时期?有分为为那几个阶段段?(P9)分为三个时期:计划时期、开开发时期、运运行时期计划时期可分为为:问题定义义、可行性研研究、需求分分析 开发时期可分为为:概要设计计、详细设计计、软件实现现、软件测试试运行时期:运行行维护5. 软件工程学的主主要内容是什什么?(P44)是 软件开发技技术和软件工工程管理。6. 软件开发模型有有哪些?(PP9)总体来说包括 传统的瀑瀑布模型和后后来兴起的 快速原型模模型 具体分为 瀑布布模型、快速速原型模型、增增量模型、喷喷泉模型、螺螺旋模型和统统一模型7. 可行性研究包括括哪几个方面面?各包括那那些内容?(PP20)包括 技术方面面、经
3、济方面面、社会因素素方面(1) 技术可行性是指指对设备条件件、技术解决决方案的实用用性和技术资资源的可用性性的度量。(2) 经济济可行性是指指希望以最小小的成本开发发出具有最佳佳的经济效益益的软件产品品。其内容如如下: 支出出 收益 收益/投资比 投资资回收周期 敏感度分析析(3)社会因素素方面的可行行性主要从法法律、用户等等方面分析可可行性。8. 需求分析有什么么必要?在这这一阶段常绘绘制那些图形形?(P222)需求分析的基本本任务是软件件人员和用户户一起完全弄弄清用户对系系统的确切要要求。需求分分析的结果是是否正确,关关系到软件开开发的成败,正正确的需求分分析是整个系系统开发的基基础。常绘
4、制的图包括括:实体-关关系图、数据据流图、状态态转换图、数数据字典、层层次图、Waarnierr图、IPOO图等。9. 进行系统需求分分析时应确定定所开发系统统的哪些具体体要求?(PP22)包括:确定系统统的运行环境境要求、系统统的性能要求求、系统功能能、接口需求求 四个方方面。10. 在需求分析阶段段为了了解用用户的需求,而而进行调查研研究,常采用用的调查研究究有哪些?各各包括哪些内内容?(P227)(1) 访谈、分发调调查表、开会会 三种种方式(2) 访谈包括正式访访谈和非正式式访谈。分发发调查表即 在调查表中中列出需要的的内容,让用用户做书面回回答。 开会会即 可采用用开会-谈论论-确认
5、的方方法进行调查查。11. 什么是数据字典典?有什么作作用?(P336)数据字典是对数数据流图中出出现的所有数数据元素、数数据流、文件件、处理的定定义的集合。其作用是在软件件分析和设计计过程中提供供数据描述,数数据流程图必必不可少的辅辅助资料。12. 什么叫实体关系系图?有什么么作用?(PP28)即E-R图,提提供了表示实实体、属性、关系的方法。作用是为理解和表示问题域的信息(描述现实世界概念结构模型)。13. 什么是数据流图图?有什么作作用?(P330)数据流图是用来来描绘软件系系统逻辑模型型的图形工具具,是描绘信信息在系统中中的流动和处处理的情况的的。 作用是是是描绘信息息在系统中的的流动
6、和处理理的情况的。14. 什么是状态转化化图?有什么么作用?(PP35)状态转化图通过过描绘系统的的状态以及引引起系统转换换的事件,来来表示系统的的行为。作用用是分析对象象的状态,正正确地认识实实体行为并定定义它的操作作。15. 什么是概要设计计?基本任务务是什么?(PP48 499)(1) 概要设计也称总总体设计,概概要设计过程程通常有确定定设计方案和和结构设计两两个阶段,在在此同时要进进行数据库设设计和制定测测试计划。(2) 基本任务是确定定设计方案和和软件结构设设计。16. 什么是模块?它它有何属性?(P52)(1) 模块是是能够单独命命名,有边界界元素限定的的程序元素的的序列。(2)
7、具有以以下五个属性性: 名称、 接口、功能能、逻辑、状状态 17. 人机界面设计应应考虑哪些问问题?(P772)应考虑四个问题题:系统响应应时间、用户户帮助设施、出出错信息处理理、命名交互互18. 人机界面设计的的过程是什么么?(P733)过程包括四个:(1) 先创建设计模型型,实现模型型用户界面面原型。(2) 用户使用并评估估该原型,向向设计者反馈馈对界面的评评价。(3) 设计者根据用户户的意见修改改设计并实现现下一级原型型。(4) 不断进行下去,直直到用户感到到满意为止。19. 什么是模块化?(P53)模块化是指把系系统分割成能能完成独立功功能的模块 ,明确规定定各模块及其其输入输出规规格
8、,使模块块的界面不会会产生任何混混乱。20. 软件结构设计的的基本原理是是什么?(PP51)是软件的模块化化、模块的独独立性、抽象象和逐步求精精、信息隐蔽蔽和局部化等等。21. 代码种类有那些些?分别举例例说明。(PP76)(1) 有六种:顺序码码、信息快码码、归组分类类码、助记码码、数字式字字符码。(2) 顺序码:售票发发票、银行支支票。 信息快码:学生生的学号、中中华人民共和和国行政区代代码归组分类码:公公司法 代码码为32522 股份公司司法 代码为为325244助记码:12英英寸电视的代代码为12TTV数字式字符码:计算机中通通用的ASIII码,组合码:几种代代码形态的代代码合成的编编
9、码22. 黑盒法和白盒法法测试软件有有什么区别?(P94)黑盒法又称功能能测试,其测测试用例完全全是根据程序序的功能说明明来设计的。白盒法又称结构构测试,其测测试用例是根根据程序内部部的逻辑结构构和执行路径径来设计的。23. 什么叫灰盒法?(P94)黑盒法和白盒法法结合起来进进行就称为灰灰盒法。24. 设计测试方案的的目标是什么么?(P988 114)选用尽可能少的的高效测试数数据,从而尽尽可能多的发发现软件中的的错误。25. 什么时逻辑覆盖盖法?常用的的逻辑覆盖技技术有哪些?(要求会用用各种覆盖技技术设计测试试用例)(PP100)(1) 逻辑测试法是一一系列测试过过程的总称,这这些测试是逐逐
10、渐地、越来来越完整地进进行通路测试试。(2) 包括八种:语句句覆盖、判定定覆盖、条件件覆盖、判定定/条件覆盖盖、条件组合合覆盖、点覆覆盖、边覆盖盖、基本路径径覆盖。26. 程序的三种基本本结构是什么么?如何用NN-S图和程程序流程图表表示它们?(PP67、688)顺序结构、条件件选择结构、循循环结构。27. 结构化程序的基基本方法是什什么?(P1114)是将顺序、选择择、重复三种种基本控制结结构进行组合合和嵌套,以以容易理解的的形式和避免免使用GOTTO的语句等等原则,进行行程序设计。28. 软件测试的目的的是什么?(PP93)(1) 测试是为了发现现程序中的错错误而执行程程序的过程。(2)
11、好的测试方案使使测试很可能能发现尚未发发现的错误。(3) 成功的测试是发发现了尚未发发现的错误的的测试。29. 使用黑盒法测试试时,根据什什么测试用例例的?(P994)完全是根据程序序的功能说明明来设计的。30. 使用白盒法测试试时,测试数数据库应根据据什么设计?(P94)程序内部的逻辑辑结构和执行行路径来设计计。31. 采用结构化设计计时,在概要要设计阶段结结束后可以得得到什么产品品(P49)模块结构图/概概要设计说明明书。32. 概要设计阶段的的初始结构图图是根据什么么设计出来的的?(P499)需求分析阶段得得出的数据流流图。33. 需求分析阶段回回答的主要问问题是什么?(P22)系统必须
12、做什么么34. 快速模型法适合合那种情况的的系统,为什什么?(P111)(1) 适合 快速开发发一个可以运运行的原型系系统。(2) 该系统的功能往往往是最终产产品能完成的的功能的一个个子集。请用用户使用原型型系统,以便便能准确地认认识到他们的的实际需要是是什么,然后后书写软件系系统的需求规规格说明文档档,根据这份份文档开发的的软件可以满满足用户的真真实需求。这这相当于工程程上的“样品”,试用后做做适当改进,然然后再批量生生产。 35. 快速原型法首先先形成的原型型是什么?(PP11)系统界面原型。36. 用瀑布模型开发发系统时各阶阶段是用什么么来驱动的?(P10)文档(前一阶段段的文档)37.
13、 用喷泉模型开发发系统时,开开发过程有什什么特点?(PP13)迭代性和无间隙隙性。38. 结构设计方法适适用于什么模模型?(P16)瀑布模型、增量量模型和螺旋旋模型。39. 需求分析常用的的图形工具有有哪几种?(PP32)实体-关系图、数数据流图、状状态转换图、数数据字典、层层次图、Waarnierr图、IPOO图等。40. 过程设计常用的工具具是什么?(PP51)流程图、N-SS图、问题分分析图(PAAD图)、判判定表、判定定树、过程设设计语言(PPDL)等。41. 什么叫耦合?(PP54)模块之间的联系系程度。42. 什么叫内聚?(PP55)模块内的软件元元素的联系程程度。43. 模块间的
14、耦合应应该是高还是是低?(P555)应追求尽可能松松散的耦合。44. 模块间的内聚应应该是高还是是低?(P555)实现尽可能高的的内聚。45. 系统结构(SCC)图表示模模块之间的什什么关系?调用。46. 什么叫功能内聚聚、顺序内聚聚、通信内聚聚、过程内聚聚、时间内聚、逻逻辑内聚和偶偶然内聚。(PP56)(1) 功能内聚:一个个模块内所有有元素都是完完成某一功能能所必需的处处理对象,有有这些元素组组成一个整体体,从而完成成一个特定的的功能。(2) 顺序内聚:如果果模块内某个个成分的输出出是另一成分分的输入,因因而这两个模模块必须依次次执行。(3) 通信内聚:模块块中各成分引引用共同的数数据。(
15、4) 过程内聚:如果果一个模块内内处理的元素素是相关的,必必须以特定的的次序执行。(5) 时间内聚:将需需要同时执行行的成分放在在同一模块中中。(6) 逻辑内聚:将逻逻辑上相同或或相似的一类类任务放在同同一模块中。(7) 偶然内聚:模块块完成一组任任务,这些任任务之间关系系松散,实际际上没有什么么联系时。47. 什么叫语句覆盖盖、条件覆盖盖、判定覆盖盖、判定条件件覆盖、条件件组合覆盖、点点覆盖、边覆覆盖和路径覆覆盖(要求对对各覆盖会设设计测试用例例)(P1000)(1) 语句覆盖:选择择足够多的测测试数据,是是被测试的程程序中每个语语句至少执行行一次。(2) 判定覆盖:不仅仅每个语句都都必须至
16、少执执行一次,而而且每个判定定的可能结果果都至少执行行一次,即每每个分支都至至少执行一次次。(3) 条件覆盖:不仅仅每个语句都都至少执行一一次,而且每每个判定表达达式中的每个个条件都取到到各种可能的的结果,从而而可测试比较较复杂的路径径。(4) 判定条件覆盖:判定条件覆覆盖要求选取取足够多的测测试数据,是是每个判定表表达式都取到到各种可能的的结果,并使使每个判定表表达式中的每每个条件都取取到各种可能能的值。(5) 条件组合覆盖:条件组合覆覆盖要求选取取更多的测试试数据,使每每个判定表达达式中条件的的各种可能组组合都至少出出现一次,从从而达到更强强的逻辑覆盖盖标准。(6) 点覆盖:把程序序流程图
17、中的的每个符号看看成一个点,将将原来连接不不同处理符号号的箭头改成成连接不同点点的有向弧,就就可得到一个个有向图,称称之为程序图图。 点覆盖盖测试要求选选取足够多的的数据,使得得程序执行时时至少经过程程序图中的每每个点一次。(点点覆盖和语句句覆盖的要求求是相同的)(7) 边覆盖:边覆盖盖要求序曲足足够多的测试试数据,是程程序执行路径径至少经过程程序图中每条条边一次。(8) 基本路径覆盖:基本路径覆覆盖要求选取取足够多的测测试数据,使使程序的每条条可能执行路路径都至少执执行一次。48. 什么叫静态测试试法?主要优优点是什么?(P94)静态分析不执行行被测试的软软件,而是通通过对需求分分析说明书、
18、软软件设计说明明书及源程序序做结构检查查、流程图分分析、编码分分析等来找出出软件错误。49. 什么叫模块测试试?什么叫集集成测试?(PP95)模块测试也称单单元测试,其其目的是集中中检验软件设设计的最小单单元模块,检检查每个模块块是否能独立立、正确地运运行。集成测试是测试试和组装软件件的系统化技技术,在把模模块按照设计计要求组装起起来的同时进进行测试,主主要目标是发发现与接口有有关的问题。50. 什么叫平行运行行?有什么必必要?(P997)比较重要的软件件需要一段试试运行时间。此此时新开发的的系统与原先先的老系统同同时运行,这这成为平行运运行。必要性:(1)让让用户熟悉系系统的运行情情况,并验
19、证证用户手册的的文档的正确确性。(2) 若发现现问题及时对对系统进行修修改。(3)对系统的的性能指标进进行全面的测测试,以保证证系统的质量量.51. 什么叫面向数数据流的设计计方法?(PP62)在需求分析(SSA)阶段用用数据流程图图(dataa floww diaggram,DDFD)来描描述数据从系系统的输入端端到输出端所所经历的一系系列变换或处处理,在系统统设计阶段要要将DFD图图表示的系统统的逻辑模型型转化成软件件结构设计的的描述,可用用结构图(SSC图)描述述。这就是 包括SA与与SD在内的的基于数据流流的系统设计计方法。52. 什么叫面向数据据结构的设计计方法?(PP78)面向数据
20、结构的的设计方法,是是按输入、输输出以及计算算机内部存储储信息的数据据结构进行软软件结构设计计的,把对数数据结构的描描述变换为对对软件结构的的描述。53. 软件测试的步骤骤是什么?(PP95)五个步骤:模块块测试、集成成测试、程序序审查会和人人工运行、确确认测试、平平行运行。54. 会用结构测试法法测试软件 55. 集成测试法有哪哪两种,它们们的基本 思思想是什么?(P95)子系统测试和系系统测试 子系统测试试:非渐增法法测试 系统测试:渐增法56. 黑盒测试法常用用的方法有哪哪四种?(要要求会根据具具体情况设计计测试用例)等价类划分法、边边界值分析法法、错误测试试法、57. 什么等价划分法法
21、?(P988)它把所有可能的的输入数据分分成若干个等等价类,每类类中的一个典典型值在测试试中的作用与与这一类中所所有其他值得得作用相同,因因此在每个等等价类中只用用一组数据作作为代表进行行测试来发现现程序中的错错误。58. 什么叫边界分析析法?(P999)边界分析法与等等价类划分法法的区别为边边界分析要把把等价类的每每个边界都作作为测试数据据。59. 什么叫错误推测测法?(P999)错误推测法主要要是通过列出出某些容易发发生错误的特特殊情况来选选择测试法方方案。60. 一个软件通过测测试后是否就就证明器无错错误?(P1112)软件的测试可以以发现程序中中的错误,但但不能证明程程序中没有错错误,
22、即不能能证明程序的的正确性。61. 面对对象的方法法与传统的结结构法设计有有什么异同?(P1288)OO方法与传统统方法的相同同之处:两者者都分为面向向对象分析和和面向对象设设计两个步骤骤,但分析和和设计时所用用的概念和表表示法是相同同的,它把两两个步骤结合合在一起,不不强调分析与与设计之间的的严格区分,不不同的阶段可可以交错、回回溯;不过,分分析和设计仍仍然有不同的的分工和侧重重点。不同之处:OOO的目的是有有效地描述和和刻画问题领领域的信息和和行为,以全全局的观点来来考虑系统中中各种对象的的联系,考虑虑系统的完整整性和一致性性,是对问题题域的完整、直直接的映射。62. 面对对象方法学学的主
23、要优点点是什么?(PP130)(1) 与人类习惯的思思维方法一致致我(2) 稳定性好(3) 可重用性好(4) 较易开发大型软软件产品(5) 可维护性好63. 什么是封装?(PP132)封装就是把对象象的属性与方方法结合成一一个独立的单单位,尽可能能隐蔽对象的的内部细节。64. 什么是继承?(PP132)特殊类的对象拥拥有其一般类类的全部属性性与服务成为为特殊类对一一般类的继承承。65. 继承有什么特性性?(P1332)传递性 :一一个对象继承承了它所在的的类等级中其其上层类的全全部属性和方方法,它的子子类有继承了了它的属性和和方法。66. 面向对象的四个个要素是什么么?(P1229)对象、类、
24、继承承、消息传递递。67. 什么是面向对象象的方法?(PP193)面向对象的方法法是将数据和和处理相结合合的方法。68. 什么叫动态测试试法?它包括括那两种方法法?69. 对象的特点是什什么?(P1131)(1) 以数据为核心 (2) 主主动性 (33) 实现了了数据封装 (4) 本本质上具有并并行性 (55) 模块独独立性好70. 什么是类?(1131)类是具有相同数数据和相同操操作的一组相相似对象的定定义。71. 什么是实例?(PP131)实例是由某个特特定的类所描描述的 一个个具体的对象象。72. 什么是用例?(PP135)用例代表某些用用户可见的功功能,用于实实现一个具体体的用户目标标
25、。73. 什么是用例图?(P1366)用例图定义了系系统的功能需需求。用例图图从用户角度度描述系统功功能,并指出出各功能的操操作者。74. 用例图的三个要要素?(P1136)例、执行者、通通信关系。75. 什么是脚本?(PP136)脚本是用例的实实例,即系统统的一次具体体执行过程。76. 面向对象设计方方法和结构化化设计方法的的关系是什么么?(P1228)面向对象设计方方法是在汲取取结构化思想想和有点的基基础上发展起起来的,是对对结构化方法法的进一步发发展和扩充。77. 面向对象设计方方法和结构化化设计方法有有什么异同?(同61)78. UML是什么意意思?(P1133)UML(统一建建模语言
26、)是是一种描述、构构造、可视化化和文档化软软件的建模语语言。79. 什么是用例?什什么是用例图图?用例图的的三个要素是是什么?请画画出一个你熟熟悉的系统的的用例图?(PP137)80. 什么是类图?类类图中的类如如何用图形符符号表示?(PP137)类图描述类与类类之间的静态态关系。类图图表示系统或或领域中实体体以及实体之之间的关联,由由表示类的类类框和表示类类之间如何关关联的连线所所组成的。类的UML图标标是一个矩形形框,分三个个部分,上部部写类名,中中间写属性,下下部写操作。(P137)81. 叙述传统的结构构化设计开发发软件的八个个阶段及各阶阶段主要完成成的工作。82. 叙述面向对象开开发
27、软件所经经历的阶段及及各阶段所做做的工作。83. 传统的结构化方方法与面向对对象设计方法法主要有什么么异同?84. 什么是对象图?基本作用是是什么?(PP141)对象图可以看做做是类图的实实例,能帮助助人们理解比比较复杂的类类图。85. 什么是对象?面面向对象方法法的四个要素素是什么?(PP 141 129)对象是类的实例例,四个要素素:对象、类类、继承和消消息传递。86. 面向方法的主要要优点是什么么?(见622)87. 什么是同步消息息?(P1335)表示调用者发出出消息后必须须等待消息的的返回.88. 什么是异步消息息?(P1335)发送者发出消息息后,不用等等待消息处理理完成就可以以继
28、续执行自自己的操作.89. 什么软件维护?(P1188)软件维护就是指指在软件产品品交付之后对对其进行修改改,以排除故故障,或改进进性能和其他他属性,或使使产品适应改改变了的环境境。90. 软件维护的种类类有哪些?(PP118)改正性维护、适适应性维护、完完善性维护、预预防性维护。91. 软件维护的副作作用有哪些?(P1233)编码副作用、数数据副作用、文文档副作用。92. 什么是软件可维维护性?(PP128)软件可维护性是是指软件功能能被理解、改改正、适应和和增强的难易易程度,可维维护性是维护护人员对该软软件进行维护护的难易程度度。93. 决定可维护性的的因素有哪些些?(P1224)(1)
29、是否拥有一组训训练有素的软软件人员(2) 系统结构是否可可理解,是否否合理(3) 文档结构是否标标准化(4) 测试用例是否合合适(5) 是否已有嵌入系系统的调试工工具(6) 是否使用合适的的程序设计语语言(7) 是否使用标准的的操作系统或(1) 维护人员的素质质(2) 系统结构是否可可理解 是否否合理(3) 文档是否齐全94. 对软件可维护性性的度量问题题可理解成哪哪些方面?(PP124)可理解性、可测测试性、可修修改性、可移移植性。95. 如何提高软件的的可维护性?(P1255)(1) 明确软件的质量量目标(2) 利用先进的软件件技术工具(3) 选择便于维护的的程序设计环环境(4) 采取有效
30、的质量量保证措施(5) 完善程序的文档档96. 非结构化维护和和结构化维护护的主要区别别是什么?(PP120)与非结构化维护护相比,结构构化维护能减减少工作量并并提高维护的的总体质量。97. 维护工作的流程程是什么?(PP121)(1) 用户提出维护申申请(2) 维护组织审查申申请报告并安安排维护工作作(3) 进行维护并作详详细的维护记记录(4) 复审 98. 什么软件的工程程管理?(P2219)软件工程管理是是通过计划、组织织和控制等一一系列活动,合合理地配置和和使用各种资资源,以达到到既定目标的的过程。99. 估算软件规模有有哪些方法?(P2200)(1) 自顶向下估算方方法(2) 自底向
31、上估算方方法(3) 差别估算方法(4) 专家估算法(5) 类推估算法(6) 算是估算法100. 工作量估算有哪哪些方法?(PP221)自顶向下估算方方法、自底向向下估算方法法、101. 什么是进度计划划?(P2225)为进行软件项目目管理,需要要定义当前项项目的任务集集合,识别关关键任务,制制定一个详细细的进度表,规规定完成各项项任务的起止止日期,督促促项目进度,保保证项目按期期完成。102. Gantt图有有什么作用?有什么优点点和缺点?(PP225)Gannt图是是安排精度计计划。优点:简单明了,易易画易读易改改,使用十分分方便。 缺缺点:不能显显示各项子任任务之间的依依赖关系,以以及那些
32、是关关键子任务等等。103. 工程网络图有什什么作用,有有什么有优点点和缺点。(PP226)指定工作计划。优优点:能明显显表示各个子子任务之间的的依赖关系。缺点:难画难读难改104. 假如让你管理一一个软件项目目,你计划如如何管理?105. 假如让你负责开开发一个软件件项目,你将将采用何种开开发方法?需需要多少开发发人员?如何何分工?各阶阶段的主要作作用是什么?106. 面向对象分析和和传统方法分分析所做的工工作有何相同同之处和不同同之处?107. 面向对象设计与与传统方法设设计有何异同同?108. 面向对象测试与与传统方法的的目标是否一一致?测试方方法有什么不不一样?(PP177)主要目标一样,用用尽可能低的的成本和尽可可能少的测试试用例,发现现尽可能多的的错误。但是是面向对象程程序的封装、继继承、多态性性等机制,增增加了测试和和调试的难度度。109. 开发一个软件系系统一般化那那些图,先画画那些,后画画那些,为什什么?110. 面向对象实现时时有两类语言言可选,你喜喜欢选哪种,为为什么?原文地址:htttp:/.ccn/s/bblog_6694c9bb590100138tll.htmll