简答。1.软件维护有哪些内容?(1)改正性维护。指发现和改。
1、软件可行性。
正潜藏的软件维护。分为:非用户因素的错误的维护,影。
2、瀑布模型:是将软件生存各个活动规定为依线性顺序像系统正常运行的错误的维护,不影响系统正常运行的的联接的若干阶段的模型。它包括可行性分析、项目开发计错误的维护,约占全部维护活动的17~20%(2)适应性维。
护。指在硬件环境改善,软件支撑环境改善的情况下,交。
划、需求分析、概要设计、详细设计、编码、测试和维护。
付使用的软件系统做相应的修改,以适应新的系统环境,它规定了由前至后,相互衔接的固定次序,如同瀑布流水,约占全部维护活动的18~25%(3)完善性维护:交付使用。
后,随着对系统的功能的熟悉,对系统环境的掌握,用户逐级下落。
提出了一些新的增加功能和性能的要求,这些要求又是合。
3、增量模型:是在项目的开发工程中以一系列的增量方。
理的,尽管雪球规格说明书中没有规定,但对完善系统功。
式开发系统。增量方式包括增量开发和增量提交。增量开能是必要的,则必须列入维护阶段再次开发设计测试维。
以适应用户要求,完善软件的功能,提高软件的质量,发是指在项目开发过程中以一定的时间间隔开发部分工护,约占全部维护活动的50~66%(4)预防性维护:为了改进。
作软件;增量提交是指在开发周期内,以一定的时间间隔。
软件的可靠性与维护性,为了适应未来的软硬件的环境变。
增量方式向用户提交工作软件及相应稳当。增量开发和增化,主动的增加预防性的新版本功能,以使软件适应市场。
变化而不被淘汰。与其它维护活动共占总维护的4%左右。量提交可以同时使用,也可单独使用。
2.衡量模块独立性的两个标准是什么?各表示什么含。
4、螺旋模型:
义?内聚和耦合。内聚:又称为块内联系,指模块内部各。
5、喷泉模型:是一种以用户需求为动力,以对对象作为成分之间相互联系的程度,以高内聚为设计目标。耦合:
驱动的模型,适合于面向对象的开发方法。他克服了瀑布也称块间联系,模块之间相互联系程度的质量,联系越紧模型不支持软件重用和多项开发活动集成的局限性。喷泉密,耦合性越强,独立性越差,以低耦合未设计目标。
模型使开发过程具有迭代性和无间隙性。系统某些部分常3.如果无限制地分割软件,最后为了开发软件而需要的工常重复工作多次,相关功能在每次迭代中随之加入演化的作量就小得可以忽略了吗?
为什么?事实上,还有另外一系统。无间隙是指在分析、设计、实现等开发活动之间不个因素在起作用,从而使得上述结论不能成立,当模块数存在明显的边界。
目增加是每个模块的规模将减小,开发单个模块需要的成6、结构化分析:是根据分解与抽象的原则,按照系统中本确实减少了,但是,随着模块数目增加,设计模块间接数据处理的流程,用数据图来建立系统的功能模型,从而口所需要的工作量也将增加,每个程序都相应的有一个最完成需求分析工作适合的模块数目m,使得系统的开发成本最小。
7、结构化设计:面向数据流的设计是以需求分析阶段产4软件生命周期为什么要划分成阶段?划分成那几个阶生的数据流图为基础,按一定的步骤映射成软件结构,因段?
软件生命周期有软件定义,软件开发和运行维护三个此又称结构化设计(sd).时期组成,每个时期有可以进一步划分若干个阶段。(1)8、结构化程序设计:
软件定义时期的任务是确定软件开发工程必须完成的总9、确认测试:按照需求规格说明书中的确定指标对系统目标,确定工程的可行性。导出实现工程目标应该采用的。
策略及系统必须完成的功能。估计完成该项工程需要的资进行功能与性能的测试。
源成本,并且制定工程进度表。这个时期的工作又称为系。
10、集成测试:将模块组合起来成为一个完整的系统对其。
统分析,有系统分析员负责完成。软件定义时期通常进一进行测试。
步划分成三个阶段,即问题定义,可行性研究河需求分析。11、系统测试:
2)开发时期具体设计和实现在前一个时期定义的软件,12、单元测试:
它通常由上述四个阶段组成:概要设计,详细设计,编码13、适应性维护:
和单元测试,综合测试。其中前两个阶段成为系统设计,14、完善性维护:
后两个阶段又称为系统实现。(3)运行维护是其主要任务。
15、无直接耦合:两个模块之间没有直接的关系,它们分。
实施软件持久的满足用户的需要。具体地说,当软件在使。
别从属于不同模块的控制与调用,它们之间不传递任何信用过程中发现错误是应该加以改正,当环境改变是应该修。
改软件以适应新的环境,当用户有新要求是应该及时改进息。
软件以满足用户的新需要。通常对维护使其不再进一步划。
16、数据耦合:指两个模块之间有调用关系,传递的是。
分阶段,但是每一次维护本质上都是一次压缩和简化了的。
简单的数据值,相当于高级语言中的值传递。定义和开发过程。分8个阶段:
问题定义,可行性研究,需求分析,总体设计,详细设计,编码和单元测试,综合17、标记耦合:指两个模块之间传递的是数据结构。
测试,软件维护。5.软件设计的基本原理包括哪些内容?
18、控制耦合:指控制模块调用另一个模块时,传递的。
1)模块化:就是把程序划分成独立命名且可独立访问。
是控制变量,被调用块通过该控制变量的值有选择的模块,每个模块完成一个子功能,把这些模块集成起来。
构成一个整体,可以完成指定的功能满足用户的需要。(2)地执行块内某一功能(控制变量)
抽象:是抽出事物的本质特性而暂时不考虑他们的细节。
19、公共耦合:通过一个公共数据环境相互作用的那些。
3)逐步求精:人类解决复杂问题是采用的基本技术,模块间的耦合。(一个公式数据环境)可以把逐步求精定义为:“为了能集中解决主要问题而尽。
(4)信息隐蔽和局部化:信20、内容耦合:一个模块直接使用另一个模块的内部数量推迟对问题细节的考虑。
息隐蔽原理指出:应该这样设计和确定模块,使得一个模。
据,或通过非正常入口而转入另一个模块内部偶然。
块内包含的信息对于不需要这些信息的模块来说,是不能名词解释:
内聚:一个模块内的各处理元素之间没有任何联系。访问的。局部化的概念和信息隐蔽概念是密切相关的。所。
谓局部化是指把一些关系密切的软件元素物理地放得彼。
21、内聚性:也称块内联系。指模块的功能强度的度量,此靠近。在模块中使用局部数据元素使局部化的一个例。
即一个模块内部各个元素彼此结合的紧密程度的度子。显然,局部化有助于实现信息隐蔽。(5)模块独立:
模块的独立程度由两个定性度量:内聚性和耦合性。量。模块内元素联系越紧密,内聚性越高。
6.什么是软件生存周期?它有哪几个活动?软件生命周。
22、偶然内聚:指一个模块内的各处理元素之间没有任。
期:一个软件从提出开发要求开始直到该软件报废为止的。
何联系。整个时期。包括:问题定义,可行性研究,需求分析,总23、逻辑内聚:模块内执行几个逻辑上相似的功能,通体设计,详细设计,编码和单元测试,综合测试,软件维。
护。7.画数据流图应注意什么事项?(1)命名。不论是。
过参数确定该模块完成哪一个功能。
数据流\数据存储还是加工,合适的命名使人们易于理解。
24、时间内聚:把需要同时执行的动作组合在一起。基含义。
(2)画数据流而不是控制流。(3)一般不画物25、通信内聚:指模块内所有处理元素都在同一个数据质流。
(4)每个加工至少有一个输入流和一个输出流,反映出此加工数据的**与加工的结果。(5)编号(6)
结构上操作,或者指各处理使用相同的输入数据或。
幅图与子图的平衡(7)局部数据存储(8)提高数据流图。
产生相同的输出数据。的易理解性。8.什么是黑盒测试法?采用黑盒技术测试用。
它是通过测试26、顺序内聚:一个模块中各处理元素都密切相关于同例有哪几种方法?黑盒测试也称功能测试,来检测每个功能是否都能正常使用。在测试中,把程序看。
一功能且必须顺序执行,前一功能元素的输出是下。
做一个不能打开的黑盒子,在完全不考虑程序内部结构和。
一功能元素的输入。内部特性的情况下,在程序接口进行测试,它只检查程序27、功能内聚:最强的内聚,指模块内所有元素共同完功能是否按照需求规格说明书的规定正常使用,程序是否。
能适应当地接收输入数据而产生正确的输出信息。黑盒测。
成一个功能,缺一不可。
试着眼于程序外部结构,不考虑内部逻辑结构,主要针对。
17、结构化程序设计:软件界面和软件功能进行测试。方法:
(1)等价类划分。18、数据流图:简称dfd,是sa(结构化分析)方法中用(2)边界值分析。
(3)错误推断。(4)因果图。9.
模于表示系统逻辑模型的一种工具,它以图形的方式描绘数块独立性与信息隐蔽有何关系?“模块独立性”是指软件。
系统中每个模块只设计软件要求的具体的子功能,而和软。
据在系统中流动和处理的过程,由于它只反映系统必须完。
件系统中其他的模块的接口是简单的。所谓“信息隐蔽”
成的逻辑功能,所以它是一种功能模型。是指每个模块的实现细节对于其他模块的接口来说是隐19、数据字典:简称dd,就是用来定义数据流图中的各蔽的。
也就是说,模块中所包含的信息不允许其他不需要。
衡量模块独立性的一个准则就是模个成分具体含义的,它以一种准确的、无二义性的说明方这些信息的模块使用。
式为系统的分析、设计及维护提供了有关元素的一致的定块内聚,达到信息隐蔽的模块式信息内聚模块,它是高内义和详细的描述。四类条目:数据流、数据项、数据存储、聚的情形,因此模块独立性当然就很强了。
10.简述软件。
测试的目的。(1)软件测试是为了发现错误而执行程序数据加工。
的过程。(2)一个好的测试用例能够发现至今尚未发现20、软件维护:
的错误。(3)一个成功的测试是发现了至今尚未发现的21、类继承性:
22、多态性:指相同的操作或函数、过程可作用于多种类错误。从用户的角度出发,普遍希望通过软件测试暴露软型的对象上并获得不同结果。
不同的对象,收到同一消息件中隐藏的错误和缺陷,已考虑是否可接受该软件。从软。
件开发者的角度出发,则希望测试成为表明软件产品中不可以产生不同的结果,这种现象称为多态性。
存在错误的过程,验证该软件以正确的实现了用户的要23、封装性:
求,确立人们对软件质量的信心。24、类图:
25、动态模型:是与时间和变化有关的系统性质。该模型33、扇出:
是一个模块直接控制的模块数目。描述了系统的控制结构,他表示了瞬时的、行为化的系统34、控制性质。他关心的是系统的控制,操作的执行顺序。
他35、判定表:从对象的事件和状态的角度出发,表现了对象的相互关36、判定树:
37、环路复杂度:系。
26、对象模型:表示了静态的、结构化的系统数据性质,描述了系统的静态结构,它是从客观世界实体的对象关系角度来描述,表现了对象的相互关系。
27、功能模型:描述了系统的所有计算,它表明一个计算如何从输入只得到输出值,它不考虑所计算的次序。功能模型说明对象模型中操作的涵义、动态模型中动作的意义以及对象模型中约束的意义。
28、模块作用域:29、模块控制域:30、等价分类法:
31、边界值分析法:
32、扇入:一个模块的扇入表明有多少个上级模块直接调用它。
软件工程复习
单选填空简答思考题。1 传统的软件瀑布生命模型包括哪六个方面?需求 分析 设计 实现 交付后维护 退役2 传统瀑布生命模型的中交付后维护包括哪三种?改正性维护 适应性维护 完善性维护3 现代维护和传统维护的观点有何不同?1 传统维护的观点是先开发后维护。2 现代维护的观点是无论是在软件安装前还是安装...
软件工程复习
软件工程复习资料。备注 1.老师反复强调我们之前做过的作业要熟练掌握 需求陈述 实验课画的模型 自己画。的数据流图 2 蓝颜色的字都是老师上课补充的,还有很多需要自己去补充,欢迎修正完善。核心问题 在考试做大是要表述清楚详细,关。键词要有 问题定义 专用名词表要解决的问题是什么?达要准确,不能更改 ...
软件工程 复习
1.概念 软件危机是指在计算机软件开发 使用与维护过程中遇到的一系列严重问题。2.为什么会产生软件危机?当软件开发技术的进步不能跟上硬件技术的进步,未能满足发展的要求,致使软件开发中遇到的问题找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。3.软件危机的表现 经费预算经常突破...