试题三 (25 分)阅读以下关于 Java 企业级应用系统开发架构选择方面的叙述,在答题纸上回答问题 1 至问题 3。某软件公司承担了某中小型企业应用软件开发任务,进度要求紧迫。为了按时完成任务,选择合适的企业应用系统开发架构非常重要。项目组在进行方案论证时,项目组成员提出了两种开发思路。(1)刘工建议采用 J2EE 5.0 和 EJB 3.0 进行开发。理由是 J2EE定义了标准的应用开发体系结构和部署环境,EJB 是 J2EE 的基础和核心。J2EE 5.0 主要目标是简化开发,相比 EJB 2.1,

题目

试题三 (25 分)

阅读以下关于 Java 企业级应用系统开发架构选择方面的叙述,在答题纸上回答问题 1 至问题 3。

某软件公司承担了某中小型企业应用软件开发任务,进度要求紧迫。为了按时完成任务,选择合适的企业应用系统开发架构非常重要。项目组在进行方案论证时,项目组成员提出了两种开发思路。

(1)刘工建议采用 J2EE 5.0 和 EJB 3.0 进行开发。理由是 J2EE定义了标准的应用开发体系结构和部署环境,EJB 是 J2EE 的基础和核心。J2EE 5.0 主要目标是简化开发,相比 EJB 2.1,EJB 3.0 具有很多改进和提高。

(2)杜工建议采用 Struts,Spring 和 Hibernate 轻量级开源框架相结合的方式。理由是随着 Java开源项目阵营的发展壮大, 一些基于 POJOs (Plan Old Java Objects)的开源框架被广泛地引入到 Java 企业应用开发中来,与重量级的 EJB 框架相比,这些轻量级的框架有很多优点。 项目组仔细比较分析了两种方案的特点、优点和不足之处。认为杜工和刘工的建议都合理,但是从结合当前项目实际情况出发,最后决定采用杜工的建议。

【问题 1】 (6 分)

Java 企业应用框架一般被划分为三个层次,请用 150 字以内文字说明都有哪三个层次?功能分别是什么?

【问题 2】 (12 分)

请用 200 字以内的文字叙述 Struts,Spring 和 Hibernate 开源框架特点和结合方式。

【问题 3】 (7 分)

请用200字以内的文字说明基于Struts, Spring和Hibernate的轻量级框架与基于EJB的重量级框架解决问题的侧重点有什么不同?


