刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

简答题

阅读以下关于软件系统建模的叙述,在答题纸上回答问题1至问题3。

[说明]某公司欲建设-一个房屋租赁服务系统,统一管理房主和租赁者的信息,提供快捷的租赁服务。本系统的主要功能描述如下: 

1.登记房主信息。记录房主的姓名、住址、身份证号和联系电话等信息,并写入房主信息文件。

2.登记房屋信息。记录房屋的地址、房屋类型(如平房、带阳台的楼房、独立式住宅等)、楼层、租金及房屋状态(待租赁、已出租)等信息,并写入房屋信息文件。-名房主可以在系统中登记多套待租赁的房屋。

3.登记租赁者信息。记录租赁者的个人信息,包括:姓名、性别、住址、身份证号和电话号码等,并写入租赁者信息文件。

4.安排看房。已经登记在系统中的租赁者,可以从待租赁房屋列表中查询待租赁房屋信息。租赁者可以提出看房请求,系统安排租赁者看房。对于每次看房,系统会生成一条看房记录并将其写入看房记录文件中。

5.收取手续费。房主登记完房屋后,系统会生成一份费用单,房主根据费用单交纳相应的费用。

6.变更房屋状态。当租赁者与房主达成租房或退房协议后,房主向系统提交变更房屋状态的请求。系统将根据房主的请求,修改房屋信息文件。

[问题1](12分)

若来用结构化方法对房屋租赁服务系统进行分析,得到如图2-1所示的顶层DFD,使用题干中给出的词语,给出图2-1中外部实体E1~E2、加工P1~P6以及数据存储D1~D4的名称。

[问题2] (5分)

若采用信息工程(Information Engineering)方法对房屋租赁服务系统进行分析,得到如图2-2所示的ERD.请给出图2-2中实体(1) ~ (5) 的名称。

[问题3](8分)

(1)信息工程方法中的'实体(entity) ”与面向对象方法中的“类(class) ”之间有哪些不同之处?

(2)在面向对象方法中通常采用用例(Use Case)来捕获系统的功能需求。用例可以按照不同的层次来进行划分,其中的Essential Use Cases和Real Use Cases有哪些区别?

使用微信搜索喵呜刷题,轻松应对考试!

答案:

[问题1]

E1:房主

E2:租赁者

P1:登记房主信息

P2:登记房屋信息

P3:登记租赁者信息

P4:查询租赁房屋信息

P5:安排看房

P6:变更房屋状态

D1:房主信息文件

D2:租赁者信息文件

D3:房屋信息文件

D4:看房记录文件

[问题2]

(1) 房主

(2) 房屋

(3) 房屋信息文件

(4) 租赁者

(5) 看房记录

[问题3]

(1)实体用于数据建模,而类用于面向对象建模。实体只有属性,而类有属性和操作。

(2) Essential Use Cases可翻译为抽象用例,Real Use Cases可翻译为基础用例。他们是区别在于: 基础用例是实实在在与用户需求有对应关系的用例,是从用户需求获取的渠道得到的,而抽象用例是从基础用例中抽取的用例的公共部分,是为了避免重复工作,优化结构而提出的用例。

解析:

<问题1>根据题目描述和DFD(数据流图)的一般知识,可以识别出外部实体E1和E2分别代表房主和租赁者信息实体。加工P1-P6分别对应房主、房屋、租赁者的信息登记、查询房屋信息、安排看房和变更房屋状态等处理过程。数据存储D1-D4分别是房主、租赁者、房屋信息和看房记录的文件。

<问题2>在ERD(实体关系图)中,实体代表系统中的主要对象,根据题目描述和ERD图,可以识别出房主、房屋、房屋信息文件、租赁者和看房记录等五个实体。

<问题3>(1)信息工程中的实体主要关注数据模型,而面向对象中的类包含数据和操作,更全面地描述对象的属性和行为。另外,实体通常是静态的,类则包含对象的生命周期和行为。(2)Essential Use Cases和Real Use Cases的主要区别在于,基础用例与具体用户需求对应,是直接从用户需求中获取的,而抽象用例是从基础用例中提炼出的公共部分,更偏向于概念层次,主要是为了优化系统结构和避免重复工作。

创作类型:
原创

本文链接:阅读以下关于软件系统建模的叙述,在答题纸上回答问题1至问题3。 [说明]某公司欲建设-一个房屋租赁服

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share