【系统分析师之路】第七章 复盘系统设计(Web系统设计)

【系统分析师之路】第七章 复盘系统设计(Web系统设计)

第一部分 综合知识历年真题

2019上综合知识历年真题(2分)

【2019年系分真题第22题:黄色】
22、随着对象持久化技术的发展,产生了众多持久化框架,其中,( )基于EJB技术。( )是ORM的解决方案。
A、iBatis
B、CMP
C、JDO
D、SQL

A、SQL
B、CMP
C、JDO
D、iBatis

解答:答案选择B|D。第二空是蒙对。二周目依然蒙对一题。考察面向对象Java开发框架。
JAVA 体系下,目前主流的持久化技术框架包括 CMP、Hibernate、iBatis 和JDO 等。
1.ORM:对象关系映射(Object Relational Mapping,简称ORM)
目的是像操作对象一样操作数据库。因为数据库不是面向对象的,所以需要编程进行映射。
常见的ORM框架有hibernate,半自动ORM框架有mybatis,还有新的简单易用的bee框架。
jpa只是想让所有的ORM框架都统一使用的标准接口; hibernate有实现jpa,但mybaits没有。
用hibernate和mybatis,每次操作一个表,都需要编写一次文件,感觉做些重复工,好枯燥无味。
2.Bee框架
一个十分钟即可学会的ORM框架。它不用每写一个就要编写一次代码,省时省力,开发效率极高,编码复杂度为O(1)
Bee框架:一个开发成本和开发速度都不比php差的java ORM框架。
对象持久化常用框架:
3.CMP
在 J2EE 架构中,CMP(Container-ManagedPersistence,容器管理持久化)是由 EJB 容器来管理
实体 EJB 的持久化,EJB 容器封装了对象/关系的映射和数据访问细节。CMP 和 ORM 的相似 之处在于,两者都提供对象/关系映射服务,都将对象持久化的任务从业务逻辑中分离出来。 区别在于 CMP 负责持久化实体 EJB 组件,而 ORM 负责持久化 POJO(PlainOrdinaryJavaObject, 简单的 Java 对象),它是普通的基于 JavaBean 形式的实体域对象。
CMP 模式的优点在于它基于 EJB 技术,是 SUNJ2EE 体系的核心部分,获得了业界的普遍支持,包 括各大厂商和开源组织等,如果选择它来进行企业级开发,技术支持会非常完备,同时其功 能日趋完善,包括了完善的事务支持,EJBQL 查询语言和透明的分布式访问等。CMP 的缺点 在于开发的实体必须遵守复杂的 J2EE 规范,而 ORM 没有类似要求,其灵活性受到影响;而 且,CMP 只能运行在 EJB 容器中,而普通 POJO 可以运行在任何一种 Java 环境中;尽管遵循 J2EE 的规范,但 EJB 的移植性比 ORM 要差。
4.Hibernate
Hibernate 和 iBatis 都是 ORM 解决方案,不同的是两者各有侧重。
5.iBatis
iBatis 提供 Java 对象到 SQL(面向参数和结果集)的映射实现,实际的数据库操作需要通过手动编写 SQL 实现,与 Hibernate 相比,iBatis 最大的特点就是小巧,上手较快。如果不需要太多复杂的功能,iBatis 是既可满足要求又足够灵活的最简单的解决方案。
6.JDO
JDO(JavaDataObject,Java 数据对象)是 SUN 公司制定的描述对象持久化语义的标准 API,它是 Java 对象持久化的新规范。JDO 提供了透明的对象存储,对开发人员来说,存储数据对象完全不需要额外的代码(例如,JDBCAPI 的使用)。这些繁琐的例行工作已经转移到JDO产品提供商身上,使开发人员解脱出来,从而集中时间和精力在业务逻辑上。
另外,JDO 很灵活,因为它可以在任何数据底层上运行。JDBC只能应用于关系型数据库,而JDO更通用,提供到任何数据底层的存储功能,包括关系型数据库、普通文件、XML文件和对象数据库等,使得应用的可移植性更强。

第二部分 案例分析历年真题

2008上案例分析历年真题(75分)

