软件工程复习题及答案(完整) 联系客服

发布时间 : 星期四 文章软件工程复习题及答案(完整)更新完毕开始阅读606bf1aaccbff121dc36835e

(3) 识别关系多重度,完成(1)(2)(3)(4)。 (1)1 (2)0··n或0··* (3) 0··n或0··* (4)1 9比较下列两段语句,从编码风格的角度分析其优、劣。 程序段一:

/ position_x is the position x of object; position_y is the position y of object; / if a>b then a=b else if position_x>position_y then b=position_y else a=position_x end if end if 程序段二: if a>b then if x>y then b=y else a=x end if else a=b end if

程序段一比程序段二好(1)开头给出了序言性注视(2)使用了缩进使程序结构更清晰(3)变量名定义更清楚

10某个用户输入设定有如下规则:只能输入‘#’或三位数字;假定设计的程序可接受所有符合规定的密码,请使用等价类划分法为其设计测试用例,并给出预期结果是有效还是无效。 划分等价类

有效等价类 1.#; 2.三位数; 无效等价类 1. 有非数字字符;2.少于三位数字; 3.多于三位数字。 设计测试方案 有效等价类 测试用例1:# 有效 测试用例2:123 有效 无效等价类 测试用例3:A12 无效 测试用例4:12 无效 测试用例5:1234 无效

11欲开发一个银行的活期存取款业务的处理系统:储户将填好的存/取款单和存折交给银行工作人员,然后由系统作以下处理;

(1)业务分类处理:系统首先根据储户所填的存/取款单,确定本次业务的性质,并将存/取款单和存折交下一步处理;

(2)存款处理:系统将存款单上的存款金额分别记录在存折和帐目文件中,并将现金存入现金库;最后将存折还给储户;

(3)取款处理:系统将取款单上的取款金额分别记录在存折和帐目文件中,并从现金库提取现金;最后将现金和存折还给储户。

该系统的总体图如下图所示,请画出该系统的零级图。

五.综合题

1. 假设你需要划出一个小组专门开发一个组件,该组件的乐观尺寸Sopt为7000LOC,最有可能尺寸Sm为9000LOC,保守尺寸Spress为14000LOC;这种组件的平均生产率为500LOC/月,平均开发成本为每月6000元。请根据以上给出的条件计算该组件的开发成本以及该小组的工作量,要求给出计算步骤。 首先计算该组件的LOC估计值

EV=(Sopt+4Sm+Spress)/6=(7000+4*9000+14000)/6=9500行 该组件的每行近似成本为6000/500=12元 组件的开发成本为12*9500=114000元 则所需工作量为9500/500=16人-月 2. 假设你是一个公司的项目经理,将要接手一个软件项目,开发一个电子商务网站,你的团队有60人左右,且拥有丰富的架站经验,对于该项目所要使用的J2EE平台十分熟悉,并且在以往的开发过程中积累了大量可复用的构件。不过客户要求的时间非常急,只有3个月。试根据材料回答如下问题: (1)作为项目经理,你将采用何种过程模型进行开发?为什么?

采用RAD模型开发。原因:团队人力资源充足,技术经验丰富,又有类似的开发经历并拥有可复用构件,在客户要求开发速度的情况下RAD模型是非常好的选择。

(2)假设项目实际进行时的进度情况与计划情况不一致,有可能造成无法按期完工的情况,作为项目经理,你该如何应对?

答:A项目持续时间压缩法,如赶工或并行实施;B资源分配平衡技术,如把稀缺的资源先分配给关键路径上的任务;C时差法,如将紧缺资源从时差较长的任务调整到关键任务上;D时间-成本平衡法,通过增加最低相关成本来缩短工期。

3. 假设您刚刚升任一家软件公司的项目经理,将率领一个40人的团队,用ASP.NET开发一个在线购物系统。该系统应用前景良好。不过您所在的公司之前一直使用J2EE平台开发,对微软的.NET不够熟悉,好在客户要求的时间不是很紧,有12个月的时间可用于开发。请根据以上材料回答如下问题: (1)您打算采用何种软件过程模型来组织开发?为什么?

RUP模型或增量模型、螺旋模型等。原因:项目规模较大,需要多人协作开发;需求不清楚,缺乏相关领域的经验;技术基础薄弱,缺乏准备;使用此类演进模型,可以再开发过程中与用户很好地交互,减少开发风险。可在早期迭代中构造原型产品,尽快熟悉业务需求;在后面的迭代中,完善构架,逐步开发出符合用户需求的产品。

(2)作为项目经理,请你分析该项目可能存在的风险有哪些?

刚刚当上项目经理,缺乏管理经验;项目规模大,需要足够的人力支持;缺乏领域经验,用户需求还不够清楚;技术经验缺乏等。

以图书管理系统为例

1.需求分析阶段有哪些任务要完成?文档内容有哪些 答:一、 确定对系统的综合要求

1. 功能需求:这方面的需求指定系统必须提供的服务。通过需求分析应该划分出系统必须完成的所有功能。

2. 性能需求:性能需求指定系统必须满足的定时约束或容量约束,通常包括速度(响应时间)、信息量速率、主存容量、磁盘容量、安全性等方面的需求。

3. 可靠性和可用性需求:可靠性需求定量地指定系统的可靠性。可用性与可靠性密切相关,它量化了用户可以使用系统的程度。

4. 出错处理需求:这类需求说明系统对环境错误应该怎样响应。例如,如果它接收到从另一个系统发来的违反协议格式的消息,应该做什么?注意,上述这类错误并不是由该应用系统本身造成的。

5. 接口需求:接口需求描述应用系统与它的环境通信的格式。常见的接口需求有:用户接口需求;硬件接口需求;软件接口需求;通信接口需求。

6. 约束:设计约束或实现约束描述在设计或实现应用系统时应遵守的限制条件。在需求分析阶段提出这类需求,并不是要取代设计(或实现)过程,只是说明用户或环境强加给项目的限制条件。常见的约束有:精度;工具和语言约束;设计约束;应该使用的标准;应该使用的硬件平台。

7. 逆向需求:逆向需求说明软件系统不应该做什么。理论上有无限多个逆向需求,我们应该仅选取能澄清真实需求且可消除可能发生的误解的那些逆向需求。

8. 将来可能提出的要求:应该明确地列出那些虽然不属于当前系统开发范畴,但是据分析将来很可能会提出来的要求。注意:举例让学生理解:这样做的目的是,在设计过程中对系统将来可能的扩充和修改预做准备,以便一旦确实需要时能比较容易地进行这种扩充和修改。 二 、分析系统的数据要求

任何一个软件系统本质上都是信息处理系统,系统必须处理的信息和系统应该产生的信息在很大程度上决定了系统的面貌,对软件设计有深远影响,因此,必须分析系统的数据要求,这是软件需求分析的一个重要任务。

分析系统的数据要求通常采用建立数据模型的方法(举例)。 三、 导出系统的逻辑模型

综合上述两项分析的结果可以导出系统的详细的逻辑模型,通常用数据流图、实体-联系图、状态转换图、数据字典和主要的处理算法描述这个逻辑模型。 四、 修正系统开发计划

根据在分析过程中获得的对系统的更深入更具体的了解,可以比较准确地估计系统的成本和进度,修正以前制定的开发计划。 2.类之间有哪些关系?

答:类与类之间有继承与被继承、父类与子类这样的关系 3.详细设计阶段任务有哪些?文档内容有哪些

答:详细设计包括业务对象设计、功能逻辑设计、数据库设计和界面设计等工作。详细设计是系统实现的依据,需要考虑所有的设计细节。一、可行性分析二、数据流程图三、数据库设计四、总体结构和模块设计五、功能分配六、程序模块示意图七、维护设计 4.概要设计文档的内容有哪些

一、引言:1. 编写目的 2. 项目背景 3. 参考资料

二、需求概述:4. 目标 5.运行环境 6. 功能需求 7. 性能需求 三、系统概要设计:8. 系统体系结构 9. 程序数据流图

四、 系统数据结构设计:10. 系统数据分析 11. 系统数据结构描述