软件工程讲义名词解释
软件工程名词解释汇总

软件危机 .指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
纯收入. 在整个生命周期内系统的累计经济效益(折合成现在值)与投资之差。
模块.是数据说明、可执行语句等程序对象的集合。
原型.是使用样机,使用户通过实践获得对未来系统的的概念,可以更准确提出要求。
BROOKS定律向一个已经延晚的项目追加开发人员,可能使它完成的更晚数据字典。
是关于数据信息的集合。
描述数据流图的数据存储、数据加工(最底层加工)和数据流。
PDL。
是使用样机,使用户通过实践获得对未来系统的的概念,可以更准确提出要求模块独立性:指每个模块只完成系统要求的独立的子功能(即:功能单一),并且与其他模块的联系最少且接口简单(比如:只有一个接口)。
软件复用:将已有软件的各种有关知识用于建立新的软件,以缩减软件开发和维护的花费。
内聚:一个模块内部各成分之间相关联程度的度量测试用例:为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求软件生存周期模型:描述软件开发过程中各种活动如何执行的模型信息隐蔽:将每个程序的成分隐蔽或封装在一个单一的设计模块中,定义每一个模块时尽可能少地显露其内部的处理McCabe度量法:由Thomas McCabe提出的一种基于程序控制流的复杂性度量方法动态模型:用于描述系统的过程和行为软件维护:在软件运行或维护阶段对软件产品所进行的修改.CMM:软件过程能力成熟度模型软件调试:软件测试成功后,根据错误迹象确定错误的原因和准确位置,并加以改正。
耦合:块间联系,软件系统结构中各模块间相互联系紧密程度的一种度量配置管理:一种标识、组织和控制修改的技术,应用于整个软件工程过程软件项目计划:一个软件项目进入系统实施的启动阶段JSP方法面向数据结构的设计方法,其定义了一组以数据结构为指导的映射过程,它根据输入,输出的数据结构,按一定的规则映射成软件的过程描述,即程序结构。
软件工程名词解释

软件工程名词解释1、需求分析:需求分析是指开创人员要精确明白得用户的需求,进行过细的查询拜望分析,将用户非情势的需求陈述转化成完全的需求定义,再由需求定义转换到响应的情势功能规约(需求规格说明)的过程。
2、白盒法:该方法把测试对象看作一个打开的盒子,测试人员须明白得法度榜样的内部构造和处理过程,以检查处理过程的细节为差不多,对法度榜样中尽可能多的逻辑路径进行测试,检查内部操纵构造和数据构造是否有错,实际的运行状况与预期的状况是否一致。
白盒法也弗成能进行穷举测试。
3、黑盒法:该方法把被测试对象算作一个黑盒子,测试人员完全不推敲法度榜样的内部构造和处理过程,只在软件接口处进行测试,按照需求规格说明书,检查法度榜样是否知足功能要求。
是以,黑盒测试又称为功能测试或数据驱动测试。
4、渐增式测试:逐个把未经由测试的模块组装到差不多由测试的模块上去,进行集成测试。
每参加一个新模块进行一次集成测试,反复此过程直至法度榜样组装完毕。
5、非渐增式测试:起首对每个模块分别进行单位测试,然后再把所有的模块按设计要求组装在一路进行测试。
6、可履行的规格说明:这是一种使要求说明过程主动化的技巧,经由过程可履行的规格说明说话来描述预期的行动“做什么”,人们能够从直截了当不雅察顶用规格说明说话来规定任何体系行动。
7、经济可行性:对组织的经济状况和投资才能进行分析,对体系扶植,运行和爱护费用进行估算,对体系建成后可能取得的社会及经济效益进行估量。
8、体系设计说明书:是从体系总体的角度动身对体系扶植中各重要技巧方面的设计进行说明,是体系设计时期的产品,其侧重点在于阐述体系设计的指导思惟以及所采取的技巧路线和方法,编写体系设计说明书将为后续的体系开创工作从技巧和指导思惟上供给须要的包管。
9、面向对象设计:是把分析时期获得的需求改变成相符成本和质量要求的、抽象的体系实现筹划的过程。
或者说,面向对象设计确实是用面向对象不雅点建立求解域模型的过程。
软件工程名词解释