试题五
阅读以下关于Web 应用方面的叙述,在答题纸上回答问题 1 至问题3。
Web 2.0是目前Internet上Web应用的新模式,其概念由Tim O’Reilly于2003年首先提出。目前 Internet 上已经有很多基于 Web 2.0 的 Web 应用系统,例如 Facebook、Wikipedia、 Blogger、 del.icio.us、YouTube和Flickr等,其应用涵盖各个方面。
【问题1】(5 分)
请用200字以内的文字叙述基于Web 2.0 的 Web应用与传统 Web应用的重要不同点,并给出简要解释(列举五个方面的不同点即可)。
【问题2】(12 分)
基于Web 2.0 的 Web 应用十分强调用户的体验与感受,Ajax 是目前广泛使用的表现层技术。请用200字以内的文字简要介绍Ajax的概念和核心思想,并说明在使用Ajax时,从效率方面考虑需要注意的问题(列举三个即可)
【问题3】(8 分)
某房地产信息网站欲整合Google提供的地图信息(Google Maps)和Craigslist(美国最大的分类广告网站)提供的房地产信息,为用户提供新的房地产信息增值服务。负责网站建设的工程师提出了两种解决方案,第一种方案拟采用传统的应用系统集成方法,集成来自不同源的数据。另外一种采用基于Web 2.0的Mashup技术,从不同的数据源抽取数据,聚合并转换数据,在不同的上下文使用,具体如表5-1所示。请阅读并完成表中空白部分(标号(1)~(8)处)。
在这里插入图片描述

【问题1标准答案】
传统Web应用通过浏览器浏览网页,而Web2.0的应用除了网页以外,加上很多通过Web分享的其他内容,更加互动;
传统的Web应用模式为读,而Web2.0的模式为写和贡献;
传统Web应用的主要内容单位为网页,而Web2.0的应用的主要内容单元为帖子,记录;
传统Web应用形态为静态,而Web2.0的应用形态为动态;
传统的Web应用的浏览方式是浏览器,而Web2.0应用的浏览方式是浏览器,RSS阅读器和其他工具;
传统的Web应用的内容创建者为网站编辑,而Web2.0应用的内容创建者是任何人
【问题2标准答案】
Ajax是异步JavaScript和XML的缩写。它用来描述一组技术。
它使浏览器可以为用户提供更为自然的浏览体验。借助于Ajax,可以在用户单击按钮时,使用JavaScript和DHTML立即更新用户界面,并向服务器发出异步请求,以执行更新或查询数据库。
当请求返回时,就可以使用JavaScript和CSS来相应的更新用户界面,而不是刷新整个页面。
更重要的是用户甚至不知道浏览器正在于服务器通信,Web站点看起来是即时响应的。
Ajax的核心是JavaScript对象XMLHttpRequest该对象在IE5中首次引入,它是一种支持异步请求的技术,XMLHttpRequest使你可以使用JavaScript向服务器提出请求,并处理响应,而不阻塞用户。
在使用Ajax时,从性能方面考虑,需要注意以下几个问题:
1)替换部分而不是全部HTML网页
2)不要在没有必要的情况下使用轮寻计时器;
3)根据不同的情况,考虑传递不同格式的数据(JavaScript,XML,HTML和XHTML)。
4)充分利用客户端的动态特征和计算能力减轻服务器端负载。
【问题3标准答案】
Mushup技术作为当前热门的Web2.0技术,利用从外部数据源监测到的内容来创建一个全新的创新服务。
它把Web服务和Ajax这样的技术进行融合,提供一种新的应用软件开发模式,这种简化开发难度的模式,在一定程度上会减少企业和客户的应用难度,加大双方交互性
Mashup在架构上是由三个不同部分组成的,它们在逻辑上在物理上都是相互脱离的(可能由网络和组织边界分隔),API内容提供者,Mashup站点和客户机Web浏览器。
在这里插入图片描述

2008下案例分析历年真题(25分)

