目录

1.房屋中介信息系统的数据流图

2.员工管理系统的数据库设计

3.社交网络平台的类图

4.最佳配对方案

5.会员积分系统(Java)


1.房屋中介信息系统的数据流图

阅读下列说明和图,回答问题1至问题4,将解答填入答题纸的对应栏内。

【说明】

某房产中介连锁企业欲开发一个基于Web的房屋中介信息系统,以有效管理房源和客户,提高成交率。该系统的主要功能是:

1.房源采集与管理。系统自动采集外部网站的潜在房源信息,保存为潜在房源。由经纪人联系确认的潜在房源变为房源,并添加出售/出租房源的客户。由经纪人或客户登记的出售/出租房源,系统将其保存为房源。房源信息包括基本情况、配套设施、交易类型、委托方式、业主等经纪人可以对房源进行更新等管理操作。

2.客户管理。求租/求购客户进行注册、更新,推送客户需求给经纪人,或由经纪人对求租/求购客户进行登记、更新。客户信息包括身份证号、姓名、手机号、需求情况、委托方式等

3.房源推荐。根据客户的需求情况(求购/求租需求情况以及出售/出租房源信息),向已登录的客户推荐房源

4.交易管理。经纪人对租售客户双方进行交易信息管理,包括订单提交和取消,设置收取中介费比例。财务人员收取中介费之后,表示该订单已完成,系统更新订单状态和房源状态向客户和经纪人发送交易反馈

5.信息查询。客户根据自身查询需求查询房屋供需信息。

现采用结构化方法对房屋中介信息系统进行分析与设计,获得如图1-1 所示的上下文数据流图和图1-2所示的0层数据流图。

问题:1.1   (4分)

使用说明中的词语,给出图1-1中的实体E1-E4的名称。

E1:客户;E2:经纪人;E3:财务人员;E4:外部网站

问题:1.2   (4分)

使用说明中的词语,给出图1-2中的数据存储D1-D4的名称。

D1:客户记录;D2:潜在房源记录;D3:房源记录;D4:订单记录

问题:1.3   (3 分)

根据说明和图中术语,补充图1-2中缺失的数据流及其起点和终点。

缺失数据流如下:

1、交易反馈:起点-P4交易管理,终点-E2

2、客户需求:起点-D1,终点-P3房源推荐

3、房源状态:起点-P4交易管理,终点-D3

4、检索潜在房源:起点-D2,终点-P1房源采集与管理

问题:1.4   (4 分)

根据说明中术语,给出图1-1中数据流"客户信息"、"房源信息"的组成。

客户信息=身份证号+姓名+手机号+需求情况+委托方式。

房源信息=基本情况+配套设施+交易类型+委托方式+业主等。

2.员工管理系统的数据库设计

阅读下列说明和图,回答问题1至问题4,将解答填入答题纸的对应栏内。

【说明】

某集团公司拥有多个分公司,为了方便集团公司对分公司各项业务活动进行有效管理,集团公司决定构建一个信息系统以满足公司的业务管理需求。

【需求分析】

1.分公司关系需要记录的信息包括分公司编号、名称、经理、联系地址和电话。分公司编号唯一标识分公司信息中的每一个元组。每个分公司只有一名经理,负责该分公司的管理工作。每个分公司设立仅为本分公司服务的多个业务部门,如研发部、财务部、采购部、销售部等。

2.部门关系需要记录的信息包括部门号、部门名称、主管号、电话和分公司编号。部门号唯一标识部门信息中的每一个元组。每个部门只有一名主管,负责部门的管理工作。每个部门有多名员工,每名员工只能隶属于一个部门。

3.员工关系需要记录的信息包括员工号、姓名、隶属部门、岗位、电话和基本工资。其中,员工号唯一标识员工信息中的每一个元组。岗位包括:经理、主管、研发员、业务员等。

【概念模型设计】

根据需求阶段收集的信息,设计的实体联系图和关系模式(不完整)如图2-1 所示:

【关系模式设计】

分公司(分公司编号,名称,(a),联系地址,电话)

部门(部门号,部门名称,(b),电话)

员工(员工号,姓名(c),电话,基本工资)

问题:2.1   (4分)

根据问题描述,补充4个联系,完善图2-1的实体联系图。联系名可用联系1、联系2、

联系3和联系4代替,联系的类型为1:1、1:n 和 m:n (或 1:1、1:*和*:*)。

联系1:分公司:经理,1:1

联系2:分公司:部门,1:*

联系3:部门:主管,1:1

联系4:部门:员工,1:*

问题:2.2   (5分)

根据题意,将关系模式中的空 (a)-(c) 补充完整。

(a)经理工号

