软件工程考试复习名词解释整理

合集下载

软件工程复习资料名词解释

软件工程复习资料名词解释

名词解释1软件工程2软件宽度3软件测试4软件维护5软件质量保证6软件危机7软件生存周期8白盒法9软件维护10数据字典11软件生存周期12内聚性13软件维护14集成测试15软件16软件宽度17数据流图18黑盒测试19软件工程20软件深度21数据字典22白盒测试31.经济可行性解:进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资开发。

[解析]对于一个系统所必须要衡量的是经济上是否合算,经济可行性的范围很广,包括效益分析、潜在市场前景等。

32.社会可行性解:要开发的项目是否存在任何侵犯、妨碍等责任问题,要开发项目目的运行方式在用户组织内是否行得通,现有管理制度、人员素质、操作方式是否可行。

[解析]社会可行性包括合同、责任、侵权等技术人员不甚了解的诸多问题。

33.投资回收期解:投资回收期就是使累计的经济效益等于最初的投资费用所需的时间。

[解析]通常我们用投资回收期来衡量一个开发项目的价值,投资回收期越短,就越快获得利润。

34.对应关系解:即有直接因果关系在程序中可以同时处理。

[解析]对应关系是指数据单元在数据内容上、数量上和顺序上有直接的因果关系,对于重复的数据单元,重复的次序和次数都相同才有对应关系。

35.结构冲突解:输入数据与输出数据结构找不到对应关系的情况,称为结构冲突。

23 [解析]使用JSP方法时会遇到此类结构冲突问题,对此,Jackson提出了引入中间数据结构或中间文件的办法,将冲突部分分隔开来,建立多个程序结构,再利用中间文件把它们联系起来,构成一个系统的整体。

软件工程复习题名词解释部分

软件工程复习题名词解释部分

1.软件生存周期模型是描述软件开发过程中各种活动如何执行的模型。

2.数据字典(DD)数据字典是用来定义数据流图中的各个成分的具体含义的。

它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。

3.内聚性内聚性是模块独立性的衡量标准之一,它是指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。

4.JSP方法JSP方法是面向数据结构的设计方法,其定义了一组以数据结构为指导的映射过程,它根据输入,输出的数据结构,按一定的规则映射成软件的过程描述,即程序结构。

5.多态性指相同的操作或函数、过程可作用于多种类型的对象上并获得不同结果。

或(不同的对象,收到同一消息可以产生不同的结果。

)6.信息隐蔽信息隐蔽是指在设计和确定模块时,使得一个模块内包含的信息(过程或数据),对于不需要这些信息的其他模块来说是不能访问的。

7.集成测试集成测试也称组装测试或联合测试。

是指在单元测试的基础上,将所有模块按照设计要求组装成一个完整的系统进行的测试。

组装模块的方式有两种:渐增式测试和非渐增式测试。

8.多态性多态性是指相同的操作或函数、过程可作用于多种类型的对象上并获得不同结果。

不同的对象,收到同一消息可以产生不同的结果,这种现象称为多态性。

9.CASECASE是一组工具和方法的集合,可以辅助软件开发生命周期各阶段进行软件开发。

CASE 把软件开发技术、软件工具和软件开发方法集成到一个统一而一致的框架中,并且吸收了CAD(计算机辅助设计)、软件工程、操作系统、数据库、网络和许多其他计算机领域的原理和技术。

因而,CASE领域是一个应用、继承和综合的领域。

10.SA结构化分析方法是需求分析中使用最多的方法之一,适用于数据处理类型软件的需求分析。

基本思想是采用自顶向下,逐步分解的方法分析整个系统,有效地控制系统开发的复杂性。

11.软件工程过程软件工程过程规定了获取、供应、开发、操作和维护时,要实施的过程、活动和任务。

软件工程名词解释汇总

软件工程名词解释汇总

软件工程名词解释汇总软件工程名词解释汇总1. 软件工程(Software Engineering)软件工程是一门研究和应用如何以系统化的、可靠的、可重复的方法开发和维护软件的学科。

它涉及软件生命周期的各个阶段,包括需求分析、设计、编码、测试、部署和维护等。

2. 软件生命周期(Software Lifecycle)软件生命周期指的是软件从概念、需求定义到退役或废弃的全过程。

它包括需求分析、系统设计、编码、测试、部署和维护等阶段。

软件生命周期管理是软件工程的核心概念之一。

3. 需求工程(Requirements Engineering)需求工程是指在软件开发过程中,对用户需求进行系统和详细的分析、定义和管理的过程。

它包括需求获取、需求分析、需求规格和验证等活动,旨在确保软件开发满足用户的实际需求。

4. 设计模式(Design Pattern)设计模式是指在软件开发中经常遇到的一些设计问题的解决方案。

它描述了一种在特定环境下重复出现的问题和解决该问题的方法。

设计模式有助于提高软件的可维护性、可扩展性和重用性。

5. UML(Unified Modeling Language)UML是一种用于软件系统建模的标准化图形化语言。

它提供了一组符号和符号规则,用于描述系统的结构、行为和交互。

UML可以帮助软件工程师更好地理解和沟通软件设计和开发过程中的各个方面。

6. 敏捷开发(Agile Development)敏捷开发是一种迭代、增量和协作的软件开发方法。

它强调团队成员之间的密切合作和快速响应变化,以满足客户需求。

敏捷开发通过迭代开发、持续集成和快速反馈等方式,提高软件开发的灵活性和适应性。

7. 软件测试(Software Testing)软件测试是指通过运行系统或组件,以评估其是否满足特定需求、以检测其缺陷或以衡量其质量的过程。

软件测试可以分为功能测试、性能测试、安全测试等不同的类型。

8. 软件质量保证(Software Quality Assurance)软件质量保证是一种通过制定和实施相关的标准和流程,以确保软件开发过程和软件产品符合预期质量要求的活动。

