软件工程习题答案Word下载.doc
《软件工程习题答案Word下载.doc》由会员分享,可在线阅读,更多相关《软件工程习题答案Word下载.doc(10页珍藏版)》请在冰点文库上搜索。
![软件工程习题答案Word下载.doc](https://file1.bingdoc.com/fileroot1/2023-4/29/b8fbb9a7-566a-4b25-8a32-86e9cffb8cca/b8fbb9a7-566a-4b25-8a32-86e9cffb8cca1.gif)
测试工程师
需求分析师
图书借出
√
图书归还
图书续借
图书预约
图书管理
用户管理
7.请对出卷系统的功能需求进行分析,是否存在重复或遗漏的需求。
自动出卷、手动出卷共同的需求出卷要求,且出卷要求也比较复杂,需要单独的功能完成,并且可以存储以便下次使用。
因此可以增加“设置出卷要求”功能。
8.请补充案例研究的非功能需求。
如图书馆的非功能需求:
(1)借一本书过程要求不超过5秒
(2)图书馆藏书在200,000,000册以上
9.请扩展短信系统成为一个短信客服中心,给出该系统的需求。
本系统主要功能需求有:
l短信发送:
填写发送内容,选择发送用户,并指明是否要回执,然后发送短信。
(通过无线终端或短信网关)
l短信接收:
从无线终端或短信网关读取短信内容,并显示查看。
l用户管理:
添加新用户,更新用户信息,删除用户。
l自动应答:
根据用户的要求自动应答。
10.请描述图书馆系统的借书的一个常规场景。
用例名称:
借书
范围:
图书管理图书流通应用
级别:
用户需求
主要参与者:
借阅者
涉众及其关注点:
(1)浏览者:
希望能够不需要登录系统即可快速地浏览图书和查询信息。
(2)借阅者:
希望在登录系统后可以借书,能查查询自己信息和借书情况
(3)普通管理员:
希望能够协助借书者完成借书功能,形成借书报表给借阅者查看确认。
前置条件:
借书者要登录系统或者验证借书证
成功保证:
创建借书记录,更新借书信息,形成借书报表。
主成功场景:
(1)普通管理员扫描借书证。
(2)检查是否可以借书
(3)若可借,则扫描图书
(4)显示已借书数,显示借书成功
…重复
(2)-(4)
(5)借书结束
11.请描述银行客户从ATM机上取一笔钱的场景。
客户插入银行卡后输入密码。
客户选择“取款”项,屏幕跳出选择取款金额菜单以及一次性可取出的最大金额,客户根据自身需要选择预设金额或者自己输入想要取出的金额。
机器根据客户输入的金额进行出钞,如果余额不足,则屏幕提示客户无法提取相应金额。
客户选择提取较小金额或者选择退出系统,取卡。
否则在正常情况下按客户所需输出相应钞票。
屏幕提示在30秒内取走钞票。
完成交易,客户退出系统,取卡。
第6章结构化分析建模
(1)什么是结构化分析?
结构化分析方法是一种传统的系统建模技术,其过程是创建描述信息内容和数据流的模型,依据功能和行为对系统进行划分,并描述必须建立的系统要素。
(2)结构化分析要创建哪些模型?
结构化的需求分析模型有数据流模型、状态转换模型、实体—关系模型等。
数据流模型集中在数据的流动和数据转换功能,而不关心数据结构的细节。
实体—关系模型关心的是寻找系统中的数据及其之间的关系,却不关心系统中包含的功能。
系统的行为模型包括两类模型:
一类是数据流模型,用来描述系统中的数据处理过程;
另一类是状态转换模型,用来描述系统如何对事件做出响应。
(3)加工逻辑描述有哪些方法,它们之间有什么优缺点?
加工逻辑也称为过程说明,用于描述数据流图中加工逻辑的处理算法或过程,一般用以下三种工具:
过程描述语言、判定表和判定树。
过程描述语言介于自然语言和形式语言之间的一种半形式语言,过程描述语言是在自然语言基础上加了一些限定,使用有限的词汇和有限的语句来描述加工逻辑。
判定表和判定树能够把在什么条件下系统应做什么动作准确无误地表示出来,适合多分支情况。
判定树是判定表的变形,一般情况下它比判定表更直观,且易于理解和使用。
(4)请分析自动出卷与手动出卷在功能上有什么不同?
自动出卷能够根据出卷要求自动选择试题和评价试卷,手动出卷则需要用户交互从根据条件筛选的每类型题目中选择需要的题目。
(5)如果要在获取出卷要求时可参照以往的出卷要求,请修改图6-5。
*
包含
题目
出卷要求
依据
抽取
试卷
1
(6)图书馆系统中在检查读者可借性要考虑哪些规则?
规则:
l未借满
l没有超期图书
l罚金<
2.0元
(7)借书功能的可借性是否要考虑预约?
可以不用考虑,因为当图书在架时(在书库),图书可以借,所以不能预约该图书。
当被预约的图书归还时会放在预约架,所以不会出现预约图书被借的情况。
(8)请补充POS机系统中的帐务和库存两个数据存储的数据信息。
帐务:
销售号+金额+日期+收银员
库存:
商品号+名称+厂家+进货价格+数量
(9)请用PDL语言描述借书功能中读者可借性的加工逻辑描述。
判断读者可借性seq
returntrue
判定已借书数是否超过最大数seq
ifborrowedsum==maxmunthen
returnfalse
else
returntrue
已借书数是否超过最大数end
判定是否有超期图书iteruntilrecordnumber>
if图书的归还日期<
当前日期then
returnfalse
else
returntrue
是否有超期图书end
判定罚金额是否大于规定值seq
ifpenitentvalue>
2.0then
returntrue
罚金额是否大于规定值end
统计空格end
(10)图6-23中,如果库存系统和账务系统已经实现,如何修改该数据流图。
票据
商品
收银员
读入商品
计算总价
付款
记录销售
商品信息
销售单
与总价
销售记录
打印票据
销售
账务系统
库存系统
(11)出卷系统中,在试题中的题干图和答案图只存储图的文件名,为什么?
由于有些试题有图,而有些没有,可以节约存储。
(12)如何解决不同类型题目的答案存储问题,如应用题和简答题的答案可能较长,而选择题和填空题的答案比较短。
建议将选择题单独建立表处理。
第七章面向对象分析
1.请简要说明结构化分析和面向对象分析的差别?
2.请简述面向对象分析有哪些分析模型?
面向对象建模技术所建立的三种模型,即对象模型、动态模型和功能模型,分别从三个不同侧面描述了所要开发的系统。
功能模型指明了系统应该“做什么”;
动态模型明确规定在何种状态下,接受什么事件的触发而“做什么”;
对象模型则定义了“做什么”的实体。
3.请简述统一建模过程框架。
UML模型结构可分为四个抽象层次,即元元模型、元模型、模型和用户模型。
元元模型层定义了描述元模型的语言,它是任何模型的基础。
UML元元模型定义了元类、元属性、元操作等一些概念。
元模型层定义了描述模型的语言,它组成UML模型的基本元素,包括面向对象和构件的概念,如类、属性、操作、构件等。
模型层定义了描述信息领域的语言,它组成了UML模型。
用户模型层是模型的实例,用于表达一个模型的特定情况。
4.活动图与泳道图的区别?
UML泳道图(swimlane)是活动图的一种有用的变形,可以让建模人员表示用例所描述的活动图,同时看哪个参与者或分析类对活动矩形所描述的活动负责。
泳道用纵向分割图的并列条形部分表示,就像游泳池中的泳道,也称特定分区。
5.请解释逻辑架构的概念和表示方法。
逻辑架构是类的宏观组织结构,它将类组织为包、子系统和层等。
层是对类、包或子系统的甚为粗粒度的分组,是有对系统主要方面加以内聚的职责。
6.请为ATM机开发活动图。
7.请为短信系统开发活动图。
8.请举例说明向自身发送消息的情况。
可借
不可借
还书[n<
=m+1]
借书[n>
m+1]
还书[n=m]
借书[m=n+1]
9.请用CRC卡编写短信系统的职责与协作者。
短信类CRC卡
Class:
短信类
说明:
短信信息
职责:
协作类:
得到内容
编码类
得到短信中心号码
转发类
得到时间
得到目标号码
发送编码类CRC卡
发送编码类
发送编码
协作者:
编码
写串口类
接收接码类CRC卡
接收解码类
接收解码
解码
读取串口类
写入串口信息
写入串口
无
读串口类
读取串口信息
读取串口
10.请补充POS机的CRC卡描述。
退货类CRC卡
退货类
完成一次退货
创建退货商品
商品类
计算价格
商品列表类
创建退付
退付类
关联销售
销售类
商品类CRC卡
所退商品
实例化
③
退货商品列表CRC卡
退货商品类表类
存放退货商品项
计算小计
商品描述类
添加商品
删除商品
商品描述类CRC卡
描述商品信息
获取描述
获取价格
11.请给出短信系统的SSD和操作契约。
短信系统的SSD
操作契约:
1sendMessage()
操作名称:
sendMessage(content,number)
交叉引用:
发送短信用例
发送设备正常,串口正常
后置条件:
(1)创建了message的实例(创建关联)
(1)message.content赋值为content(修改属性)
(2)message.number赋值为number(修改属性)
(3)message与sendmessageList关联(形成关联)
2receiveMessage()
receiveMessage()
接收短信用例
(2)message与receivemessageList关联(形成关联)
12请给出ATM机的SSD和操作契约。
这里只给出ATM客户端情况
13请分析POS机系统中各个类的属性和操作。
classSale{
privateList<
SalesLineItem>
lineItems=newArrayList<
();
privateDatedate=newDate();
privatebooleanisComplete=false;
privatePaymentpayment;
}
classSalesLineItem{
privateintquantity;
privateProductSpecificationspecification;
classPayment{
Moneyamount;
14请给出ATM机系统的状态图。
16请给出短信系统的状态图。