2018年系统架构师案例分析试题二

目录

案例

【题目】

【问题 1】(12 分)

【问题 2】(5 分)

【问题 3】(8 分)

 【答案】

【问题 1】答案

【问题 2】答案

【问题 3】答案

相关推荐


案例

        阅读以下关于软件系统建模的叙述,在答题纸上回答问题 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)人物角色:如房主、租赁者、客户、管理员、主管、经理、老师、学生;
        (2)组织机构:如银行、供应商、募捐机构;
        (3)外部系统:如银行系统、工资系统、后台数据库(当要开发的是中间件时)。

        数据存储
        存储的文字方面特征: 文件、表、库、清单、档案

        数据流:
        ①、数据平衡原则
        (1)顶层图与0层图对比,顶层图有0层图无的数据流,或顶层图无0层图有的数据流。
        (2)检查图中每个加工,是否存在只有入没有出,或只有出没有入,或根据输入的数据无法产生对应的输出的情况。
        ②、按题目说明与图进行匹配
        说明中的每一句话,都能与图中有对应关系,当把说明中的实体与数据流标识出来之后,容易缩小对应范围,找出纰漏。

        加工名
        加工是用于处理数据流的,所以要补充加工名,可以把该加工涉及到的数据流,在说明中标识出来,再在数据流名称所在的句子中,找“动词+名词”的结构,分析是否可作为加工。
        “动词+名词”如:生成报告、发出通知、批改作业、记录分数,当然这只是普遍情况,也有例外,如物流跟踪、用户管理。

【问题 1】答案

E1:房主 E2:租赁者
P1:登记房主信息P2:登记房屋信息
P3:登记租赁者信息P4:查询待租赁房屋信息
P5:安排看房P6:变更房屋状态
D1:房主信息文件D2:租赁者信息文件
D3:写入房屋信息D4:看房记录文件

        博主这题答的还可以,仅《P4:查询待租赁房屋信息》,少了查询二字,这题整体来说没难度,总结提取关键字即可。答案用表格显得整齐一点,

【问题 2】答案

        本问题考查信息工程方法中的模型 ER 图。ER 图中包含两个主要元素:实体和联系。实体是现实世界中可以区别于其他对象的“事件”或“物体”。本题要求补充图 2-2中的实体。
        根据题目描述和实体之间的联系可知,(1)和(2)分别对应房主和房屋,两者之间的联系为“房主拥有房屋”。同理可以推断出,(3)~(5)分别是实体“房屋类型”“租赁者”和“看房安排”。

        参考答案1:1、房主;2、房屋;3、房屋类型;4、租赁者;5、安排看房。

        参考答案2:1、房主;2、房屋;3、房屋信息文件;4、租赁者;5、看房记录文件。

        博主答案:1、房主;2、房屋;3、房主(这个错喽);4、租赁者;5、安排看房。

【问题 3】答案

        (1):实体用于数据建模,而类用于面向对象建模。实体只有属性,而类有属性和操作。
        (2):Essential Use Cases(抽象用例),Real Use Cases(基础用例),这两者的区别为:基础用例是实实在在与用户需求有对应关系的用例,是从用户需求获取的渠道得到的,而抽象用例是从基础用例中抽取的用例的公共部分,是为了避免重复工作,优化结构而提出的用例。

        这道题考察的是理论知识,前提是你要认识 Essential Use Cases,Real Use Cases。

相关推荐

【系统架构设计师】九、软件工程(需求工程|系统分析与设计|DFD|DD|高内聚低耦合)CSDN博客文章浏览阅读1.2k次,点赞27次,收藏24次。系统设计方法:结构化设计方法,面向对象设计方法。系统设计的主要内容:概要设计、详细设计。概要设计基本任务:又称为系统总体结构设计,是将系统的功能需求分配给软件模块,确定每个模块的功能和调用关系,形成软件的模块结构图,即系统结构图。详细设计的基本任务:模块内详细算法设计、模块内数据结构设计、数据库的物理设计、其他设计(代码、输入/输出格式、用户界面)、编写详细设计说明书、评审。_软件需求获取、分析、验证https://shuaici.blog.csdn.net/article/details/1402592072016年系统架构师案例分析试题二-CSDN博客文章浏览阅读1.1k次,点赞31次,收藏20次。2016年系统架构师案例分析试题二。用例之间的关系包括:包含、扩展、泛化。类与类之间的关系,主要包括关联(Association)、聚合(Aggregation)、组合(Composition)、泛化(Generalization)和依赖(Dependence)。​https://shuaici.blog.csdn.net/article/details/141391466

        

评论 86
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

帅次

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值