《软件工程》期末简答和名词解释

《软件工程》期末简答和名词解释

简答:(1)软件定义software 软件工程定义Software Engineering 软件危机software crisis 软件危机The software:计算机系统中的软硬件是相互依存的,它是程序、数据和相关文件的全部集合Software Engineering:软件工程是指研究软件生产的一门学科,也就是将完善的工程原理应用于经济地生产既可靠又能在实际机器上有效运行的软件。

software crisis:称软件开发和维护过程中所中遇到的这一系列严重问题为软件危机.导致软件危机的情况:1.对软件开发的成本和进度估计不准2.用户不满意3.程序质量差4.程序无法维护5.软件没有合适的文档6.开发软件的成本逐年上升7.软件开发的速度跟不上计算机更新的速度(2)软件生存期定义software survivalr software survival. 如同任何其他事物一样,软件也有一个孕育、诞生、成长、成熟、衰亡的生存过程,一般称之为计算机软件的生存期。

包含软件定义(software definition),软件开发(software development)和软件维护(software maintenance)3个时期。

(1)软件测试定义software testingSoftware testing is a procedure to find errors in program.为了发现程序中的错误而执行程序的过程。

软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计出一批测试用例,并利用测试用例来运行程序,以发现程序错误的过程。

(2)黑盒测试Black-box testing 白盒测试white-box黑: Program is tested according to the requirement specification without considering the internal structure of program. 黑盒测试时完全不考虑程序内部的结构和处理过程,只按照规格说明书的规定来检查程序是否符合它的功能要求。

软件工程复习要点——名词解释

软件工程复习要点——名词解释
一个可行性研究报告的主要内容如下:(1)引言:说明编写本文档的目的;项目的名称、背景;本文档用到的专门术语和参考资料。(2)可行性研究前提:可行性研究前提。说明开发项目的功能、性能和基本要求;达到的目标;各种限制条件;可行性研究方法和决定可行性的主要因素。(3)对现有系统的分析:说明现有系统的处理流程和数据流程;工作负荷;各项费用支出;所需要各类专业技术人员的数量;所需要各种设备;现有系统存在什么问题。(4)所建议系统的技术可行性分析:所建议系统的简要说明;处理流程和数据流程;与现有的系统比较的优越性;采用所建议系统对用户的影响;对各种设备、现有软件、开发环境、运行环境的影响;对经费支出的影响;对技术可行性的评价。(5)所建议系统的经济可行性分析:说明所建议系统的各种支出,各种效益;收益投资比;投资回收周期。(6)社会因素可行性分析:说明法律因素,对合同责任、侵犯专利权、侵犯版权等问题的分析;说明用户使用可行性,是否满足用户行政管理、工作制度、人员素质的要求。(7)其他可供选择方案:逐一说明其他可供选择的方案,并说明未被推荐的理由。(8)结论意见:说明项目是否能开发;还需要什么条件才能开发;对项目目标有什么变动等。
4、集成测试
集成测试也称组装测试或联合测试。是指在单元测试的基础上,将所有模块按照设计要求组装成一个完整的系统进行的测试。组装模块的方式有两种:渐增式测试和非渐增式测试。
5、信息隐藏
是指在设计和确定模块时,使得一个模块内包含的信息(过程或数据),对于不需要这些信息的其他模块来说是不能访问的。
6、CASE
A.可理解性和可测试性B.效率和可移植性
C.效率和可修改性D.效率和结构好
11、面向对象方法学的出发点和基本原则是尽可能模拟人类习惯的思维方式,分析、设计和实现一个软件系统的方法和过程,尽可能接近于人类认识世界解决问题的方法和过程。因此面向对象方法有许多特征,如软件系统是由对象组成的;C_;对象彼此之间仅能通过传递消息互相联系;层次结构的继承。

软件工程名词解释汇总

软件工程名词解释汇总

软件工程名词解释汇总软件工程名词解释汇总1·软件工程(Software Engineering):软件工程是一门应用计算机科学和数学原理以及工程方法论来开发、维护和管理软件项目的学科。

2·软件生命周期(Software Development Life Cycle, SDLC):软件生命周期是指软件开发过程的不同阶段,包括需求分析、设计、编码、测试和部署等。

3·需求工程(Requirements Engineering):需求工程是软件工程中的一个重要阶段,旨在理解和定义用户需求,并将其转化为可执行的软件规格说明。

4·设计模式(Design Pattern):设计模式是在软件设计中反复出现的问题的解决方案,它是一种被广泛接受和验证的经验总结。

5·可行性研究(Feasibility Study):可行性研究是对软件项目进行评估,以确定项目的可行性和可行性报告。

6·原型开发(Prototyping):原型开发是一种快速开发技术,通过创建软件的原型来验证系统需求,以便更好地满足用户的期望。

7·面向对象(Object-Oriented):面向对象是一种软件开发方法,其基本思想是以对象为中心,将问题划分为一组相互作用的对象。

8·可移植性(Portability):可移植性是指软件在不同平台上的可运行性,包括硬件和操作系统。

9·故障排除(Troubleshooting):故障排除是一种通过逐步分析和排除故障来修复软件或硬件故障的方法。

10·用户界面(User Interface, UI):用户界面是用户与软件交互的界面,包括图形界面、命令行界面等。

11·数据库管理系统(Database Management System, DBMS):数据库管理系统是一种用于管理和组织数据的软件系统,它提供了对数据的存储、检索和操作等功能。

软件工程名词解释和简答题总结

软件工程名词解释和简答题总结

软件工程名词解释和简答题总结软件工程是现代技术领域中的一个重要分支,它涉及软件开发的各个方面。

在软件工程的学习和实践过程中,我们会遇到大量的专业名词和简答题。

本文将对一些常见的软件工程名词进行解释,并对一些常见的简答题进行总结。

