《软件工程试习题(附答案)》由会员分享,可在线阅读,更多相关《软件工程试习题(附答案)(11页珍藏版)》请在金锄头文库上搜索。
1、软件工程作业 班级2000(春)计算机本科 姓名 罗国南 学号 001000490 成绩_ 一、判断题 可行性研究的最根本的任务是对以后的行动方针提出建议。 PDL语言是详细设计的重要工具,可方便地实现程序的自动生成。 模块的控制域应该在作用域之内。 面向对象方法把对象作为数据及可以施加在这些数据上的操作所构成的统一体。 软件是一种逻辑实体,而不是具体的物理实体。 软件测试时经常要输入无效的,不合理的数据进行测试。 高级程序设计语言从应用的角度看,可以分为基础语言、结构化语言和专用语言三大类。 软件维护的前提是不能失去原有软件的基本功能。 Gantt图可以明确地表示出各子任务之间的依赖与制约关
2、系。 与其它开发的方法相比较,结构化方法的主要优点之一是对用户需求的变更响应迅速。 适应性维护的目的是为了适应计算机软、硬件环境的变化。 系统流程图可以描述系统的逻辑模型,它的基本思想是用图形符号以黑盒子形式描绘系统里的每个部件。 工程网络图可以描绘各子任务作业的工作时间和可以机动(延长)时间。 在面向对象方法中,对象是进行处理的主体。 调试是在测试出错误之后,找到错误的位置并改正的过程。 不允许使用GOTO语句是结构程序的特征。 面向对象技术的最大优点是减少了软件的开发时间。 用盒图和PAD图设计出来的算法必定是结构化的。 逻辑输入数据流是离物理输入端最远,且沿同一输入路径输入的数据流。 可
3、行性研究的结果有可能将软件开发项目否定。 在面向对象方法学中,使用“对象”不仅需要知道它向外界提供的接口形式,而且必须知道它的内部实现算法。 传统的流程框图不能用来进行结构化程序设计。 一个模块执行时,必须引用另一个模块的某些数据,则这个模块的独立性不强。 成功的测试是没有发现错误的测试。 改正性维护是改正软件中测试阶段未发现的错误。 可行性研究的根本的目的不是解决问题,而是确定问题是否值得去解。 软件工程是开发、运行、维护和修复软件的系统方法。 软件维护只是增加现行软件的功能和提高性能,而不能减少其功能。 在工程网络图中关键路径是子任务最多的路径。 在面向对象方法学中,“事件”是瞬时完成的,
4、而“状态”是有持续性的。 二、单项选择题 工程网络图中的关键路径是指 事件开始的最早时刻相同的事件形成的路径 HIPO技术主要用于 系统设计 软件工程方法是在实践中不断发展着的方法,而早期的软件工程方法主要是指 结构化方法 COCOMO模型可以写成如下形式:M=CKnfi式中的fi表示的是 成本因素 软件工程的结构化生命周期方法是将软件开发的全过程划分为相互独立而又相互依存的阶段,软件的逻辑模型是形成于 分析阶段 数据字典是软件需求分析阶段的最重要的工具之一,其最基本的功能是 数据定义 软件的结构化设计(SD)方法中,一般分为总体设计和详细设计两阶段,其中总体设计主要是要建立 软件结构 软件测
5、试方法中,黑盒测试法和白盒测试法是常用的方法,其中黑盒测试法主要是用于测试 软件外部功能 软件文档是软件工程实施中的重要成分,它不仅是软件开发各阶段的重要依据而且也影响软件的 可维护性 用PAD图 描述的程序结构容易实现自动生成程序。 在瀑布模型中,将软件开发划分为若干个时期,软件项目的可行性研究一般被归属于 定义时期 软件测试是保证软件质量的重要措施,它的实施应该是在 软件开发全过程 Putanm成本告诉估算模型可写成如下形式:L=C Kd,该模型是一 动态多变量 模型。 软件维护一般包括如下作业,其中 阅读理解被维护的软件文档 不是维护作业。 可以用来描述数据模型的图示工具有Jackson
6、图、Warnier图系统的结构设计是指 将系统分成一个个相对独立的模块 在一个软件中,设计者设计了一个模型,它将所有的外部输入和输出均放在此模型中,该模型的内聚属于 逻辑内聚 在面向对象方法学中,功能模型 直接反映了用户对目标系统的要求。 从程序中去掉GOTO语句时,需要改动程序中的许多相关部分,这种对程序的修改属于 预防性维护 系统测试是软件交付使用前的最终测试,确定错误的确定位置性测试不属于系统测试的范围。 边界值分析的基本思想是 边界条件容易发生程序设计缺欠,因此容易发现程序中的错误 在项目计划的进度计划安排过程中,通常使用的图形工具是 Gantt图和工程网络图 根据软件工程学的七项基本
7、原则,DOS中把标准输入、输出设备视为文件,这一思想体现了软件工程学的抽象原则。 Gantt图描述的是 项目中各子任务的进度安排图 在模块A和模块B,当A和B时,B模块完成原始数据的输入和计算结果的输出功能,这两个模块的偶合形式是 控制偶合 编码阶段产生的错误由 单元测试 检查出来。 可以用来描述数据结构的图示工具有jackson图,warnier图 下列方法中,对绘制数据流图通常采用方法描述最为准确的是 自顶向下,分层绘制,逐步求精 从程序中去掉GOTO语句时,需要改动程序中的许多相关部分,这种对程序的修改属于预防性维护 用PAD图描述的程序结构容易实现自动生成程序 软件工程方法学的研究内容
8、包括软件开发技术和软件工程管理两部分,其中期望达到的最终目标是 软件开发工程化 软件工程方法中普遍应用的方法之一是结构化生命周期方法(SLC方法),分析控制流程 论述不具备有SLC方法的主要特征。 数据流图是用于表示软件模型的一种图示方法,在下列可采用的绘制方法中,那些是常采用的 自顶向下,分层绘制,逐步求精 结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的 数据流 软件结构是软件模块间关系的表示,下列术语中哪一个不属于对模块间关系的描述 主次关系 软件开发常使用的两种基本关系方法是结构化方法和原型化方法,在实际应用中,它们之间的关系常表现为 相互补充 原形化方法是一类
9、动态定义需求的方法,下列叙述中,哪一个不具备原型化方法的特征?提供严格定义的文档 评审是对软件进行静态测试的一种方法,下述结论中,哪个是与软件评审无关的内容?根据评审标准 软件维护是软件得以正常运行的重要环节,按照软件工程方法的理解,一般软件维护应该开始于 阅读设计文档 软件危机通常是指在计算机软件开发和维护中所产生的一系列严重问题,这些问题中相对次要的因素是 软件性能 软件工程方法是在实践中不屡发展着的方法,而早期的软件工程方法主要是指结构化方法 在瀑布模型中,将软件开发划分为若干个时期,软件项目的可行性研究一般被归属于计划时期 软件工程开发的可行性研究是决定软件项目是否技术继续开发的关键,
10、而可行性研究的结论主要相关于 软件系统目标 软件工程的结构化生命周期方法是将软件开发的全过程划分为相互独立而又相互依存的阶段,软件的逻辑模型是形成于 分析阶段 数据流图描述数据在软件中流动和被处理变换的过程,它是以图示的方法来表示 软件模型 数据流图的正确性是保证软件逻辑模型正确性的基础,与上述问题相关性较弱的内容是 数据守恒 数据流图的正确性是保证软件逻辑模型正确性的基础,与上述问题相关性较弱的内容是均匀分解 三、填空题 1、生命周期方法学法主要分为以下几个阶段:问题定义、可行性研究、需求分析、总体设计、详细设计、编码和单元测试、测试和软件维护。 2、面向对象方法是一种数据或信息为主线,把
11、数据、和 处理 相结合的方法。 3、需为了验证需求的正确性,一般应从四个方面进行:一致性、完整性、现实性、有效性4、软件维护是软件生命周期中的固有阶段,一般认为,各种不同的软件维护类型中以 完整性 维护所占的维护量最大。 5、软件测试中,发现错误产生的原因依赖于所使用的调试策略,而主要的调试方法包括了:试探法、回溯法、归纳法、对分查找法和演绎法。 6、软件的详细设计,也称为模块设计,它要求设计人员为每一个程序模块确定:所使用的算法、指定功能、接口细节和输入、输出数据等。 7、软件的面向数据流的设计方法,利用其定义的映射方法可以把数据流图变换成软件结构:在映射中,一般将数据流分为 变换流 和事务
12、流两种。 8、软件模块独立性的两个定性度量标准是 偶合 和 内聚。 9、软件设计方法中的Jackson方法是一种 面向数据结构 的设计方法。 10、在面向对象方法学中,功能 模型直接反映了用户对目标系统的要求。 11、在面向对象方法中,继承是 子类 自动地共享 基内 中定义的数据和方法的机制。 12、组成数据流图的四个主要成分是数据的源点/终点,变换数据的处理 、数据存储 和 数据流 。 13、生命周期方法学使用的基本技术是 结构分析 和 结构设计 技术。 14、在用面向对象方法学开发软件时,通常需要建立三种模型,它们是 对象模型 、动态模型 和 功能模型 。 15、编码 是在详细设计的基础上
13、进行的,其主要任务是将软件的 16、类构件的重用方式有:实例重用 、继承重用 和 多态重用 。 17、模块的耦合性按耦合强弱程度,由弱到强依次是:非直接耦合、数据偶合 、标记耦合、控制偶合、外部耦合、公共耦合、内容耦合。 18、偶然 内聚是指模块内各成分之间并不存在有意义的联系。 19、任何单入口和单出口的程度可以只用三种基本的控制结构实现,这三种基本控制结构是 顺序 、选择 和 循环。 20、在面向对象方法学中,“方法”就是对象所能执行的 操作 。 21、JPO图是输入/处理/输出图的简称,能够方便地描绘输入数据、对数据的处理和输出数据之间的关系。 22、计算机的发展大致经历了三个阶段:软件
14、作坊 阶段、结构化方法 阶段和 面向对象方法 阶段。 23、在面向对象分析过程中建立对象模型的五项活动是:找出类一&一对象、识别结构、识别主题、定义属性 和 定义服务 。 24、决定软件可维护性的因素主要有三个,它们是:软件的 可理解性、可测试性 和 可修改性。 25、从软件开发整个过程来看,工作量最大的是软件开发的:测试工作 阶段。 26、系统流程图是描绘系统 的物理模型 的传统工具。 27、面向对象测试可以分为四个层次进行:算法层、类层、主题层 和 系统层。 28、总体设计过程通常由 系统设计 和 结构设计 两阶段组成。 29、可行性研究主要集中在以下四个方面:经济可行性、技术可行性、法律
15、可行性、抉择(操作可行性)。 30、在面向对象方法学的出发点和基本原则是使描述问题的问题空间和描述解法的解空间在 结构 上尽可能一致。 四、名词解释 模块化-模块化就是“按照一定原则把程序划分成若干个模块、使每个模块完成一个子功能”。 多态性-是指子对象可以像父类对象那样使用,同样的消息既可以发送给父类对象也可以发送给子类对象。 标记偶合-若两个模块至少有一个通过界面传递,如公共参数包含内部结构,如字符串记录,则称这两个模块间存在标记偶合。 归纳法-就是从线索(错误征兆)出发,通过分析线索之间的关系而找出错误或故障。是一种系统化的思考方法,是从个别推断一般的方法,这种方法主要有: 收集有关的数据组织数据导出假设证明假设 对象模型-它描述了现实世界中的“类-&-对象”以及它们之间的关系,表示了目标系统的静态数据结构。在面向对象方法学中,对象模型是对模拟客观世界实体的对象以及对象彼此之间的关系的映射,它描述的是系统的静态结构。系统流程图-是描绘物理系统的传统工具,它的基本思想是用图形符号以黑盒子形式描绘系统里的各个部件(程序、文件、数据库、表格、人工过程等),它表达的是信息在