【读书笔记】《软件方法(上)业务建模和需求》(第2版)习题答案

最近在图书馆翻到此书,感觉内容不错,便深入阅读,也推荐大家看一看。

本书虽然行文比较口语化,像是培训讲义,但这种接地气的描述和举例反倒使得此书更加通俗易懂,尤其在讲述这种软件建模理论时,通俗是最重要的。

 

此处记录下,章节后习题的答案。由于该书习题答案未直接提供,需不断试错得到,颇费一份工夫。

(该书编辑错误较多,习题需使用在线试题)。

 

第四章 业务建模之业务序列图

1. 答案:AC。

2.

答案:B。

解析:根据书中的理论,箭头是请求,箭头上方写的描述应该是:右侧的【责任】或者【应提供的服务】。所以,老师的【责任】应该是 “回答问题“,而其中”问题“应该是参数。

博主评论:心里还是微微感觉这序列图有点 反人类,违反直觉。

3. 答案:CD 。

4.

答案:A。

解析:较难。根据 Page108 内容理解:QQ邮箱无法识别计划书,所以”将计划书发给经理“这一步骤,不是”QQ邮箱系统“的【责任】,而是助理自己的【责任】。QQ邮箱系统的责任,是”发邮件“。经理的【责任】在这个序列图中不体现,是个被动的业务对象,只收到邮箱系统的”返回消息“即可。

5.

答案:3把药和号交给输液接待药师(),6传送输液药品给配置中心护士()。

最难。

该题在书中有编辑错误,图片未显示完整。完整题目需要扫书中二维码在线答题 。

这是一个患者去输液室输液的序列图。消息1是药师的责任,消息2是XX系统的责任,给患者一个输液排队号。消息3,并非输液接待师的责任。错在将消息描述成了流程图中的动作。正确描述应该是【接待输液(药,号)】,其中药和号是消息参数。4是输液室的业务工人(Business Worker),在整个输液过程中必不可少。消息5是接待药师的责任。消息6类似消息3,正确描述应该是【执行输液(药品)】,其中药品是消息参数。

6. 答案:C。

 

第五章 需求之系统用例图

1. 登录 作为 门禁系统 的用例是合适的。

2. 输入密码 作为 指纹扫描仪 的用例是合适的。(博主对此答案表示怀疑,作者给出的指纹扫描仪是什么扫描仪?手机的还是手持的单独扫描仪?没有说清楚。此题无意义。)

3. C。ATM的价值不是刻字。

4. A。OA系统提供的价值不是登录,而是查看每日工作任务。

5. A。功能模块,一词混淆了系统内部和外部。功能是外部视角,是用例的分包;模块是内部视角,是系统内部组件。

6. 主执行者发起用例,辅执行者被动参与。P180原话。

7. 

此题很有意思。如果没有经过的用例图的认真学习,想当然的会选择 C,稍微了解一些用例图知识,会选择 D,学的更多的话会选择 A,真正心领神会的应选择的 B。

而答案就是 B, 是不是感觉有些不可思议。题目中的”保安“呢,”访客“呢?题目中以 监控系统 为研究对象,监控系统是完全自发在运行的,保安存不存在并不影响系统的运转。访客更非必需。反倒是 【时间】 这个特殊的”实体“在持续的承担起这个用例中的【系统执行者】这一重任。

而 A 为什么错误,是因为 A 中的 辅执行者”保安“,并非【播放监控视频】这一系统用例的必需 实体。辅执行者 存在的前提是,该用例需要该 辅执行者的责任帮助,才能完成这个用例。但 A 用例中【播放监控视频】是不需要 人(保安)来参与的。如果用例是【查看/查询监控视频】那么 D 选项 的用例图是正确的。

D为什么错:题目描述的不是 保安主动查看监控视频,而是描述的监控系统拍摄影像显示给保安看。这时候 时间 才是 用例执行者。

C 为什么错:参考选项A、D的错误解释。

8. CE。

9. C。

10. AB。

 

 