1. 软件概要设计2. 模块3. 模块化4. 抽象5. 信息隐蔽6. 模块独立性7. 耦合性8. 无直接耦合9. 数据耦合10. 标记耦合11. 控制耦合12. 公共耦合13. 内容耦合14. 内聚性15. 偶然内聚16. 逻辑内聚17. 时间内聚18. 通信内聚19. 顺序内聚20. 功能内聚21. 软件结构图22. 结构化设计23. 变换流24. 事务流1.软件概要设计又称结构设计,这是一个把软件需求转换为软件表示的过程。
2.模块在程序中是数据说明、可执行语句等程序对象的集合,或者是单独命名和编址的元素,在软件的体系结构中,模块是可组合、分解和更换的单元。
3.模块化指解决一个复杂问题时自顶向下逐层把软件系统划分成若干模块的过程。
每个模块完成一个特定的子功能,所有模块按某种方法组装起来,成为一个整体,完成整个系统所要求的功能。
4.抽象是认识复杂现象过程中使用的思维工具,即抽出事物本质的共同特性而暂不考虑它的细节,不考虑其他因素。
5. 信息隐蔽指在设计和确定模块时,使得一个模块内包含的信息(过程或数据),对于不需要这些信息的其他模块来说,是不能访问的。
6.模块独立性指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。
7. 耦合性也称块间关系,指软件系统结构中各模块间相互联系紧密程度的一种度量。
8.无直接耦合指两个模块之间没有直接关系,它们分别从属于不同模块的控制和调用,它们之间不传递任何信息。
9.数据耦合指两个模块之间有调用关系,传递的是简单的数据值,相当于高级语言中值传递。
10.标记耦合指两个模块之间传递的是数据结构。
11.控制耦合指一个模块调用另一个模块时,传递的是控制变量(如开关、标志等),被调用模块通过该控制变量的值有选择地执行块内某一功能。
12.公共耦合指通过一个公共数据环境相互作用的那些模块间的耦合。
公共数据环境可以是全程变量或数据结构、共享的通信区、内存的公共覆盖区及任何存储介质上的文件、物理设备等。
软件工程复习要点——名词解释

4、集成测试
集成测试也称组装测试或联合测试。是指在单元测试的基础上,将所有模块按照设计要求组装成一个完整的系统进行的测试。组装模块的方式有两种:渐增式测试和非渐增式测试。
5、信息隐藏
是指在设计和确定模块时,使得一个模块内包含的信息(过程或数据),对于不需要这些信息的其他模块来说是不能访问的。
6、CASE
A.可理解性和可测试性B.效率和可移植性
C.效率和可修改性D.效率和结构好
11、面向对象方法学的出发点和基本原则是尽可能模拟人类习惯的思维方式,分析、设计和实现一个软件系统的方法和过程,尽可能接近于人类认识世界解决问题的方法和过程。因此面向对象方法有许多特征,如软件系统是由对象组成的;C_;对象彼此之间仅能通过传递消息互相联系;层次结构的继承。
软件工程名词解释

1、软件是能够完成预定功能和性能,并对相应数据进行加工的程序和描述程序及其操作的文档。
2、信息隐藏模块中的软件设计决策信息封装起来的技术,只知道它的功能以及对外的接口,而不知它的内部细节3、对象对象是现实世界中个体或事物的抽象表示,是其属性和相关操作的封装。
4、软件可维护性指软件被理解、改正、调整和改进的难易程度。
5、原型是目标软件系统的一个可操作模型,它实现了目标软件系统的某些重要方面。
6、黑盒测试方法是已知产品应该具有的功能,通过测试检验每个功能是否都能正常使用;7、实体—关系图描述系统所有数据对象的组成和属性,描述数据对象之间关系的图形语言。
8、数据抽象把一个数据对象的定义(或描述 )抽象为一个数据类型名,用此类型名可定义多个具有相同性质的数据对象。
9、α测试是指软件开发公司组织内部人员模拟各类用户行为对即将面市的软件产品(称为α版本)进行测试,试图发现错误并修正。
10、完善性维护成任务是根据用户在使用过程中提出的一些建设性意见而进行的维护活动。
11、技术风险指软件在设计、实现、接口、验证和维护过程中可能发生的潜在问题,对软件项目带来的危害。
12、软件生存周期软件产品从形成概念开始,经过开发、运行(使用)和维护直到退役的全过程称为软件生存周期,包括软件定义、开发、使用和维护三部分。
13、白盒测试是已知产品内部工作过程,通过测试检验产品内部动作是否按照产品规格说明的规定正常进行。
14、预防性维护是为了进一步改善软件系统的可维护性和可靠性,并为以后的改进奠定基础。
15、状态图描述类的对象的动态行为。
它包含对象所有可能的状态、在每个状态下能够响应的事件以及事件发生时的状态迁移与响应动作。
16、内聚性内聚性是模块独立性的衡量标准之一,它是指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。
17、软件工程方法是软件生产的组织方式,包括对软件过程的建议、使用的标记法、进行系统描述的规律和设计指南。
软件工程名词解释

