Autumn
一、数据字典和数据流图在分析阶段和设计阶段作用?
数据流图在分析阶段 建立需求分析模型,完成需求分析。
设计阶段主要的依据就是用数据流图来设计,是设计的基础。
数据字典在分析阶段和设计阶段都保证数据的完整性和一致性,当新建数据的时候,需要各个列值,相互参照,确定约束、完整性和一致性。
二、采用面向对象方法开发软件,通常需要建立对象模型、动态模型和功能模型,请分别介绍这3种模型,并详细说明它们之间的关联关系,针对上述模型,说明哪些模型可用于软件的需求分析?
对象模型是以对象图为基础建立,是重要的基础模型。
动态模型是以状态图为基础建立,表示触发后的动作。
功能模型是以DFD图为基础建立,是整个系统数据流程的体现。
对象模型主要动态模型和功能模型的基础,对象的行为代表动态模型的动作和功能模型的。
动态模型主要表示当事件触发后,对象的行为。
功能模型则是建立对象模型和动态模型之上,还表示对象值约束。
三、【问题3】(5分)
该系统需实现用户终端与服务端的双向可靠通信,请用300字以内的文字从数据传输可靠性的角度对比分析TCP和UDP通信协议的不同,并说明该系统应采用哪种通信协议。
TCP是一种面向连接、基于字节流的可靠传输协议,可以防止数据包丢失,利用三次握手动作,当发现失败则会重试。
UCP是一种面向无连接,不可靠传输协议,不能防止数据包丢失。
四、【问题1】(8分)必看
请用400字以内的文字简要描述基于家庭网关的传统智能家居管理系统和基于云平台的智能家居管理系统在网关管理、数据处理和系统性能等方面的特点,以说明项目组选择李工设计思路的原因。
网管管理方面,基于云平台可以在远程网关管理,不需要受地点限制,更好。
数据处理方面,基于云平台因为数据全部集中存储在云上,方便数据分析和查询,数据处理更方便,容灾性和安全性更好。
系统性能方面,基于云平台性能更好,减少不必要的开销,更强处理能力,所以更好。
五、该物流车辆管理系统需抵御常见的SQL注入攻击,请用200字以内的文字说明什么是SQL注入攻击,并列举出两种抵御SQL注入攻击的方式。
答案:
Sql注入指展示层页面输入框通过字符串输入sql,直接把参数加入sql查询,导致恶意查寻或者修改数据库。
1、正则表达式
2、用指定参数的方式查sql。
3、数据库加密。
4、存储过程来执行所有查询。
5、用专业的漏洞扫描工具。
六、【问题:5.1】(7分)请说明什么是面向服务架构(SOA)以及ESB在SOA中的作用与特点。
答案:
面向服务SOA架构强调集中式管理,各个服务相互独立,但是能够相互连接,数据共享。他的特点如下:
1、服务之间可以数据格式转换。
2、服务、元数据注册发现。
3、ESB可以关联各个服务器,起到服务总线作用。
4、提供路由、服务、发现和负载均衡等功能。
2015
七【问题:5.1】请用300以内文字说明什么是数据持久层,使用数据持久层能够为项目开发带来哪些好处?
答案:
数据持久层是分层架构里面与数据交互的层面,负责解耦业务与数据库的关系,可以隐式sql语句,透明的提供程序员调用,数据库事务管理,映射对象/数据的策略。
1、解耦
2、隐式sql语句和数据库事务管理,更方便使用,。
【问题:2.1】状态图和活动图是软件系统设计建模中常用的两种手段,请用200字以内文字简要说明状态图和活动图的含义及其区别。
答案:
状态图表示一个对象生存周期里的行为,通常事件触发某个动作。
活动图表示一个系统整个流程,通常一个流程结束其他流程会开始。
状态图侧重结果,活动图侧重动作,状态图不可以表示并行,流程图可以表示并行。
2017
【问题:5.1】(5分)请用200字以内的文字描述什么是"响应式 Web 设计",并列举2个响应式Web设计的实现方式。
答案:
根据用户不同的行为和不同的环境可以动态适配,提升用户体验,比如pc和移动端都可以正常访问某个页面,正常适配。
1、流式布局
2、弹性布局加媒体查询
【问题:5.3】(4 分)根据李工的提议,新的B2C商品交易平台引入了主从复制机制。请针对B2C商品交易平台的特点,简要叙述引入该机制的好处。
1、减少查询压力,读写分离,性能更高。
2、数据更安全,主动冗余
3、可用性更高,主机宕机 会重新选举新的主机。
4、可扩展性,方便新增新的服务器。
MVC架构中包含哪三种元素,它们的作用分别是什么?
视图层view:展示给用户查看数据,和接受用户参数
控制层controller:连接视图层和模型层,处理数据,传递数据给模型层,查询数据给视图层。
模型层model:主要处理业务逻辑和业务数据。
2016
【问题:4.1,7分】该网站技术上采用了Web服务器、动态脚本语言PHP。王工认为原有网站在技术上存在先天不足,不能满足企业业务的快速发展,建议采用应用服务器的Web开发方法,例如J2EE,为该企业重新开发新的电子商务平台根据你的理解,请用300字以内的文字说明原系统存在哪几个方面的不足。
答案:
1、业务逻辑和业务数据全部混合在一起开发,混乱。
2、因为全部混在一起,并发开发能力差,遇到业务需求多的时候,无法应对。
3、没有合适的工具来排查和使用。