一、软件工程名词解释1. 软件开发生命周期(Software Development Life Cycle,SDLC):指软件产品从定义需求到交付使用的全过程,包括需求分析、软件设计、编码测试、部署和维护等阶段。

2. 需求工程(Requirement Engineering):指在软件开发的早期阶段通过系统分析和用户需求收集,明确用户需求、软件功能和性能等要求的过程。

3. 原型化开发(Prototyping):指在软件开发的早期阶段建立可操作的原型,以便用户和开发者共同验证需求、功能和界面设计。

4. 面向对象(Object-Oriented):是一种软件开发方法,将程序设计看作是对象之间的消息传递,以对象为中心进行分析和设计。

5. UML(Unified Modeling Language):是一种用于软件工程的标准建模语言,用于描述软件系统的结构和行为,包括类图、时序图、活动图等。

二、简答题总结1. 简述软件工程的目标和原则。

软件工程的目标是通过科学化、系统化和规范化的方法,提高软件开发过程的质量和效率,满足用户需求。

其原则包括可行性、适应性、可理解性、可移植性、可维护性等。

2. 解释并比较瀑布模型和敏捷开发模型。

瀑布模型是软件开发中的经典模型,将软件开发过程划分为需求分析、设计、编码、测试和维护等阶段,各阶段按顺序进行,流程线性。

而敏捷开发模型强调快速迭代和用户反馈,将开发过程划分为多个迭代周期,每个周期完整包含需求分析、设计、编码、测试和交付等阶段。

3. 什么是软件需求规格说明书?软件需求规格说明书是在需求工程阶段编写的文档,用于明确软件系统的需求、功能和性能等要求。

软件工程名词解释必考

软件工程名词解释必考

1.软件生命周期:一个软件从提出开发要求开始直到改软件报废为止的整个周期。

2.软件生命周期模型:是描述软件开发过程中各种活动如何执行的模型。

3.瀑布模型:将软件生命周期各个活动规定为依线性顺序连接的若干阶段的模型。

4.增量模型:是一种非整体开发模型,开发一部分向用户展示一部分。

5.螺旋模型:是一种风险驱动模型,适合大型软件开发。

6.喷泉模型:是一种以用户需要为动力,以对象作为驱动的模型。

是一种典型的面向对象生命周期模型。

7.结构化分析(SA):利用图形等半形式化的描述方式表达需求,自顶向下逐层分解的分析策略,面向数据流进行分析的方法。

8.数据流图(DFD):描绘信息流和数据从输入移动到输出的过程中所经受的变换的图形化技术。

9.数据字典(DD):是描述数据的信息的集合,是对系统中使用的所有数据元素的定义的集合。

10.状态转换图:通过描绘系统的状态及系统状态转换的事件,表示系统的行为。

11.结构化设计(SD):以需求分析阶段产生的数据流图为基础,按一定的步骤映射成软件结构即结构化设计。

12.模块化:模块化就是把程序划分成可独立命名且独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。

13.抽象:抽象就是抽出事物的本质特征而暂时不考虑它们的细节。

14.信息隐藏:在设定和确定模块时,使得一个模块内包含的信息,对于不需要这些信息的模块来说,是不能访问的。

15.耦合:耦合是对一个软件结构内不同模块直接互联程度的度量。

16.内聚:内聚是一个模块内各个元素彼此结合的紧密程度的度量。

17.软件测试:软件测试是一个为了寻找软件错误而运行程序的过程。

目的就是为了发现软件中的错误。

好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案;成功的测试是发现了至今为止尚未发现的错误的测试。

18.黑盒测试法:是把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程。

也就是说,黑盒测试是在程序接口进行的测试,它只检查程序的功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收数据产生正确的输出信息,并且保持外部信息的完整性。

(整理)软件工程名词解释

(整理)软件工程名词解释

(整理)软件工程名词解释软件工程名词解释软件工程是一门科学与技术,旨在设计、构建、管理和维护复杂软件系统的原则和方法。

在软件开发过程中,会涉及到许多专业术语和概念。

本文将对一些常见的软件工程名词进行解释和说明。

需求分析(Requirements Analysis)需求分析是软件开发过程中的第一步,旨在详细了解和定义用户对软件系统的需求。

通过与与用户和其他相关利益相关方的沟通和交流,需求分析师能够收集和理解用户需求,从而为软件设计和开发提供基础。

面向对象(Object Oriented)面向对象是一种软件设计和开发的范式,强调将软件系统分解为一个个独立的对象,并定义了这些对象之间的关系和交互方式。

面向对象的设计理念更加灵活和可拓展,能够提高软件的复用性和维护性。

原型(Prototype)原型是在软件开发过程中用于验证和改进设计的预备模型。

通过创建原型,开发人员能够更好地与用户交流,了解和确认软件系统的功能和界面等设计要素。

原型有助于减少需求变更和开发错误的风险。

迭代(Iteration)迭代是软件开发过程中的一个重要概念,指的是将软件开发划分为多个可重复的步骤。

在每一次迭代中,开发团队会对软件进行设计、编码、测试和评估等环节,从而逐步改进软件系统。

测试驱动开发(Test-Driven Development)测试驱动开发是一种软件开发方法,将测试作为开发的驱动力。

在这种方法中,开发人员首先编写测试用例,然后根据测试用例进行代码编写,最后再进行代码的重构和改进。

测试驱动开发有助于确保软件系统的质量和可靠性。

编码规范(Coding Standards)编码规范是一套开发人员在编写程序代码时应遵循的规则和标准。

编码规范的制定可以提高代码的可读性和可维护性,降低软件系统出错的风险。

常见的编码规范包括命名规范、缩进规范、注释规范等。

版本控制(Version Control)版本控制是一种用于管理和追踪软件开发过程中代码变更的工具。

