软件工程名词解释Word文档下载推荐.docx
《软件工程名词解释Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《软件工程名词解释Word文档下载推荐.docx(22页珍藏版)》请在冰豆网上搜索。
![软件工程名词解释Word文档下载推荐.docx](https://file1.bdocx.com/fileroot1/2023-1/21/088307ce-5f1b-4a8b-9757-2f4dae3e1884/088307ce-5f1b-4a8b-9757-2f4dae3e18841.gif)
标识变更、控制变更、确保变更正确地实现、报告有关变更。
SCM是一组管理整个软件生存期各阶段中变更的活动。
24.软件配置项是软件工程中产生的信息项,它是配置管理的基本单位,对已成为基线的SCI,虽然可以修改,但必须按照一个特殊的正确的过程进行评估,确认每一处的修改。
1.计算机系统工程
答:
计算机系统工程是用工程、科学和数学的原则与方法研制基于计算机的系统的有关技术方法和过程。
25.软件概要设计又称结构设计,这是一个把软件需求转换为软件表示(只是描述软件的总的体系结构)的过程。
26.模块在程序中是数据说明、可执行语句等程序对象的集合,或者是单独命名和编址的元素,在软件的体系结构中,模块是可组合、分解和更换的单元。
27.模块化指解决一个复杂问题时自顶向下逐层把软件系统划分成若干模块的过程。
每个模块完成一个特定的子功能,所有模块按某种方法组装起来,成为一个整体,完成整个系统所要求的功能。
28抽象是认识复杂现象过程中使用的思维工具,即抽出事物本质的共同特性而暂不考虑它的细节,不考虑其他因素。
29.信息隐蔽指在设计和确定模块时,使得一个模块内包含的信息(过程或数据),对于不需要这些信息的其他模块来说,是不能访问的。
30模块独立性指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。
31.耦合性也称块间关系,指软件系统结构中各模块间相互联系紧密程度的一种度量。
32.无直接耦合指两个模块之间没有直接关系,它们分别从属于不同模块的控制和调用,它们之间不传递任何信息。
33.数据耦合指两个模块之间有调用关系,传递的是简单的数据值,相当于高级语言中值传递。
34.标记耦合指两个模块之间传递的是数据结构。
35.控制耦合指一个模块调用另一个模块时,传递的是控制变量(如开关、标志等),被调用模块通过该控制变量的值有选择地执行块内某一功能。
36.公共耦合指通过一个公共数据环境相互作用的那些模块间的耦合。
公共数据环境可以是全程变量或数据结构、共享的通信区、内存的公共覆盖区及任何存储介质上的文件、物理设备等。
37.内容耦合指一个模块直接调用另一个模块的内部数据,或通过非正常入口而转入另一个模块内部。
38.内聚性又称块内联系,指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。
39.偶然内聚指一个模块内的各处理元素之间没有任何联系。
40.逻辑内聚指模块内执行几个逻辑上相似的功能,通过参数确定该模块完成哪一个功能。
41.时间内聚指需要同时执行的动作组合在一起形成的模块。
42.通信内聚指模块内所有处理元素都在同一个数据结构上操作(有时称为信息内聚),或者指各处理使用相同的输入数据或者产生相同的输出数据。
43.顺序内聚指一个模块中各个处理元素都密切相关于同一功能且必须顺序执行,前一功能元素的输出就是下一功能元素的输入。
44.功能内聚指模块内所有元素共同完成一个功能,缺一不可。
因此模块不能再分割。
45.软件结构图是软件系统的模块层次结构,反映了整个系统的功能实现。
46.结构化设计又称面向数据流的设计,它是以需求分析阶段产生的数据流图为基础,按一定的步骤映射成软件结构。
47.变换流指数据流图(简称DFD)具有明显的输入、变换和输出界面。
48.事务流指数据流图中输入流被分离成许多数据流,形成许多加工路径,并根据输入值选择其中一条路径来执行。
49.JSP方法定义一组以数据结构为指导的映射过程,它根据输入、输出的数据结构,按一定的规则映射成软件的过程描述,即程序结构。
适于详细设计阶段。
50.JSD主要以活动事件为中心,通过由一串活动顺序组合构成进程,建立系统模型,最后实现该模型。
四、简答题(每题4分,5道题,共20分)
1.在基于计算机的系统中一般都包含哪些系统要素?
(第1章)
包含的系统要素:
①硬件;
②软件;
③人;
④文档;
⑤数据库;
⑥过程。
2.在硬件工程中,硬件定义阶段的任务有哪些?
硬件定义阶段的任务是:
1)制定硬件开发计划,确定项目成本和工程进度;
2)进行硬件需求分析,给出硬件规格说明。
3)软件产品的质量往往是靠不住的。
3.在硬件工程中,硬件设计阶段的任务有哪些?
硬件设计阶段的任务是:
1)设计分析,画出设计图;
2)必要时建造原型(即样机)并对其进行测试;
3)制造分析,画出生产图。
4.在硬件工程中,硬件制造与销售维护阶段的任务是什么?
硬件制造与销售维护阶段的任务是:
按照质量保证计划生产硬件产品并销售,相应的服务机构对硬件产品进行售后服务。
5.在人机工程中,人机界面的开发过程主要包括哪几个步骤?
(第6章)
1)活动分析。
2)动作定义和设计。
3)动作的实现。
4)用户环境设计。
5.原型设计。
6.简述数据库工程完成的主要任务有哪些?
数据库工程完成的主要任务有:
1)调查用户对信息和信息处理的需求,进行可行性论证、成本估算,制定项目计划。
2)选择支持数据库系统的硬件和软件。
3)数据库设计与实现。
4)数据的收集与存储。
5)运行、管理与维护。
7.可行性研究的任务主要有哪几个方面?
(第3章)
可行性研究的任务主要有:
1)经济可行性研究;
2)技术可行性研究;
3)运行操作可行性研究;
4)法律可行性研究;
5)开发方案的选择。
8.简述可行性研究的步骤。
(第3章)
典型的可行性研究的主要步骤如下:
1)复审初步分析结果;
2)研究现有的系统;
3)导出新系统的高层逻辑模型;
4)导出新系统的高层物理解法;
5)推荐建议的方案;
6)评审、复审和决策。
9.基于计算机系统的成本主要由哪4个部分组成?
(第2章)
基于计算机系统的成本主要由以下4个部分组成:
1)购置并安装软硬件及有关设备的费用;
2)系统开发费用;
3)系统安装、运行和维护费用;
4)人员培训费用。
10.技术可行性研究主要包括哪些分析,各分析的任务如何?
(第3章)
1)风险分析。
其任务是论证在给定的约束条件下,能否实现系统所需的功能和性能。
2)资源分析。
其任务是论证是否具备系统开发所需的各类人员、软硬件资源和工作环境等。
3)技术分析。
其任务是论证现有的技术水平和开发能力是否支持开发的全过程,并达到系统功能和性能的目标。
11.试画出基于计算机的系统结构模板。
基于计算机的系统结构模板如下图所示:
12.系统建模和模拟的主要步骤有哪些?
(第5章)
系统建模和模拟的主要步骤如下:
1)分析问题,确定模拟的目标。
2)建立模型。
3)借助模型对现实系统进行模拟,并评价模拟结果。
4)如果模拟结果不正确,则修改模型,然后在3)和4)间进行迭代,直至得到满意的结果为止。
5)撰写模拟文档。
13.对系统规格说明的技术评审主要解决哪些问题?
(第9章)
对系统规格说明的技术评审主要解决的问题有:
1)系统规格说明中的定义是否正确,是否正确地描述了项目的范围,是否准确地定义了系统的功能、性能和界面,开发人员和用户对系统的目标是否有共同的认识等。
2)系统功能的复杂性是否与开发风险、成本和进度预测保持一致。
3)系统及各子系统功能定义是否足够详细。
4)系统与环境及各子系统之间的接口定义是否详细、有否遗漏。
5)是否指明系统性能、可靠性和可维护性等需求。
6)是否为以后的开发打下坚实的基础。
14.对系统规格说明的管理复审主要解决哪些问题?
对系统规格说明的管理复审主要解决的问题有:
1)系统是否有稳定的商业需求,是否有经济和社会效益。
2)系统开发是否还有其他的选择方案。
3)系统各部分开发风险如何。
4)系统开发所需资源是否具备。
5)成本和进度计划是否合理等。
15.软件产品的特点是什么?
①软件开发与硬件研制相比,更依赖于开发人员的业务素质、智力、人员的组织、合作和管理。
②大型软件仍然存在着潜伏的错误。
③软件产品开发成功后,只需对原版软件进行复制,即可生产出任意多的同样的产品。
④还有,软件在使用过程中的维护工作比硬件要复杂得多。
⑤由于软件不是物理产品,所以它不会磨损和老化。
16.软件危机的表现有哪些?
1)对软件开发成本和进度的估计常常很不准确。
2)用户对已完成的软件不满意的现象时有发生。
4)软件常常是不可维护的。
5)软件通常没有适当的文档资料。
6)软件成本在计算机系统总成本中所占比例逐年上升。
7)软件开发生产率提高的速度远跟不上日益增长的软件需求。
17.产生软件危机的原因主要有哪些?
1)用户对软件需求的描述不精确。
2)软件开发人员对用户需求的理解有偏差。
3)缺乏处理大型软件项目的经验。
4)开发大型软件易产生疏漏和错误。
5)缺乏有力的方法学的指导和有效的开发工具的支持。
6)面对日益增长的软件需求,人们显得力不从心。
18.软件工程的7条基本原理是什么?
(第12章)
1)用分阶段的生存周期计划严格管理
2)坚持进行阶段评审
3)实行严格的产品控制
4)采用现代程序设计技术
5)结果应能清楚地审查
6)开发小组的人员应少而精
7)承认不断改进软件工程实践的必要性
19.软件工程的7条原则是什么?
1.抽象。
2.信息隐藏。
3.模块化。
4.局部化。
5.一致性。
6.完全性。
7.可验证性。
20.软件生存周期如何划分?
(第11章)
可将软件生存周期划分为3个过程共9个阶段。
软件定义过程:
由可行性研究和需求分析2个阶段组成;
软件开发过程:
由概要设计、详细设计、实现、组装测试、验收测试5个阶段组成;
软件使用与维护过程:
由使用与维护和退役2个阶段组成。
21.常见的软件开发模型有哪些?
(第1章)
有瀑布模型、原型模型、螺旋模型、喷泉模型、变换模型、基于四代技术的模型、基于知识的智能模型等。
22.瀑布模型适合于哪类软件系统的开发?
瀑布模型一般适用于功能、性能明确、完整、无重大变化的软件系统的开发。
例如操作系统、编译系统、数据库管理系统等系统软件的开发。
23.瀑布模型的缺点主要有哪些?
1)在软件开发的初期阶段就要求做出正确、全面、完整的需求分析对许多应用软件来说是极其困难的。
2)在需求分析阶段,当需求确定后,无法及时验证需求是否正确、完整。
3)不支持产品的演化,缺乏灵活性,使软件产品难以维护。
24.实现快速原型的开发途径有哪三种?
(第5章)
1)仅模拟软件系统的人机界面和人机交互方式。
2)开发一个工作模型,实现软件系统中重要的或容易产生误解的功能。
3)利用一个或几个类似的正在运行的软件向用户展示软件需求中的部分或全部功能。
25.原型模型适于哪种情况的软件开发?
原型模型适合于那些不能预先确切定义需求的软件系统的开发,更适合于那些项目组成员(包括分析员、设计员、程序员和用户)不能很好交流或通信有困难的情况。
26.螺旋模型的每一个周期包括哪几个阶段?
螺旋模型的每一个周期都包括计划(需求定义)、风险分析、工程实现和用户评价与阶段评审4个阶段。
27.螺旋模型的优点有哪些?
螺旋模型的主要优点有:
1)支持用户需求的动态变化。
2)原型可看作形式的可执行的需求规格说明,易于为用户和开发人员共同理解,还可作为继续开发的基础,并为用户参与所有关键决策提供了方便。
3)螺旋模型特别强调原型的可扩充性和可修改性,原型的进化贯穿整个软件生存周期,这将有助于目标软件的适应能力。
4)为项目管理人员及时调整管理决策提供了方便,进而可降低开发风险。
28.螺旋模型适于哪种情况的软件开发?
螺旋模型支持需求不明确、特别是大型软件系统的开发,并支持面向规格说明、面向过程、面向对象等多种软件开发方法,是一种具有广阔前景的模型。
29.软件项目管理的主要任务是什么?
软件项目管理的主要任务是根据选定的软件开发过程框架(即软件开发模型)和对其估算的结果制定软件项目实施计划;
再根据计划对人员进行组织、分工;
按照计划的进度,以及成本管理、风险管理、质量管理的要求,控制并管理软件开发和维护的活动,最终以最小的代价完成软件项目规定的全部任务。
30.成本管理的主要任务是什么?
成本管理的主要任务是估算软件项目的成本,作为立项和签合同的依据之一,并在软件开发过程中按计划管理经费的使用。
31.质量管理的主要任务是什么?
(第10章)
质量管理的主要任务是制定软件质量保证计划,按照质量评价体系控制软件质量要素,对阶段性的软件产品进行评审,对最终软件产品进行确认,确保软件质量。
32.常用的软件项目的估算方法主要有哪4种?
1)自顶向下的估算方法
2)自底向上的估算方法
3)差别估算法
4)根据实验或历史数据给出软件项目工作量或成本的经验估算公式。
33.软件质量的定义?
1983年,ANSI/IEEEstd729标准给出了软件质量的定义如下:
软件质量是软件产品满足规定的和隐含的与需求能力有关的全部特征和特性,包括:
1)软件产品满足用户要求的程度;
2)软件拥有所期望的各种属性的组合程度;
3)用户对软件产品的综合反映程度;
4)软件在使用过程中满足用户需求的程度。
34.简述McCall等人的软件质量度量模型(第11章)
McCall等人提出了由软件质量要素、评价准则、定量度量三个层次组成的三层次度量模型。
其中第一层是将对软件质量的度量归结为对直接影响软件质量的若干个软件质量要素的度量;
由于质量要素很难直接度量,所以第二层是用若干个可度量的评价准则来间接度量软件质量要素;
而第三层是对相应评价准则的直接度量。
35.软件复杂性的概念?
K.Magel从6个方面来描述软件复杂性:
1)理解程序的难度;
2)维护程序的难度;
3)向其他人解释程序的难度;
4)按指定方法修改程序的难度;
5)根据设计文件编写程序的工作量;
6)执行程序时需要资源的多少。
36.衡量软件的复杂程度有哪些基本原则?
衡量软件的复杂程度有12条基本原则,如下:
1)软件的复杂性与其规模的关系不是线性的;
2)数据结构复杂的程序较复杂;
3)控制结构复杂的程序较复杂;
4)转向语句使用不当的程序较复杂;
5)循环结构比选择结构复杂、选择结构比顺序结构复杂;
6)语句、数据、子程序模块等出现的顺序对复杂性有影响;
7)非局部变量较多的程序较复杂;
8)参数按地址调用(Callbyreference)比按值调用(Callbyvalue)复杂;
9)函数副作用比显式参数传递难理解;
10)作用不同的变量同名时较难理解;
11)模块、过程间联系密切的程序较复杂;
12)程序嵌套层数越多越复杂。
37.软件开发项目管理过程主要包括哪几个方面?
软件开发项目管理过程主要包括以下几个方面:
1)启动一个软件项目。
2)成本估算。
3)风险分析。
4)进度安排。
5)追踪和控制。
38.风险分析有哪四个主要活动?
(第9章)
风险分析的四个主要活动:
风险标识、风险估算、风险评价、风险驾驭和监控。
39.风险评价过程可分为哪四步?
风险评价过程可分四步进行:
1)定义项目的风险参照水准;
2)定义每种风险的三元组[ri,pi,xi],并找出和每个参照水准之间的关系;
3)预测一组参照点以定义一个项目终止区域,用一条曲线或一些易变动区域来定界;
4)预测各种风险组合的影响是否超出参照水准。
40.风险驾驭与监控的主要目标有哪些?
风险驾驭与监控的主要目标有三个:
1)判断一个预测的风险是否已经发生;
2)确保针对每一个风险而制定的风险驾驭步骤正在合理地实施;
3)收集有关风险分析的所有信息,以备将来使用。
41.软件项目开发的进度安排必须解决好哪几个问题?
软件项目开发的进度安排必须解决好以下几个问题:
1)任务、人力、时间等资源的分配应与工程进度相一致;
2)任务的分解与并行开发;
3)工作量的分配;
4)具体进度安排。
42.软件质量保证(SQA)活动主要包括哪些内容?
SQA活动主要包括以下内容:
1)在需求分析阶段提出对软件质量的需求,并将其自顶向下逐步分解为可以度量和控制的质量要素,为软件开发、维护各阶段软件质量的定性分析和定量度量打下基础;
2)研究并选用软件开发方法和工具;
3)对软件生存周期各阶段进行正式的技术评审(FTR);
4)制定并实施软件测试策略和测试计划;
5)及时生成软件文档并进行其版本控制;
6)保证软件开发过程与选用的软件开发标准相一致;
7)建立软件质量要素的度量机制;
8)记录SQA的各项活动,并生成各种SQA报告。
43.正式的技术评审(FTR)的过程一般由哪6个步骤组成?
FTR的过程一般由6个步骤组成:
①制定评审计划,即安排好评审会议日程。
②介绍工程情况。
③准备工作。
评审小组成员自己审阅文档资料,并把发现的问题和错误记录下来,以备在评审会议上讨论。
④正式召开评审会议。
⑤工程返工。
⑥工程复审。
如此反复、直至通过复审为止。
44.在建立软件开发组织的时候要注意的原则是哪些?
在建立软件开发组织的时候要注意的原则是:
①尽早落实责任。
特别是软件项目负责人的责任;
②减少接口。
组织应该有良好的组织结构、合理的人员分工,以减少不必要的通信;
③责权均衡。
指软件经理的责任不应比赋予他的权力还大。
45.程序设计小组的组织形式有哪几种?
程序设计小组的组织和小组内部人员的组织形式对生产率都会产生影响。
常采用的组织形式有主程序员制小组、民主制小组、层次式小组3种。
46.一个主程序员制小组由哪些人员组成?
由1位主程序员(高级工程师)、2~5位程序员(技术员)、1位后援工程师组成,还可以配备辅助人员(如资料员)。
47.民主制小组是怎样的一种组织形式?
民主制小组由若干程序员组成,虽然也设置一位组长,但是每当遇到问题时,组内的成员可以进行民主协商,以平等的地位交换意见。
工作目标的制定、做出决定都有全体组员参加,即强调发挥小组每一个成员的积极、主动性和协作精神。
48.层次式小组是怎样的一种组织形式?
层次式小组是将组内人员分为3级