试题五
阅读以下关于Web 应用的问题,在答题纸上回答问题1 至问题3。
traveler.com是一家在线旅游信息服务公司,其主要业务是为自助旅游者提供关于旅游线路及周边信息的服务。随着公司业务的不断发展,公司用户要求提供基于位置的增值旅游信息服务,即希望能够在给定位置(利用 GPS 全球定位系统获取)的情况下得到周边的地理位置、住宿、餐饮和交通等旅游相关信息。针对该需求,公司技术人员对现有系统的架构和运行模式进行了认真分析,决定采用 Mashup(一种基于互联网的内容聚合技术)集成来自其合作网站(设为A, B, C, D)的信息,满足用户的需求。具体实现方式是:
1) 利用A 网站提供的地图信息,得到用户位置相关的周边地理信息;
2) B 网站根据用户的位置信息向其提供周边的住宿信息;
3) C 网站根据用户的位置信息向其提供周边的餐饮信息;
4) D 网站根据用户的位置信息向其提供周边的公交线路等信息。
【问题1】(8 分)
图5-1是公司进行Mashup的流程示意图,请阅读并补充图中数字标出部分的内容。
在这里插入图片描述
(1)用户向Traveler网站请求服务,请求页面提供用户的位置信息;
(2)__________________________________________
(3)__________________________________________
(4)A 网站向Traveler网站返回用户所处位置周边的地图信息;
(5)_________________________________________ (6)B 网站向Traveler网站返回用户所处位置周边的住宿信息;
(7)__________________________________________
(8)Traveler网站向用户返回用户所处位置周边整合的旅游信息。
【问题2】(9分)
目前,互联网上已经存在很多 Mashup 应用,各大网站也纷纷提供了各种格式的Mashup数据接口。请用300字以内的文字给出3种目前经常使用的Mashup数据接口,并加以简单说明。
【问题3】(8分)
在实现 Mashup 应用时,进行内容聚合的物理位置是一个十分重要的因素。目前很多 Mashup 站点都选择在客户端机器上进行内容聚合,构成所谓的胖互联网应用程序(Rich Internet Application,RIA)。请你用200字以内的文字说明在客户端进行内容聚合的优点。

【问题1标准答案】
2)Traveler接受请求,将请求分解为对多个网站的数据请求调用,并为发起调用进行准备;
3)调用A网站提供的Web编程接口,给出(提供)用户位置信息,请求地图信息;
5)调用B网站提供的Web编程接口,给出(提供)用户的地理信息,请求用户周边的住宿信息。
7)根据用户的请求信息进行数据内容聚合。
【问题2标准答案】
目前常见的Mashup接口主要有三种形式。
1.聚合内容式的Mashup接口
一种用于对网站内容进行描述和同步的格式,是目前使用最为广泛的Web资源发布方式。可以被称为资源共享模式的延伸。
2.表述性状态转移式的Mashup接口
REST从资源的角度来看待整个网络,分布在各处的资源由统一资源标识符URI确定,而客户端的应用通过URI来获取资源的表示。
3.基于简单对象访问协议的Web服务式Mashup接口
一种基于XML的数据格式定义,用来进行Web服务调用过程中的参数调用和返回。
【问题3标准答案】
在客户端上聚合的优点主要有以下两点:

  1. 从Mashup服务器存储的角度来说,对服务器所产生的负载较轻,因为数据可以直接从内容提供者那里传送到客户端。
  2. 从网络传输的角度来说,在基于Ajax等技术和应用模型的基础上,客户端页面只请求需要更新的内容,而不用刷新整个页面,从而减少了网络数据的通信量
    Web2.0中内容聚合是指两种以上的信息混合在一起,从而实现大于两者简单和的附加价值。使用内容聚合还能够使用其他网站的信息和功能,短时间创建低成本的网站,Mashup从架构上由三个不同的部分所组成。它们在逻辑上和物理上都是相互脱离的,API内容提供者,Mashup站点和客户机的Web浏览器
2009上案例分析历年真题(25分)

2009年系统分析师下午案例分析第五题(Web应用)
E-Mall是一家电子商务公司,其主要业务是在线购物,包括书籍、服装、家电和日用品等。随着公司业务规模不断增大,公司决策层决定重新设计并实现其网上交易系统,公司负责系统开发的王工和李工分别给出了两种不同的设计方案,如下图1和图2
公司的架构师和开发者针对这两种设计方案,从服务器负载情况、业务逻辑的分离性、系统可靠性、实现简单性等方面进行讨论与评估,综合考虑最终采用了李工给出的方案。
【问题1】
请分析比较王工、李工两种方案的优点和不足,完成下表中的空白部分。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

进击的横打

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

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

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

打赏作者

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

抵扣说明:

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

余额充值