77范文网 - 专业文章范例文档资料分享平台

GCT复试-软件工程测试题

来源:网络收集 时间:2018-10-19 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

x1. 概念题

以下概念是否正确,为什么?

(1)软件就是程序。(不是:软件=程序+数据+文档)

(2)采用面向对象方法后,软件危机迎刃而解(不是:面向对象方法是解决软件危机的一种有效途径,不能够彻底的解决软件危机问题,只是让软件危机问题得到了一定的缓解)。

(3)界面设计应该在需求分析阶段进行。(是:界面设计是属于需求分析阶段的范畴) (4)E-R图中的实体和OOD中的对象不一样。(是:OOD中的实体表示的是问题领域中的实体,而E-R图中的实体则是数据库中具体的表)

(5)类图是面向对象方法中的基本模型。(是:类图是最重要的模型图,它描述了系统中各类对象以及他们之间的各种关系)

(6)总体设计的主要任务是设计系统流程图。(不是:总体设计的主要任务是设计软件的模块结构和计算机物理系统的配置方案,包括数据流图、系统流程图、划分子系统、系统软硬件配置、通信网络系统的配置、机房设备的配置等)

(7)单元测试主要是分析程序代码是否正确。(是:单元测试就是模块测试,其过程就是为了发现编码和详细设计的错误)

(8)单独开发的一个模块就表示该模块具有独立性。(不是:一个具有独立性的模块应该是只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单,是由内聚和耦合来度量的一种衡量标准,而单独开发未必一定能做到这一点) 2. 论述题

(1)在对一个应用软件开发项目进行结题验收时,用户应该得到什么资料?为什么? 答:在结题验收阶段,用户应该得到相关合同、各种审核报告、测试报告、操作手册,还需根据个别情况提供源代码,因为用户在验收阶段要进行用户验收测试,其中包括了文档审核、源代码审核、配置脚本审核、测试程序或脚本审核、可执行程序测试。

(2)当用户向软件开发人员提出一个简单的功能修改要求时,可能得不到对方的及时响应,你认为技术上的主要原因可能是什么?

答:有可能该功能是嵌套在另一功能中的,虽然对简单的功能进行修改,但也有可能是“牵一发而动全身”,会引起其他功能方面的大问题,所以得不到及时的响

应。

(3)什么是软件危机?简述软件危机的具体表现和解决方法。

软件危机:落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。

具体表现:软件开发费用和进度失控、软件的可靠性差、生产出来的软件难以维护、用户对“已完成”的系统不满意现象经常发生。

解决方法:软件工程,研究软件生产的客观规律性,明确提出了软件生命周期的模型;软件工具; 3. 分析设计题

某公司提出要在我校校园网上为学校开发一个“财务管理系统”,用户可在校园网上办理缴费、借还款和查询账户信息等功能。

(1)请从技术、经济和操作三个方面简要分析系统开发的可行性(包括可能存在的风险)。 答:

技术可行性:现代计算机硬件和软件技术的飞速发展,为系统的建设提供了技术的条件,并且高校的财务管理系统也是依附于校园网中建设的,也有一些成功的实例,因此在技术技术方面也有了雄厚的基础。

经济可行性:该系统的建设改善了原有劳动力的成本,只要该系统一经使用,在经费方面就会减少手工管理的支出。用户使用新的系统只需花一定的资金购买一台电脑和软件就能够实现自动化管理。并且财务管理系统的建设也满足了数字化校园的建设,能够得到领导的大力支持与帮助。

操作可行性:传统的财务管理方法一般都为手工似管理方法,其存在着效率低下、出错率高、不够规范的缺点,但财务管理系统就能够充分解决传统管理方法所带来的缺陷,具有简便、高效、可靠、规范的特点,强化了现代数字化校园的建设。 (2)假设可行,请用原型模型描述系统的开发过程,并分析该模型的优缺点。 答:原型模型是由开发人员先开发出一个简单系统的原型,供用户使用。然后,再利用该系统作为原型,获取用户的反馈,通过用户的需求来不断的完善系统,最后达到用户的需求。

根据用户 要求制作demo- 根据demo作分析设计-编程-测试-上线使用,在过程中