1.抽象:现实世界中一定事物、状态或过程之间总存在着某些相似的方面,把这些相似的方面几种概括起来,暂时忽略它们之间的差异。
2.对象:描述该对象属性的数据以及可以对这些数据施加的所有操作封装在一起构成的统一体。
3.结构化程序设计:如果一个程序的代码块仅仅通过顺序、选择和循环这三种控制结构进行连接,并且每个代码块只有一个入口和一个出口,则称这个这个程序是结构化的。
4.模块:模块是由边界元素限定的相邻的程序元素的序列,而且有一个总体标识符来代表它。
5.模块化:把程序划分成独立运行且可以独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。
6.软件:是程序、数据及相关文档的完整集合。
程序是能够完成预定功能和性能的可执行的指令序列;数据是使程序能够适当地处理信息的数据结构;文档是开发、使用和维护程序所需要的图文资料。
7.软件工程:是指导计算机软件开发和维护的工程科学。
采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护8.软件危机:是指在计算机软件的开发和维护过程中所遇到的一系列严重的问题。
9.软件生命周期:是指从软件定义、开发、使用、维护到淘汰的全过程。
10.数据字典:是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。
11.条件覆盖:条件覆盖的含义是,不仅每条语句至少执行一次,而且使判定表达式中的每个条件都取到各种可能的结果。
12.判定覆盖:不仅每个语句必须至少执行一次,而且每个判定的每种可能的结果都应该至少执行一次,也就是每个判定的每个分支都至少执行一次。
13.语句覆盖:选择足够多的测试数据,使被测程序中每个语句至少执行一次。
14.黑盒测试:黑盒测试是在程序接口进行的测试,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据产生正确的输出信息,并且保持外部信息(如,数据库或文件)的完整性。
软件工程名词解释和简答题总结

