《软件工程考试必备知识点.pdf》由会员分享,可在线阅读,更多相关《软件工程考试必备知识点.pdf(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1、什么是软件?软件的特征?Software=Program+Data+Document(1)能够完成预定功能和性能的可执行指令;(2)使得程序能够适当地操作信息的数据结构;(3)描述程序的操作和使用的文档。软件的特征(相于硬件):(1)软件是逻辑的,而不是物理的产品(2)软件是由开发或工程化而形成的,没有明显的制造过程。(3)软件在运行和使用期间,不存在硬件那样的磨损和老化问题,但它存在退化问题,开发人员必须维护软件。(4)大多数软件是自定的,而不是通过已有构件组装而成的。迄今为止,软件的开发尚未完全摆脱手工的方式。(5)软件成本相当昂贵。(6)软件本身是复杂的。2、什么是软件危机,产生软件
2、危机的原因是什么:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。产生软件危的原因一方面是与软件本身的特点有关;另一方面是由软件开发和维护的方法不正确有关。3、软件工程是什么?软件工程三个要素?软件工程是应用计算机科学、数学及管理科学等原理开发软件的工程。它借鉴传统工程的原则、方法,以提高质量,降低成本为目的。软件工程三要素:方法、过程、工具。4、什么叫软件生命周期?它有哪些阶段?概括地说,软件生命周期是由软件定义、软件开发、软件维护 3 个时期组成的,每个时期又可细分为若干个阶段,分别为:问题定义、可行性研究、需求分析、总体设计、详细设计、编码和单元测试、综合测试以及软件维
3、护。5、软件过程及常用的软件开发模型?软件过程是为了获得高质量所需完成的一系列任务的框架,它规定了完成各项任务的工作步骤。常见的软件开发模型有:瀑布模型(是一种文档驱动的模型,特点是:阶段间距有顺序性和依赖性(想象瀑布的样子,从上至下,联系在一起,上面没有水掉下来下面也就不可能有水)、推迟实现的观点、质量保证的观点)。快速原型模型(先快速建立一个可以运行的程序,然后在不断地完善,他也是线性顺序进行的)、增量模型、螺旋模型(风险驱动)、喷泉模型、RUP、XP 等等。(参考 P14,了解各种开发模型的特点)6、可行性研究的内容:技术可行性、经济可行性、操作可行性、法律可行性、抉择。7、需求分析的基
4、本任务?需求分析是准确地回答“系统必须做什么”,它的任务是确定系统的综合要求,包括:功能需求、性能需求、可靠性和可用性需求、出错处理需求等等。需求分析阶段的产物是需求规格说明书。(需求分析是需求分析人员需求分析人员站在客客户(用户)户(用户)的角度思考问题)8、结构化需求分析过程应该建立哪些模型,分别用什么表示?需求分析过程应该建立三种模型,分别是数据模型、功能模型和行为模型。数据模型用 ER 图(实体联系图)表示,功能模型用数据流图表示,行为模型用状态转换图(状态图)表示。9、总体设计又称为概要设计或初步设计,其任务是设计软件的结构,也就是说确定系统中每个程序是由哪些模块组成的以及这些模块之
5、间的关系。10、详细设计确定模块内部的算法和数据结构,产生描述各模块程序过程的详细文档。11、结构化软件设计基本原理?模块化、抽象、逐步求精、信息隐藏和局部化、模块独立。模块的独立程度可以由两个定性标准度量,分别是内聚和耦合。耦合衡量不同模块彼此之间模块彼此之间互相依赖(连接)的紧密程度。内聚是衡量一个模块内部模块内部各个元素彼此结合的紧密程度。软件设计过程中,追求的是“低耦合高内低耦合高内聚聚”(强内聚弱耦合强内聚弱耦合)。以下两幅图,请好好理解和记忆。耦合耦合内聚内聚12、什么是测试?它的目标是什么?(1)测试是为了发现程序中的错误而重新执行程序的过程(2)好的测试方案是极可能发现迄今为止
6、尚未发现的测试方案(3)成功的测试是发现了迄今为止尚未发现的错误的测试。测试的目的测试的目的是为了发现尽可能多的缺陷,不是为了说明软件中没有缺陷。13、测试方法通常来说分为静态测试和动态测试。白盒测试把程序看成装在一个透明的白盒子里,测试者完全知道程序的结构和处理算法。关心软件内部设计和程序实现,主要测试依据是设设计文档计文档。黑盒测试把程序看作一个黑盒子,完全不考虑程序的内部结构和处理过程。不关心软件内部,只关心输入输出,主要测试依据是需求文档需求文档。14、软件测试要经过哪些步骤,这些测试与软件开发各阶段之间有什么关系?单元测试(对应于编码)、集成测试(对应于详细设计)、系统测试(对应于总
7、体(概要)设计)、验收测试(对应于需求分析)如下图所示15、白盒测试技术有:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件/组合覆盖等等。(P162),可能会考应用题,记得看看是怎么设计的哦!16、黑盒测试技术有:等价类划分和边界值分析。17、调试是测试发现错误之后排除错误的过程,调试不是测试,但它总是发生在测试之后,调试的途径有:蛮干法、回朔法、原因排除法。18、UML:Unified Modeling Language 统一建模语言.作用是用来建立模型(是一种建模语言,不是程序设计语言)。UML 的特点是:统一的标准:已成为面向对象的标准化的统一的建模语言。面向对象:支持面向对象方法.
8、可视化、表示能力强大独立于过程概念明确,简洁,结构清晰,容易掌握。关系:UML 定义的模型元素模型元素之间的关系,包括四种:关联、泛化、实现、依赖。19、UML 共定义了 9 种图,分别是:用例图、类图、状态图、活动图、队形图、构件图、顺序图、部署图、协作图。(记得查看第 7 讲的 PPT,可以帮助掌握和理解。)20、状态图与活动图(都属于行为图)的比较:(1)描述对象不同,状态图:描述对象状态及状态之间的转移;活动图:描述从活动到活动的控制流。(2)使用场合不同。状态图:描述对象在其生命期中的行为状态变化;活动图:描述过程的流程变化。21、顺序图与协作图(都属于交互图)的异同:(1)顺序图和
9、协作图都属于交互图交互图,用来描述对象之间的动态关系。(2)顺序图强调消息的时间顺序,协作图强调参与交互的对象的组织关系。(3)顺序图和协作图在语义上是等价的,两者可以相互转换。22、面向对象的基本概念:封装、继承、多态、重载。(P213)23、面向对象的基本设计原则:LSP(The Liskov SubstitutionPrinciple)里氏替换原则。OCP(Open-Close Principle)开放封闭原则。SRP(Single Responsibility Principle)单一职责原则。ISP(Interface Segregation Principle)。接口隔离原则 DIP(Dependency Inversion Principle)依赖倒置原则。