(b)分公司编号,主管号

(c)隶属部门,岗位

问题:2.3   (4 分)

给出"部门"和"员工"关系模式的主键和外键。

部门

主键:部门号;外键:分公司编号,主管号

员工

主键:员工号;外键:隶属部门

问题:2.4   (2 分)

假设集团公司要求系统能记录部门历任主管的任职时间和任职年限,那么是否需要在数据库设计时增设一个实体?为什么?

不需要增加新的实体,对于任职情况,可以将任职时间和任职年限放入联系的属性即可,将部门与主管的联系单独形成关系模式,任职(部门号,主管号,任职时间,任职年限)。

3.社交网络平台的类图

阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。

【说明】

社交网络平台 (SNS) 的主要功能之一是建立在线群组,群组中的成员之间可以互相分享或挖掘兴趣和活动。每个群组包含标题、管理员以及成员列表等信息。

社交网络平台的用户可以自行选择加入某个群组。每个群组拥有一个主页,群组内的所有成员都可以查看主页上的内容。如果在群组的主页上发布或更新了信息,群组中的成员会自动接收到发布或更新后的信息。

用户可以加入一个群组也可以退出这个群组。用户退出群组后,不会再接收到该群组发布或更新的任何信息。

现采用面向对象方法对上述需求进行分析与设计,得到如表3-1所示的类列表和如图3-1所示的类图。

问题:3.1   (6分)

根据说明中的描述,给出图3-1 中Cl-C3所对应的类名。

C1:SNSGroup;C2:SNSUser;C3:SNSAdmin。(其中C2、C3可以互换)

问题:3.2   (6分)

图3-1中采用了哪一种设计模式?说明该模式的意图及其适用场合。

采用的设计模式:观察者模式

意图:定义对象间的 一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动更新。

适用场合:

(1)当一个抽象模型有两个方面,其中一个方面依赖于另一个方面,将这两者封装在独立的对象中以使它们可以各自独立地改变和复用。

(2)当对一个对象的改变需要同时改变其他对象,而不知道具体有多少对象有待改变时。

(3)当一个对象必须通知其他对象,而它又不能假定其他对象是谁,即不希望这些对象是紧耦合的。

问题:3.3   (3分)

现在对上述社交网络平台提出了新的需求:一个群体可以作为另外一个群体中的成员,例如群体A 加入群体B 。那么,群体A 中的所有成员就自动成为群体B中的成员。

若要实现这个新需求,需要对图3-1进行哪些修改? (以文字方式描述)

(1)在SNSSubject和SNSObserver之间增加继承关系,SNSObserver为基类,SNSSubject为派生类。

(2)为类SNSGroup增加自关联(自己到自己的关联关系)。

4.最佳配对方案

阅读下列说明和C代码,回答问题1至问题3,将解答填入答题纸的对应栏内。

问题:4.1   (8分)

根据题干说明,填充C代码中的空(1)-(4)。

(1)max=C[i][j-1]

(2)t=i

(3)isMatch(B[t],B[j]),或isMatch(B[t],B[j])==1,或与其等价的形式

(4)C[1][n]

问题:4.2   (4分)

根据题干说明和C代码,算法采用的设计策略为(5)。

算法的时间复杂度为(6),(用O表示)。

(5)采用的算法策略:动态规划法

(6)时间复杂度:O(n3)

