《2022年软件工程名词解释 .pdf》由会员分享,可在线阅读,更多相关《2022年软件工程名词解释 .pdf(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、学习好资料欢迎下载Adaptive maintenance适应性维护: 为使 软件产品 在新的环境下仍能使用而进行的维护,称为适应性维护。Data flow diagram数据流图:描述系统中数据流程的图形工具,它标识了一个系统的逻辑输入和逻辑输出,以及把逻辑输入转换为逻辑输出的加工过程。baseline基线: 它提供一个正式标准,随后的工作基于此标准,并且只有经过授权后才能变更这个标准。建立一个初始基线后,以后每次对其进行的变更都将记录为一个差值 ,直到建成下一个基线。Big-bang testing一次性组装测试:也叫集成测试,是单元测试的扩展,最简单的形式是两个已经测试过的单元组成一个整
2、体,并且测试他们的接口。Black box 黑盒:是对一个项目组建造的软件的修改标识,组织和控制的技术,其目标是通过最大限度的减少错误,来最大限度提高生产率。白盒测试:也称结构测试或透明盒测试,测试应用程序 的内部结构或运作,而不是测试应用程序的功能。Software configuration item软件配置项:软件生存周期 各个阶段活动的产物经审批后即可称之为软件配置项。为了配置管理而作为单独实体处理的一个工作产品或软件。Configuration management配置管理,配置管理是对 软件产品 及其开发过程和生命周期进行控制、规范的一系列措施 。Corrective mainte
3、nance 改正性维护:在软件交付运行以后,由于开发阶段测试工作的不彻底,不完全,一些隐藏的软件错误在系统运行的过程中逐步暴露出来,通常把发现和改正这类错误的过程叫做改正性维护。Coupling 耦合:何亮不同模块之间接口的相对独立性。Integration testing集成测试:在单元测试的基础上,将所有模块按照概要设计组装成为子系统或系统进行测试精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 12 页学习好资料欢迎下载cohesion内聚:衡量一个模块内部各个元素彼此结合的紧密程度。Detailed design详细设计:是对概要
4、设计的一个细化,就是详细设计每个模块实现算法所需的局部结构。Test case 测试用例: 是一组条件或变量, 测试者根据它来确定应用软件系统是否正确工作。Program design language 过程设计语言:它是用正文现实表示数据和处理过程的设计工具。模块化:把软件按照规定原则,划分为一个个较小的相对独立的但又相对关联的部件prototyping原型:目标系统软件的一个可操作的模型,它实现了目标软件系统的某些重要方面的功能。Information hiding信息隐蔽:模块应该设计设计的使共所信息(过程和数据)对于哪些不需要这些信息的模块来说是隐蔽的,每个模块只完成一个相对独立的特定
5、功能,模块这件仅仅叫唤哪些为完成系统功能而必须交换信息。requirement软件需求:用户对目标软件系统在功能,性能,介为,设计约束等方面的期望Requirement analysis需求分析:通过对应用问题及其环境的分析与理解,采用一系列的分析方法和技术,将用户的需求逐步精确化,完全化,一致化,最终形成需求规格说明文档的过程。software软件:软件 = 程序 + 数据 +文档Software life cycle 软件生命周期:软件产品从形成概念开始,经过定义,开发,使用和维护知道最后退役的过程Stepwise refinement逐步求精: 随着软件开发过程的进展,在软件结构每一层中
6、的模块,表示了对软件抽象层次的一次精化。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 12 页学习好资料欢迎下载Structured program结构化编程:一种编程典范,采用子程序、for 循环以及while 循环等结构,来取代传统的goto 。testing软件测试:使用人工或自助手段来运行或测定某个系统的过程Walk-through代码走查:是一个开发人员与构架师讨论代码的过程Waterfall model瀑布模型:将软件生存周期的各项活动规定为按固定顺序而连接的若干阶段工作,形如瀑布流水。Regression testing
7、回归测试,在发生修改之后重新测试前的测试保证修改的正确性Unit testing单元测试:是开发者编写的一小段代码,用于检测被测代码的一个很小的很明确的功能是否正确。/ 指对软件中的最小可测试单元进行检查和验证。1、软件的特点:P31软件是一种逻辑实体,具有抽象性2软件的生产与硬件的生产存在某些相同点,但二者有根本上的不同。3软件的维护更为复杂,成本更高。4软件在运行和使用期间,没有硬件的机械磨损,老化问题,但软件存在退化问题5大多数软件是根据客户实际需求制定的,而不是通过已有构件组装而成的。2、计算机软件的发展阶段,各有何特点?P2 第一阶段:编写程序只有低级语言,不存在什么系统化的方法,程
8、序的质量完全依赖于程序精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 12 页学习好资料欢迎下载员个人的技巧。第二阶段:高级程序设计语言出现,开始用工程化的方法解决软件危机问题。第三阶段: 分布式系统出现,硬件的发展使软件危机加剧。开始研究软件工程学的科学理论、方法等一系列问题。第四阶段:面向对象的技术的出现,多媒体技术快速发展。/3 、什么是软件危机?其产生的原因是什么?P5 软件危机是指由于落后的软件生产力方式无法满足迅速增长的计算机软件应用需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。原因: 1和软件本身的特点有关2
9、和软件开发与维护的方法不正确有关/4 、什么是软件工程,其目标和内容是什么?P6 软件工程, 将系统化的, 规范的, 可度量的方法应用于软件的开发,运行和维护的过程。目标:在给定的成本和进度前提下,开发出具有可修改性,可理解性,可维护性,有效性,可靠性,可适应性,可移植性,可跟踪性和互化性并且满足用户需求的软件产品内容5、什么是软件生存周期模型?它有哪些主要模型?软件周期模型:即软件的开发模型,清晰直观的反映了软件开发的全部过程、所涉及的活动和任务结构框架,并指出了开发各阶段的关系、开发活动的衔接情况。模型:瀑布模型,原型模型,螺旋模型,增量模型,喷泉模型,迭代模型。6、什么是软件生命周期?包
10、括哪些阶段?各阶段有哪些活动?P10我们把软件产品从形成概念开始,经过定义、开发、使用、维护直到退役的全过程称为软件生命周期。软件定义:问题定义、系统的可行性研究、需求分析软件开发:概要设计、详细设计、编码、软件测试软件使用维护:软件发布与实施、软件维护退役:版本更新或退役精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 12 页学习好资料欢迎下载7、瀑布模型和原型模型的特点:P12瀑布模型特点:阶段间具有顺序性和依赖性关系、推迟实现、质量保证缺点:逆转性差,错误的传递会采取发散扩大的方式。原型模型的特点:1适合需求不确定的情况2使用软件
11、重用技术3缩短了开发周期,降低成本8、什么是软件开发方法?软件开发有哪些主要方法?定义:软件开发过程所遵循的办法和步骤。主要方法: 1结构化方法 2面向对象的方法/9 、讲述软件需求,需求分析,需求建模概念,含义与区别:p26 ,p38 软件需求:指用户对目标软禁系统在功能,性能,行为,设计约束等方面的期望,这种期望可能是原始的,笼统的,也可能是抽象的太细节化的需求分析 :通过对应用问题及环境的分析与理解,采用一系列的分析方法和技术,将用户的需求逐步精确换,完全化,一直化,最终形成需求规格说明文档的过程需求建模:为了理解事物所做出的一种抽象,用符号语言对事物屋歧义的书面描述。/10 、可行性研
12、究的目标及主要内容是什么?目标:用最小的代价在尽可能短的时间内确定该软件项目是否能够开发是否值得去开发内容: 1经济可行性 2技术可行性 3方案可行性 4社会环境和人的可行性/11 、成本效益分析可用哪些指标进行度量?精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 12 页学习好资料欢迎下载/12 、需求分析各阶段的基本任务是什么?P28 1明确所开发的软件必须具备什么样的功能,获得当前系统的物理模型2抽象出当前系统的逻辑模型建立目标系统的逻辑模型3为了对目标系统做完整的描述,还需要对得到的逻辑模型做一些补充4编写文档5需求验证13 、
13、常见的初步软件需求获取的方法有哪些?为什么用这些方法进行需求获取?P331访谈与会议2观察用户工作流程3建立联合小组4快速原型法5基于本体的需要获取方法。为了准确、全面的获取软件需求的信息。14 、简述需求分析阶段的过程P36问题识别、分析与综合、编制需求分析阶段的文档、需求验证。/15 、可行性研究的具体步骤1确定项目规模和目标精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 12 页学习好资料欢迎下载2研究正在运行的系统3建立新系统的高层逻辑模型4导出和评价各种方案5推荐可行的方案6编写可行性研究报告/16 、在软件需求分析时,应首先
14、建立当前系统的物理模型,再根据物理模型建立当前系统的逻辑模型,试问,什么是当前系统的物理模型?当前系统的物理模型与逻辑模型有什么区别?P28 物理模型: 确定待开发软件系统的系统元素,并将功能和数据结构分配到这些系统元素中,它是软件的基础。与物理模型不同,逻辑模型很是实现机制与细节,只描述系统要完成的功能和要处理的数据。/17 、什么是软件的概要设计?该阶段的基本任务是什么?软件的概要设计:设计出软件的总体结构框架基本任务 :1设计软件系统结构(软件结构)2数据结构及数据库设计3编写概要设计文档4评审/18 、详细设计的基本任务是什么?有哪几种描述方法?基本任务: 1为每个模块进行详细的算法设
15、计2为每个模块内的数据结构进行设计3对数据精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 7 页,共 12 页学习好资料欢迎下载库进行设计 4其他设计 5编写详细设计说明书6评审描述方法:程序流程图2PAD 图3过程设计软件/19 、软件设计的基本原理包括哪些?P51 1抽象与逐步求精2模块化 3信息屏蔽 4模块独立20 、衡量模块独立性的两个标准是什么?个表示什么含义?P571内聚,衡量一个模块内部各个元素彼此结合的紧密程度2耦合,衡量不同模块之间的相对独立性21 、模块的内聚有哪几种?各表示什么含义?P611巧合内聚 2逻辑内聚 3时间内聚,
16、4过程内聚 5通信内聚 6信息内聚 7功能内聚22 、模块的耦合有几种?各表示什么含义?P571非直接耦合 2数据耦合 3标记耦合 4控制耦合 5外部耦合 6公共耦合 7内容耦合23 、结构化程序设计的基本要点是什么?P76任何程序逻辑都可以用顺序,选择,循环三种基本控制结构,并且每个代码块只有一个入口和一个出口,逐步求精,则称这个程序是结构化的。结构化设计方法的主要思想是进行逐层分解和模块化。/25 、什么是结构分析方法?该方法使用什么描述工具?机构化分析方法:一种利用自顶向下逐层分解,由粗到细,有复杂到简单技术的求解方法精选学习资料 - - - - - - - - - 名师归纳总结 - -
17、 - - - - -第 8 页,共 12 页学习好资料欢迎下载描述工具 1数据流图 2实体关系图 3数据字典 4描述基本加工的小说明/26 、 什么是数据流图?作用是什么?其中个符号表示什么含义?P87 数据流图是描述熟路流程的图形工具,它标识了一个系统的逻辑输入和逻辑输出,一级把逻辑输入转换逻辑输出所需的加工处理。/27 什么是数据字典?作用是什么?有哪些条目?P94 数据字典是软件分析工程中对数据的描述,是数据流程图的必不可少的辅助资料。条目:数据项条目,数据流条目,数据库文件条目/28 、简述如何画分层数据流图?对分层数据流图的审查有哪些审查要点.P89-92 29 、什么是“变换流”,
18、什么是“事务流”?P104变换流:信息通常外部形式进入系统,经过处理后又以这种形式离开系统。事务流:信息由外部形式变换为内部形式后到达事务中心,事务中心根据不同结果从若干路径中选择一条继续执行。30 、试述“变换分析”,“事务分析”设计步骤P106变换映射:把DFD 图划分为输入、变换和输出三个部分建立初始SC 图的框架分解 SC 图的各个分支事务映射:在DFD 图中确定接收部分、事务中心和发送部分画出 SC 框架图分解 SC 图的各个分支精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 9 页,共 12 页学习好资料欢迎下载按照优化规则改进初始SC
19、 图,获得最终SC 图31 、简述哪些启发式设计策略可以帮助软件设计人员改善软件质量、优化软件结构?模块的高独立性和规模适中保持高扇入和低扇出模块的作用域应在控制域之内降低模块接口的复杂度33 、什么是UML ?为什么使用UML ?P118UML是统一建模语言,用来对面向对象开发系统的产品进行说明,可视化和编制文档的方法。 UML 是用来描述建模活动的,有利于更好的理解和认识软件。34 、在 UML 中用例图的作用是什么,其包括哪些符号?作用:捕获系统中用户的需求。符号:系统,参与者,用例,参与者与用例的联系,用例与用例之间的关系35 、用例建模的步骤:P1251识别参与者 2识别用例 3识别
20、关系 4建模36 、什么是用例规约?包括哪些基本内容?什么是基本流和备选流?37 、在 UML 中的状态图,活动图,时序图在系统分析中各起到什么作用?状态图:用来描述对象、子系统、系统在生命周期中响应外部事件的状态转换行为,通过状态的变化来描述系统功能模型的事项过程精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 10 页,共 12 页学习好资料欢迎下载活动图:主要目的是描述动作以及对象状态改变的结果。有助于理解系统高层活动的执行行为,通过其可以深入描述系统功能的实现流程P148 时序图:是一种强调消息时间顺序的交互图,是一种详细表示对象之间以及对象
21、与系统外部的参与者之间动态联系的图形文档,它详细而直观地表现了一组相互协作的对象在执行一个用例的行为为依赖关系,以及操作和消息的时序关系。/38 、简述关联和依赖的区别关联表示两个类的对象之间存在某种意义上的联系依赖表示描述两个模型元素(类、用例等)之间的语义连接关系/ 41 、软件维护的副作用有哪些?1修改编码的副作用2修改数据结构的副作用3修改文档的副作用42 、什么是白盒测试?有哪些覆盖标准?对他们的检错能力进行比较?白盒测试法:全面了解程序内部逻辑结构,对所有逻辑路径进行测试。覆盖标准: P206 检错能力: P206 43 、什么是黑盒测试法?有哪几种方法?各有什么特点?P198黑盒
22、测试,着眼于程序外部结构,不考虑内部逻辑结构,针对软件界面和软件功能进行测试。方法:等价类划分,边界值分析,因果图法,错误推测法,比较测试44 、软件测试要经过哪些步骤?这些测试与软件开发个阶段之间有什么关系?45 、单元测试有哪些内容?测试中采用什么方法?P213 ,P214精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 11 页,共 12 页学习好资料欢迎下载46 什么是集成测试?非渐增式测试与渐增式测试有什么区别?渐增式测试如何组装模块?P2115 ,216,21747 、软件维护有哪些内容?P22948 、何为非结构化维护和结构化维护?P231精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 12 页,共 12 页