2008年06月11日 星期三 17:48
一、名名解释(20分,每小题2分) 1. 软件工程
2. 软件生存周期模型 3. 数据流 4. 模块
5. 模块性 6. 软件可靠性 7. 软件配置项 8. 原型 9. 类 10. 消息
二、填空题(20分,每小题2分) 1.软件工程研究的主要内容是软件开发技术和软件开发管理两个方面。在软件开发技术中,主要研究 、 和 。 2.维护的副作用有 、 、 三种。
3.技术可行性一般要考虑的情况包括: 、 、 。
4.在需求分析阶段要进行以下几方面的工作:问题识别、 、 。 5.软件设计是一个把 转换为 的过程,包括 和 。 6.在一个模块中, 反映模块的外部特性, 反映它的内部特性。 7.面向对象有三个基本要素。它们是 、 、 。 8.软件测试时需要三类信息: 、 和 。 9.为开发一个特定项目选择程序设计语言时,必须从 、 、 几方面考虑。
10。测试用例应由 和预期的 两部分组成。这样便于对照检查。 三、选择题(20分,每小题1分)
1.进行需求分析可使用多种工具,但 是不适用的。 A。数据流图B。判定表C。PAD图D。数据词典 2.模块 ,则说明模块的性越强。
A。耦合越强B。扇入数越高C。耦合越弱D。扇入数越低 3.数据处理问题的工作过程大臻分为三步,即取得数据、变换数据和给出数据。 A。变换型B。事务型C。结构化D。非结构化
4.为了最乡里实现目标系统,必须设计出组成这个系统的所有程序和文件,通常分为两个阶段完成,即 和过程设计。
A。程序设计B。结构设计C。系统设计D。详细设计 5.面向数据流的设计方法把 映射成软件结构。 A。数据流B。系统结构C。控制结构D。信息流 6.Jackson方法是一种面向 的方法。
A。对象B。数据结构C。数据流D。控制流
7.模块的内部过程描述就是模块内部的 ,它的表达形式就是详细设计语言。 A。模块化设计B。算法设计C。程序设计D。详细设计
8.软件的开发与维护划分为八个阶段,其中单元测试是在 阶段完成的。 A。概要设计B。详细设计C。编码D。测试
9.在结构测试用例设计中,有语句覆盖、条件覆盖、判定覆盖(即分支覆盖)、路径覆盖等,其中 是最强是覆盖准则。
A。语句覆盖B。条件覆盖C。判定覆盖D。路径覆盖
10.在实现阶段要完成的工作之一是单元测试,单元测试国根据在 阶段中的规格说明进行。
A。可行性研究和计划B。需求分析C。概要设计D。详细设计
11.软件的可维护性、可使用性、 是衡量软件质量的几个主要特性。 A。可靠性B。可复用性C。可理解性D。可修改性
12.原型化方法是用户和设计者之间执行的一种交互过程,适用于 系统。 A。需求不确定性高的B。需求确定的C。管理信息D。实时 13.原型化方法是一种 型的设计过程。
A。自外向内B。自顶向下C。自内向外D。自底向上
14.功能模型中所有的 往往形成一个层次结构。在这个层次结构中一个数据流衅的过程可以由下一层的数据流图做进一步的说明。
A。数据流图B。概念模型图C。状态迁移图D。事件追踪图 15.面向对象的主要特征除对象惟一性、封装、继承外,还有 。 A。多态性B。完事性C。可移植性D。兼容性
16.软件质量保证即为了确定、达到和 需要的软件质量而进行的所有有计划、有系统的管理活动。
A。测试B。维护C。质量D。效率
17.为了提高软件的质量和 ,软件质量保证的主要任务有:为争不重复劳动,掌握开发新软件的方法等八类任务。 A。测试B。维护C。质量D。效率
18.在配置管理中,“检出”和“登入”处理实现了两个重要的变更控制要素,即 和同步控制。
A。异步控制B。同步控制C。基线控制D。存取控制 19.版本用来定义软件配置项的 。
A。演化阶段B。环境C。要求D。软件工程过程
20.支持计算机软件的开发、维护、模拟、移植或管理而研制的程序系统称为 。 A。软件工具B。软件环境C。软件过程D。软件模型 四、简答题(30分,每小题5分) 1.软件工程目标和内容是什么?
2.什么是结构化分析方法?该方法使用什么描述工具? 3.结构化程序设计基本要点是什么?
4.非渐增式测试与渐增式测试有什么区别? 5.快速原型模型有几种?各有何特点? 6.软件质量保证策略是什么? 五、应用题(10分) 一. 名词解释题
1. 用科学知识和技术原理来定义,开发,维护软件的一门学科.
2. 软件生存周期模型是描述软件开发过程中各种活动如何执行的模型. 3. 数据流是数据在系统内传播路径,因此由一组成分固定的数据项组成. 4. 模块在程序中是数据说明,可执行语句等程序对象的集合,或者是单独命名和编址的元素,在软件的体系结构中,模块是可组合,分解和更换的单元. 5. 模块性指每个模块只完成系统要求的的子功能,并且与其他模块的联系最少且接口简单.
6. 软件按照设计要求,在规定时间和条件下不出故障,持续运行的程度. 7. 软件配是软件工程中产生的信息项,它是配置管理的基本单位.
8. 软件开发中的原型是软件的一个早期可运行的版本,它反映了最终系统的重要特性.
9. 具有相同或相似性质的对象的抽象就是类. 10. 对象之间进行通信的构造叫做消息. 二. 填空题
1. 软件开发方法,软件开发过程,软件开发工具和环境 2. 编码副作用,数据副作用,文档副作用 3. 开发的风险,资源的有效性,技术
4. 分析与综合,导出软件的逻辑模型,编写文档 5. 软件需求,软件表示,概要设计,详细设计 6. 功能,状态与接口,逻辑 7. 抽象,封装性,共享性 8. 软件配置,测试配置,测试工具 9. 技术特性,工程特性,心理特性 10. 输入数据,输出数据 三. 选择题
1. C 2. C 3. A 4. B 5. A 6. B 7. B 8. C 9. D 10. B 11. A 12. A 13. A 14. A 15. A 16. B 17. D 18. D 19. A 20. A 四. 简答题
1. 答:软件工程的目的是成功地建造一个大型软件系统,所谓成功是要达到以下几个目标:付出较低的开发成本;达到要求的软件功能;取得较好的软件性能;开发的软件易于移植;需要软低的维护费用;能按时完成开发任务,及时交付使用;
开发的软件可靠性高.
软件工程研究的主要内容是软件开发技术和软件开发管理两个方面.在软件开发技术中,主要研究软件开发方法,软件开发过程,软件开发工具和环境.在软件开发管理中,主要是研究软件管理学,软件经济,软件心理学等.
2. 答:结构化分析(SA)是面向数据流进行需求分析的方法.是一种建模活动,该方法使用简单易读符号,根据软件内部数据传递,交换的关系,自顶向下逐层分解,描绘出满足功能要求的软件模型.
结构化分析的主要思想是采取自顶向下逐层分解的分析策略,即面对一个复杂的问题析人员不可能一开始就考虑到问题所有方面以及全部细节,采取的策略往物主 是分解,把一个复杂的问题分成若干小问题后再分别解决,将问题的复杂性降低到人可以掌握的程度.分解可分层进行,先考虑问题本质的方面,忽略细节,形成问题高层概念,然后再逐层添加细节,即在分层过程中采用不同程度的”抽象”级别,最高层的问题抽象,而低层的软为具体.
结构化分析方法利用图形等半形式化的描术方式表达需求,简明易懂,用它们形成需求说明书中的主要部分.这些描述工具是: 1) 数据流图 2) 数据字典
3) 描述加工逻辑的结构化语言,判定表,判定树.
其中,”数据流图”描述系统的分解,即描述系统由哪几部分组成,各部分之间有什么联系等等.”数据字典”定义了数据流图中每一个图形元素.结构化训言,判定表或判定树则详细描述数据流图中不能被再分解的每一个加工. 3. 答:结构化程序设计方法的基本要点有三点:
1) 采用自顶向下,逐步求精的程序设计方法.在需求分析,概要设计中,都采用了自顶向下,逐导细化的方法.在详细设计中,虽然处于”具体”设计阶段,但在设计上模块内部处理过程中,仍可以逐步求精,降低处理细节的复杂程度. 2) 使用三种基本控制结构构造程序.任何程序都可由顺序,选择,重复三种基本控制结构构造.这三种基本结构的共同点是单人口,单出口,不但能有效的限使用GOTOygk句,还创立了一种新的程序设计思想,方法和风格,同时为自顶向下,逐步求精的设计方法提供了具体的实施手段
3) 主程序员组的组织形式.指开发程序的人员组织方式应采用由一个主程序员,一个后备程序员和一个程序管理员三人为核心,再加上一些专家和其他技术人员组成小组.这种组织形式突出了主程序员的领导,设计责任集中在少数人身上,有
利于提高软件质量,并且能有效地提高软件生产率.
结构化程序设计方法是综合应用这些手段来构造高质量程序的思想方法. 4. 答:集成测试的方法主要有两种:非渐增式测试和渐增式测试.
1) 非渐增式测试:首先对每个模块分别进行单元测试,然后再把所有的模块按设计要求组装在一起进行测试.
2) 渐增式测试:逐个把未经过测试的模块组装到已经过测试的模块上去,进行集成测试.每加入一个新模块进行一次集成测试,重复此过程直至程序组装完毕. 渐增式与非渐增式测试的方法有以下区别:
1) 非渐增方式把单元测试和集成8测试分成两个不同的阶段,前一阶段完成模块的单元测试,后一阶段完成集成测试.而渐增式测试往往把单元测试与集成测试俣在一起,同时完成.
2) 非渐增式需要更多的工作量,因为每个模块都需要驱动模块和桩模块,而渐增式利用已测试过的模块作为驱动模块或桩模块,因此工作量较少. 3) 渐增式可以较早地发现接口之间的错误,非渐增式最后组装时才发现. 4) 渐增式有利于排错,发生错误往往和最近加进来的模块有关,而非渐增式发现接口错误推迟到最后,很难判断是哪一部分接口出错. 5) 渐增式比较彻底,已测试的模块和新的模块再测试.
6) 渐增式占用的时间较多,但非渐增式需更多的驱动模块.桩模块也占用一些是境.
7) 非渐增式开始可并行测试所有模块,能充分利用人力,对测试大型软件很有意义.
5. 答:原型模型又称快速原型模型,它是增量模型的另一种形式.它是在开发真实系统之前,构造一个原型,在该原型的基础上,逐渐完成整个系统的开发工作.根据原型的不同作用,有三类原型模型:
1) 探索型原理.这种类型的原型是把原型用于开发的需求分析阶段,目的是要型清用户的需求,确定所期望的特性,并探索各种方案的可行性.它主要针对开发目标模糊,用户与开发都对项目都缺乏经验的情况,通过对原型的开发来明确用户的需求.
2) 实验型原型.这种原型主要用于设计阶段,考核;实现方案是否合适,能否实陋.对于一个大型系统,若对设计方案心中没有把握时,可通过这种原型来证实设
计方案的正确性.
3) 演化型原型.这种原型主要用于及早向用户提交一个原型系统,该原型系统或者包含系统的框架,或者包含系统的主要功能,在得到用户的认可后,将原型系统不断扩充演变为最终的软件系统.它将原型的思想扩展到软件开发的全过程. 6. 答:质量保证策略的发展大致以分为以下三个阶段:
1) 以检测为重.产品制成后才进行检测,这种检测只能判断产品的质量,不能提高产品质量.
2) 以过程管理为重.把质量保证工作重点放在过程管理上,对制造过程的每一道工序都进行质量控制.
3) 以新产品开发为重.许多产品的质量问题源于新产品的开发设计阶段,因此在产品开发设计阶段就应采取有力措施来消灭由于设计原因而产生的质量隐患. 由上可知,软件质量应从产品计划和设计开始,贯穿于投稿售后服务的软件生存期的每一阶段中的每一步骤 软件工程试题二
2008年06月11日 星期三 17:49
一、名词解释(20分,每小题2分) 1.软件工程过程 2.软件生存周 3.数据字典 4.模块化 5.信息隐蔽 6.基线 7.桩模块
8.软件可维护性 9.对象
10. 继承性
二、填空题(20分,每小题2分)
1. 是描述软件开发过程中各种活动如何搪行的模型。
2.必须在软件交付之前对整个 进行 ,以减少文档副作用 3.可行性研究需要从以下三个方面分析研究每种解决方法的可行性: 、 、 。
4.软件开发环境是相关的一组 组合,它支持一定的 或按照一定的 、组织而成。
5.在SA方法的需求描述工具中, 描述系统的分解,即描述系统由哪几部分组成,各部分之间有什么联系等等; 定义了数据流图中每一个图形元素;结构化语言、判定表或判定树则详细描述、数据流图中不能被再分解的 。
6.衡量模块的性的两个定性的度量标准是 和 。
7.详细描述处理过程常用三种描述工具: 、 和 。
8.在软件的体系结构中,模块是可组合、分解和更换的单元。模块具有以下几种基本属性: 、 、 、 。
9.任何程序都可由 、 、 三种基本控制结构构造。
10. 动态测试方法中根据测试用例的设计方法不同,分为 与 两类。
三、单项选择题(20分,每小题1分)
1.在结构化分析方法中,用以表达系统内数据的运动情况的工具有 。 A。数据流图B。数据词典C。结构化英语D。判定树与判定表 2.结构化分析方法(SA)是一种面向 的需求分析方法。 A。对象B。数据结构C。数据流D。控制流
3.块间的信息可以作“控制信息”用,也可以作为 使用。 A。控制流B。数据结构C。控制结构D。数据
4.在对数据流的分析中,主要是找到中心变换,这是从 导出结构图的关键。
A。数据结构B。实体关系C。数据流图D。E-R图
5.模块 定义为受该模块内一个判断影响的所有模块集合。 A。控制域B。作用域C。宽度D。接口
6.在进行软件结构设计时应该遵循的最主要的原理是 原理。 A。抽象B。模块化C。模块D。信息隐藏
7.JACKSON方法根据 来导出程序结构。
A。数据结构B。数据间的控制结构C。数据流图D。IPO图 8.在设计测试用例时, 是用的最多的一种墨盒测试方法。 A。等价类划分B。边值分析C。因果图D。判定表
9.因果图方法是根据 之间的因果关系来设计测试用例的。 A。输入与输出B。设计与实现C。条件与结果D。主程序与子程序
10。在进行软件测试时,首先应当进行单元测试,然后再进行 ,最后再进行有效性测试。
A。组合测试B。集成测试C。有效性测试D。确认测试 11。由于软件项目的确特点和运行原型的目的不同,原型有三种不同的作用类型:探索型、 、和进化型。
A。实验型B。经验型C。追加型D。废弃型 12。原型的使用和开发过程,叫做 。
A。原型期B。原型生存期C。原型周期D。以上说法都不对
13。在考察系通讯录的一些涉及时序和改变的状况时,要用动态模型来表示。动态模型着重于系统的控制逻辑,它包括两个图:一个是事件追踪图,另一个是 。
A。数据流图B。状态图C。系统结构图D。时序图 14。RUMBANGH等人提出的对象模型技术OMT把分析时收集的信息构造在三类模型中,即对象模型、动态模型和 。 A。信息模型B。控制模型C。功能模型D。行为模型
15。软件开发过程中,抽取和整理用户需求并建立问题域精确模型的过程叫 。
A。生存期B。面向对象设计C。面向对象程序设计D。面向对象分析
16。质量保证是为了保证产品和服务充分满足消费者要求的质量而进行的有讲划、有组织的活动。质量保证是为了使产品实现 的功能。 A。系统分析员B。程序员C。软件开发者要求D。用户要求 17。 是以提高软件质量为目的的技术活动。 A。技术创新B。测试C。技术改造D。技术评审
18。按照软件配置管理的原始指导思想,受控制的对象应是 。 A。软件元素B。软件配置项C。软件项目D。软件过程 19。软件开发环境是相关的一组 集合。
A。软件环境B。软件过程C。软件工程D。软件工具
20。软件开发环境支持一定的 或按照一定的软件开发模型组织而成。 A。软件生存周期B。软件过程C。软件开发方法D。软件开发模型 四、简答题(30分,每小题5分)、
1.什么是软件工程?软件工程的性质是什么? 2.需求分析方法应遵循的原则是什么?
3.衡量模块性的两个标准是什么?它们各表示什么含义? 4.什么是确认测试?该阶段有哪些工作? 5.如何控制因修改而引起的副作用? 6.说明面向对象的特征。 五、应用题(10分)
用PAD图描述下面问题的控制结构。
有一个表A(1)A、A(2),。。。A(N)按递增顺序排列。给定一个KEY值,在表中用折半法查找。若找到,将表位置I送入X,否则将零送到X,同时将KEY值插入表中。
软件工程模拟试题(二)参 一. 名词解释
1. 软件工程获取,供应,开发,操作和要实施的过程,活动和任务.
2. 软件生存周期是指一个软件从提出开发要求开始直到该软件报废为止的整个时期.
3. 数据字典(Data Dictionary, 简称DD)就是用来定义数据流图中的各个万分的具体含义的,它以一种准确的,无二义性的说明方式为系统的分析,设计及维护提供了有关元素的一致的定义和详细的描述.
4. 模块化是指解决一个复杂问题自顶向下逐层把软件系统划分成若干模块的过程.每个模块完成一个特定的妇功能,所有的模块按某种方法组装起来,成为一个整体,完成整个系统所要求的功能.
5. 信息隐蔽指在设计和确定模块时,使得一个模块内包含信息(过程或数据),对于不需要这些信息其他模块来说,是不以访问的.
6. 基线是软件生存期中各开发阶段的一个特定点,它的作用是使开发各阶段工作的划分更加明确化,使本来连续工作在这些点上断开,以便于检查与肯定阶段成果.
7. 桩模块用来代替被测试模块所调用的模块.它的作用是返回被测模块所需的信息.
8. 软件可维护性是指软件能够被理解,校正,适应及增强功能的容易程序.
9. 对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则,计划或事件.
10. 继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系.
二. 填空题
1. 软件生存周期模型 2. 软件配置 评审
3. 技术可行性 经济可行性 社会可行性 4. 软件工具 软件开发方法 软件开发模型 5. 数据流图 数据字典 每一个加工 6. 耦合性 内聚性 7. 图形 表格 语言
8. 接口 功能 逻辑 状态 9. 顺序 选择 重复 10. 黑盒测试 白盒测试
三. 单项选择
1.A 2.C 3.D 4.C 5.B 6.C 7.A 8.A 9.A 10.B
11.A 12.B 13.B 14.C 15.D 16.D 17.D 18.B 19.D 20.C
四. 简答题
1.答:软件工程用科学知识和技术原理来定义,开发,维护软件的一门学科. 软件工程一门综合性的交叉学科,它涉及计算机科学,工程科学,管理科学,数学等领域.计算机科学中的研究成果均可用于软件工程,但计算机科学着重原理和理论,而软件工程着重于如何建造一个软件系统.软件工程用工程科学中的观点来进行费用估算,制定进度,制定计划和方案.软件工程用管理科学中的方法和原理进行软件生产的管理.软件工程要用数学的方法建立软件开发中的各种模型和各种法,如可靠性模型,说明用户需求的形式性模型等.
2.答:有许多软件需求分析与说明的方法(如结构化分析方法和面向对象分析方法),每一种分析方法都有独特的观点和表示法,但都适用下面的基本原则。 (1。)必须能够表达和理解问题的数据域和功能域。数据域包括数据流(即数据通过一个系统时的变化方式)、数据内容和数据结构,而功能域反映上述三方面的控制信息。
(2)可以把一个复杂问题按功能进行分解并可逐层细化。通常软件要处理的问题如果太大太复杂就很难理解,划分成几部分,并确定各部分间的接口,就可完成整体功能。在需求分析过程中,软件领域中的数据、功能、行为都可以划分。 (3)建模。建立模型可以帮助分析人员更好地理解软件系统的信息、功能、行为,这些模型也是软件设计的基础。
3.答:衡量模块的性的标准是两个定性的度量标准:耦合性和内聚性。 (1)耦合性。也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的性则越差。模块间耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息。
(2)内聚性。又称块内联系。指模块的功能强度的度量,即一个模块内部各个元
素彼此结合的紧密程度的度量。若一个模块内各元素(语句之间、程序段之间)的联系越紧密,则它的内聚性就越高。
耦合性与内聚性是模块性的两个定性标准,将软件系统划分模块时,尽量做到高内聚低耦合,提高模块的性,为设计高质量的软件结构奠定基础。 4.答:确认测试又称有效性测试。它的任务是检查软件的功能与性能是否与需求规格说明书中确定的指标相符合。因而需求规格说明是确认测试的基础。 ‘ 确认测试阶段有两项工作:进行确认测试与软件配置审查o
(1)进行确认测试。确认测试一般是在模拟环境下运用黑盒测试方法,由专门测试人员和用户参加的测试。确认测试需要需求规格说明书、用户手册等文档,要制定测试计划,确定测试的项目,说明测试内容,描述具体的测试用例,测试用例应选用实际运用的数据。测试结束后,应写出测试分析报告。
经过确认测试后,可能有两种情况:①功能、性能与规格说明一致,该软件系统是可以接受的。②功能、性能与规格说明有差距,要提交一份问题报告。对这样的错误进行修改,工作量非常大,必须同用户协商。 ,
(2)软件配置审查。软件配置审查的任务是检查软件的所有文档资料的完整性、正确性,如发现遗漏和错误,应补充和改正。同时要编排好目录,为以后的软件维护工作奠定基础。
5.答:为了控制因修改而引起的副作用,要做到:(1)按模块把修改分组;(2)自顶向下地安排被修改模块的顺序;(3)每次修改一个模块;(4)对每个修改了的模块,在安排修改下一个模块之前要确定这个修改的副作用,可使用交叉引用表、存储映像表、执行流程跟踪等。 6.答:面向对象的特征:
(1)对象惟一性。每个对象都有自身惟一的标识,通过这种标识,可找到相应的对象。在对象的整个生命期中,它的标识都不改变,不同的对象不能有相同的标识。在对象建立时,由系统授予新对象以惟一的对象标识符,它在历史版本管理中有巨大作用。
(2)分类性。分类性是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类。每个类是具有相同性质的个体对象的集合,而每个对象是相关类的实例。 (3)继承性。继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。 .
继承性是面向对象程序设计语言不同于其他语言的最主要的特点,是其他语言所没有的。在类层次中,子类只继承一个父类的数据结构和方法,则称为单重继承。在类层次中,子类继承了多个父类的数据结构和方法,则称为多重继承o
(4)多态性(多形性)。多态性是指相同的操作或函数、过程可作用于多种类型的对象上并获得不同结果。不同的对象,收到同一消息可以产生不同的结果,这种现象称为多态性。
多态性允许每个对象以适合自身的方式去响应共同的消息。这样就增强了操作的透明性、可理解性和可维护性。用户不必为相同的功能操作但作用于不同类型的对象而费心去识别。 软件工程名词解释
2008年06月11日 星期三 17:50
1、需求分析:需求分析是指开发人员要准确理解用户的需求,进行细致的调查
分析,将用户非形式的需求陈述转化成完整的需求定义,再由需求定义转换到相应的形式功能规约(需求规格说明)的过程。
2、白盒法:该方法把测试对象看作一个打开的盒子,测试人员须了解程序的内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检查内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。白盒法也不可能进行穷举测试。
3、黑盒法:该方法把被测试对象看成一个黑盒子,测试人员完全不考虑程序的内部结构和处理过程,只在软件接口处进行测试,依照需求规格说明书,检查程序是否满足功能要求。因此,黑盒测试又称为功能测试或数据驱动测试。 4、渐增式测试:逐个把未经过测试的模块组装到已经过测试的模块上去,进行集成测试。每加入一个新模块进行一次集成测试,重复此过程直至程序组装完毕。 5、非渐增式测试:首先对每个模块分别进行单元测试,然后再把所有的模块按设计要求组装在一起进行测试。
6、可执行的规格说明:这是一种使要求说明过程自动化的技术,通过可执行的规格说明语言来描述预期的行为“做什么”,人们可以从直接观察中用规格说明语言来规定任何系统行为。
7、经济可行性:对组织的经济状况和投资能力进行分析,对系统建设,运行和维护费用进行估算,对系统建成后可能取得的社会及经济效益进行估计。 8、系统设计说明书:是从系统总体的角度出发对系统建设中各主要技术方面的设计进行说明,是系统设计阶段的产物,其着重点在于阐述系统设计的指导思想以及所采用的技术路线和方法,编写系统设计说明书将为后续的系统开发工作从技术和指导思想上提供必要的保证。
9、面向对象设计:是把分析阶段得到的需求转变成符合成本和质量要求的、抽象的系统实现方案的过程。或者说,面向对象设计就是用面向对象观点建立求解域模型的过程。
10、结构化设计:面向数据流的设计是以需求分析阶段产生的数据流图为基础,按一定的步骤映射成软件结构,因此又称结构化设计(SD)。
11、结构化分析:是根据分解与抽象的原则,按照系统中数据处理的流程,用数据图来建立系统的功能模型,从而完成需求分析工作。
12、基于脚本的设计:此方法主要用于解决要求的验证问题。一个脚本将模拟在系统运行期间用户经历的事件,它提供了输入、处理、输出的屏蔽,以及有关对话的一个模型,开发者能够给用户显示一个系统的逼真视图。
13、IDEF方法:是美国空军在1981年针对集成化计算机辅助制造(简称ICAM)
工程项目中用于进行复杂系统分析和设计的方法,是在结构化分析与设计技术的基础上提出来的。
14、JSP方法:定义了一组以数据结构为指导的映射过程,他根据输入、输出的数据结构,按一定的规则映射成软件的过程描述,即程序结构,而不是软件的体系结构,因此该方法适于详细设计阶段。
15、软件概要设计:进入了设计阶段,要把软件“做什么”的逻辑模型变换为“怎么做”的物理模型,即着手实现软件的需求,并将设计的结果反应在“设计规格说明书”文档中,所以软件设计是一个把软件需求转换为软件表示的过程,最初这种表示只是描述了软件的总的体系结构,称为软件的概要设计或结构设计。 16、信息隐蔽:指在设计和确定模块时,使得一个模块内包含的信息(过程或数据),对于不需要这些信息的其它模块来说,是不能访问的。
17、系统流程图:是描述物理系统的传统工具,它用图形符号来表示系统中的各个元素,例如人工处理、数据处理、数据库、文件、设备等。它表达了系统中各个元素之间的信息流动的情况。
18、集成测试:是指在单元测试的基础上,将所有模块按照设计要求组装成一个完整的系统进行的测试,故也称组装测试或联合测试。
19、附加策略:是将原型用于开发的全过程,原型由最基本的核心开始,逐步增加新的功能和新的需求,反复修改反复扩充,最后发展为用户满意的最终系统。 20、抛弃策略:是将原型用于开发过程的某一阶段,促使该阶段的开发结果更加完整、准确、一致、可靠,该阶段结束后,原型随之作废。
21、抽象:是认识复杂现象过程中使用的思维工具,即抽出事物本质的共同的特征而暂不考虑它的细节,不考虑其它因素。
22、参数化抽象:所谓参数化抽象,它是指当描述类的规格说明时并不具体指定所要操作的数据类型,而是把数据类型作为参数。
23、静态测试:指被测试程序不在机器上运行,而是采用人工检测和计算机辅助静态分析的手段对程序进行检测。
24、原型:是指模拟某种产品的原型模型。软件开发中的原型是软件的一个早期可运行的版本,它反映了最终系统的重要特征。
25、事件:是指定时刻发生的某件事情。它是某事情发生的信号,它没有持续时间,它是一种相对性的快速事件。
26、动态冗余:动态冗余的主要方式是多种模块待机储备,当系统检测到某工作模块出现错误时,就用一个备用的模块来顶替它并重新运行。这里须有检测、切
换和恢复过程,故称其为动态冗余。
27、模块化:是指解决一个复杂问题是自顶向下逐层把软件系统划分成若干模块的过程,每个模块完成一个特定的子功能,所有的模块按某种方法组装起来,成为一个整体,完成整个系统所要求的功能。
28、JSP方法:定义了一组以数据结构为指导的映射过程,它根据输入、输出的数据结构,按一定的规则映射成软件的过程描述,即程序结构,而不是软件的体系结构,因此该方法适于详细设计阶段。
29、模型:是为了理解事务而对事物做出一种抽象,它忽略不必要的细节,它也是事物的一种抽象形式,一个规划,一个程式。
30、瀑布模型:是将软件生存各个活动规定为依线性顺序联接的若干阶段的模型。它包括可行性分析、项目开发计划、需求分析、概要设计、详细设计、编码、测试和维护。它规定了由前至后,相互衔接的固定次序,如同瀑布流水,逐级下落。 31、增量模型:是在项目的开发工程中以一系列的增量方式开发系统。增量方式包括增量开发和增量提交。增量开发是指在项目开发过程中以一定的时间间隔开发部分工作软件;增量提交是指在开发周期内,以一定的时间间隔增量方式向用户提交工作软件及相应稳当。增量开发和增量提交可以同时使用,也可单独使用。 32、喷泉模型:是一种以用户需求为动力,以对对象作为驱动的模型,适合于面向对象的开发方法。他克服了瀑布模型不支持软件重用和多项开发活动集成的局限性。喷泉模型使开发过程具有迭代性和无间隙性。系统某些部分常常重复工作多次,相关功能在每次迭代中随之加入演化的系统。无间隙是指在分析、设计、实现等开发活动之间不存在明显的边界。
33、功能模型:描述了系统的所有计算,它表明一个计算如何从输入值得到输出值,他不考虑所计算的次序。功能模型说明对象模型中操作的涵义、动态模型中动作的意义以及对象模型中约束的意义。
34、动态模型:是与时间和变化有关的系统性质。该模型描述了系统的控制结构,他表示了瞬时的、行为化的系统控制性质。它关心的是系统的控制,操作的执行顺序。它从对象的事件和状态的角度出发,表现了对象的相互行为。
35、对象模型:表示了静态的、结构化的系统数据性质,描述了系统的静态结构,它是从客观世界实体的对象关系角度来描述,表现了对象的相互关系。 36、货币的时间价值:通常利用银行的存款利息来表示货币的时间价值。设年利率为I,现存入p元,n年后得到本金和利息为F。若不计复利,则P元在n年后的价值为:F=P*(1+n*i)。反过来,若n年后能收入的本金和利息为F,则将来F元的现在价值(本金)P为:P=F/(1+n*i)。可用这个公式来计算将来收入的现在价值。这是效益分析的最基本公式。
37、类:具有相同或相似性质的对象的抽象就是类。
38、对象:是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。类的具体化就是对象,也可以说类的实例是对象。
39、多态性:指相同的操作或函数、过程可作用于多种类型的对象上并获得不同结果。不同的对象,收到同一消息可以产生不同的结果,这种现象称为多态性。 40、风险分析:实际上就是贯穿在软件工程上的一系列风险管理步骤,其中包括风险识别、风险估计、风险管理策略、风险解决和风险监督,它能让人们主动“攻击”风险。
41、模块:模块在程序重视数据说明、可执行语句等程序对象的集合,或者是单独命名和编址的元素,如高级语言中的过程、函数、子程序等等。
42、JSD方法:主要以活动事件为中心,通过有一串活动顺序组合构成的进程,建立系统模型,最后实现该模型。
43、路径覆盖:指设计足够的测试用例,覆盖被测程序中所有可能的路径。 44、判定/条件覆盖:指设计足够的测试用例,使得判定表达式中的每个条件的所有可能取值至少出现一次,并使每个判定表达式所有可能的结果也至少出现一次。
45、条件组合覆盖:是指设计足够的测试用例,使的每个判定表达式中条件的各种可能的值的组合都至少出现一次,条件组合覆盖是比较强的覆盖标准。 46、条件覆盖:是指设计足够的测试用例,使得判定表达式中每个条件的各种可能的值至少出现一次。满足条件覆盖并不一定满足判定覆盖。
47、原型模型:又称快速原型模型,它是在开发真实系统之前,构造一个原型,在该原型的基础上,逐渐完成整个系统的开发工作。
48、软件工程环境:美国国防部在STARS计划中定义如下:“软件工程环境是一组方法、过程及计算机程序(计算机化的工具)的整体化构件,他支持从需求定义、程序生成知道维护的整个软件生存期”。
49、程序图:是退化的程序流程图。也就是说,把程序流程图中每个处理符号都退化成一个结点,原来连接不同处理符号的流线变成连接不同结点的有向弧,这样得到的有向图就叫程序图。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- baoquwan.com 版权所有 湘ICP备2024080961号-7
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务