相似考题
更多“试题三 (25 分) 阅读以下关于 Java 企业级应用系统开发架构选择方面的叙述,在答题纸上回答问题 1 ”相关问题
  • 第1题:

    阅读下面的说明,回答问题1~问题4,将解答填入答题纸对应的解答栏内。

    [说明]

    阅读以下说明,回答问题1~问题4,将解答填入答题纸对应的解答栏内。

    windows Server 2003是一个多任务多用户的操作系统,能够以集中或分布的方式实现各种应用服务器角色,是目前应用比较广的操作系统之一。

    Windows内置许多应用服务功能,将下表中(1)~(5)处空缺的服务器名称填写在答题纸对应的解答栏内。

    (1)


    正确答案:域名(DNS)服务器
    域名(DNS)服务器

  • 第2题:

    试题三(共 15 分)

    阅读以下说明和 C 程序,将应填入 (n) 处的字句写在答题纸的对应栏内。


    正确答案:

  • 第3题:

    阅读以下关于Web应用系统开发的问题,在答题纸上回答问题1至问题3。
    A公司承担了某企业应用系统的开发任务,用户要求系统最终应发布到Web上供企业员工及企业客户使用。项目组在进行方案论证时,首先肯定了该系统需使用B/S结构,但在系统应采用的底层平台上产生了分歧,一方认为应采用微软.NET平台,一方认为应采用Java企业版平台。经过认真讨论,结合两种平台的特点及项目的实际需求,项目组最终决定采用Java企业版平台作为系统开发运行的基础平台。 【问题1】(9分)
    请在以下平台特点(1)~(9)中,选择出.NET平台与Java企业版平台各自具备的优势填入表5-1的(a)~(f)项中,选择出两个平台共有的特点填入表5-1的(g)~(i)项中。
    (1)良好跨平台可移植性支持
    (2)易于部署与配置
    (3)多程序设计语言支持
    (4)良好的Web多层应用开发支持
    (5)丰富的多厂商外部支持
    (6)良好的O/R(对象/关系)映射支持
    (7)针对特定平台的优化支持
    (8)良好的源代码以外的可定制性支持
    (9)良好的Web服务支持


    答案:
    解析:
    试题分析本题主要考查Web应用系统开发的知识,考生需要区分.NET平台和J2EE平台的区别,并理解掌握MVC的基本概念,并进一步掌握MVP设计模式。
    【问题1】
    本问题主要考查.NET和J2EE平台的区别,考生需要从跨平台可移植性、部署与配置、多程序设计语言支持、Web多层应用开发支持、多厂商外部支持、O/R(对象/关系)映射支持、针对特定平台的优化支持、源代码以外的可定制性支持以及Web服务支持等方面作答。
    【问题2】
    本问题主要考查MVC和MVP模式的区别。MVC(Model-View-Controller)模式是Web应用系统开发中常用的一种软件架构模式,包括基于EJB的重量级框架和基于Struts等的轻量级框架等。MVP模式与MVC模式的主要区别为:(1)在组件耦合度方面:在MVP模式中,视图并不直接使用模型,它们之间的通信通过Presenter进行,从而实现了视图与模型的分离,而在MVC模式中,视图直接与模型交互。(2)在组件分工方面:在MVP模式中,视图需要处理鼠标及键盘等触发的界面事件,而在MVC模式中这通常是由控制器完成的工作;在MVP模式中,系统核心业务逻辑组织集中在Presenter中,而在MVC模式中,相应的控制器通常只完成事件的分发。(3)在开发工程化支持方面:MVP模式可更好地支持单元测试,而在MVC模式中,由于模型与视图绑定,因此难以实施相应的单元测试;在MVP模式中,Presenter基于约定接口与视图和模型交互,可更好地支持组件的重用。
    【问题3】
    本问题主要考查事务的基本特征和EJB规范中提供的事务控制的基本方法。事务的基本特征包括:原子性:一个事务中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节。事务在执行过程中发生错误,会被回滚到事务开始前的状态,就像这个事务从来没有执行过一样。 一致性:在事务开始之前和事务结束以后,数据的完整性限制没有被破坏。 隔离性:两个事务的执行是互不干扰的,两个事务时间不会互相影响。 持久性:在事务完成以后,该事务对数据所作的更改便持久地保存在数据库之中,并且是完全的。
    EJB规范支持的两种事务控制方法为:
    容器维护的事务(Container Managed Transaction,CMT):由EJB容器根据部署描述符或EJB构件注释中指定的事务属性自动控制事务的边界,容器维护的事务是方法级的,即默认将一个方法当作一个事务执行,当方法执行的过程中发生系统级异常,容器会自动将事务回滚,从而将方法前面执行的结果恢复。
    Bean维护的事务(Bean Managed Transaction,BMT):由程序员在EJB的源代码中控制事务执行的边界,事务的边界通过Java事务接口(Java Transaction API,JTA)进行控制,Bean维护的事务可以跨越方法的边界。试题答案(5)【问题1】
    (a)~(c):(2)、(3)、(7),以上三个答案顺序可调换;
    (d)~(f):(1)、(5)、(8),以上三个答案顺序可调换;
    (g)~(i):(4)、(6)、(9),以上三个答案顺序可调换;
    【问题2】
    在基于EJB的重量级框架中,实现的构件分别为:
    模型(Model):由EJB构件实现
    视图(View):由JSP构件实现
    控制器(Controller):由Servlet构件实现
    在基于Struts等的轻量级框架中,实现的构件分别为:
    模型(Model):由Java Bean构件实现
    视图(View):由JSP构件实现
    控制器(Controller):由Servlet构件实现
    MVP模式与MVC模式的主要区别为:
    (1)在组件耦合度方面:在MVP模式中,视图并不直接使用模型,它们之间的通信通过Presenter进行,从而实现了视图与模型的分离,而在MVC模式中,视图直接与模型交互。
    (2)在组件分工方面:在MVP模式中,视图需要处理鼠标及键盘等触发的界面事件,而在MVC模式中这通常是由控制器完成的工作;在MVP模式中,系统核心业务逻辑组织集中在Presenter中,而在MVC模式中,相应的控制器通常只完成事件的分发。
    (3)在开发工程化支持方面:MVP模式可更好地支持单元测试,而在MVC模式中,由于模型与视图绑定,因此难以实施相应的单元测试;在MVP模式中,Presenter基于约定接口与视图和模型交互,可更好地支持组件的重用。
    【问题3】
    事务的基本特征包括:
    原子性:一个事务中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节。事务在执行过程中发生错误,会被回滚到事务开始前的状态,就像这个事务从来没有执行过一样。
    一致性:在事务开始之前和事务结束以后,数据的完整性限制没有被破坏。
    隔离性:两个事务的执行是互不干扰的,两个事务时间不会互相影响。
    持久性:在事务完成以后,该事务对数据所作的更改便持久地保存在数据库之中,并且是完全的。
    EJB规范支持的两种事务控制方法为:
    容器维护的事务(Container Managed Transaction,CMT):由EJB容器根据部署描述符或EJB构件注释中指定的事务属性自动控制事务的边界,容器维护的事务是方法级的,即默认将一个方法当作一个事务执行,当方法执行的过程中发生系统级异常,容器会自动将事务回滚,从而将方法前面执行的结果恢复。
    Bean维护的事务(Bean Managed Transaction,BMT):由程序员在EJB的源代码中控制事务执行的边界,事务的边界通过Java事务接口(Java Transaction API,JTA)进行控制,Bean维护的事务可以跨越方法的边界。

  • 第4题:

    试题四(共15分)

    阅读以下说明,回答问题l至问题3,将解答填入答题纸的对应栏内。

    【说明】

    赵新锐是一名大学生,他申请了学校的大学生创新创业项目,计划建立一个网上商

    店,他制定的工作计划如表4-1所示。

    【问题2](5分)

    项目在第14天时进行了检查,工作代码为G、I、H的检查情况见表4-3。请计算工

    作代码为G、I、H任务的进度状况并填空。

    【问题3](5分)

    在答题纸对应位置完成项目里程碑甘特图(注:答题纸上的时间为每方格一天)。


    正确答案:
    本题考查项目管理及计划控制的内容。
    【问题1】
    本问题考查总时差和自由时差的概念、计算方法。
    工作持续时间是指一项工作从开始到完成的时间。工作的最早开始时间(ES)是指在
    其所有紧前工作全部完成后,本工作有可能开始的最早时刻。工作的最早完成时间(EF)
    是指在其所有紧前工作全部完成后,本工作有可能完成的最早时刻。工作的最早完成时
    间等于本工作的最早开始时间与其持续时间之和。
    工作的最迟完成时间(LS)是指在不影响整个任务按期完成的前提下,本工作必须完
    成的最迟时刻。工作的最迟开始时间(LF)是指在不影响整个任务按期完成的前提下,本
    工作必须开始的最迟时刻。工作的最迟开始时间等于本工作的最迟完成时间与其持续时
    间之差。
    工作的总时差(TF)是指在不影响总工期的前提下,本工作可以利用的机动时间。工
    作的自由时差(FF)是指在不影响其紧后工作最早开始时间的前提下,本工作可以利用的
    机动时间。对于同一项工作而言,自由时差不会超过总时差。当工作的总时差为零时,
    其自由时差必然为零。
    【问题2】
    本问题考查工作进程记录表的概念和计算过程。
    项目进度计划的编制时,一般分为项目描述、项目分解、工作描述、工作责任分配
    表制定、工作先后关系确定、工作时间估计、绘制网络图和进度安排。
    所谓项目描述就是用表格的形式列出项目目标、项目范围、项目如何执行,项目完
    成计划等内容。项目描述是对项目的总体要求作一个概要性的说明,其依据是项目的立
    项规划书、已经通过的初步设计方案和批准后的可行性报告,主要内容有项目名称、项
    目目标,交付物、交付物完成准则、工作描述、工作规范、所需资源估计、重大里程
    碑等。
    【问题3]
    本问题考查项目里程碑甘特图的概念和计算过程。
    甘特图可用来安排项目中各项工作的进度,同时还能和各项资源在不同阶段的需求
    数量结合,有利于对项目管理过程进行有效的控制,当项目中某些工作进度安排有机动
    时间时,可以利用机动时间安排工作的实施进度,使项目对资源的集中需求尽可能分散,
    得到合理利用。

  • 第5题:

    试题一(共25分)

    阅读以下关于软件系统架构选择的说明,在答题纸上回答问题1至问题 3。

    【说明】

    某公司欲针对 Linux操作系统开发一个KWIC(Key Word in Context)检索系统。该系统接收用户输入的查询关键字,依据字母顺序给出相关帮助文档并根据帮助内容进行循环滚动阅读。在对KWIC系统进行需求分析时,公司的业务专家发现用户后续还有可能采用其它方式展示帮助内容。根据目前需求,公司的技术人员决定通过重复剪切帮助文档中的第一个单词并将其插入到行尾的方式实现帮助文档内容的循环滚动,后续还将采用其它的方法实现这一功能。

    在对KWIC系统的架构进行设计时,公司的架构师王工提出采用共享数据的主程序-子程序的架构风格,而李工则主张采用管道-过滤器的架构风格。在架构评估会议上,大家从系统的算法变更、 功能变更、 数据表示变更和性能等方面对这两种方案进行评价,最终采用了李工的方案。

    【问题 1】(7分)

    在实际的软件项目开发中,采用恰当的架构风格是项目成功的保证。请用 200 字以内的文字说明什么是软件架构风格,并对主程序-子程序和管道-过滤器这两种架构风格的特点进行描述。

    【问题 2】(12分)

    请完成表1-1 中的空白部分(用+表示优、-表示差),对王工和李工提出的架构风格进行评价,并指出采用李工方案的原因。

    【问题 3】(6分)

    图1-1 是李工给出的架构设计示意图, 请将恰当的功能描述填入图中的(1)~(4)。


    正确答案:

    试题一分析
    【问题1】
    本题主要考查软件架构风格的定义,并考查对两种与本题相关的架构风格的定义。软件架构风格是描述特定软件系统组织方式的惯用模式。组织方式描述了系统的组成构件和这些构件的组织方式,惯用模式则反映众多系统共有的结构和语义。
    主程序-子程序架构风格中,所有的计算构件作为子程序协作工作,并由一个主程序顺序地调用这些子程序,构件通过共享存储区交换数据。
    管道-过滤器架构风格中,每个构件都有一组输入和输出,构件接受数据输入,经过内部处理,然后产生数据输出。这里的构件称为过滤器,构件之间的连接件称为数据流传输的管道。
    【问题2】
    本问题是一道填表题,其核心是对两种架构风格在算法变更、功能变更、数据表示变更和性能等方面的特点进行比较。其中共享数据的主程序-子程序在算法变更方面灵活性较差,算法变更时一般需要重新编译整个系统;在功能变更方面也比较差;在数据表示方面,当需要变更时,也意味着程序传递参数的变化以及整个程序的调整,表现比较差;在性能方面,由于整个程序处在一个紧耦合的状态,因此性能较高。管道-过滤器架构风格在算法变更方面实现比较简单,只需要修改过滤器的实现即可;在功能变更方面也比较简单;在数据表示方面,需要同时改变数据格式和过滤器的结构,相对比较复杂;在性能方面,由于整个系统是松耦合连接在一起的,因此性能不高。
    根据题干描述:“用户后续还有可能采用其它方式展示帮助内容”,因此KWIC系统对功能变更要求较高;根据题干描述:“…,后续还将采用其它的方法实现这一功能”,因此KWIC系统对实现某一个功能的算法变更要求较高;KWIC是一个支持用户交互的窗口界面程序,因此对性能要求并不高;KWIC系统的显示帮助内容为文本,数据的表示基本不变,因此对数据表示变更要求不高。针对这些考虑,可以看出应该采用管道-过滤器的架构风格。
    【问题3】
    本问题是一道读图题,考查用户对系统架构的理解程度。根据题干中的关键描述“…接收用户输入的查询关键字,依据字母顺序给出相关帮助文档并根据帮助内容进行循环滚动阅读…”和“…公司的技术人员决定通过重复剪切帮助文档中的第一个单词并将其插入到行尾的方式实现帮助文档内容的循环滚动…”,可以看出整个系统的流程是:输入→文档检索→查询结果按字母排序→剪切行首单词→单词插入行尾→输出。

    解答要点
    【问题1】
    软件架构风格是描述特定软件系统组织方式的惯用模式。组织方式描述了系统的组成构件和这些构件的组织方式,惯用模式则反映众多系统共有的结构和语义。
    主程序-子程序架构风格中,所有的计算构件作为子程序协作工作,并由一个主程序顺序地调用这些子程序,构件通过共享存储区交换数据。
    管道-过滤器架构风格中,每个构件都有一组输入和输出,构件接受数据输入,经过内部处理,然后产生数据输出。这里的构件称为过滤器,构件之间的连接件称为数据流传输的管道。

    根据题干描述:“用户后续还有可能采用其它方式展示帮助内容”,因此KWIC系统对功能变更要求较高;
    根据题干描述:“…,后续还将采用其它的方法实现这一功能”,因此KWIC系统对实现某一个功能的算法变更要求较高。
    KWIC是一个支持用户交互的窗口界面程序,因此对性能要求并不高。
    KWIC系统的显示帮助内容为文本,数据的表示基本不变,因此对数据表示变更要求不高。
    综合上述分析,可以看出应该采用李工提出的管道-过滤器架构风格。