逐步优化改进

原型开发方法的优点:原型模型采用逐步求精的方法完善原型,使得原型能够“快速”开发,避免了像瀑布模型一样在冗长的开发过程中难以对用户的反馈作出快速的响应。相对瀑布模型而言,原型模型更符合人们开发软件的习惯,是目前较流行的一种实用软件生存期模型。

原型开发方法的缺点:当告诉用户,还必须重新生产该产品时,用户是很难接受的。这往往给工程继续开展带来不利因素。不宜利用原型系统作为最终产品 (3)假设可行,请用数据流图或用例图描述系统的功能需求。 答:

(4)假设可行,请定义数据库的一个表(关系),并分析该表的范式。 User表:

用于存储系统中用户的表: 字段名 U_account U_password U_E_Mail U_sq

类型 Nvarchar Nvarchar nvarchar Nvarchar

长度 32 32 50 50

主键 Yes No No No

为空 No No No No 唯一 Yes No No No 描述 用户帐户 用户密码 邮箱 安全问题

U_sa U_name U_phone U_address U_postalcode U_industry U_introduce U_type nvarchar nvarchar varchar nvarchar varchar nvarchar nvarchar nvarchar 50 50 20 50 10 20 100 10 No No No No No No No No No No No No No No No No No No No No No No No No 安全答案 真实姓名 联系方式 联系地址 邮政编码 所在行业 简介 用户类型

通过分析的用户表中不存在部分函数依赖关系,所以该数据表满足3NF。

3. 某公司提出要为政府开发一个“互联网户籍管理系统”,用户可在互联网上办理和查询户籍信息。

(1)请从技术、经济和操作三个方面简要分析系统开发的可行性(包括可能存在的风险)。(10分)

答:

技术可行性:现代计算机硬件和软件技术的飞速发展,为系统的建设提供了技术的条件,各种防火墙机制也保障了安全性,并且目前各个省市部门已经有一些成功的实例,因此在技术技术方面也有了雄厚的基础。

经济可行性:极大的减少了资源浪费,成本低、性能好。计算机已经成为我们学习和工作的得力助手,今天,计算机的价格已经十分低廉,性能却有了长足的进步。它已经被 应用于许多领域,计算机之所以如此流行的原因主要有以下几个方面:首先,计算机可以 代替人工进行许多繁杂的劳动;其次,计算机可以节省许多资源;第三,计算机可以大大 的提高人们的工作效率;第四,计算机可以使户籍档案更加安全,等等。一台或几台拥有 足够硬件配置的计算机,就能实现目标管理。大大减少了人力、物力、财力,极大地降低 了户籍管理得成本,节省了开销,缩减了经济开支。

操作可行性:以计算机为操作工具,操作方法简单、便捷、迅速。使用现行开发的户 籍管理系统查找一个户的信息或一个户成员的具体情况时,在几秒钟之内获得全部相关信 息。改变了以往人工操作为主的管理方式,大大减轻了户籍管理人员的

日常工作量。

(2)假设可行,请用瀑布模型描述系统的开发过程,并分析该模型的优缺点。 1)、对目标系统进行可行性调研和分析

2)、和客户交流并进行需求分析,编写需求规格说明书,同时兼顾其对可行性的影响

3)、根据需求分析结果进行系统概要设计和详细设计,同时兼顾其对需求分析文档的影响

4)、根据需求、设计文档进行编程,过程的修改需兼顾其对需求、设计分析文档的影响

5)、系统工程测试,测出BUG协同开发人员进行修改, 6)、测试完成后,发布上线,进入运行维护期 优点

1)为项目提供了按阶段划分的检查点。

2)当前一阶段完成后,您只需要去关注后续阶段。 3)可在迭代模型中应用瀑布模型。

4)它提供了一个模板,这个模板使得分析、设计、编码、测试和支持的方法可以在该模板下有一个共同的指导。 缺点

1)各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工

作量。

2)由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发风险。

3)通过过多的强制完成日期和里程碑来跟踪各个项目阶段。 4)瀑布模型的突出缺点是不适应用户需求的变化。

