- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程期末考试题 (B)
给出软件工程的传统途径(即生命周期方法学)各阶段的任务,面向对象方法学各阶段的任务,并比较两者的优缺点。(20分)
2.结构化分析和设计 (30分)
需求陈述:
某银行的计算机储蓄系统的工作过程大致如下:储户填写的存款单或取款单由业务员输入系统,如果是存款则系统记录存款人姓名﹑住址(或电话号码)﹑身份证、存款类型﹑存款日期﹑到期日期、利率以及密码(可选)等信息,并打印出存款单给储户;如果是取款,而且存款时留有密码,则系统首先核对用户密码,若密码正确或存款时未留有密码,则系统计算利息清单给储户。
问题要求:
请用数据流图(DFD)描绘本系统的功能。(10分)
用实体-联系图描绘系统中涉及到的数据对象。(10分)
给出本系统相应的软件体系结构,用结构图或层次图描述 。(10分)
3.设计下列伪代码的分支覆盖和条件组合覆盖的测试用例:(20)
Start
Input ( a, b, c, d)
If (( a 0 ) and ( b0 ))
Then x = a + b
Else
X = a – b
If (( ca ) or ( d b ))
Then y = c – d
Else
Y = c + d
Print ( a, b, c )
End
参考答案:
传统学:
软件生命周期由软件定义、软件开发和软件维护三方面组成。其中软件定义的任务是确定软件开发工程必须完成的总目标,确定工程的可行性,;导出实现工程目标应采用的策略以及系统必须完成的功能;估计完成该工程所需要的资源和成本,并制定相应的计划,包括问题定义、可行性研究和需求分析。
软件开发包括总体设计、详细设计,编码和单元测试,综合测试。
软件维护的主要任务是使软件持久的马组用户的需要。具体的讲,软件在使用的过程中发现错误时应该加以改正;当环境变化时些改软件以适应新的环境。。
面向对象的方法学:
对象模型、动态模型和功能模型的建立。
两者的优缺点的比较:
传统学的缺点:生产效率提高的幅度远远不能满足,软件重用程度低,软件维护仍然很难,软件往往不能真正满足用户的需要。
面向对象方法学的优缺点:与人类的思维的习惯一样,稳定性好,可重用性好,可维护性好。
参考答案:
(1)数据流图
到期日期姓 名住 址数 额
到期日期
姓 名
住 址
数 额
类 型
利 率
密 码
存款日期
电话号码
身份证号码
电话号码
地 址
名 称 称
储 户
存取款
储蓄所
(2)实体联系图
(3)体系结构:
3.参考答案:
分支覆盖的测试用例:
3个表达式的值为假 输入: a=-1 b=-2 c=-3 d=1
输出:x=1 y=-2
3个表达式的值为真 输入:a=1 b=2 c= 3 d=1
输出:x=3 y=2
条件则和的覆盖用例:
条件组合为:
① a0 b0
② a0 b=0
a=0 b0
④ a=0 b=0
⑤ ca db
⑥ ca d=b
⑦ c=a db
⑧ c=a d=b
实现1,5的条件组合
输入: a=1 b=1 c=2 d=0
预期的输出:x=2 y=2
实现2,6的条件组合
输入: a=1 b=0 c=2 d=1
预期的输出:x=1 y=1
实现3,7的条件组合
输入: a=0 b=1 c=-1 d=0
预期的输出:x=-1 y=-1
实现4,8的条件组合
输入: a=0 b=0 c=-1 d=1
预期的输出:x=0 y=0
4.面向对象的分析与设计:(30分)
电梯问题:
在一幢有M层的大厦安装一套控制N部电梯的产品。依照下列条件的约束求解电梯在各楼层之间移动的逻辑关系。
C1:每台电梯有M个按钮,每一个按钮代表一个楼层。当按下一个按钮时该按钮指示灯亮,同时电梯驶向相应的楼层,当到达按钮按下的相应楼层时,指示灯熄灭。
C2:除了最低层和最高层之外,每一层楼都有两个按钮分别指示电梯上行和下行。这两个按钮按下时指示灯亮,当电梯到达此楼层时灯熄灭,并向所需要的方向移动。
C3:当电梯无升降动作时,关门并停在当前楼层。
上述问题的简化描述为:在一栋M层的大厦里,用电梯内的按钮和每个楼层的按钮来控制N部电梯的运动。当按下电梯按钮以请求在某一指定楼层停下时,按钮指示灯亮;当请求满足时,指示灯熄灭。当电梯无升降动作时,关门,并停在当前楼层。
注释:在真正的电梯中,按钮并不直接与电梯通信;要想决定分派哪一部电梯来响应一个特
文档评论(0)