软件工程(考点复习整理)

软件工程(考点复习整理)

名词解释:软件工程:1.将系统化的、严格约束的、可量化的方法应用于软件开发‘运行和维护,即将工程化应用于软件;2.对系统化的、严格约束的、可量化的方法的研究。

软件生存周期:是指软件产品或者软件系统从产生、投入使用到被淘汰的全过程。

软件过程:是生产一个最终满足且达到工程目标的软件产品所需的步奏。

CMM:能力成熟度模型,目的你是提供一种评价软件承接方能力的方法,同时也用于帮助软件组织改进其软件过程。

CMMI:能力成熟度模型集成,是若干过程的模型的综合和改进,是支持多个工程学科和领域系统的、一致的过程改进框架。

CASE:计算机辅助软件工程。

软件:软件是指计算机程序、数据结构和一些相关的工作产品,用实现所需的逻辑方法、规程或者控制。

白盒测试:根据程序内部的逻辑结构及有关信息设计测试用例,检查程序中所有逻辑路径是否都按预定的要求正确的工作。

黑盒测试:测试人员完全不考虑程序内部逻辑结构和内部特性,只依据程序的需求规格说明说,检查程序的功能是否符合它的功能需求。

等等等......4.2 软件设计原则1.抽象与逐步求精抽象:要求人们将注意力集中在某一层次上思考问题,忽略低层次的细节。

抽象的过程是从特殊到一般的过程。

手段:过程抽象和数据抽象。

逐步求精:把问题的求解过程分解成若干步奏或者阶段,每一步都比上一步更精确,更接近问题的解法。

逐步求精与抽象是一对互补的概念。

2.模块化即把软件按照规定原则,划分为一个个较小的,相互独立又互相关联的部件。

复杂问题分解成可以管理的片段会使解决问题更加容易。

优点:1.使软件容易调试与测试,有助于提高软件的可靠性;2.提高软件的可修改性;3.使软件结构清晰。

3.信息隐藏每个模块的实现细节对于其他模块来说应该是隐藏的,就是说,模块中所包含的信息(包括数据和过程)不允许其他不需要这些信息的模块使用。

4.功能独立指模块的功能独立性。

衡量指标:内聚性、耦合度。

内聚:是一个模块内部各个元素彼此之间的紧密程度的度量。

软件工程名词解释和简答题

软件工程名词解释和简答题

1.软件工程。

是指导计算机软件开发和维护的工程学科。

采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,这就是软件工程。

…2.数据流图:数据流图是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。

在数据流图中没有任何具体的物理部件,它只是描绘数据在软件中流动和被处理的逻辑过程。

3.模块:是数据说明、可执行语句等程序对象的集合,模块可以单独被命名、而且可通过名字来访间。

4.白盒测试法:白盒测试是把测试对象看作一个打开的盒子,测试人员须了解程序的内部结构和处理过程,以检查过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检验内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。

5.耦合性:也称为模块间联系。

指软件系统结构中各模块间相互联系紧密程度的一种度量。

模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。

模块间耦合高低取决于模块间接口的复杂性]调用的方法及传递的信息。

软件危机:是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题。

计算机软件:与计算机系统操作有关的程序、规程、规则及任何与之有关的文档和数据。

或软件=程序+数据+文档。

UML:统一建模语言,是面向对象软件的标准化建模语言。

1、什么是软件危机?为什么会产生软件危机答:(1)软件危机是指软件在开发和维护过程中遇见的一系列严重问题,主要包含二方面的问题,一是如何开发利用软件,二是如何维护数量不断膨胀的已有软件。

(2)产生软件危机的原因:一方面与软件本身的特点有关,另一方面和软件开发与维护的方法不正确有关。

2、简述结构化程序设计方法的基本要点。

答:(1)采用自顶向下,逐步求精的程序设计方法。

(2)使用三种基本控制结构构造程序,分别是顺序,选择和循环(2分)()采用主程序员的组织形式。

1分)3.简述软件工程的目标和面临的主要问题答:软件工程是一门工程性的学科,其目标主要是成功地建造一个大型软件系统。

(完整word版)软件工程名词解释题简答题汇总,推荐文档

(完整word版)软件工程名词解释题简答题汇总,推荐文档

名词解释题汇总:1.软件是能够完成预定功能和性能,并对相应数据进行加工的程序和描述程序及其操作的文档。

2.信息隐藏模块中的软件设计决策信息封装起来的技术,只知道它的功能以及对外的接口,而不知它的内部细节3.对象对象是现实世界中个体或事物的抽象表示,是其属性和相关操作的封4.软件可维护性指软件被理解、改正、调整和改进的难易程度。

5.原型是目标软件系统的一个可操作模型,它实现了目标软件系统的某些重6.软件生存周期软件产品从形成概念开始,经过开发、运行(使用)和维护直到退役的全过程称为软件生存周期,包括软件定义、开发、使用和维护三部分。

7.白盒测试是已知产品内部工作过程,通过测试检验产品内部动作是否按照产品规格说明的规定正常进行8.预防性维护是为了进一步改善软件系统的可维护性和可靠性,并为以后的改进奠定基础。

9.构件图描述软件实现系统中各组成部件以及它们之间的依赖关系。

10.场景从单个执行者的角度观察目标软件系统的功能和外部行为。

11.计算机辅助软件工程(CASE) 将若干工具集成起来,与软件工程数据库和计算机系统构成一个支持软件开发的系统12.编程风格是在不影响性能的前提下,有效地编排和组织程序以提高可读性和可维性。

13.黑盒测试方法是已知产品应该具有的功能,通过测试检验每个功能是否都能正常使用;14.实体—关系图描述系统所有数据对象的组成和属性,描述数据对象之间关系的图形语言。