(3)假设可行,请定义数据库的一个表(关系),并分析该表的范式。(10分)

User表:

用于存储系统中用户的表: 字段名 id

U_account U_password U_user U_E_Mail U_sq U_sa U_name U_phone U_address U_postalcode U_state U_type create_time

类型 int varchar varchar varchar varchar varchar nvarchar varchar varchar varchar varchar varchar varchar data

长度 10 32 32 32 50 50 50 50 20 50 10 10 10 20

主键 No No No No No No No No No No No No No No

为空 No No No No No No No No No No No No No No

唯一 Yes Yes No No No No No No No No No No No No

描述 主键 登录帐户 登录密码 用户编码 邮箱 安全问题 安全答案 真实姓名 联系方式 联系地址 邮政编码 用户状态 用户类型 创建时间

通过分析的用户表中不存在部分函数依赖关系,所以该数据表满足3NF。

4. 在用面向数据流的方法定义模块时,关键是要保证模块的独立性。 (1)如何判断模块的独立性?(10分)

模块独立性指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最

少且接口简单.是指模块内部各部分及模块间的关系的一种衡量标准,由内聚和耦合来度量。

(2)在用面向对象方法设计构件时,构件的独立性是否一定就好?为什么 这个应该不是程度上的问题,而考虑的是功能边界与解耦的问题,耦合度越低越好,是依赖的问题,这样才能使得系统容易开发、可靠性高且容易维护

模块独立性原则是指其中任一模块在运行时,与另一个模块存在无关。独立性只是一个相对的概念。具有独立功能而且和其他模块之间相互作用少的模块,称为独立性高的模块。

5. 面向对象方法是围绕数据(对象)来构造系统,而不是围绕功能,为什么?请从功能模型和对象模型之间的关系来论述。(10分)

面向对象的方法是面向对象的世界观在开发方法中的直接运用。它强调系统的结构应该直接与现实世界的结构相对应,应该围绕现实世界中的对象来构造系统,而不是围绕功能来构造系统。

功能模型和对象模型之间有以下关系:

对象模型展示了功能模型中的动作者、数据存储和流的结构,动态模型展示了执行加工的顺序。 而功能模型展示了类上的操作和每个操作的变量,因此它也表示了类之间的“供应者一客户\关系;动态模型展示了每个对象的状态以及 它接收事件和改变状态时所执行的操作。

6. 请例举两个软件开发中的错误做法,并说明错误的原因。(5分) 问题一:大家每天固定位子就坐(一个萝卜一个坑)

大家是不是每天上班都坐同一个位子呢?选哪个电脑有什么影响吗?是不是每台电脑都有你需要的全部工具,同时配置完善足够你完成所有任务呢?如果不是,证明你们不经常结对,也不常交换结对伙伴。

解决方法:(真正地)结对编程

结对编程并且经常轮换结对伙伴是需要纪律性的。如果你没做,只能说明你不相信这有用。为了共享知识和技能,在看板系统中你可以安排学习和一些缓冲时 间。你可能需要拒绝一些客户的要求,但短暂的损失将带来长期的收益:你整装待发,开始一起协作的极限编程之旅。而正是由于扫清了知识方面的瓶颈,你将会快 速前进。试试结对吧。

问题二:强调头衔

我记得有个团队刚刚开始实施敏捷时,某个团队成员拿着组织结构图,义正言辞地跳出来指正:在程序员完成故事编码之前应该禁止测试人员介入。其实没必 要把头衔搞得跟完整团队势不两立。但如果某个重要成员一意孤行,或者团队因为角色不同而不敢质疑技术主管,再或者团队期望“测试人员”完成所有测试,那我 们就该担心自己实施完整团队的效果了。

解决方法:打破角色和职责界限

如果你把工作简单地看作是一些待完成的活动的集合,那么你就可以打破角色和职责的界限,允许队员在多重领域创造价值。比如,解放程序员,让他们探索测试。类似地,当测试人员发现一个他们能修复的缺陷时,放手让他们去修复吧。

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库GCT复试-软件工程测试题在线全文阅读。

GCT复试-软件工程测试题.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/218519.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: