软件工程课后习题答案
习题1 略。
习题2 略。
习题3 略。
习题4
2.在什么情况下应该使用形式化说明技术?使用形式化说明技术时应遵守哪些准则?
人们在理解用自然语言描述的规格说明时,容易产生二义性。为了克服非形式化方法的缺点,人们把数学引入软件开发工程,创造了基于数学的形式化说明技术。
应用形式化方法的准则:
(1)应该选用释放的表示方法;
(2)应该形式化,但不要过分形式化;
(3)应该估算成本;
(4)应该有形式化方法顾问随时提供咨询;
(5)不应该放弃传统的开发方法;
(6)应该建立详尽的文档;
(7)不应该放弃质量标准;
(8)不应该盲目依赖形式化方法;
(9)应该测试、测试再测试;
(10)应该重用。
4.用有穷状态机说明自动化图书馆流通系统
习题5 略。
习题6 略。
习题7 略。
习题8 略。
习题9
1.什么是面向对象方法学?它有哪些优点?
面向对象方法学,是尽可能模拟人类习惯的思维方式,使开发软件的方法和过程尽可能接近人类认识世界解决问题的方法和过程,从而使得实现解法的解空间(也称为求解域)与描述问题的问题空间(也称为问题域)在结构上尽可能一致。
优点:
1.与人类习惯的思维方法一致;
2.稳定性好;
3.可重用性好;
4.较易开发大型软件产品;
5.可维护性好
10.建立订货系统的用例模型。
分析如下:从对这个订货系统的需求可以知道,仓库管理员通过放在仓库中的终端把零件入库/出库市事务报告给订货系统,系统接受到事务信息之后应该处理事务;采购员需要使用订货系统提供的产生报表功能,以获取订货报表。综上所述,用例如下:
习题10
1.用面向对象方法分析研究本书习题2第2题中描述的储蓄系统,试建立它的对象模型、
动态模型和功能模型。
对象模型参考:
以上还需将关联关系说明补全。
动态模型参考:
(1)脚本
正常情况脚本:
储户有存款要求,填写存款单,包含储户个人信息,存款金额和存款类型;
业务员查收存款,审核存款与存款单存款金额吻合;
存款单生效;
储户有取款要求,填写取款单,包含个人账号、密码(待定)和存款金额;
业务员审核存款,验证储户身份,确定储户存款金额> = 取款金额;
审核通过,取款单生效;
系统打印利息清单,业务员把本金和利息返回储户。
异常情况脚本:
储户有存款要求,填写存款单,包含储户个人信息,存款金额和存款类型; 业务员查收存款,审核存款与存款单存款金额不符; 存款单作废;
储户有取款要求,填写取款单,包含个人账号、密码(待定)和存款金额; 业务员审核存款,验证储户身份,发现储户存款金额 < = 取款金额; 取款单作废;
(2) 事件跟踪图
功能模型参考:
填写存款单
审核
录入
存款生效
填写取款单
审核
录入
取款生效,返还本金和利息
打印利息清单
储户
存款单/取款单
业务员
系统数据库
储蓄系统数据库流图
去掉“打印利息清单加工”与“储户”之间的“利息清单”存储。
习题11
5 试用面向对象方法,设计本书习题2第2题中描述的储蓄系统。
同习题10-1
2.用面向对象方法分析研究本书习题2第2题中描述的储蓄系统,试建立它的对象模型、动态模型和功能模型。
对象模型参考:
以上还需将关联关系说明补全。
动态模型参考:
(3)脚本
正常情况脚本:
储户有存款要求,填写存款单,包含储户个人信息,存款金额和存款类型;
业务员查收存款,审核存款与存款单存款金额吻合;
存款单生效;
储户有取款要求,填写取款单,包含个人账号、密码(待定)和存款金额;
业务员审核存款,验证储户身份,确定储户存款金额> = 取款金额;
审核通过,取款单生效;
系统打印利息清单,业务员把本金和利息返回储户。
异常情况脚本:
储户有存款要求,填写存款单,包含储户个人信息,存款金额和存款类型;
业务员查收存款,审核存款与存款单存款金额不符;
存款单作废;
储户有取款要求,填写取款单,包含个人账号、密码(待定)和存款金额; 业务员审核存款,验证储户身份,发现储户存款金额 < = 取款金额; 取款单作废;
(4) 事件跟踪图
功能模型参考:
填写存款单
审核
录入
存款生效
填写取款单
审核
录入
取款生效,返还本金和利息
打印利息清单
储户
存款单/取款单
业务员
系统数据库
储蓄系统数据库流图
去掉“打印利息清单加工”与“储户”之间的“利息清单”存储。