15.软件维护的副作用指由于维护或在维护过程中其他一些不期望的行为引入的错误,16.软件生存周期软件产品从形成概念开始,经过开发、运行(使用)和维护直到退役的全过程称为软件生存周期,包括软件定义、开发、使用和维护三部分。

17.结构化程序设计是一种程序设计技术,采用自顶向下逐步求精的设计方法和单入口单出口的控制构件。

18.软件过程(software process) 软件开发人员为开发和维护软件及相关产品所实施的一系列步骤,这些步骤涉及方法、工具及人的组织和行为。

(完整版)名词解释(软件工程)

(完整版)名词解释(软件工程)

三、名词解释1、软件:在计算机系统中,与硬件相互依存的逻辑部件,它由程序、数据及相关文档组成。

2、软件工程:是指导计算机软件开发和维护的工程学科。

采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。

3、数据字典:是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。

4、模块化:是把程序划分成若干个模块,每个模块完成一个子功能,把这些模块集总起来组成一个整体,可能完成指定的功能满足问题的需求。

5、类:对具有相同数据和相同操作的一组相似对象的定义。

6、软件危机: 是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。

7、软件维护:在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程.8、继承:子类自动地共享基类中定义的数据和方法的机制.9、投资回收期: 就是使累计的经济效果等于最初投资的需要的时间。

10、结构化分析方法:就是面向数据流自顶向下逐步求精进行需求分析的方法。

11、软件的生命周期:一个软件从定义、开发、使用和维护,直到最终被废弃所经历的一系列时期。

12、投资回收期:就是使累计的经济效果等于最初投资的需要的时间。

13、结构化分析方法:就是面向数据流自顶向下逐步求精进行需求分析的方法。

14、模块:数据说明、可执行语句等程序对象的集合,它是单独命名的而且可通过名字来访问。

15、宽度:是软件结构内同一个层次上的模块总数的最大值。

16、事务流:数据沿输入通路到达一个处理,这个处理根据输入数据的类型在若干个动作序列中选出一个来执行。

这类数据流应该划分为一类特殊的数据流,称为事务流。

17、耦合:衡量不同模块彼此间互相依赖的紧密程度。

18、事件:是某个特定时刻所发生的事情,它是对引起对象从一种状态转换到另一种状态的现实世界中的事件的抽象。

19、函数重载:指在同一作用域内的若干个参数特征不同的函数可以使用相同的函数名字。

软件工程名词解释[整理]

软件工程名词解释[整理]

1、软件:是计算机程序及其说明程序的各种文档。

4、软件危机:是计算机软件的开发和维护过程所遇到的一系列严重的问题。

5、软件工程:用科学知识和技术原理来定义、开发、维护软件的一门学科。

(它是一门综合性的交叉学科,它涉及计算机科学、工程科学、管理科学、数学等。

)6、软件工程过程:规定了获取、供应、开发、操作和维护软件时,要实施的过程、活动和任务。

其目的:是为各种人员提供一个公共的框架,以便用相同的语言进行交流。

包括七个过程:获取过程、供应过程、开发过程、操作过程、维护过程、管理过程、支持过程。

7、软件生存周期:一个软件从提出开发要求开始直到该软件报废为止的整个时期。

包括:可行性分析和项目开发计划、需求分析、概要设计、详细设计、编码、测试、维护(是软件生存周期中最长的阶段)等。

8、软件生存周期模型:是描述软件开发过程中各种活动如何执行的模型。

(模型:是为了理解事物而对事物做出一种抽象,它忽略不必要的细节,它也是事物的一种抽象形式、一个规划、一个程式。

)主要有:瀑布模型(整体开发模型)、增量模型(非整体开发模型)、螺旋模型(是瀑布和增量相结合的模型;一种风险驱动的模型)、喷泉模型(是以用户需求为动力,以对象作为驱动的模型)、基于知识的模型(又称智能模型,是把瀑布模型和专家系统结合在一起的模型)和变换模型(合适于形式化开发的模型)等。

9、软件开发方法:用早就定义好的技术集合及符号表示习惯来组织软件生产的过程。

主要:结构化方法(面向数据流的开发方法,指导思想:自顶向下、逐步求精。

基本原则:功能的分解与抽象)、Jackson方法(面向数据结构的开发方法)、维也纳开发方法(VDM)(是一种形式化的开发方法)、面向对象的开发方法(它有:Booh 方法、Coad方法、和OMT等UML语言是面向对象的标准建模语言)。

10、软件开发的目标:是在规定的投资和时间内,开发出符合用户需求的高质量的软件。

11、软件工具:一般是指为了支持软件人员开发和维护活动而使用的软件。

软件工程名词解释汇总

软件工程名词解释汇总

软件工程名词解释汇总软件工程名词解释汇总1.软件工程:软件工程是一门研究如何规范化、管理和衡量软件开发过程的学科。

它涉及从需求分析、设计、编码、测试到维护等软件生命周期的各个阶段。

1.1.需求分析:需求分析是软件工程中确定用户需求和系统功能的过程。

它包括需求获取、需求建模、需求验证和需求管理等步骤。

1.2.设计:软件设计是指将需求分析得到的用户需求转化为具体的软件系统结构和模块的过程。

它包括概要设计和详细设计两个阶段。

1.3.编码:编码是将软件设计的结果转化为可执行代码的过程。

程序员根据设计文档编写程序代码,并进行调试和优化。

1.4.测试:测试是为了验证软件功能是否满足需求而进行的活动。

它包括单元测试、集成测试、系统测试和验收测试等多个层次。

1.5.维护:维护是在软件交付使用后对其进行修改和改进的活动。

维护包括一系列的任务,如缺陷修复、性能优化、功能扩展等。

2.软件过程模型:软件过程模型是软件开发过程的一种抽象描述。

常见的软件过程模型包括瀑布模型、迭代模型、敏捷模型等。

2.1.瀑布模型:瀑布模型是软件开发过程中最早被提出的一种线性顺序模型。

它将软件开发过程划分为需求分析、设计、编码、测试和维护等连续的阶段。

2.2.迭代模型:迭代模型将软件开发过程分为多个迭代周期,每个周期包含需求分析、设计、编码、测试等阶段。

每个迭代都会经历完整的开发过程。

2.3.敏捷模型:敏捷模型强调迭代、快速响应变化和团队合作的软件开发方法。

常见的敏捷方法包括极限编程(XP)、Scrum等。

3.需求工程:需求工程是一门研究如何有效获取、分析和管理用户需求的学科。

它包括需求获取技术、需求建模方法和需求管理工具等方面。

3.1.需求获取:需求获取是指通过与用户交流、观察系统操作和分析相关文档等方式来获取用户需求的过程。

3.2.需求建模:需求建模是将获取到的用户需求进行抽象和形式化描述的过程。

常见的需求建模方法包括用例图、活动图、时序图等。

软工期末复习-名词解释.doc

软工期末复习-名词解释.doc

二.解释名词1.软件:是计算机系统中与硬件相互依存的另一部分,它是包括程序、数据、相关文档的完整集合以及后续的维护服务。

2.白盒测试:是对软件的过程性描述做细致的检查,软件测试员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。

3.边界值分析:就是首先确定边界情况,然后选取正好等于、刚刚大于,或刚刚小于边界的值作为测试数据。

4.模块的扇入/扇出数:在软件结构中,下级模块被上级模块调用的个数称为模块的扇入, 上级调用下级模块的个数称为扇出数。

5.静态模型:是通过系统对象类及其之间的关系描述系统的静态结构。

6.模块的控制范围:指该模块及所包含的了树。

7.测试和调试:测试是为了发现错误;调试是要找出错误的位置并改正错误。

8.继承:就是了类自动共享父类数据结构和方法的机制。

9.渐增式测试:在对系统的测试过程中,将模块是按照测试方案,-•个一个逐步添加到被测试的系统中。

10.需求分析:是指开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的形式功能规约(需求规格说明)的过程。

11.数据流图,简称DFD,是结构化分析方法中用于表示系统逻辑模型的一种工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能, 所以它是一种功能模型。

12.耦合性。

也称块间联系。

指软件系统结构中各模块间相互联系紧密程度的一•种度量。

模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。

13.对象是人们要进行研究的任何事物,从最简单的整数以至复杂的飞机等均可着作对象,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。

14.代码检查:以小组为单位阅读代码,应用一系列规程和缺陷检查技术,检查实际的产品,包括文档和程序代码,发现存在缺陷和缺陷的过程。

15.可移植性:将软件从一个系统平台搬到另一个系统平台的容易程度。

软件工程名词解释汇总

软件工程名词解释汇总

软件工程名词解释汇总软件工程名词解释汇总1:软件工程(Software Engineering):软件工程是指应用科学和数学原理、经验法则和艺术方法,以系统化生产、运行和维护高质量软件的工程化过程。

2:软件工程师(Software Engineer):软件工程师是指具备软件开发和维护技能的专业人员,负责软件生命周期中的不同阶段。

2.1 软件开发人员(Software Developer):负责开发和编码软件系统的专业人员。

2.2 软件测试工程师(Software Test Engineer):负责进行软件测试和质量保证的专业人员。

2.3 软件项目经理(Software Project Manager):负责规划、组织和管理软件项目的专业人员。

3:软件生命周期(Software Life Cycle):软件生命周期指软件从定义需求到和维护的整个过程。

3.1 需求分析(Requirements Analysis):在软件开发过程中,通过研究用户的需求并将其转化为明确的规格说明。

3.2 设计(Design):根据需求分析的结果,制定软件系统的整体结构和模块划分,并确定软件的详细设计方案。

3.3 编码(Coding):根据设计方案,将软件系统的功能代码实现出来。

3.4 测试(Testing):对编码完成的软件进行测试,以验证软件的正确性和可靠性。

3.5 验收(Acceptance):经过测试合格后,由用户进行验收,确认软件符合需求并满足用户的期望。

3.6 维护(Mntenance):在软件生命周期的后期,对软件进行修复、改进和升级,以保持其持续可用和稳定。

4:面向对象(Object-Oriented):面向对象是一种软件设计方法,强调将问题分解为多个相互关联的对象,并通过对象之间的通信和相互协作来解决问题。

4.1 类(Class):面向对象中的基本概念,用于描述具有相同属性和行为的对象的集合。

4.2 对象(Object):类的一个实例,具有独立的状态和行为。

软件工程名词解释

软件工程名词解释

名词解释:1.软件:在运行中能提供所希望的功能和性能的指令集(即程序);使程序能够正确运行的数据结构;描述程序研制过程和方法所用的文档。

2.软件危机:是指软件开发和维护过程中遇到的一系列严重问题。

3.软件工程:是指导计算机软件开发和维护的一门学科。

它采用工程的概念、原理、技术、方法,把经过时间考验而证明是正确的管理技术和当前能够得到的最好的技术方法结合起来用于维护和开发软件。

4.软件生存周期:是从提出软件产品开始,直到该软件产品被淘汰的全过程。

5.软件需求:主要是指用户对软件的功能与性能需求,就是用户希望软件能够做什么事情,完成那些功能,达到哪些性能等。

6.模块:是数据说明、可执行语句等程序对象的集合;7.模块化:是指解决一个复杂问题时自顶向下逐层把软件系统划分成若干模块的过程。

8.模块独立性:是指软件系统中每个模块只涉及软件要求的具体子功能,而且与其他模块的接口简单。

9.耦合:是对一个软件结构内各个模块之间互联程度的度量。

耦合强弱取决于模块间接口的复杂程度、调用模块的方式以及通过接口的信息。

