20241106软考架构-------软考案例13答案

每日打卡题案例13答案

【2015年真题】 难度:一般

阅读以下关于Web系统架构的设计的叙述,回答下列问题。(25分)

【说明】

某信息技术公司计划开发一套在线投票系统,用于为市场调研、信息调查和销售反馈等业务提供服务。该系统计划通过大量宣传和奖品鼓励的方式快速积累用户,当用户规模扩大到一定程度时,开始联系相关企业提供信息服务,并按照信息服务种类和用户投票数量收取费用。

为了降低开发成本和提高开发效率,项目组经过讨论后决定采用轻量级JavaEE开发框架设计系统应用架构。在应用架构设计中,除了满足系统主要功能需求,还需要考虑的因素包括:

1.项目开发采用MySQL,数据库存储数据,但将来可能移植到其他数据库平台;

2.系统开发过程中尽可能降低或者消除SQL语句开发的工作量;

3.投票系统中数据之间的关系复杂,需要支持数据对象的聚合和继承等关系。

项目组基于MVC模式设计出了投票系统的架构,包括表示层、业务逻辑层、数据持久层和数据层。在具体讨论数据持久层采用哪种技术方案时,老王建议采用成熟的Hibernate框架,小李则认为iBatis更加灵活,更适合作为投票系统数据持久层开发技术。

【问题1】

请用300以内文字说明什么是数据持久层,使用数据持久层能够为项目开发带来哪些好处?

【问题2】

针对在线投票系统的实际应用需求和要求,项目组应选用哪种技术实现数据持久层?请用200字以内文字说明其采用该技术的原因

【问题3】

数据持久层是Web应用系统框架中重要的组成部分,主流的数据持久层技术分别基于不同的技术方案,请在下表中(1)~(4)处分别根据(a)~(d)所列技术的方案类别填入其序号。

(a)BMP,CMP

(b)iBatis/MyBatis

©SpringJdbcTemplate

(d)TopLink,JDO,Hibernate

【参考答案】

【问题1】

数据持久层是根据分层思想,通过建立逻辑数据操作接口,采取一定的对象/关系映射策略,隐藏数据库访问代码细节,向业务开发人员提供透明的对象持久化操作机制。

能够为项目开发带来的好处:

(1)分离业务逻辑层和数据层,降低两者之间的耦合;

(2)通过对象/关系映射向业务逻辑提供面向对象的数据访问;

(3)简化数据层访问,隐藏数据库链接、数据读写命令和事务管理细节。

【问题2】

答案:

项目组应该采用Hibernate框架。

原因:

(1)Hibernate支持多种不同类型数据库,满足项目组数据库移植需求;

(2)Hibernate相对于iBatis减少了SQL语句开发的工作量;

(3)iBatis生成的PO是扁平化的,无法像Hibernate一样支持对象的继承和聚合等立体化关系。

【问题3】

答案:

(1)©(2)(b)(3)(d)(4)(a)

相关推荐
Shulex6 小时前
跨境电商 AI Agent 核心架构解析:从只读问答到自主执行的工程落地
人工智能·架构·智能客服·跨境电商
钱工的门窗技术笔记6 小时前
室内极窄全景移门的支承路径与预留接口:轨道形式、型材壁厚口径与验收边界
物联网·架构·数据分析
码农小旋风6 小时前
Ray分布式计算引擎介绍
人工智能·架构
ZhengEnCi7 小时前
Agent 架构怎么选:从单 Agent 到多 Agent 编排的选型决策指南
算法·架构
星融元asterfusion7 小时前
工业网络升级实战:100G 双轨 Leaf-Spine 架构破解高并发出货网络瓶颈
网络·架构·spine
天远数科8 小时前
零信任架构实战:基于天远企业法人四要素高级版构建自动化供应商资质穿透核验网关
人工智能·架构·自动化
深蓝AI9 小时前
苹果智能入华拆解:八样首批功能、支持的机型、千问在三个入口的位置
人工智能·架构
海宇大数据10 小时前
零信任架构实战:基于海宇全能小微企业报告构建自动化持牌网络小贷小微商户极速助业贷秒级全维风险决策网关
网络·人工智能·架构·自动化
Nablai14 小时前
LX系列多国语言能力技术解析:ESP32双栈架构下的语种策略设计
人工智能·架构
阿俊-全栈开发16 小时前
LikeShop 多商户 Java 版商城微服务模块拆分与部署架构演进实践
java·微服务·架构·likeshop开源商城·多商户源码