软件工程名词解释.docx
《软件工程名词解释.docx》由会员分享,可在线阅读,更多相关《软件工程名词解释.docx(6页珍藏版)》请在冰豆网上搜索。
软件工程名词解释
面向对象建模及它们之间的关系:
对象建模:
定义了做事情的实体;动态模型:
明确规定了什么时候做;功能模型:
指明了应该做什么;他们相互补充,相互配合。
对象模型是最基本最重要的,他为其他两种模型奠定了基础,我们依靠对象模型完成了3种模型的集成
软件工程定义:
1把系统的,规范的,可度量的途径应用于软件开发,运行和维护过程,也就是把工程应用于软件;2研究1中提到的的途径
软件生命周期各阶段的基本任务:
问题定义;可行性研究;需求分析;总体设计;详细设计;编码和单元测试;综合测试;软件维护
软件过程定义:
软件过程是为了获得高质量软件所需要完成的一系列任务的框架,他规定了完成各项任务的工作步骤
生命周期:
它规定了把生命周期划分成哪些阶段及各个阶段的执行顺序,也称过程模型
生命周期/过程模型:
瀑布模型;快速原型模型;增量模型;螺旋模型
可行性研究过程步骤:
1复查系统规模和目标;2研究目前正在使用的系统;3导出新系统的高层逻辑模型;4进一步定义问题;5导出和评价供选择的解法;6推荐行动方针;7草拟开发计划;8书写文档提交审查系统流程图定义:
它是概括地描绘物理系统的传统工具
数据流图DFD定义:
它是一种图形化技术,他描绘信息流和数据从输入移动到输出地过程中所经受的变换符号:
数据流图有4种基本符号:
正方形表示数据原点或终点;圆角矩形或圆形代表变换数据和处理;开口矩形代表数据存储;箭头表示数据流,即特定数据的流动方向
典型总体设计过程的9个步骤:
1设想供选择的方案;2选取合理的方案;3推荐最佳方案;4功能分解;5设计软件结构;6设计数据库;7制定测试计划;8书写文档(系统说明;用户手册;测试计划;详细实现计划;数据库设计结果);9审查和复审
模块独立程度的定性标准度量:
1耦合:
对一个软件结构内不同模块之间互联程度的度量;2内聚:
它标志一个模块内各个元素彼此结合的紧密程度,它是信息隐藏和局部化概念的自然拓展
结构程序设计经典定义:
如果一个程序的代码块仅仅通过顺序,选择和循环这3种基本控制结构进行连接,并且每个代码块只有一个入口和一个出口,则称这个程序是结构化的
人机界面设计,设计指南:
1一般交互指南;2信息显示指南;3数据输入指南
程序流程图:
又称程序框图,优点:
对控制流程的描绘很直观,便于初学者掌握;缺点:
1程序流程图本质上不是逐步求精的好工具,他透使程序员过早地考虑程序的控制流程而不去考虑程序的全局结构;2程序流程图中用箭头代表控制流,因此程序员不受任何约束,可以完全不顾结构程序设计精神随意转移控制;3程序流程图不易表示数据结构
盒图:
又称S-N图,特点:
1功能域明确,可以从盒图上一眼就看出来;2不可能任意转移控制;3很容易确定局部和全程数据的作用域;4很容易表现嵌套关系,也可以表示模块的层次结构
Jackson图:
1顺序结构:
数据由一个或多个数据元素组成,每个元素按确定次序出现一次;2选择结构:
数据包含两个或多个数据元素,每次使用这个数据时按一定条件从这些数据元素中选择一个;3重复结构:
重复结构的数据,根据使用时的条件由一个数据元素出现零次或多次构成
Jackson图的优点:
1便于表示层次结构,而且是对结构进行自顶向下分解的有力工具;2形象直观可读性好;3技能表示数据结构也能表示程序结构
计算环形复杂度的方法:
1流程图中的区域数等于环形复杂度;2流程G的环形复杂度V(G)=E-N+2,其中E是流程图中边的条数,N是结点数;3流程G的环形复杂度V(G)=P+1,其中P是流程图中判定结点的数目
程序编码的风格应遵循的规则:
1程序内部文档;2数据说明;3语句构造;4输入输出;5效率
软件测试的目标(定义):
1测试是为了发现程序中的错误而执行的过程;2好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案;3成功的测试是发现了至今为止尚未发现的错误的测试
测试的目标:
暴露程序中的错误
软件测试的准则:
1所有测试都应该能追述到用户需求;2应该远在测试开始之前就制定出测试计划;3把Pareto原理应用到软件测试中;4应该从小规模测试开始,并逐步进行大规模测试;5穷举测试是不可能的;6为了达到最佳测试效果,应从独立的第三方从事测试工作
测试方法:
1白盒测试即结构测试;2黑盒测试即功能测试
测试步骤(先后顺序):
1模块测试;2子系统测试;3系统测试;4验收测试;5平行测试
软件维护的定义:
在软件应经交付使用之后,为了改正错误或满足新需要而修改软件的过程
软件的可维护性定义:
维护人员理解,改正,改动或改进这个软件的难易程度
决定软件可维护的5个因素:
1可理解性;2可测试性;3可修改性;4可移植性;5可重用性
面向对象方法学的优点:
1与人类习惯的思维方式一致;2稳定性好;3可重用性好;4轻易开发大型软件产品
启发规则:
1设计结果应该清晰易懂;2一般到特殊结构的深度适当;3设计简单的类;4使用简单的协议;5使用简单的服务;6把设计变动减成至最小
软件重用:
也叫再用或复用,是指同一事物不做修改或稍加改动就多次重复使用
软件重用的三个层次:
1知识重用;2方法和标准重用;3软件成分重用
软件维护的特点:
1结构化维护和非结构化维护差别巨大;2维护代价高昂;3维护的问题很多
需求分析任务:
确定对系统的综合要求;分析系统的数据要求;导出系统的逻辑模型;修正系统的开发计划
验证软件需求:
一致性;完整性;现实性;有效性
黑盒测试力图发现下述类型错误:
功能不正确或遗漏了功能;界面错误;数据结构错误或外部数据库访问错误;性能错误;初始化和终止错误
黑盒测试满足标准的测试用例集:
所设计出的测试用例能减少为达到合理测试所需要设计的测试用例的总数;所设计出的测试用例能告诉我们能否存在某些类型的错误,而不仅仅指出与特定测试相关的错误是否存在
1在软件开发过程中要产生大量的信息,要进行大量的修改,软件配置管理能协调软件开发,并使混乱减到最低程度。
2规定功能的软件,在一定程度上对自身错误的作用(软件错误)具有屏蔽能力,则称此软件具有容错功能的软件。
3McCall提出的软件质量模型包括11个软件质量特性。
4软件可维护性度量的七个质量特性是可理解性、可测试性、可修改性、可靠性、可移植性、可使用性和效率。
5为了便于对照检查,测试用例应由输入数据和预期的输出结果两部分组成。
6程序设计语言的心理特性主要表现在歧义性、简洁性、传统性、局部性和顺序性。
7软件结构是以模块为基础而组成的一种控制层次结构。
8在结构化分析中,用于描述加工逻辑的主要工具有三种,即:
结构化语言、判定表、
判定树。
9结构化语言是介于自然语言和形式语言之间的一种半形式语言。
10若年利率为i,不计复利,n年后可得钱数为F,则现在的价值P=F/(1+(n*i))
11软件可靠性是指在给定的时间间隔内,程序成功运行的(概率)。
0101
12高级语言:
独立于机器,面向过程或面向(对象)0101
13软件项目管理的范围主要集中于3个P上,即:
People人员、Problem问题和(过程)。
020114人机界面的风格第一代界面是命令和(询问)方式。
1202
15由于维护或在维护过程中其他一些不期望的行为引入的错误称为维护的(副作用)。
1504
16在公式V(G)=E–N+2中:
E为程序图G中边的总数;N为程序图中结点的总数。
V(G)又称为图G的环形(复杂度)0204。
17任何一个基于计算机系统都可以用输入-处理-输出(IPO)图来描述,它将系统转成一个信息变换模型
第2/3页
18为提高可交互性一般对所有可能造成损害的用户操作动作,应坚持要求用户(确认),例如,提问“你确实要删除„?
”。
1204
19文档是一种数据媒体和其上所记录的(数据)。
0101
20文档(document)—一种数据媒体和其上所记录的(数据)。
0101
21机器语言、汇编语言:
依赖于机器,面向(机器)0101
22软件有效性(efficiency),指软件系统的时间和(空间)效率。
0103
23软件定义过程可通过软件系统的(可行性研究)和需求分析两个阶段来完成。
0103
24软件定义的基本任务是确定软件系统的工程(需求),也就是要搞清“做什么”。
0103
25为了使用户需求逐步精细化、完全化、一致化,通常采用(需求建模技术)。
0402
一个软件的深度是指其控制的(层数)。
0801
26以详细设计说明书为输入,将该输入用某种程序设计语言翻译成计算机可以理解并最终可运行的代码的过程叫(编码)过程。
1301
27软件维护是软件生命周期的(最后)一个阶段。
1501
28软件的可互操作性,是指多个软件元素相互(通信)并协同完成任务的能力。
0201
29第三代语言也称为(高级)语言。
1301
30软件测试是软件投入运行(前),对软件需求分析、设计、实现的强有力的最终审查。
1401
31黑盒测试主要是测试软件是否满足(功能)需求。
1402
32(调试)的目的是确定错误的位置和引起错误的原因,并加以改正。
因此,又称为排错或纠错。
140433软件工程由方法、工具和(过程)三部分组成,称软件工程的三要素。
0101
34软件可追踪性(traceability),是指根据软件需求对软件设计、程序进行正向追踪,或根据程序、软件设计对软件需求进行(逆向)追踪的能力。
0103
35瀑布模型是由W.Royce于1970年提出来的。
又称为软件(生存周期)模型。
0104
36程序设计语言的(可维护)性通常指这种语言编写的程序被理解,被修改及调整和改进的难易程度。
130237软件工程由方法、(工具)和过程三部分组成,称软件工程的三要素。
0101
38软件可理解性,指系统具有清晰的结构,能直接反映问题的(需求)。
0103
39在实体-关系图简称E-R图中,数据对象实体用长方形、关系用(菱形)、属性用椭圆表示。
0502
40建立数据流模型要遵循的原则包括:
每个加工至少应有一个输入数据流以反映被处理数据的来源和一个(输出)数据流来反映加工的结果。
0503
41从工程管理的角度软件设计可分为概要设计和(详细)设计两大步骤。
0801
42通过向用户提供视觉和听觉上反馈,保持用户与界面间的双向通信,是提高界面可(交互)性的措施之一43程序设计语言的可靠性是指程序设计语言本身不出错或对错误的(纠正)能力。
1302
44对发现错误较多的程序模块,应进行(重点)测试。
1401
45测试用例中,不仅要选择合理的输入数据,还要选择(不合理)的输入数据。
46软件工程由(方法)、工具和过程三部分组成,称软件工程的三要素。
0103
47基于计算机系统的软件要素中的软部件由程序、数据和(文档)组成。
0301
48数据流图就是用来刻画数据流和转换的信息系统建模技术。
它用简单的图形记号分别表示数据流、转换、(数据源)以及外部实体。
0501
49被继承的类我们称之为基类(父类),在基类的基础上新建立的类我们称之为派生类子类。
0701
50流程图也称为程序框图是最常用的一种表示法,它有顺序、分支和(循环)三个基本控制构件。
080251机器语言和汇编语言,也称为(低级)语言。
1301
52软件测试是执行程序发现并排除程序中潜伏的(错误)的过程。
1401
53动态测试有两种测试方法:
黑盒测试和(白盒)测试。
1401
54软件可维护性,是指软件产品交付使用后,在实现改正潜伏的错误、改进性能等属性、适应环境变化等方面工作的(难易)程度。
0103