上篇案例回顾:
1、架构风格 解释器和面向对象的区别?
灵活性:解释器更灵活,因为解释器架构风格是独立的一套规则,通过解释器解析,可以做到多个对象都面对这一个解释器。
可修改性:解释器修改性更好,不需要根据对象来修改,修改独立的规则就好。
性能:面向对象性能优于解释器,因为面向对象是基于对象,在一起的。
2、数据流图在分层细化过程中遵循的数据平衡原则?
父图和子图的输出/输出流必需保持一一对应的。父类的一条输入/输出流对应子类多条数据流,子图的多条输入/输出流刚好对应父图这一条。
子图内部的输入/输出流也必须保持一一对应的。
3、数据流图和数据字典在软件需求分析和软件设计的作用?
数据流图在需求分析阶段,建立系统功能模型,从而完成需求分析。
在软件开发阶段,为模块划分和接口设计提供依据。
数据字典 保证数据在需求分析阶段和开发阶段完整性和一致性。
具体作用是要求数据列表、相互参照,保证一致性和完整性。
4、缓存redis和数据库一致性解决方案?200字以内的的文字
主动触发:通过代码读取数据库binlog日志,来更新redis的数据,保证一致性。
被动触发:当读取数据的时候,如果redis缓存没有,则读取数据库的数据,并且放入到redis缓存,当修改的时候,也需要放入缓存。(可以利用延迟双删保证一致性)
5、哈希算法和一致性哈希算法区别?
哈希算法是通过计算哈希值,当相同的哈希值则放到同一个实例上,类似于取模操作。
一致性哈希算法则是有一个哈希环,当计算到哈希值后,顺时针去哈希环上查找,找到对应的节点,性能更高。
6、布隆过滤器工作原理及其优缺点?
布隆过滤器通过一个很长的二进制向量来过滤,当布隆过滤器返回不存在的时候,则直接表示key没有,不需要查询数据库。
优点:
1、占内存小。
2、查询效率高。
3、不需要存储元素本身,保密好。
缺点:
1、可能存在小概率误判,不能准备判断是否在集合。
2、不能获取元素本身。
3、不能删除数据。
7、300字描述,从数据通信、数据安全和系统性能方面分析传统云计算引入边缘计算模型的优势。
数据安全:以加密的方式存储在边缘设备上,比在网络上传递更安全,且黑客不会攻击单个节点导致全部不可用。
系统性能方面:性能更高,以人脸识别为例,只需要在本地处理,不需要上传到网络比较。
数据通信:通信更快捷,数据量少,因为通信只需要在边缘设备上完成,通信更多的是指令。
7、MQTT协议在互联网行业广泛应用,请300字以内简要介绍MQTT协议?
MQTT消息队列遥测传输,是一个基于发布/订阅的消息协议,基于TCP/IP之上,当信号不好网络及其网络情况糟糕的情况下设计的发布/订阅协议。MQTT消息队列具有有轻量、简单、开发和易于实现。
9、实时方案和准实时方案?
实时方案,有数据变化立马更新。
准实时方案,数据变化发送消息到队列,异步在队列慢慢消费。
一、包裹管理系统
某企业委托软件公司开发一套包裹信息管理系统,以便于对该企业通过快递收发的包裹信息进行统一管理。在系统设计阶段,需要对不同快递公司的包裹单信息进行建模,其中,邮政包裹单如图2-1所示。
(14分) 请说明关系型数据库开发中,逻辑数据模型设计过程包含哪些任务?该包裹单的逻辑数据模型中应该包含哪些实体?并给出每个实体的主键属性。
答案:
逻辑数据模型设计过程包含:
1、构建基于主键数据模型,为每个实体添加主键属性。
2、构建全属性数据模型,为每个实体添加非主键属性。
3、利用规范化设计建立系统规范化数据库模型。
4、构件系统上下文数据模型,包含实体之间的联系。
包裹实体(主键:包裹编号)
收件人实体(主键:电话)
寄件人实体(主键:电话)
(6分) 请说明什么是超类实体?结合图中包裹单信息,试设计一种超类实体,给出完整的属性列表。
答案:
超类实体指将多个实体的相同属性结合起来构建成新的实体。
用户(电话、姓名、单位名称、详细地址)
(5分) 请说明什么是派生属性,并结合图2-1的包裹单信息说明哪个属性是派生属性。
答案:
派生属性指某个实体非主键属性,由其他非主键属性决定的。
派生属性是“总计”,这个需要计算才可以获取到。