名词解释软件工程.docx
《名词解释软件工程.docx》由会员分享,可在线阅读,更多相关《名词解释软件工程.docx(10页珍藏版)》请在冰豆网上搜索。
名词解释软件工程
1、软件工程:
指的是将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护过程的学科
2、软件危机:
指的是在软件开发和维护时遇到的一系列问题最终导致的供需矛盾
3、软件危机的表现形式:
1)软件的发展速度跟不上硬件的发展和用户需求
2)软件成本和开发进度不能预先估计,用户不满意
3)软件产品质量差,可靠性没有保证
4)软件可维护性差
5)软件产品没有配套文档
4、计算机辅助软件工程(CASE)阶段(发展方向)
5、解决软件危机的途径:
1)纠正对软件开发的错误观念
2)需要研究软件开发技术和方法,规范软件开发流程
3)使用好的软件工具,研究软件复用技术,提高开发效率
4)提高软件工程管理水平
5)重视文档的重要性
6、工程化思想名词解释
7、什么是软件工程化思想
答:
软件工程在规范和指导着我们的开发活动,并在应用中不断发展而它的发展创造的一个朴素的指导思想仍然是“工程化的思想”
8、提高软件效率的途径之一是:
提高软件的复用性
9、软件工程的内容:
软件工程研究的主要内容包括软件方法和软件工程管理方面。
在管理方面,主要研究项目管理的相关内容,体现为软件过程中的各项管理控制活动。
软件方法主要研究软件开发方法论、开发技术和开发工具
“方法“是指方法论,是人们认识、理解和描述软件系统结构的一种思维模式,如结构化方法、面向对象的方法
“工具“是针对不同的方法论研究的用于从事软件工程分析与设计的图表工具,如结构化方法中有数据流图、功能结构图等
10、软件生命周期
“高内聚,低耦合“
软件定义(问题定义、可行性研究、需求分析)、软件开发(概要设计、详细设计、编程、测试)、运行与维护(运行与维护)三个时期
注意:
需求分析这个阶段的成果是软件需求规格说明书
软件工程讨论的主要内容可以分为软件工程技术和软件项目管理两大部分
目前软件技术主要讨论结构化方法和面向对象方法
11、软件开发过程名词解释
12、传统的模型有:
瀑布模型、增量模型、快速原型模型、螺旋模型、喷泉模型
13、面向对象模型:
RUP(统一过程模型)
14、软件过程概念:
软件过程包括软件开发过程和软件维护过程
15、软件成熟度模型(CMM):
是对一个软件组织的软件能力成熟度进行评价的框架模型
16、常见的软件过程模型有:
(简答)
瀑布模型、快速原型模型、螺旋模型、增量模型和喷泉模型
瀑布模型(以文档为驱动)
答:
以文档为驱动,它将开发过程分为调研、分析、设计、编程、测试和维护六个阶段
瀑布模型特点:
1)强调阶段之间的顺序性和依赖性
2)强调推迟实现的观点
3)强调“完备的文档”、“需求验证”、“阶段评审”对质量保证的作用
瀑布模型的优点:
1)可强迫开发人员采用规范的方法
2)严格地规定每个阶段必须提交的文档
3)要求每个阶段的所有产品都必须经过质量保证小组的仔细检查
瀑布模型的缺点:
1)各个阶段的划分完全固定,阶段之间产生大量的文档,增加工作量
2)由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发陈果,从而增加了开发的风险
3)早期的错误可能要等到开发后期的测试阶段才能发现,进而造成严重的后果
快速原型模型(以需求为驱动)
答:
快速原型模型是快速建立起来的可以在计算机上运行的程序,它所能完成的功能往往是最终产品能完成的功能的一个子集
优点:
不带反馈节
喷泉模型
答:
是一种以用户需求为动力,以对象为驱动的模型,主要用于描述面向对象的软件开发过程
优点:
可以提高软件项目开发效率,缩短开发周期,适用于面向对象的软件开发过程
17、极限编程(名词解释)
答:
极限编程(eXtremeProgramming)是一套能快速开发高质量软件所需的价值观、原则和活动的集合,使软件能以尽可能快的速度开发出来,并向客户提供最高的效率
18、SW-CMM(软件能力成熟度模型)
答:
软件配置管理和软件质量保证是贯穿整个生命周期的重要软件工程活动
19、软件规模估算技术名词解释
答:
代码行技术和功能点技术
20、软件规模估算方法名词解释p37
答:
软件估算是指凭借经验做出的推算,要求技术人员有项目经验做基础
方法有:
自顶向下估算法、自底向上估算法、差别估算法、专家估算法、类推估算法、算式估算法
21、“流水作业法“名词解释
答:
“流水作业法”是以高效率,一个环节紧扣一个环节的方式来生产和组装最终产品的方法
22、Gantt图的优点:
直观简明、容易掌握、容易绘制
Gantt图的缺点
1)不能显式地描绘各项作业彼此之间的依赖关系
2)进度计划的关键部分不明确,难于判定哪些部分应当是主攻和主控的对象
3)计划中有潜力的部分及潜力的大小不明确,往往造成潜力的浪费
23、工程网络名词解释
答:
显式地描绘各个作业彼此之间的依赖关系
24、关键路径名词解释
答:
项目的总工期由各工序衔接中最长的一条路径决定,这条路径被称为“关键路径”
注:
:
关键路径的最早时刻等于最迟时刻
25、软件质量保证(SQA)
答:
软件质量保证是建立一套有计划,有系统的方法,来管理保证标准、步骤、实践和方法能够正确地被所有项目采用。
26、软件配置名词解释P51
答:
软件配置管理是一种标识、组织和控制修改的技术
软件的输出信息可以分为三类:
源代码和可执行程序、文档、数据
27、基线
定义:
已通过正式复审的软件中间产品或软件文档,它可以作为进一步开发的基础,并且只有通过正式的变化控制过程才可以改变它
基线是指已通过正式复审的软件配置项
基线就是通过了正式复审的软件配置项集合
28、系统流程图名词解释
答:
系统流程图是使用图形符号以黑盒子的形式描绘组成系统的每个部件,如程序、文档、数据库、人工过程等,是描绘系统概况的传统工具
注意:
系统流程图表达的是系统的物理模型
29、程序流程图和系统流程图的区别:
答:
(1)系统流程图表达的是软件系统的宏观的系统结构,而不是程序结构
(2)没有控制结构,不存在判断分支和控制循环结构
30、数据流图
答:
数据流图是用来表达系统概貌的一种常用工具,应用数据流图有利于对系统功能和加工逻辑进行把握
31、数据流P61
答:
表示数据及其流向
32、数据流的绘制方法
答:
TOP图、第一层数据流图
33、投资回收期名词解释
答:
通常投资回收期衡量一个项目的价值
投资回收期就是使累计的经济效益偿还最初投资所需要的时间
34、需求分析(名词解释)
答:
需求分析主要是对用户的业务活动进行逻辑分析,明确在用户的业务环境中,软件系统应该实现哪些功能、应该满足哪些性能要求、存在哪些约束和限制条件
35、用于需求分析的图
答:
策略表、策略树、层次方框图、Warnier图、IPO图、
36、需求分析的主要阶段
答:
需求获取、分析建模、需求评审
37、数据字典定义
答:
数据字典就是用来定义数据流图中的各个成分的具体含义的工具,它以一种准确的、无二义性的说明方式,为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述
38、数据字典包含
数据流条目、数据存储条目、数据项条目、加工条目
39、策略树
策略树是一种比较直观的表达判定策略的工具,一般情况下用策略表分析的结构,需要用策略树再表达成比较直观的形式,然后,再用结构式语言表达,以利于编程实现
注意:
系统设计的依据是需求规格说明书
软件结构设计处于概要设计阶段
结构化方法主张把软件按模块组织成良好的层次系统。
数据流图细化到适当的层次,就可以直接映射出软件结构
数据库设计—概要设计包含的任务文档
40、模块的内聚:
内聚性越好,独立性越强
按内聚性的从高到低,模块的内聚形式有:
功能内聚、顺序内聚、通信内聚、过程内聚、时间内聚、逻辑内聚和巧合内聚
功能内聚(10)最高,巧合内聚(0)最低
扇形模块化结构的扇出和扇入
扇出:
是一个模块直接调用的下级模块数目
扇入:
表明有多少个上级模块直接调用它
41、面向数据流的设计方法:
面向数据流的设计方法的目标是给出设计软件结构的一个系统化的途径
42、面向对象数据流的设计原理:
根据数据流图中的信息流程特征,可以从数据流图映射出软件结构,这种方法称为面向数据流的设计方法,信息流程的类型决定了映射的方法。
信息流程两种类型:
变换流、事物流
43、详细设计阶段的主要任务:
代码设计、数据库设计、系统平台设计和程序设计
44、“实体-关系”模型
“实体-关系”模型也就是概念模型,具有三种基本成分:
实体、关系和属性
45、数据规范化理论
规范化理论以关系模型为背景,以关系理论为基础。
46、处理过程设计
处理过程设计的主要内容是:
(1)选择或设计算法
(2)精确地表达算法
47、编程,又称编码,详细设计的结果最终要用所选定的编程语言编写程序,这才是用户最终需要的软件产品
48、软件的开发环境:
软件的运行环境是用户需求的重要内容,属于非功能性需求,对系统设计和选型有着直接的影响。
运行环境可以分为网络环境、硬件环境和软件环境
网络环境包括:
网络操作系统、协议、网络宽带、网络的稳定性等因素
硬件环境:
硬件配置、性能、硬件兼容性以及硬件资源和操作特性对软件的要求
软件环境:
支持软件运行的操作系统、数据库系统及有通讯交互的其他应用系统
49、软件测试:
就是使用人工或者自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果和实际结果之间的差别
50、软件测试的目的:
(1)测试是程序的执行过程,目的在于发现错误
(2)一个好的测试用例在于能发现至今未发现的错误
(3)一个成功的测试是发现了至今未发现的错误
51、集成测试:
是把通过单元测试的各个模块边组装边测试,来检测与程序接口方面的故障
52、调试
调试,也称为纠错,是成功测试的后续活动。
(调试是在测试发现错误之后排除错误的过程)
虽然调试应该而且可以是一个有序的过程,但是,目前他/她在很大程度上仍然是一项技巧
53、调试途径
蛮干法、回溯法和原因排除法
54、软件维护的流程(简答)
1)制定维护申请报告
2)审查申请报告并批准
3)进行维护并做详细记录
4)复审
55、维护的副作用
因修改软件而造成的错误或其他不希望出现的情况称为软件的副作用
56、软件副作用分为
编码副作用、数据副作用和文档副作用
57、软件维护的四类活动:
为了纠正在使用过程中暴露出来的错误而进行修改的改正性维护;为了适应外部环境的变化而进行的适应性维护;为了改进原有的软件而进行的完善性维护;以及为了改进将来的可维护性和可靠性而进行的预防性维护
58、改正性维护(21%)、适应性维护(25%)、完善性维护(50%)、预防性维护(4%)