10.内聚:标志一个模块内各个元素彼此结合的紧密程度,他是信息隐蔽和局部化概念的局部扩展。

11.信息隐蔽:指在设计和确定模块时,使得一个模块内包含信息(过程或数据),对于不需要这些信息的其他模块来说,是不能访问的。

即模块中所包含的信息不允许其他不需要这些信息的模块调用。

12.面向数据流的设计方法:定义了一些不同的映射方法,利用这些映射方法可以把数据流图变换成结构图表示的软件结构。

13.变换型:是指信息沿输入通道进入系统,同时由外部形式变换成内部形式,进入系统的信息通过变换中心,经加工处理以后再沿输出通道变换成外部形式离开系统。

14.事务型:在很多软件应用中,存在某种作业数据流,它可以引发一个或多个处理,这些处理能够完成该作业要求的功能这种数据流叫事务,15.软件测试:是软件开发过程的重要组成部分,是用来确认一个程序的品质或性能是否符合开发之前所提出的一些要求。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.软件生存期:一个软件从定义到开发、使用和维护,直到最终被废弃,要经历一个漫长的时期,通常把软件经历的这个漫长的时期称为生存周期。

软件生存周期就是从提出软件产品开始,直到该软件产品被淘汰的全过程。

2. 什么是软件危机?为什么会产生软件危机?软件危机是指计算机软件的开发和维护过程中所遇到的一系列严重的问题,主要包含二方面的问题,一是如何开发利用软件,二是如何维护数量不断膨胀的已有软件。

产生软件危机的原因,一方面与软件本身的特点有关,另一方面和软件开发与维护的方法不正确有关。

3.快速原型模型:所谓快速原型模型是快速建立起来的可以在计算机上运行的程序,它所能完成的功能往往是最终产品能完成的功能的一个子集。

瀑布模型:是将软件生命周期的各项活动规定为依线性顺序连接的若干阶段的模型,适合于软件需求很明确的软件项目。

增量模型(渐增模型):瀑布模型的顺序特征和快速原型模型的迭代特征相结合的产物。

螺旋模型:对于大型软件,只开发一个原型往往达不到要求。

螺旋模型将瀑布模型和增量模型结合起来,并加入了风险分析。

喷泉模型:以面向对象的软件开发方法为基础,以用户的需求为动力,以对象来驱动的模型。

4.结构化分析方法(SA)是E.Yourdon提出,是使用数据流图DFD与数据字典DD,用来描述面向数据流问题的需求分析,适合于数据处理型的软件的需求描述。

核心思想是分解化简问题,将物理表示与逻辑表示分开,对系统进行数据与结构的抽象。

优点是表达方式比文字清晰、简明,易于交流与掌握。

缺点是不能表达复合逻辑的需求分析问题,不能详细描述加工。

5.结构化设计(SD)是使用最广泛的一种设计方法,该方法适合于软件系统的总体设计和详细设计,特别是将一个复杂的系统转换成模块化结构系统,该方法具有它优势。

(相对独立,功能单一的模块结构;块内联系大,块间联系小的模块性能标准;采用模块结构图的描述方式)以模块化设计为中心,将待开发的软件系统划分为若干个相互独立的模块。

面向数据流的设计是以需求分析阶段产生的数据流图为基础,按一定的步骤映射成软件结构,因此又称结构化设计(sd)。

6.数据流图(ppt第二章18)数据流图描绘系统的逻辑模型,图中没有任何具体的物理元素,只是描绘信息在系统中流动和处理的情况。

简称DFD,是SA(结构化分析)方法中用于表示系统逻辑模型的一种工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。

数据流图是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。

7.数据字典(ppt第二章39)是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。

简称DD,就是用来定义数据流图中的各个成分具体含义的,它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。

四类条目:数据流、数据项、数据存储、数据加工。

数据流图和数据字典共同构成系统的逻辑模型数据字典内容:(1)数据流(2)数据流分量(数据元素)(3)数据存储(4)处理8.什么是黑盒测试法?什么是白盒测试法?黑盒测试法把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据,产生正确地输出信息。

白盒测试法的前提是可以把程序看成装在一个透明的白盒子里,也就是完全了解程序的结构和处理过程。

这种方法按照程序内部的逻辑测试程序,检验程序中的每条通路是否都能按预定要求正确工作。

黑盒测试和白盒测试的区别:前者基于功能,后者基于结构;黑盒测试常用方法有:等价划分、边界值分析、错误推测、因果图等。

9.软件系统的测试基本步骤:(1)模块测试(单元测试)把每个模块作为一个单独的实体来测试。

模块测试的目的是保证每个模块作为一个单元能正确运行。

2)子系统测试(集成测试)子系统测试是把经过单元测试的模块放在一起形成一个子系统来测试。

模块相互间的协调和通信是这个测试过程中的主要问题,着重测试模块的接口。

3)系统测试(集成测试)系统测试是把经过测试的子系统装配成一个完整的系统来测试。

不仅能发现设计和编码的错误,还应能验证系统确实能提供需要说明书中指定的功能,系统的动态特性也符合预定要求。

在这个测试步骤中发现的往往是软件设计中的错误,也能发现需求说明中的错误。

(4) 验收测试(确认测试)验收测试把软件系统作为单一的实体进行测试。

主要使用实际数据进行测试。

验收测试的目的是验证系统确实能够满足用户的需要。

单元测试又称模块测试,是针对软件设计的最小单位─程序模块,进行正确性检验的测试工作。

其目的在于发现各模块内部可能存在的各种差错。

单元测试需要从程序的内部结构出发设计测试用例。

多个模块可以平行地独立进行单元测试。

对支持某些标准规程的程序,更要着手进行互联测试。

有人把这种情况特别称为模块测试,以区别单元测试。

