阅读以下关于软件系统建模的叙述,在答题纸上回答问题1至问题3。[说明]某公司欲建设-一个房屋租赁服务系统,统一管理房主和租赁者的信息,提供快捷的租赁服务。本系统的主要功能描述如下:1.登记房主信息。记录房主的姓名、住址、身份证号和联系电话等信息,并写入房主信息文件。2.登记房屋信息。记录房屋的地址、房屋类型(如平房、带阳台的楼房、独立式住宅等)、楼层、租金及房屋状态(待租赁、已出租)等信息,并写入房屋信息文件。-名房主可以在系统中登记多套待租赁的房屋。3.登记租赁者信息。记录租赁者的个人信息,包括:姓名、性别、住址、身份证号和电话号码等,并写入租赁者信息文件。4.安排看房。已经登记在系统中的租赁者,可以从待租赁房屋列表中查询待租赁房屋信息。租赁者可以提出看房请求,系统安排租赁者看房。对于每次看房,系统会生成一条看房记录并将其写入看房记录文件中。5.收取手续费。房主登记完房屋后,系统会生成一份费用单,房主根据费用单交纳相应的费用。6.变更房屋状态。当租赁者与房主达成租房或退房协议后,房主向系统提交变更房屋状态的请求。系统将根据房主的请求,修改房屋信息文件 [问题1](12分) 若来用结构化方法对房屋租赁服务系统进行分析,得到如图2-1所示的顶层DFD,使用题干中给出的词语,给出图2-1中外部实体E1~E2、加工P1~P6以及数据存储D1~D4的名称。[问题2](5分)若采用信息工程(InformationEngineering)方法对房屋租赁服务系统进行分析,得到如图2-2所示的ERD.请给出图2-2中实体(1)~(5)的名称。[问题3](8分)(1)信息工程方法中的'实体(entity)”与面向对象方法中的“类(class)”之间有哪些不同之处?(2)在面向对象方法中通常采用用例(UseCase)来捕获系统的功能需求。用例可以按照不同的层次来进行划分,其中的EssentialUseCases和RealUseCases有哪些区别?
[问题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可翻译为基础用例。他们是区别在于: 基础用例是实实在在与用户需求有对应关系的用例,是从用户需求获取的渠道得到的,而抽象用例是从基础用例中抽取的用例的公共部分,是为了避免重复工作,优化结构而提出的用例。