软件工程名词解释和简答题总结软件工程是现代技术领域中的一个重要分支,它涉及软件开发的各个方面。
在软件工程的学习和实践过程中,我们会遇到大量的专业名词和简答题。
本文将对一些常见的软件工程名词进行解释,并对一些常见的简答题进行总结。
一、软件工程名词解释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、软件危机的几种典型表现:(1)对软件开发成本和进度的估计常常很不明确;(2)用户对“已完成的”软件系统部满意的现象经常发生;(3)软件产品的质量往往靠不住;(4)软件常常是不可维护的;(5)软件通常是没有适当的文档资料;(6)软件成本在计算机系统总成本中所占的比列逐年上升;(7)软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。
产生软件危机的原因:(1)软件不同于硬件,它是计算机系统中的逻辑部件而不是物理部件;(2)软件不同于一般程序,它的一个显著特点是规模庞大,而且程序复杂性将随程序规模的增加呈指数上升;为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。
3、软件工程:用科学知识和技术原理来定义、开发、维护软件的一门学科。
(它是一门综合性的交叉学科,它涉及计算机科学、工程科学、管理科学、数学等。
)4、软件工程方法学包括三个要素:方法、工具和过程。
5、软件工程过程:规定了获取、供应、开发、操作和维护软件时,要实施的过程、活动和任务。
其目的:是为各种人员提供一个公共的框架,以便用相同的语言进行交流。
包括七个过程:获取过程、供应过程、开发过程、操作过程、维护过程、管理过程、支持过程。
6、软件生存周期:一个软件从提出开发要求开始直到该软件报废为止的整个时期。
包括:(软件定义、软件开发和运行维护)可行性分析和项目开发计划、需求分析、概要设计、详细设计、编码、测试、维护(是软件生存周期中最长的阶段)等。
7、软件定义时期通常划分成三个阶段:问题定义、可行性研究和需求分析。
8、开发时期通常由四个阶段组成:总体设计、详细设计、编码和单元测试、综合测试。
9、通常对维护时期不再进一步划分阶段。
10、软件生存周期模型:是描述软件开发过程中各种活动如何执行的模型。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.软件危机:指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
2.软件危机的典型表现:1)对软件开发成本和进度的估计常常很不正确;
2)用户对“已完成”的软件系统不满意的现象经常发生;
3)软件产品的质量往往靠不住;
4)软件常常是不可维护的
5)软件通常没有适当的文档资料
6)软件成本在计算机系统总成本中所占的比例逐年上升
7)软件开发生产率提高的速度,跟不上计算机应用的普及深入趋势
3.产生软件危机的原因:一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关;
1)是计算机系统中的逻辑部件而不是物理部件
2)显著特点:规模庞大,而且程序复杂性将随着程序规模的增加而呈指数上升
4.解决软件危机:既要有技术实施(方法与工具),又要有必要的组织管理措施。
5.软件工程:是指导计算机软件开发和维护的一门工程学科;采用工程的概念、原理技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效的维护它
6.软件工程方法学包含3个要素:方法、工具和过程。
7.传统方法学也称为生命周期方法学式结构化范型
8.软件生命周期:由软件定义、软件开发和运行维护3个时期组成,
1)软件定义时期通常进一步划分为3个阶段:问题定义、可行性研究和需求分析;
2)开发时期由4个阶段组成:总体设计、详细设计、编码和单元测试,综合测试(前两个称为系统设计,后两个阶段称为系统实现);
3)维护时期不用划分时期,花费时间最多。
第2章1、可行性研究的目的:用最小的代价在尽可能短的时间内确定问题是否能够解决
2、可行性研究的任务回答能不能做,可不可以做。
【最短时间内找出方法】
3.至少从下述3个方面研究每种解法的可行性:
1)技术可行性:使用现有的技术能实现这个系统吗?
2)经济可行性:这个系统的经济效益能超过它的开发成本吗?
3)操作可行性:系统的操作方式在这个用户组织内行得通吗?
4.数据字典:关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。
5.数据流图和数据字典共同构成系统的逻辑模型。
6.数据字典由下列4类元素的定义组成:数据流、数据流分量、数据存储处。
第3章1需求分析基本任务是准确地回答“系统必须做什么?”这个问题(即注明系统功能)
第5章:
1、总体设计(又叫概要设计)由两个主要阶段组成系统设计阶段,确定系统的具体实现方案;结构设
计阶段确定软件结构。
2、模块化:把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成
起来构成一个整体,可以完成指定的功能满足用户的需求。
3、局部化:指把一些关系密切的软件元素、物理地放得彼此靠近。
4、模块的独立程度可由两个定性标准度量:内聚(衡量一个模块内各个元素,彼此结合的紧密程度),耦合(衡量不同模块彼此间互相依赖链接的紧密程度)
5、模块包含的语句数不可超过30
6、模块接口复杂是软件发生错误的一个主要原因
7、结构化设计方法(5D方法)是基于数据流的设计方法
8、信息流分成变换流、事务流
第6章
1、详细设计阶段的根本目标是确定应该怎样具体地实现所要求的系统
2、jackson图的面向数据结构【注:jackson图是实现从数据结构向导到程序结构】
3、计算环形复杂度的方法:
1)V(G)=E-N+2,其中E是流图中边的条数,N是结点数,
2)V(G)=P+1,P是流图中断定结构的数目。
3)流图中的区域数等于环形复杂度
第7章
1、测试的目标或定义(1)测试是为了发现程序中的错误而执行程序的过程
(2)好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案(3)成功
的测试是发现了至今为止尚未发现的错误的测试
2、测试方法(1)黑盒测试:把程序看做一个黑盒子,完全不考虑程序的内部结构和处理过程,它是在程序接口进行的测试,只检查程序功能是否能按照规格说明说的规定正常使用,程序是否能适当的接受输入数据并产生正确的输出信息,程序运行过程中能否保持外部信息的完整性,,又称功能测试。
(2)白盒测试:把程序看成装在一个透明的白盒子里,测试者完全知道程序的结构和处理算法,它按照程序内部的逻辑测试程序,检测程序中的主要执行通路是否能按预定要求正确工作,又称结构测试。
3、大型软件系统的测试步骤:模块测试,子系统测试,系统测试,验收测试,平行运行
4、白盒测试技术:逻辑覆盖(语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖(最强))。
5、黑盒测试:等价划分边界值分析,错误推测。
6、调试:在测试发现错误之后排除错误的过程;
调试途径:蛮干法,回溯法、原因排除法
7、软件可靠性:是程序在给定的时间间隔内,按照规格说明书的规定成功地运行的概率。
软件可用性:程序在给定的时间点,按照规则说明书的规定,成功地运行的概率。
第8章
1、软件维护:在软件已经交付使用之后,为了改正错误或满足新的需要和修改软件的过程(分为改善
性维护,完善性维护(最重要),预防性维护、适应性维护)
2、提高软件可维护性的方法(1):建立适量保障制度
(2)改进程序的文档质量
(3)明确软件质量标准。
3、决定软件的可维护性因素:可理解性、可测试性、可修改性、可移植性、可重用性。
第9章1、面向对象建模:对象模型。
动态模型、动能模型
第13章:
1.软件项目管理先于任何技术活动之前开始,并且贯穿于软件的整个生命周期。
2.进度计划工具:Gantt(甘特图)。
工程网络
3.能力成熟度模型(CMM):用于软件机构的软件过程能力成熟度的模型。
能力成熟度模型目的:为大型软件项目的招投标活动提供一种全面而客观的评审依据。
【其应用于许多软件机构内部的过程改进活动中】
⏹某装配厂有一座存放零件的仓库,仓库中现有的各种零件的数量以及每种零件的库存量临界值等
数据记录在库存清单主文件中。
⏹当仓库中零件数量有变化时,应该及时修改库存清单主文件,如果哪种零件的库存量少于它的库
存量临界值,则应该报告给采购部门以便定货,规定每天向采购部门送一次定货报告。
⏹装配厂使用一台微机处理更新库存清单主文件和产生定货报告的任务。
零件库存量的每一次变换
称为一个事务,由仓库的CRT终端输入到计算机中;
⏹系统中的库存清单程序负责对事务进行处理,更新存储在磁盘上的库存清单主文件;
⏹必要的定货信息写在磁带上;
⏹每天由报告生成程序读一次磁带,生成并打印出定货报告;
⏹库存清单程序;
⏹报告生成程序。
【例:问题陈述】
某家工厂的采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次定货的零件。
对于每个需要再次定货的零件应该列出下述数据:零件编号,零件名称,定货数量,目前价格,主要供应者,次要供应者。
零件的出库或入库称为事务,通过CRT终端把事务报告给定货系统。
某种零件的库存量少于库存量临界值时就要再次定货。
请给出该系统定货情况的数据流图。
【分析】
第一步:
⏹确定系统的源点和终点
☐仓库管理员是数据的源点
☐采购员是数据的终点
⏹处理
☐本题应该完成定货系统这样一个功能
⏹数据流
☐事务需从仓库送到系统中,显然事务是一个数据流;
☐系统要把定货报表送给采购部,定货报表也是一个数据流。
⏹根据问题的陈述,把整个数据处理过程看作一个加工,它的输入数据和输出数据实际上反映了本
系统与外界环境的接口。
系统的顶层数据流图如下所示:
任何系统的基本模型都由若干个数据源点/终点以及
一个处理组成,这个处理就代表了系统对数据加工
变换的基本功能。
第二步:把基本系统模型细化,描绘系统的主要功能
⏹将数据处理过程—定货系统进行功能分解成处理事务和产生报表两部分
⏹考虑有关数据存储问题,题中涉及到存储的信息有:库存清单、定货信息
☐处理事务需要“库存清单”数据
☐产生报表和处理事务在不同时间进行,因此需要存储“定货信息”
第三步:根据需要,对处理功能进行分解
⏹将处理事务进一步分解为接收事务、更新库存清单、处理定货三部分
⏹画出进一步分解后的数据流图。