问题:4.3   (3 分〉

给定字符序列ACCGGUAGU ,根据上述算法求得最大字符对数为(7)。

(7)最大字符对数:2

5.会员积分系统(Java)

阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。

问题:6.1   【说明】

某航空公司的会员积分系统将其会员划分为:普卡 (Basic) 、银卡(Silver)和金卡 (Gold)三个等级。非会员 (NonMember)可以申请成为普卡会员。会员的等级根据其一年内累积的里程数进行调整。描述会员等级调整的状态图如图6-1 所示 。现采用状态 (State) 模式实现上述场景,得到如图6-2 所示的类图。

(1)abstract double travel(int miles,FrequentFlyer context)

(2)context.setState(new CSilver())

(3)context.setState(new CGold ())

(4)context.setState(new CSilver())

(5)context.setState(new CBasic())

2018年下半年软件设计师下午真题试题(案例分析)及答案相关推荐

  1. 2020年下半年软件设计师下午真题试题(案例分析)及答案

    2020年下半年软件设计师上午真题及答案解析 目录 1.工厂智能缺陷检测系统的数据流图 2.M集团业务管理需求的数据库设计 3.房产信息管理系统的用例图 4.希尔排序算法 5.在线支付(Java) 1 ...

  2. 2021年下半年软件设计师下午真题答案及解析(三)

    阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内. [说明] 某游戏公司欲开发一款吃金币游戏.游戏的背景为一种回廊式迷宫(Maze),在迷宫的不同位置上设置有墙.迷宫中有两种类型的机器 ...

  3. 2021年下半年软件设计师下午真题答案及解析(二)

    回答问题1至问题4,将解答填入答题纸的对应栏内 [说明] 某汽车维修公司为了便于管理车辆的维修情况,拟开发一套汽车维修管理系统,请根据下述需求描述完成该系统的数据库设计. [需求描述] (1)客户信息 ...

  4. 2022年下半年网络规划设计师下午真题及答案解析

    试题一(25分) 某高校两个校区相距30公里,通过互联网相连.两校区网络相互独立,并采用两套认证系统,管理维护较繁琐. 现需要对校园网进行升级改造,将老校区网络作为一个子网通过线路A接入到新校区,与新 ...

  5. 2022年下半年软件设计师上午真题及答案解析

    1.以下关于RISC(精简指令集计算机)特点的叙述中,错误的是(  ). A.对存储器操作进行限制,使控制简单化 B.指令种类多,指令功能强 C.设置大量通用寄存器 D.选取使用频率较高的一些指令,提 ...

  6. 2019上半年软件设计师 下午真题-简答题及免费答案(一)

    2019上半年软件设计师 下午真题-简答题及免费答案(一) 试题一(15分) 阅读下列说明和图,回答问题1至4,将解答填入答题纸的对应栏内. [说明] 某学校欲开发一学生跟踪系统,以便更自动化.更全面 ...

  7. 2021年上半年软件设计师下午真题试题(案例分析)及答案

    2021年上半年软件设计师上午真题及答案解析 目录 1.停车系统的数据流图 2.社区蔬菜团购网站的数据库设计 3.线上抓药APP的用例图.类图 4.凸多边形 5.层叠菜单(Java) 1.停车系统的数 ...

  8. 2021年下半年软件设计师上午真题答案及解析(六)

    51.已知一个文件中出现的各字符及其对应的频率如下表所示.采用Huffman编码,则该文件中字符a和c的码长分别为(1).若采用Huffman编码,则字序列 "110001001101&qu ...

  9. 2021年下半年网络规划设计师下午真题及答案解析

    试题一 阅读以下说明,回答问题1至问答4,将解答填入答题纸对应得解答栏内. (说明) 某园区组网图如图1-1所示,该网络中接入交换机利用QinQ技术实现二层隔离,根据不同位置用户信息打外层VLAN标记 ...

最新文章

  1. 图神经网络(Graph Neural Networks,GNN)综述
  2. XDR3020 WiFi6 11ax使用体验 11ax性能数据
  3. SSH免密码登录命令无法生效?直接复制粘贴也可以!
  4. WSDM Cup 2020 引用意图识别赛道冠军解决方案(附答辩视频、PPT和代码)
  5. CMM中18个KPA
  6. linux c 获取网关ip,linux sh 如何根据出口网关来获取本机出口ip
  7. python 正则匹配手机号
  8. HiveQL学习笔记(四):Hive窗口函数
  9. 【c语言复习笔记】初始c源程序及其数据类型
  10. 【Python之旅】第四篇(一):Python装饰器
  11. 多线程之CyclicBarrier工具类和Exchanger工具类
  12. c语言大地坐标转空间直角坐标,大地坐标转换直角坐标的C++代码(高斯克吕格投影)...
  13. 解决无法删除文件:无法读取源文件或磁盘
  14. 数据库中的SCHEMA到底是什么?MySQL
  15. java做一个客房管理系统定制_基于Java的酒店客房网上管理系统设计与实现
  16. 海兰一体计算机配置,新一代办公神器!海兰一体机G40 plus为何受职场人士追捧?...
  17. BP神经网络的Matlab实现——人工智能算法
  18. Ubuntu 16.04 安装好之后需要做的15件事
  19. 作为通信人,我们究竟该如何看待AI?
  20. 透析《长安十二时辰》里的望楼,人类在唐朝就有5G愿望了?

热门文章

  1. 使用 Vue.js 制作一个简单的调查问卷平台
  2. win7系统如何安装python
  3. Matlab多无人艇协同避碰情况下的仿真探索
  4. Linux与Windows下Vim配置方案推荐
  5. C/C++校招笔试面试经典题目总结八
  6. 绝缘监测系统设备解决方案在工厂的研究应用-船舶电力系统
  7. AIM-T系列工业IT绝缘监测及故障定位
  8. 09中国IC老杳榜5:2010年八大IPO
  9. 汉字点阵字库的原理与显示
  10. 论文修改注意事项(中文)