模块并不是一个独立的程序,在考虑测试模块时,同时要考虑它和外界的联系,用一些辅助模块去模拟与被测模块相联系的其它模块。

驱动模块(driver)桩模块(stub) ──存根模块10.驱动模块:接收测试数据,把这些数据传送给被测试的模块,并印出有关的结果。

11.桩模块:代替被测试的模块所调用的模块。

12.用面向对象方法开发软件,通常需要建立三种形式的模型,它们分别是描述系统数据结构的对象模型,描述系统控制结构的动态模型和描述系统功能的功能模型。

动态模型(ppt第九章28)动态模型表示瞬时的﹑行为化的系统的“控制”性质,它规定了对象模型中的对象的合法变化序列。

各对象之间相互触发(即作用),就形成了一系列的状态变化。

通常,用状态图来描绘对象的状态﹑触发状态转换的事件﹑以及对象的行为(对事件的响应)。

是与时间和变化有关的系统性质。

该模型描述了系统的控制结构,他表示了瞬时的、行为化的系统控制性质。

他关心的是系统的控制,操作的执行顺序。

他从对象的事件和状态的角度出发,表现了对象的相互关系。

对象模型对象模型表示静态的、结构化的系统的“数据”性质。

是对模拟客观实体的对象以及对象彼此间的关系的映射,描述了系统的静态结构。

功能模型功能模型表示变化的系统的“功能”性质,它指明了系统应该“做什么“,因此更直接地反映了用户对目标系统的需求。

13.各种耦合(ppt第五章25)模块的独立程度由两个定性标准度量:内聚性和耦合性。

耦合:是对一个软件结构内不同模块之间互连程度的度量。

耦合性是对软件模块间互连程度的度量。

耦合性强,标志互连的强,模块独立性差;耦合性弱,标志互连的弱,模块独立性强;耦合强弱取决于模块间接口的复杂程度,进入或访问一个模块的点,以及通过接口的数据。

模块间的耦合程度强烈影响系统的可理解性、可测试性、可靠性和可维护性。

模块间的耦合前两个为低等耦合中间两个为中等耦合剩下三个为高等耦合非直接耦合(Nondirect Coupling)两个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的。

非直接耦合的模块独立性最强。

数据耦合(Data Coupling)一个模块访问另一个模块时,彼此之间是通过简单数据参数(不是控制参数、公共数据结构或外部变量) 来交换输入、输出信息的。

数据耦合是最弱的耦合。

标记耦合(Stamp Coupling)一组模块通过参数表传递记录信息,就是标记耦合。

这个记录是某一数据结构的子结构,而不是简单变量。

控制耦合(Control Coupling)如果一个模块通过传送开关、标志、名、字等控制信息,明显地控制选择另一模块的功能,就是控制耦合。

控制耦合是中等程度的耦合,它增加了系统的复杂程度。

控制耦合往往是多余的,在把模块适当分解之后通常可以用数据耦合代替它。

去除模块间控制耦合的方法:(1)将被调用模块内的判定上移到调用模块中进行(2)被调用模块分解成若干单一功能模块外部耦合(External Coupling)一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递该全局变量的信息,则称之为外部耦合。

公共耦合(Common Coupling)若一组模块都访问同一个公共数据环境,则它们之间的耦合就称为公共耦合。

公共的数据环境可以是全局数据结构、共享的通信区、内存的公共覆盖区等。

内容耦合(Content Coupling)如果发生下列情形,两个模块之间就发生了内容耦合(1) 一个模块直接访问另一个模块的内部数据;(2) 一个模块不通过正常入口转到另一模块内部;(3) 两个模块有一部分程序代码重迭(只可能出现在汇编语言中);(4) 一个模块有多个入口。

14各种内聚(ppt第五章47)内聚性标志一个模块内各个元素彼此结合的紧密程度,它是信息隐蔽和局部化概念的自然扩展。

简单地说,理想内聚的模块只做一件事情、单一的功能。

内聚性强,标志模块的独立性强;内聚性弱,标志模块的独立性差。

设计时应该力求做到高内聚。

前两个为高等内聚,中间两个为中等内聚,后面三个为低等内聚功能内聚(Functional Cohesion)一个模块中各个部分都是完成某一具体功能必不可少的组成部分,或者说该模块中所有部分都是为了完成一项具体功能而协同工作,紧密联系,不可分割的。

则称该模块为功能内聚模块。

功能内聚是最高内聚。

顺序内聚:(Sequential cohesion)是指一个模块内的处理元素和同一个功能密切相关,而且这些处理必须顺序执行(顺序依赖)。

顺序内聚也是最高内聚。

通信内聚(Communication Cohesion)如果一个模块内各功能部分都使用了相同的输入数据,或产生了相同的输出数据,则称之为通信内聚模块。

通常,通信内聚模块是通过数据流图来定义的。

过程内聚(Procedural Cohesion)使用流程图做为工具设计程序时,把流程图中的某一部分划出组成模块,就得到过程内聚模块。

例如,把流程图中的循环部分、判定部分、计算部分分成三个模块,这三个模块都是过程内聚模块。

时间内聚(Classical Cohesion)时间内聚又称为经典内聚。

这种模块大多为多功能模块,但模块的各个功能的执行与时间有关,通常要求所有功能必须在同一时间段内执行。

例如初始化模块和终止模块。

逻辑内聚(Logical Cohesion)这种模块把几种相关的功能组合在一起,每次被调用时,由传送给模块的判定参数来确定该模块应执行哪一种功能。

偶然内聚(Coincidental Cohesion)当模块内各部分之间没有联系,或者即使有联系,这种联系也很松散,则称这种模块为偶然内聚模块,它是内聚程度最低的模块总结:内聚性和耦合性是密切相关的。

高内聚性模块往往是低耦合性;强耦合性的两个模块,必是低内聚性的。

相关文档
最新文档