软件工程陆慧恩 张成姝编著 清华大学出版社》)

上传人:daj****de 文档编号:182638665 上传时间:2023-01-26 格式:DOCX 页数:8 大小:20.68KB
返回 下载 相关 举报
软件工程陆慧恩 张成姝编著 清华大学出版社》)_第1页
第1页 / 共8页
软件工程陆慧恩 张成姝编著 清华大学出版社》)_第2页
第2页 / 共8页
软件工程陆慧恩 张成姝编著 清华大学出版社》)_第3页
第3页 / 共8页
点击查看更多>>
资源描述
1. 什么叫文档? (P1) 文档是确定软件生产各个阶段必须完成的有关计算机程序功能、设计和使用的文字或图形资料。2. 什么叫软件?软件和程序的区别是什么? (P4) 软件是计算机程序及其有关数据和文档的完整集合。程序是能够完成预定功能的可执行的指令序列 。而软件=程序+文档。3. 软件工程方法学的三个要素是什么?各个要素的作用是什么? (P4) 三个要素:方法、工具和过程。方法:完成软件开发任务的技术方法。 工具:为方法的运用提供自动或半自动的软件支撑环境。 过程:规定了完成任务的工作阶段、工作内容、产品、验收的步骤和完成准则。4. 瀑布模型把软件生命周期分为那几个时期?有分为那几个阶段?( P9) 分为三个时期:计划时期、开发时期、运行时期 计划时期可分为:问题定义、可行性研究、需求分析 开发时期可分为:概要设计、详细设计、软件实现、软件测试 运行时期:运行维护5. 软件工程学的主要内容是什么?(P4)是 软件开发技术和软件工程管理。6. 软件开发模型有哪些?( P9)总体来说包括 传统的瀑布模型和后来兴起的 快速原型模型 具体分为 瀑布模型、快速原型模型、增量模型、喷泉模型、螺旋模型和统一模型7. 可行性研究包括哪几个方面?各包括那些内容?( P20)包括 技术方面、经济方面、社会因素方面(1) 技术可行性是指对设备条件、技术解决方案的实用性和技术资源的可用性的度量。(2) 经济可行性是指希望以最小的成本开发出具有最佳的经济效益的软件产品。其内容 如下: 支出 收益 收益/投资比 投资回收周期 敏感度分析(3) 社会因素方面的可行性主要从法律、用户等方面分析可行性。8. 需求分析有什么必要?在这一阶段常绘制那些图形?(P22) 需求分析的基本任务是软件人员和用户一起完全弄清用户对系统的确切要求。需求分析 的结果是否正确,关系到软件开发的成败,正确的需求分析是整个系统开发的基础。常绘制的图包括:实体-关系图、数据流图、状态转换图、数据字典、层次图、Warnier 图、 IPO 图等。9. 进行系统需求分析时应确定所开发系统的哪些具体要求?(P22) 包括:确定系统的运行环境要求、系统的性能要求、系统功能、接口需求 四个方面。10. 在需求分析阶段为了了解用户的需求,而进行调查研究,常采用的调查研究有哪些?各 包括哪些内容?( P27)( 1)访谈、分发调查表、开会 三种方式(2) 访谈包括正式访谈和非正式访谈。分发调查表即 在调查表中列出需要的内容, 让用户做书面回答。 开会即 可采用开会-谈论-确认的方法进行调查。11. 什么是数据字典?有什么作用?(P36) 数据字典是对数据流图中出现的所有数据元素、数据流、文件、处理的定义的集合。 其作用是在软件分析和设计过程中提供数据描述,数据流程图必不可少的辅助资料。12. 什么叫实体关系图?有什么作用?(P28)即 E-R 图,提供了表示实体、属性、关系的方法。作用是为理解和表示问题域的信息(描述 现实世界概念结构模型)。13. 什么是数据流图?有什么作用?(P30) 数据流图是用来描绘软件系统逻辑模型的图形工具,是描绘信息在系统中的流动和处理的情 况的。 作用是是描绘信息在系统中的流动和处理的情况的。14. 什么是状态转化图?有什么作用?(P35) 状态转化图通过描绘系统的状态以及引起系统转换的事件,来表示系统的行为。作用是 分析对象的状态,正确地认识实体行为并定义它的操作。15. 什么是概要设计?基本任务是什么?(P48 49)( 1) 概要设计也称总体设计,概要设计过程通常有确定设计方案和结构设计两个阶段, 在此同时要进行数据库设计和制定测试计划。( 2)基本任务是确定设计方案和软件结构设计。16. 什么是模块?它有何属性?(P52)( 1) 模块是能够单独命名,有边界元素限定的程序元素的序列。( 2) 具有以下五个属性: 名称、 接口、功能、逻辑、状态17. 人机界面设计应考虑哪些问题?( P72) 应考虑四个问题:系统响应时间、用户帮助设施、出错信息处理、命名交互18. 人机界面设计的过程是什么?(P73)过程包括四个:(1)先创建设计模型,实现模型用户界面原型。(2)用户使用并评估该原型,向设计者反馈对界面的评价。(3)设计者根据用户的意见修改设计并实现下一级原型。(4)不断进行下去,直到用户感到满意为止。19. 什么是模块化?(P53)模块化是指把系统分割成能完成独立功能的模块 ,明确规定各模块及其输入输出规格,使 模块的界面不会产生任何混乱。20. 软件结构设计的基本原理是什么?(P51) 是软件的模块化、模块的独立性、抽象和逐步求精、信息隐蔽和局部化等。21. 代码种类有那些?分别举例说明 ( P76)( 1) 有六种:顺序码、信息快码、归组分类码、助记码、数字式字符码。( 2)顺序码:售票发票、银行支票。信息快码:学生的学号、中华人民共和国行政区代码 归组分类码:公司法 代码为 3252 股份公司法 代码为 32524 助记码:12 英寸电视的代码为 12TV 数字式字符码:计算机中通用的 ASII 码, 组合码:几种代码形态的代码合成的编码22. 黑盒法和白盒法测试软件有什么区别?(P94) 黑盒法又称功能测试,其测试用例完全是根据程序的功能说明来设计的。 白盒法又称结构测试,其测试用例是根据程序内部的逻辑结构和执行路径来设计的。23. 什么叫灰盒法? (P94) 黑盒法和白盒法结合起来进行就称为灰盒法。24. 设计测试方案的目标是什么? (P98 114) 选用尽可能少的高效测试数据,从而尽可能多的发现软件中的错误。25. 什么时逻辑覆盖法?常用的逻辑覆盖技术有哪些?(要求会用各种覆盖技术设计测试用 例 ( P100 )(1)逻辑测试法是一系列测试过程的总称,这些测试是逐渐地、越来越完整地进行通路测试(2)包括八种:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、点覆盖 边覆盖、基本路径覆盖。26. 程序的三种基本结构是什么?如何用N-S图和程序流程图表示它们?(P67、68) 顺序结构、条件选择结构、循环结构。27. 结构化程序的基本方法是什么?( P114) 是将顺序、选择、重复三种基本控制结构进行组合和嵌套,以容易理解的形式和避免使用 GOTO的语句等原则,进行程序设计。28. 软件测试的目的是什么?(P93)(1)测试是为了发现程序中的错误而执行程序的过程。(2) 好的测试方案使测试很可能发现尚未发现的错误。(3) 成功的测试是发现了尚未发现的错误的测试。29. 使用黑盒法测试时,根据什么测试用例的?(P94) 完全是根据程序的功能说明来设计的。30. 使用白盒法测试时,测试数据库应根据什么设计?(P94) 程序内部的逻辑结构和执行路径来设计。31. 采用结构化设计时,在概要设计阶段结束后可以得到什么产品(P49) 模块结构图/概要设计说明书。32. 概要设计阶段的初始结构图是根据什么设计出来的?( P49)需求分析阶段得出的数据流图。33. 需求分析阶段回答的主要问题是什么?(P22)系统必须做什么34. 快速模型法适合那种情况的系统,为什么?(P11)(1)适合 快速开发一个可以运行的原型系统。(2)该系统的功能往往是最终产品能完成的功能的一个子集。请用户使用原型系统,以 便能准确地认识到他们的实际需要是什么,然后书写软件系统的需求规格说明文档 根据这份文档开发的软件可以满足用户的真实需求。这相当于工程上的“样品”,试 用后做适当改进,然后再批量生产。35. 快速原型法首先形成的原型是什么?( P11)系统界面原型。36. 用瀑布模型开发系统时各阶段是用什么来驱动的?(P10)文档(前一阶段的文档)37. 用喷泉模型开发系统时,开发过程有什么特点?(P13) 迭代性和无间隙性。38. 结构设计方法适用于什么模型?(P16) 瀑布模型、增量模型和螺旋模型。39. 需求分析常用的图形工具有哪几种?(P32)实体-关系图、数据流图、状态转换图、数据字典、层次图、Warnier图、IPO图等。40. 过程设计模块算法设计常用的工具是什么?(P51)流程图、N-S图、问题分析图(PAD图)、判定表、判定树、过程设计语言(PDL)等。41. 什么叫耦合? (P54)模块之间的联系程度。42. 什么叫内聚? (P55)模块内的软件元素的联系程度。43. 模块间的耦合应该是高还是低?( P55) 应追求尽可能松散的耦合。44. 模块间的内聚应该是高还是低?( P55)实现尽可能高的内聚。45. 系统结构(SC)图表示模块之间的什么关系?调用。46. 什么叫功能内聚、顺序内聚、通信内聚、过程内聚、时间内聚、逻辑内聚和偶然内聚。( P56)(1)功能内聚:一个模块内所有元素都是完成某一功能所必需的处理对象,有这些元素 组成一个整体,从而完成一个特定的功能。(2)顺序内聚:如果模块内某个成分的输出是另一成分的输入,因而这两个模块必须依 次执行。(3)通信内聚:模块中各成分引用共同的数据。(4)过程内聚:如果一个模块内处理的元素是相关的,必须以特定的次序执行。(5)时间内聚:将需要同时执行的成分放在同一模块中。(6)逻辑内聚:将逻辑上相同或相似的一类任务放在同一模块中。(7)偶然内聚:模块完成一组任务,这些任务之间关系松散,实际上没有什么联系时。47. 什么叫语句覆盖、条件覆盖、判定覆盖、判定条件覆盖、条件组合覆盖、点覆盖、边覆 盖和路径覆盖(要求对各覆盖会设计测试用例 ( P100)(1)语句覆盖:选择足够多的测试数据,是被测试的程序中每个语句至少执行一次。(2)判定覆盖:不仅每个语句都必须至少执行一次,而且每个判定的可能结果都至少执 行一次,即每个分支都至少执行一次。(3)条件覆盖:不仅每个语句都至少执行一次,而且每个判定表达式中的每个条件都取 到各种可能的结果,从而可测试比较复杂的路径。(4)判定条件覆盖:判定条件覆盖要求选取足够多的测试数据,是每个判定表达式都取 到各种可能的结果,并使每个判定表达式中的每个条件都取到各种可能的值。(5)条件组合覆盖:条件组合覆盖要求选取更多的测试数据,使每个判定表达式中条件 的各种可能组合都至少出现一次,从而达到更强的逻辑覆盖标准。(6)点覆盖:把程序流程图中的每个符号看成一个点,将原来连接不同处理符号的箭头 改成连接不同点的有向弧,就可得到一个有向图,称之为程序图。 点覆盖测试要求 选取足够多的数据,使得程序执行时至少经过程序图中的每个点一次。(点覆盖和语 句覆盖的要求是相同的)(7)边覆盖:边覆盖要求序曲足够多的测试数据,是程序执行路径至少经过程序图中每 条边一次。(8)基本路径覆盖:基本路径覆盖要求选取足够多的测试数据,使程序的每条可能执行 路径都至少执行一次。48. 什么叫静态测试法?主要优点是什么?( P94) 静态分析不执行被测试的软件,而是通过对需求分析说明书、软件设计说明书及源程序做结 构检查、流程图分析、编码分析等来找出软件错误。49. 什么叫模块测试?什么叫集成测试?(P95) 模块测试也称单元测试,其目的是集中检验软件设计的最小单元模块,检查每个模块是 否能独立、正确地运行。集成测试是测试和组装软件的系统化技术,在把模块按照设计要求组装起来的同时进行测 试,主要目标是发现与接口有关的问题。50. 什么叫平行运行?有什么必要?(P97)比较重要的软件需要一段试运行时间。此时新开发的系统与原先的老系统同时运行, 这成为平行运行。必要性:( 1)让用户熟悉系统的运行情况,并验证用户手册的文档的正确性。( 2) 若发现问题及时对系统进行修改。( 3)对系统的性能指标进行全面的测试,以保证系统的质量.51. 什么叫面向数据流的设计方法?(P62)在需求分析(SA)阶段用数据流程图(data flow diagram,DFD)来描述数据从系统的输入 端到输出端所经历的一系列变换或处理,在系统设计阶段要将 DFD 图表示的系统的逻辑模 型转化成软件结构设计的描述,可用结构图(SC图)描述。这就是包括SA与SD在内的基 于数据流的系统设计方法。52. 什么叫面向数据结构的设计方法?(P78) 面向数据结构的设计方法,是按输入、输出以及计算机内部存储信息的数据结构进行软件结 构设计的,把对数据结构的描述变换为对软件结构的描述。53. 软件测试的步骤是什么?(P95)五个步骤:模块测试、集成测试、程序审查会和人工运行、确认测试、平行运行。54. 会用结构测试法测试软件55. 集成测试法有哪两种,它们的基本 思想是什么?( P95)子系统测试和系统测试 子系统测试:非渐增法测试 系统测试:渐增法56. 黑盒测试法常用的方法有哪四种?(要求会根据具体情况设计测试用例) 等价类划分法、边界值分析法、错误测试法、57. 什么等价划分法?(P98) 它把所有可能的输入数据分成若干个等价类,每类中的一个典型值在测试中的作用与这一类 中所有其他值得作用相同,因此在每个等价类中只用一组数据作为代表进行测试来发现程序 中的错误。58. 什么叫边界分析法?(P99) 边界分析法与等价类划分法的区别为边界分析要把等价类的每个边界都作为测试数据。59. 什么叫错误推测法?(P99) 错误推测法主要是通过列出某些容易发生错误的特殊情况来选择测试法方案。60. 一个软件通过测试后是否就证明器无错误?(P112) 软件的测试可以发现程序中的错误,但不能证明程序中没有错误,即不能证明程序的正确性。61. 面对对象的方法与传统的结构法设计有什么异同? (P128)OO 方法与传统方法的相同之处:两者都分为面向对象分析和面向对象设计两个步骤,但 分析和设计时所用的概念和表示法是相同的,它把两个步骤结合在一起,不强调分析与设计 之间的严格区分,不同的阶段可以交错、回溯;不过,分析和设计仍然有不同的分工和侧重 点。不同之处:OO的目的是有效地描述和刻画问题领域的信息和行为,以全局的观点来考虑 系统中各种对象的联系,考虑系统的完整性和一致性,是对问题域的完整、直接的映射。62. 面对对象方法学的主要优点是什么?(P130)(1) 与人类习惯的思维方法一致我( 2) 稳定性好(3)可重用性好(4)较易开发大型软件产品(5)可维护性好63. 什么是封装? (P132) 封装就是把对象的属性与方法结合成一个独立的单位,尽可能隐蔽对象的内部细节。64. 什么是继承? (P132) 特殊类的对象拥有其一般类的全部属性与服务成为特殊类对一般类的继承。65. 继承有什么特性? (P132)传递性 :一个对象继承了它所在的类等级中其上层类的全部属性和方法,它的子类有继承 了它的属性和方法。66. 面向对象的四个要素是什么?(P129) 对象、类、继承、消息传递。67. 什么是面向对象的方法?(P193) 面向对象的方法是将数据和处理相结合的方法。68. 什么叫动态测试法?它包括那两种方法?69. 对象的特点是什么? (P131)(1) 以数据为核心 (2) 主动性 (3) 实现了数据封装 (4) 本质上具有并行性 (5) 模块独立性 好70. 什么是类? (131) 类是具有相同数据和相同操作的一组相似对象的定义。71. 什么是实例? (P131) 实例是由某个特定的类所描述的 一个具体的对象。72. 什么是用例? (P135) 用例代表某些用户可见的功能,用于实现一个具体的用户目标。73. 什么是用例图? (P136) 用例图定义了系统的功能需求。用例图从用户角度描述系统功能,并指出各功能的操作者74. 用例图的三个要素? (P136) 例、执行者、通信关系。75. 什么是脚本? (P136) 脚本是用例的实例,即系统的一次具体执行过程。76. 面向对象设计方法和结构化设计方法的关系是什么?(P128) 面向对象设计方法是在汲取结构化思想和有点的基础上发展起来的,是对结构化方法的进一 步发展和扩充。77. 面向对象设计方法和结构化设计方法有什么异同? (同61)78. UML是什么意思? (P133)UML (统一建模语言)是一种描述、构造、可视化和文档化软件的建模语言。79. 什么是用例?什么是用例图?用例图的三个要素是什么?请画出一个你熟悉的系统的 用例图? (P137)80. 什么是类图?类图中的类如何用图形符号表示?(P137) 类图描述类与类之间的静态关系。类图表示系统或领域中实体以及实体之间的关联,由表示 类的类框和表示类之间如何关联的连线所组成的。类的UML图标是一个矩形框,分三个部分,上部写类名,中间写属性,下部写操作(P137)81. 叙述传统的结构化设计开发软件的八个阶段及各阶段主要完成的工作。82. 叙述面向对象开发软件所经历的阶段及各阶段所做的工作。83. 传统的结构化方法与面向对象设计方法主要有什么异同?84. 什么是对象图?基本作用是什么? (P141) 对象图可以看做是类图的实例,能帮助人们理解比较复杂的类图。85. 什么是对象?面向对象方法的四个要素是什么? (P 141 129) 对象是类的实例,四个要素:对象、类、继承和消息传递。86. 面向方法的主要优点是什么?(见62)87. 什么是同步消息?(P135) 表示调用者发出消息后必须等待消息的返回.88. 什么是异步消息?(P135) 发送者发出消息后,不用等待消息处理完成就可以继续执行自己的操作.89. 什么软件维护?(P118) 软件维护就是指在软件产品交付之后对其进行修改,以排除故障,或改进性能和其他属性 或使产品适应改变了的环境。90. 软件维护的种类有哪些?(P118) 改正性维护、适应性维护、完善性维护、预防性维护。91. 软件维护的副作用有哪些?(P123) 编码副作用、数据副作用、文档副作用。92. 什么是软件可维护性? (P128) 软件可维护性是指软件功能被理解、改正、适应和增强的难易程度,可维护性是维护人员对 该软件进行维护的难易程度。93. 决定可维护性的因素有哪些? (P124)1)是否拥有一组训练有素的软件人员2)系统结构是否可理解,是否合理3)文档结构是否标准化4)测试用例是否合适5)是否已有嵌入系统的调试工具6)是否使用合适的程序设计语言7)是否使用标准的操作系统或(1)维护人员的素质(2)系统结构是否可理解 是否合理(3)文档是否齐全94. 对软件可维护性的度量问题可理解成哪些方面? (P124) 可理解性、可测试性、可修改性、可移植性。95. 如何提高软件的可维护性?(P125)(1)明确软件的质量目标(2)利用先进的软件技术工具(3)选择便于维护的程序设计环境(4)采取有效的质量保证措施(5)完善程序的文档96. 非结构化维护和结构化维护的主要区别是什么? (P120) 与非结构化维护相比,结构化维护能减少工作量并提高维护的总体质量97. 维护工作的流程是什么?(P121)(1) 用户提出维护申请(2) 维护组织审查申请报告并安排维护工作(3)进行维护并作详细的维护记录(4)复审98. 什么软件的工程管理?(P219)软件工程管理是通过计划、组织和控制等一系列活动,合理地配置和使用各种资源,以达到 既定目标的过程。99. 估算软件规模有哪些方法?( P220)1)自顶向下估算方法2)自底向上估算方法3)差别估算方法4)专家估算法5)类推估算法6)算是估算法100. 工作量估算有哪些方法?( P221) 自顶向下估算方法、自底向下估算方法、101. 什么是进度计划? (P225)为进行软件项目管理,需要定义当前项目的任务集合,识别关键任务,制定一个详细的进度 表,规定完成各项任务的起止日期,督促项目进度,保证项目按期完成。102Gantt图有什么作用?有什么优点和缺点?(P225)Gannt 图是安排精度计划。优点:简单明了,易画易读易改,使用十分方便。 缺点:不能 显示各项子任务之间的依赖关系,以及那些是关键子任务等。103. 工程网络图有什么作用,有什么有优点和缺点 (P226) 指定工作计划。优点:能明显表示各个子任务之间的依赖关系。缺点:难画难读难改104. 假如让你管理一个软件项目,你计划如何管理?105. 假如让你负责开发一个软件项目,你将采用何种开发方法?需要多少开发人员?如何 分工?各阶段的主要作用是什么?106. 面向对象分析和传统方法分析所做的工作有何相同之处和不同之处?107. 面向对象设计与传统方法设计有何异同?108. 面向对象测试与传统方法的目标是否一致?测试方法有什么不一样?(P177)主要目标一样,用尽可能低的成本和尽可能少的测试用例,发现尽可能多的错误。但是面向 对象程序的封装、继承、多态性等机制,增加了测试和调试的难度。109. 开发一个软件系统一般化那些图,先画那些,后画那些,为什么?110. 面向对象实现时有两类语言可选,你喜欢选哪种,为什么? 原文地址:.en/s/blog_694c9b59010138tl.html
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!