赞
踩
A.瀑布模型 B.喷泉模型 C.螺旋模型 D.增量模型
A. 过程 B. 软件系统 C. 硬件环境 D. 人员
A. 固有的 B. 人为的 C. 可消除的 D. 不可降低的
A. 数据字典 B. 实体关系图 C. 数据流图 D. 状态转换图
A.计算机病毒的出现 B.利用计算机进行经济犯罪活动
C.软件开发和维护中出现的一系列问题 D.人们过分迷恋计算机系统
A.校正性维护 B.适应性维护 C.完善性维护 D.预防性维护
A.软件做什么 B.用户使用界面 C.输入的信息 D.软件的规模
A.算法和使用的数据结构 B.外部接口 C.功能 D.编程
A.逻辑内聚 B.时间内聚 C.功能内聚 D.通信内聚
A.深度 B. 宽度 C. 扇出 D. 扇入
A.逻辑内聚 B.时间内聚 C. 偶然内聚 D.功能内聚
A. 软件开发工作的基础 B. 软件生存周期的开始
C. 由系统分析员单独完成的 D. 由用户自己单独完成的
A.语句覆盖 B.路径覆盖 C. 条件组合覆盖 D.判定覆盖
软件维护时,对测试阶段未发现的错误进行测试、诊断、定位、纠错,直至修改的回归测试过程称( A )。 A. 改正性维护 B. 适应性维护 C. 完善性维护 D. 预防性维护
( C ) 是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。
A. 多态性 B. 继承 C. 封装 D. 消息
A.结合 B.隐藏 C.封装 D.抽象
A.Booch方法 B.Coad方法 C.UML语言 D.OMT方法
A.多态性 B.多继承 C.类的可复用 D.信息隐藏
A.需求分析 B.源程序 C.概要设计 D.详细设计
A. 纠正错误 B. 发现错误 C. 避免错误 D. 证明正确
21.类构件的重用方式有多态重用、继承重用和( A )
A.实例重用 B.重载重用 C. 代码重用 D. 方法重用
A.喷泉模型 B.螺旋模型 C.增量模型 D.瀑布模型
A.语句覆盖 B.路径覆盖 C.条件组合覆盖 D.判定覆盖
A、基本路径测试 B、等价类划分 C、边界值分析 D、错误推测 E、逻辑覆盖测试
A、详细计划 B、可行性分析 C、运行阶段 D、测试与排错
A、详细设计阶段 B、概要设计阶段 C、需求分析阶段 D、测试和运行阶段
A、需求分析阶段 B、详细设计阶段 C、概要设计阶段 D、可行性研究阶段
A.程序设计方法学的影响 B.其它工程科学的影响 C. 软件危机的出现 D.计算机的发展
A、硬件环境 B、软件开发的环境 C、软件开发工具和软件开发的环境 D、开发人员的素质
A、相互排斥 B、相互补充 C、独立使用 D、交替使用
A、基于瀑布模型的结构化方法 B、基于需求动态定义的原型化方法
C、基于对象的面向对象的方法 D、基于数据的数据流开发方法
A). 白盒测试法 B). 动态测试法 C). 黑盒测试法 D). 静态测试法
A、控制流 B、数据流 C、程序流 D、指令流
A、 计划阶段、开发阶段、运行阶段 B、 计划阶段、编程阶段、测试阶段
C、 总体设计、详细设计、编程调试 D、需求分析、功能定义、系统设计
A) 技术可行性,经济可行性,操作可行性 B) 技术可行性,经济可行性,系统可行性
C) 经济可行性,系统可行性,操作可行性 D) 经济可行性,系统可行性,时间可行性
A) 内容耦合,控制耦合,数据耦合,公共环境耦合。 B) 内容耦合,控制耦合,公共环境耦合,数据耦合。
C) 内容耦合,公共环境耦合,控制耦合,数据耦合。 D) 控制耦合,内容耦合,数据耦合,公共环境耦合。
A 争取项目 B 项目值得开发否 C 开发项目 D 规划项目
A 流程图 B 功能结构图 C 系统结构图 D 数据流图
A 只能用来描述简单程序 B 不能嵌套使用 C 单入口,单出口 D 仅用于自动控制系统
A 信息隐蔽 B 质量控制 C 程序优化 D 数据共享
A 需求规格说明于概要设计说明 B 详细设计说明 C 项目开发计划 D 概要设计说明与详细设计说明
A). 结构分解 B). 功能分解 C). 数据分解 D). 系统分解
A). 数据流 B). 控制流 C). 调用关系 D). 组成关系
A). 用户、使用部门负责人 B). 软件开发人员、用户、使用部门负责人
C). 系统分析员、软件开发人员 D). 系统分析员、软件开发人员、用户、使用部门负责人
A). 系统设计 B). 详细设计 C). 接口控制 D). 结构化编辑工具
A.面向算法分析 B.面向数据分析 C.面向程序分析 D.面向硬件分析
A.可修改性和可理解性 B.可测试性和可理解性 C.效率和可修改性 D.可理解性和可读性
A. 黑盒法 B.路径覆盖 C.错误推测 D.人工检测
A. 分解与抽象 B.分解与综合 C.归纳与推导 D.试探与回溯
A.深入的 B.详尽的 C.彻底的 D.简化的、压缩了的
A.可理解性和可测试性 B.效率和可移植性 C.效率和可修改性 D.效率和结构好
A.技术创新 B.测试 C.技术创造 D.技术评审
A.所有错误,没有错误 B.错误,没有错误 C.逻辑错误,没有错误 D. 设计错误,没有错误
A.读懂别人的程序是困难的。
B.文档的不一致性。
C.源程序及相关文档的错误或丢失。
D.软件开发和软件维护在人员和时间上的差异。E. 软件维护不是一项吸引人的工作。
A.全局和局部 B.抽象和具体 C.总体和层次 D.功能和结构
A.逻辑性 B.瞬时性 C.偶然性 D.通信性
A.泛化关系 B.组合关系 C.依赖关系 D.包含关系
A)需求分析 B)软件设计 C)软件测试 D)可行性分析
A). 模块说明书 B). 框图 C). 程序 D). 数据流图
A). 数据流与事务流 B). 交换流和事务流
C). 信息流与控制流 D). 交换流和数据流
一般来说,可以从 一致性 、完整性__、现实性____和有效性___四个方面验证软件需求的正确性。
IPO图是 _输入、处理和输出图 _ 的简称,它是美国IBM公司发展完善起来的一种图形工具。
系统流程图是描述__物理模型__的传统工具,用图形符号表达了系统中各种元素之间的__信息流动_____情况。
数据流图中的箭头表示数据流,椭圆或圆形表示数据处理,矩形表示数据的源点/终点。
集成测试的方法主要有 渐增式和非渐增式 。
软件生命周期一般可分为**问题定义、可行性研究、需求分析、设计编码、测试、运行与维护**阶段。
可行性研究主要集中在以下四个方面**经济可行性**、技术可行性__、__法律可行性___和抉择。
在结构化设计中,HIPO图应用在总体设计阶段,由IPO图和_层次图_两部分组成。
实施精化设计的目标是基于模块的“高内聚低耦合”的原则,提高模块的_独立性。
按软件的功能进行划分,软件可以划分为 系统软件 , 支撑软件 , 应用软件
单元测试一般以**白盒**测试为主,__黑盒__测试为辅。
面向对象的数据存储管理模式分为__文件__、关系数据库和面向对象数据库三种。
通用体系结构模式有:分层模式、管道与过滤器模式和黑板模式。
成本效益分析的目的是从( 经济 )角度评价开发一个项目是否可行。
自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:深度优先策略和 ( 宽度优先策略 ) 。
汇编语言是面向( 机器 ) 的,可以完成高级语言无法完成的特殊功能,如与外部设备之间的一些接口工作。
详细设计的任务是确定每个模块的内部特性,即模块的算法、( 使用的数据 )。
所有软件维护申请报告要按规定方式提出,该报告也称( 软件问题 )报告。
有两类维护技术:在开发阶段使用来减少错误、提高软件可维护性的面向维护的技术;在维护阶段用来提高维护的效率和质量的( 维护支援 )技术。
科学工程计算需要大量的标准库函数,以便处理复杂的数值计算,可供选择的语言有:( FORTRAN语言)、PASCAL语言、C语言和PL/1语言。
用户界面的 可使用性 是用户界面设计最重要的也是最基本的目标
数据流图 和 数据字典 共同构成系统的逻辑模型
软件测试的方法有 分析方法 和 非分析方法(即黑盒法)
成本估计方法主要有 自底向上估计 、 自顶向下估计 和算法模型估计三种类型
常见的软件概要设计方法有三大类:以数据流图为基础构造模块结构的 结构化设计方法 ,以数据结构为基础构造模块的 Jackson方法 ,以对象、类、继承和通信为基础的 面向对象设计方法。
实用的白盒测试覆盖技术有 4 种:语句覆盖、条件覆盖、分支 (或判定) 覆盖和组合覆盖。
传统软件维护一般分为 4 大类,分别是纠错性维护、适应性维护、完善性维护和预防性维护。
在 V 测试模型中,编码结束后,首先作单元测试,然后是集成测试、系统测试和验收测试。
传统软件维护一般分为 4 大类,分别是纠错性维护、适应性维护、完善性维护和预防性维护。
需求建模的基本方法包括抽象、分解与多视点分析 3 种。
用例之间的关系主要有三种:包含(include)、扩展(extend)和继承。
用于表示分析模型的 UML 图形机制主要是类图、活动图、交互图与状态图。
软件设计基本原则包括抽象与逐步求精、强内聚及松耦合、信息隐藏及关注点分离。
内聚性有 6 种类型 偶然内聚、逻辑内聚、时间内聚、通信内聚、顺序内聚、功能内聚。
一般而言,在面向对象建模过程中,人们最常用的是建立系统的用例图、类图和顺序图。
常用的软件开发方法有结构化方法、面向对象方法和形式化开发方法
内聚性 是模块独立性的衡量标准之一,它是指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。
在结构化分析中,用于描述加工逻辑的主要工具有三种,即:结构化语言、判定表、 判定树
结构化语言是介于自然语言和形式语言之间的一种半形式语言
软件概要设计的主要任务就是软件体系结构的设计
向滞后的项目中增加人手会使得项目更加滞后。(T)
过程描述语言可以用于描述软件的系统结构。(F)
按照瀑布模型开发软件的一条指导思想是清楚地区分逻辑设计与物理设计,以便尽早开始程序的物理实现。( F )
只有质量差的软件产品才需要维护。( F )
层次图用来描述软件的层次结构。层次图中的一个矩形框代表一个模块,方框间的连线表示模块的组成关系。在层次图中除最顶层的方框之外,给每个方框都加编号,即成为带有编号的层次图。( F )
建立动态模型的第一步,是编写典型交互行为的脚本。( T )
软件错误可能出现在开发过程的早期,越早修改越好。(T)
软件模块的耦合是越低越好。( T )
一个好的测试用例在于能发现至今未发现的错误。( T )
面向对象设计的结果只能采用面向对象语言来实现( F )
一个成功的项目唯一提交的就是运行程序。( F )
用例之间的关系有3种。( T )
面向对象设计准则也要遵循弱耦合的原则,但是继承耦合则应该提高,紧密地继承耦合与高度的一般-特殊内聚是一致的。 ( T )
软件工作的考虑范围主要是程序设计和实现。( F )
环形复杂度定量度量程序的逻辑复杂度,可以用这个公式来计算环形复杂度:流图G的环形复杂度V(G) = N– E + 2。(改成E-N+2)( F )
等价类划分方法将所有可能的输入数据划分成若干部分,然后从每一部分中选取少数有代表性的数据作为测试用例。( T )
在进行总体(改成概要)设计时应加强模块间的联系。( F )
系统结构图是精确表达程序结构的图形表示法。因此,有时也可以将系统结构图当作系统流程图使用。( T )
建立动态模型的第一步,是编写典型交互行为的脚本。( T )
在程序调试时,找出错误的位置和性质比改正该错误更难。( F )
如果通过软件测试没有发现错误,则说明软件是正确的。( F )
快速原型模型可以有效地适应用户需求的动态变化。( T )
模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品。( T )
集成测试主要由用户来完成。( F )
面向对象 = 对象 + 类 + 继承 + 消息传递。( T )
面向对象的分析是面向计算机系统建立软件系统的对象模型。( F )
软件的开发与运行经常受到硬件的限制和制约。( T )
模块内的高内聚往往意味着模块间的松耦合。( T )
Jackson图只能表达程序结构,不能表达数据结构。( F )
软件测试的目的是为了无一遗漏的找出所有的错误。( F )
软件的质量好坏主要由验收人员负责,其他开发人员不必关心。( F )
判定覆盖不一定包含条件覆盖,条件覆盖也不一定包含判定覆盖。( T )
应该尽量使用机器语言编写代码,提高程序运行效率,而减少高级语言的使用。( F )
UML只能应用于软件系统模型的建立。( F )
容错就是每个程序采用两种不同的算法编写。( F )
软件设计是把许多事物和问题抽象起来,并且抽象它们不同层次和角度,是将需求转变为软件陈述的过程,是迭代的过程。
软件设计,要根据需求规格说明书,对整个设计过程进行计划,然后实施具体的设计过程,即“先整体,再局部”,也是不断迭代和精化的过程。
然后需要对生成的设计规格说明书进行评审,启动 质量评价的标准,若未通过评审,需重新修改设计,直至评审通过,确定最后定型的过程本身。进入后续阶段,完成软件设计过程。
1)尽可能少用goto语句的程序设计方法。
2)每个代码块都单入单出。
3)使用控制结构:顺序、选择和循环。
4) 自顶向下逐步求精。
衡量模块独立性的两个定性标准是内聚和耦合(2分)。
耦合是指对一个软件结构内不同模块彼此之间互相依赖(连接)的紧密程度;而内聚则标志一个模块内部各个元素彼此结合的紧密程度(2分)。
在我们的软件设计中,关于模块独立性我们追求的目标是紧密内聚松散耦合(1分)。
黑盒测试法把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程(2分)。
它只检查程序功能是否能按照规格说明书的规定正常使用(1分),
程序是否能适当地接收输入数据(1分),
产生正确地输出信息(1分)。
1.系统用户的要求
2.可以使用的编译程序
3.可以得到的软件工具
4.工程规模
5.程序员的知识
6.软件可移植性的要求
7.软件的应用领域
面向对象的4个要点是:对象分解、数据专有、继承、封装性。(1分)
1)对象分解:认为客观世界是由各种对象组成的。 (1分)
2)数据专有,方法共享:把所有对象都划分成各种对象类(简称为类,class),每个对象类都定义了一组数据和一组方法。 (1分)
3)继承:按照子类(或称为派生类)与父类(或称为基类)的关系,把若干个对象类组成一个层次结构的系统(也称为类等级)。(1分)
4)封装性:对象彼此之间仅能通过传递消息互相联系。(1分)
在软件开发完成交付用户使用后,为了保证软件在一个相当长的时期能够正常运行,就需要对软件进行维护。 软件维护的过程:
(1) 确认维护要求。(1分)
(2) 对于改正性维护申请,评价错误的严重性。对于严重的错误,立即安排人员,分析问题原因,进行"救火"性的紧急维护;对于不严重的错误,根据任务情况和轻重缓急进行统一安排。(2分)
(3) 对于适应性和完善性维护申请,需要确定申请的优先级,然后安排维护工作。并不是所有的完善性维护申请都必须承担,需要考虑商业需要、现有资源、未来发展方向等进行决定。(2分)
软件维护是软件生命周期中最后一个、持续时间最长的阶段。
主要任务是在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件。
目的是提高软件的可靠性、可用性,延长软件的寿命。
维护的类型有:改正性(错误)、适应性(环境)、完善性(功能)、预防性(新产品)
耦合是对一个软件结构内不同模块之间互连程度的度量。
模块的耦合包括以下几种类型:数据耦合,控制耦合,特征耦合,公共环境耦合,内容 耦合,标记耦合,无耦合/非直接耦合
内聚标志着一个模块内各个元素彼此结合的紧密程度,它是信息隐蔽和局部化概念的自然扩展
模块的内聚包括以下几种类型:低内聚 — 偶然内聚,逻辑内聚,时间内聚 中内聚 — 过程内聚,通信内聚; 高内聚 — 顺序内聚,功能内聚
编码风格包括以下内容:程序内部良好的文档(注释)、数据说明、语句构造、输入输出和效率保障等。
因为编码风格对软件的可读性、可维护性、可靠性、可用性很重要,所以要强调编码风格。
软件发展的第二阶段末期,由于计算机硬件技术的进步,计算机运行速度、容量、可靠性有显著的提高,生产成本显著下降,这为计算机的广泛应用创造了条件。一些复杂的,大型的软件开发项目提出来了,但是,软件开发技术的进步一直未能满足发展的需要。在软件开发中遇到的问题找不到解决方法,使问题积累起来,形成了尖锐的矛盾,因此导致了软件危机。
软件危机表现在以下四个方面:(钱与时间,要求,维护性,可靠性)
造成软件危机的原因:(规模和结构,管理,经费,技术,工具)
答:软件生存周期的活动包括:可行性分析和项目开发计划、需求分析、概要设计、详细设计、编码、测试、维护等活动。
功能模型是描述系统能做什么,即对系统的功能、性能、接口和界面进行定义。
业务模型是描述系统在何时、何地、由何角色、按什么业务规则去做,以及做的步骤或流程,即对系统的操作流程进行定义。
数据模型是描述系统工作前的数据来自何处,工作中的数据存什么地方,工作后的数据放到何处,以及这些数据之间的关联,即对系统的数据结构进行定义。
功能模型和业务模型是在需求分析时建模,是两个基本点。数据模型是一个中心,在设计时建模。功能模型和业务模型给数据模型提供数据与维护数据,数据模型支持功能模型和业务模型的正常运行。通常,数据模型建模用 Power Designer,ER win 或 Oracle Designer 工具实现;功能模型用功能点列表(或用况图)表示;业务模型用自然语言加上流程图(或顺序图)表示。
答:“面向对象实现” 的目标是:按照《详细设计说明书》中对数据结构、算法分析和模块实现等方面的设计说明,用面向对象的语言,将这些部件组装起来,分别实现各模块的功能,从而实现目标系统的功能、性能、接口、界面等要求。
1.已知有一段代码实现了 “输出ABC三个数中的最大值”,要求完成下列问题:
(1)画出代码的流程图(4分)
(2)根据该程序流程图画出该程序的流图;(4分)
(3)计算该流图的环形复杂度;(4分)
(3) 环形复杂度
V(G) = 区域数 = 边数 - 节点数 + 2 = 判定点 + 1 = 4
2.某“调整工资”处理模块接受一个“职称”的变量,根据职称的不同(助教,讲师,副教授,教授)作不同的处理,其中若是助教还必须输入工龄,只有工龄超过两年才能调整工资。请用等价类划分法设计测试用例。
3.银行计算机储蓄系统的工作过程大致如下:储户填写的存款单或取款单由业务员键入系统,如果是存款则系统记录存款人姓名、住址 (或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率及密码 (可选) 等信息,并印出存单给储户;如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户。
用数据流图描绘本系统的功能,要求绘出数据处理、数据存储、数据流和相关角色。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。