以上。如有错误,欢迎在评论中指出。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
包含需求基础、需求工程过程、需求获取概述、确定项目前景和范围、涉众分析和硬数据采样方面的思考题,还有参考答案。 方案及系统特性,继而无法明确项日的前景和范围,这样就会造成项口的不稳定甚至失败! 某大银行的一位银行卡办公室的收账经珒Li遇到了一个问题。她每周都收到一份过期 未付款的账户名单。这份报告已经从两年前的250个账户增加到现在的1250个账户。 为了确定那些严重拖欠债务的账户,Liz需要通读这份报告。严重拖欠债务的账户由几 个不冋的规则确定,每个规则都要求Lz检查客户的一项或几项数据。过去半天的工作 量现在增加到了每周三天。即使在确定了严重拖欠债务的账户后,如果没有查阓该账户 三年内的历史资料,Li也不能做岀最后的信用决定(例如严厉的催款电话、断绝信甩 或海这个账户转给一个收账代理)。另外,也需要报告所有账户中过期未付款的、拖欠 债务的、严重拖欠债务的和呆死账的比例。目前的报告中并没有给她提供这个信息。 假改现在需要你来开发一个软件,解决Li血对的难翘。那么你认为Liz现在遇到 的问题有哪些?你希望新的软件应该达成哪些业务目标?你怎样设计软件的高层解决 方案和系统特性? 解答:Liz现在遇到的问题有:(1)工作量的増加;(2)客户账户的历史数据;(3)问题账 户所占比例没有显示 新的软件应该达成的业务目标有:(1)能够快速查询客户账户;(2)能够分析一个客户 是否为问题账户;(3)能够给出一个问题账户的三年内的历史数据;(4)能够计算问题账户 所占比例 软件的高层解决方案和系统特性:(1)立一个数据厍系统用来存放客户账户信息 2〕根捃特定的判定问题账户的斧法检索辨别出问题账户;(3)工作人员能够 检杳该账户的三年内的历史数据:(4)即时显示问题账户所占比例
### 回答1: Python学习笔记|字符串与正则表达式练习题答案 1. 练习题1: 题目:给定一个字符串s,找出其中的连续的最长的数字串。 答案:可以通过正则表达式来匹配数字串,然后使用max函数找出最长的。 代码示例: import re def find_longest_num_str(s): num_str_list = re.findall('\d+', s) longest_str = max(num_str_list, key=len) return longest_str s = "ab1234c56789def" print(find_longest_num_str(s)) 输出:56789 2. 练习题2: 题目:给定一个字符串s,将其中的每个空格替换为"%20"。 答案:可以通过正则表达式的sub函数来实现替换。 代码示例: import re def replace_space(s): new_s = re.sub(' ', '%20', s) return new_s s = "Hello World" print(replace_space(s)) 输出:Hello%20World 3. 练习题3: 题目:给定一个字符串s,判断它是否为回文字符串。 答案:可以使用切片操作将字符串反转,然后与原字符串进行比较。 代码示例: def is_palindrome(s): return s == s[::-1] s = "abcba" print(is_palindrome(s)) 输出:True ### 回答2: 以下是关于字符串和正则表达式练习题答案: 1. 给定一个字符串s,编写一个函数,返回该字符串的反转字符串。 def reverse_string(s): return s[::-1] 2. 给定一个字符串s,编写一个函数,返回是否是回文字符串。 def is_palindrome(s): return s == s[::-1] 3. 给定一个字符串s和一个字符c,编写一个函数,返回字符串s中字符c的出现次数。 def count_char(s, c): return s.count(c) 4. 给定一个字符串s,编写一个函数,返回字符串s中的所有单词列表。 def split_words(s): return s.split() 5. 给定一个字符串s,编写一个函数,返回字符串s中的所有数字列表。 import re def extract_numbers(s): return re.findall(r'\d+', s) 这只是一些可能的答案,其中的解决方法可以有很多种。每个问题都有不同的解决方案,具体取决于个人的编程风格和需求。希望这些答案能够帮助你理解和学习Python中的字符串和正则表达式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qilei2010

送我一张彩票中了平分

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值