荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: georgehill (毕业生【一个人的精彩】), 信区: Java
标  题: SUN认证Java2程序员考试(SCJP) 试题解析
发信站: 荔园晨风BBS站 (Fri Dec 21 01:42:27 2001), 转信

前言

无论你是个新手,还是程序设计方面的专家,你都会惊异于Sun公司Java的无穷魅力
。Java带给你的并不仅仅是面向对象、开放、平台无关、易用、安全和“Write
once, run anywhere”等软件开发方面的优势,更重要的一点是,它提供了一种新
颖的表达思想的方式,一种全新的思维模式。随着待解决问题的规模不断膨胀,
Java彻底的面向对象思想的灵活性就会凸现出来。毋庸置疑,Java是你开发大型软
件时最得心应手的利器或是你转行IT的入门首选。


SCJP考试简介


● 考试方式


全英文试题,以电脑作答,在授权的Prometric考试中心参加考试


考试编号:310-025


先决条件:无


考试题型:复选、填空和拖拽匹配


题量:59


及格标准:61%


时限:120分钟


费用:1250元


● 要求具备的能力


● 使用Java编程语言创建Java应用程序和applets。


● 定义和描述垃圾搜集,安全性和Java虚拟机(JVM)。


● 描述和使用Java语言面向对象的特点。


● 开发图形用户界面(GUI)。利用Java支持的多种布局管理。


● 描述和使用Java的事件处理模式。


● 使用Java语言的鼠标输入、文本、窗口和菜单窗口部件。


● 使用Java的例外处理来控制程序执行和定义用户自己的例外事件。


● 使用Java语言先进的面向对象特点, 包括方法重载、方法覆盖、抽象类、接口
、final、static和访问控制。


● 实现文件的输入/输出 (I/O)。


● 使用Java语言内在的线程模式来控制多线程。


● 使用Java 的Sockets机制进行网络通信。


例题1:


Choose the three valid identifiers from those listed below.


A. IDoLikeTheLongNameClass


B. $byte


C. const


D. _ok


E. 3_case


解答:A, B, D


点评:Java中的标示符必须是字母、美元符($)或下划线(_)开头。关键字与保留字
不能作为标示符。选项C中的const是Java的保留字,所以不能作标示符。选项E中
的3_case以数字开头,违反了Java的规则。


例题2:


How can you force garbage collection of an object?


A. Garbage collection cannot be forced


B. Call System.gc().


C. Call System.gc(), passing in a reference to the object to be
garbage collected.


D. Call Runtime.gc().


E. Set all references to the object to new values(null, for example).



解答:A


点评:在Java中垃圾收集是不能被强迫立即执行的。调用System.gc()或Runtime.
gc()静态方法不能保证垃圾收集器的立即执行,因为,也许存在着更高优先级的线
程。所以选项B、D不正确。选项C的错误在于,System.gc()方法是不接受参数的。
选项E中的方法可以使对象在下次垃圾收集器运行时被收集。


例题3:


Consider the following class:


1. class Test(int i) {


2. void test(int i) {


3. System.out.println(“I am an int.”);


4. }


5. void test(String s) {


6. System.out.println(“I am a string.”);


7. }


8.


9. public static void main(String args[]) {


10. Test t=new Test();


11. char ch=“y”;


12. t.test(ch);


13. }


14. }


Which of the statements below is true?(Choose one.)


A. Line 5 will not compile, because void methods cannot be overridden.



B. Line 12 will not compile, because there is no version of test()
that rakes a char argument.


C. The code will compile but will throw an exception at line 12.


D. The code will compile and produce the following output: I am an int.



E. The code will compile and produce the following output: I am a
String.


解答:D


点评:在第12行,16位长的char型变量ch在编译时会自动转化为一个32位长的int
型,并在运行时传给void test(int i)方法。


例题4:


Which of the following lines of code will compile without error?


A.


int i=0;


if (i) {


System.out.println(“Hi”);


}


B.


boolean b=true;


boolean b2=true;


if(b==b2) {


System.out.println(“So true”);


}


C.


int i=1;


int j=2;


if(i==1|| j==2)


System.out.println(“OK”);


D.


int i=1;


int j=2;


if (i==1 &| j==2)


System.out.println(“OK”);


解答:B, C


点评:选项A错,因为if语句后需要一个boolean类型的表达式。逻辑操作有^、&、
| 和 &&、||,但是“&|”是非法的,所以选项D不正确。


例题5:


Which two demonstrate a




  MIS系统开发中的项目管理 8.12.2001


  计算机管理信息系统(简称MIS系统)的开发是一项复杂的系统工程。从70年代
开始,人们逐渐认识到,为了保证MIS系统开发成功,必须采用工程化的系统开发
方法,并研究出一些符合工程化标准的开发方法。这些方法旨在指导开发者进行工
程化的系统开发,从而加快MIS系统开发的速度、保证质量、以及降低开发成本。
工程化的系统开发方法确实在开发实践中取得了一定的效果。

  那么,是不是采用了工程化的系统开发方法便一定能保证MIS系统开发的成功
呢?答案是否定的。有许多失败的MIS系统的例子,其开发也是采用了工程化的方
法,或声称采用了这种方法。但结果在投入了大量资金后,系统却不能达到预期的
目标、满足用户的需求,以致用户方怀疑是否应进行该项目的开发,或者开发所选
择的硬件、软件以及开发工具是否得当。究竟问题出在哪里呢?笔者通过对一些失
败的MIS系统的分析,发现问题并没有出在开发方法本身,以及硬软件的选择上,
而是出在了开发方法的实施过程中,也就是说主要出在开发项目的管理上。


  任何一种开发方法最终是要由人来实施的,人们在开发工作实施过程中不可避
免地要遇到许多项目管理方面的问题,如何正确对待、解决这些问题,直接关系到
MIS系统开发的成败。目前计算机界虽有许多关于MIS系统开发中项目管理方面的问
题的讨论,但大多局限于针对理想开发环境中的理想开发模型的讨论。而实际的开
发环境和开发模型却各不相同,它受到各种客观因素的影响,忽略这些因素,或者
回避、不解决存在的问题,必将导致开发工作的不完善、甚至于失败。本文就是要
通过讨论如何处理实际MIS系统开发中一些重要因素之间的关系,分析项目管理中
存在的矛盾,来揭示其中存在的问题并探讨解决的方案。


什么是MIS系统开发的项目管理


  MIS系统开发的项目管理是根据管理科学的理论,联系MIS系统开发的实际,保
证工程化系统开发方法顺利实施的管理实践。它包括MIS系统开发中的项目评估及
可行性分析、人员管理、进度管理及成本控制等方面。



项目开发中的角色及其职责


  一个MIS系统的开发需要用户方与开发方的共同协作。在一个MIS系统开发中,
开发方人员和用户方人员各自扮演着不同的角色。主要角色有:



  用户方的项目管理人员:他是开发项目的组织者,负有开发项目的计划、系统
的阶段验收及对系统整体进度的监控、经费的使用、与开发方的项目管理人员工作
的协调、用户方的使用人员的组织与培训等职责。


  用户方的业务人员:MIS系统的需求的提出者,也是MIS系统的最终用户。他们
是对应用系统开发成功与否的最终评判者。


  用户方的决策层:MIS系统开发的最终决策机构,决策层要对MIS系统开发的项
目的上马、经费的预算以及系统所要达到的总目标等作出决策。其决策直接关系到
MIS系统的开发成功与顺利实施。


  开发方的项目管理人员:负责项目的计划、开发人员的组织与调度、开发进度
的检查、以及与用户方项目管理人员工作的协调。


  开发方的软件编程人员:根据用户方的需求、按照项目的计划及进度进行系统
开发。


项目管理中各种问题及各种关系的处理


1、用户方与开发方的关系



  用户方与开发方是对立的统一体,双方均希望将开发项目做好。但用户方可能
对计算机系统工程,如工程组织,缺乏全面的了解;而开发方对用户方的需求、细
节了解不充分等因素,使得用户方与开发方对工程的理解从一开始就存在着差异。
而这种认识上的差异与理解的不同往往在开发初期并没有表现出来,当系统开发结
束时,双方才发现这种差异使开发出的系统与实际需求偏差甚远。因此,MIS系统
开发项目管理的重要目标便是建立一个便于开发方与用户方之间进行交流的环境。
在系统需求分析阶段,开发方与用户方的深入的交流是项目获得成功的关键。但这
种交流却经常由于各种双方的误解而难以沟通。



  在需求分析阶段,开发方的分析人员总是先把精力集中在整个系统的总的需求
上,而不会对具体细节作过多的考查。当用户方提出一些细节要求时,开发方往往
说:“这些问题留待后面讨论”,而糟糕的是以后却可能永远不会再谈及这个问题
。当用户方认为已经向开发方提出这些需求时,开发方却根本未予考虑。因此,开
发初期,用户方的项目管理人员应该把这些“留待后面讨论”的需求单独记录整理
,在开发方做完系统的整体需求分析后,项目管理人员应及时提出对系统进行进一
步的、更深入的、细致的、具体的需求分析,以解决那些开发方要“留待后面讨论
”的问题。


  在某些需求尚未确定时,用户方项目管理人员往往会说:“这部分需求我们还
要考虑,不过你们可以先按现在的模式做。”遗憾的是,开发方经常就会把现在的
工作模式作为将来的、确定的需求去设计开发系统,而把用户方在此需求上的未确
定因素抛在脑后。当后来用户方要求其改变时,开发方便陷入了窘境。因此,用户
方管理人员应尽量将需求陈述清楚,对不能确定的因素,应提出几种可能的实施方
案供开发方参考,以保证开发方系统设计时,将不确定因素设计成灵活可变的功能



  开发方说:“用户方已经认可了需求分析报告,这表明我们已经彻底了解了用
户方的要求。”


  用户方说:“尽管我不太明白需求分析报告中的一些技术术语,但他们能写出
这个报告,一定是对我们的需求了解得很深入了。”


  其实,需求分析报告是对系统需求的书面表达形式。由于需求分析报告是采用
软件设计的术语编写的,因此常常令计算机背景知识较少的用户方难以理解,也就
很难发现需求报告中与实际需求不符之处,更难提出建设性的意见。特别是那些编
写得较差的需求分析报告,用户方更是不知所云。


  因此,用户方的项目管理人员一定要要求开发方对需求分析报告进行进一步更
详细的解释,以便用户方准确地理解需求分析报告的内容,能及早地发现需求与实
际的偏差。这也是对需求分析工作的总结与确认。


  用户方说:“计算机应该能实现这个功能,为什么会作不到?”用户方往往容
易过高地估计计算机的软件开发工具的能力,总认为它一定能实现任何所需功能,
期望值过高,所以经常会对所设计的软件大失所望。其实任何技术均有其一定的局
限性,计算机系统也不例外,系统开发的最终结果只能达到有限的目标。因此,双
方应详细制定系统最终实现的目标,切不可用一些简单的术语来笼统概括需求,例
如:“实现办公自动化”、“建立现代化的MIS系统”这种抽象的术语只能将用户
对MIS系统的理解引入误区。


  总之,用户方与开发方的关系是项目管理所要处理的最重要的关系之一,增加
沟通和减少误解是处理好这个关系的关键。所以项目管理人员要有效地安排开发方
软件人员与需求方使用人员的交流,保证有畅通的交流渠道。在交流中用户方要尽
量避免含糊不清的需求,而开发方要杜绝敷衍了事、得过且过的行为。


2、用户方项目管理人员与使用人员(业务人员)及决策层的关系



  用户方项目管理人员与系统使用人员的关系是十分微妙的。一方面,MIS系统
使使用人员减轻工作强度、提高工作效率;而另一方面,MIS系统改变了现行的工
作管理模式,使使用人员失去了一定的灵活性和随意性。但是MIS系统的成功与否
有赖于使用人员的检验。再好的系统,如果使用人员不愿意用,也不能说获得了成
功。特别是在MIS系统的试运行阶段,使用人员对MIS系统的使用实际上是对系统的
深入测试,他们将发现许多在软件测试时疏漏的程序错误,从而有助于帮助开发方
进一步完善软件功能,提高软件的实用性、稳定性及可靠性。因此,如何鼓励使用
人员使用MIS系统,帮助他们克服对新的工作模式的为难情绪,也成为项目管理的
任务之一。


  用户方的决策人士是用户方项目管理人员领导,由于行政手段是推行MIS系统
使用的有力手段之一,他对项目的支持是使MIS系统开发成功关键与顺利实施的保
证。因此用户方项目管理人员应随时与决策层沟通,取得其鼎力支持,这也是保证
软件开发、使用成功的一个致关重要的因素。


  任何一种新的工作方式,均必然有其适应及完善过程,用户方的项目管理人员
、决策层及使用人员必须充分认识到这一点。当出现问题时,用户方项目管理人员
应迅速分析问题,正确判断哪些问题属于不适应新的工作模式引起的,哪些问题属
于操作不当引起的,哪些问题属于MIS系统本身不完善引起的。对于那些由于不适
应新的工作模式引起的问题,项目管理人员应引导使用人员迅速适应新的工作模式
,必要时也要说服用户方的决策层采用行政手段推动实施;对于那些由于操作方法
不当引起的问题,项目管理人员应培训使用人员正确操作系统;而对于那些由于
MIS系统本身不完善引起的问题,项目管理人员应迅速与开发方协调,尽快排除系
统中的错误。


  在系统试运行初期,使用人员常抱怨说:“这个界面不方便,不好用”


  在软件界面设计方面,用户方管理人员应注意提醒开发方注重其实用性、简便
性、易操作性,要注意现行工作模式的特点,照顾使用人员的工作习惯,以便降低
系统的使用难度。这将有利于新系统的顺利实施,有助于工作方式的顺利过渡。



  综上所述,项目管理人员时刻注意取得决策层的理解与支持;要帮助使用人员
尽快地适应新的工作方式,帮助他们解决使用中遇到的问题;并使系统在使用中不
断地得以完善。


3、项目管理人员与软件编程人员的关系



  项目管理人员与软件编程人员的关系处理得如何将直接影响软件编程人员的积
极性。在MIS项目开发中,项目管理人员经常处在两面夹攻的地位。一面是使用人
员,而另一面是软件编程人员。当使用人员对系统提出问题,并要求改动时,除了
最简单的界面修改外,软件编程人员往往总是找出各种理由(如影响进度、系统结
构会打乱、性能会受影响等)予以否定。而这正是引起开发方与用户方矛盾的最经
常的原因。


  经常可以听到软件编程人员抱怨:


  “用户的需求老是变,我的开发进度又延误了”


  “无法增加这个功能了,因为需求分析报告中没有”


  “这个错误我们过几天统一作修改。”


  作为项目管理人员,既要满足用户方的需求变化,又要充分调动开发人员的积
极性。由于系统分析不够准确,用户方业务需求的改变等诸多因素,均会导致要求
开发方修改程序。作为项目管理人员应及早提醒开发方程序修改的必然性,在实际
运作过程中用户方管理人员应尽早介入开发工作,及时发现问题,解决问题。在系
统试运行阶段,将用户方不断提出的需求改动加以归纳整理,集中问题与开发方一
起讨论解决方案。这样既满足了用户方对系统改动的需求,又不会不规则地时常打
断开发人员的正常开发工作,使开发人员处于不断的修改状态而失去耐心。


4、硬件与软件的关系



  MIS系统的硬件与软件都是组成MIS系统的重要部分。但目前在MIS系统的建设
中,却经常出现重硬轻软的情况。


  总能听到用户方:“设备要最好的、最先进的、一步到位”


  “软件开发费怎么会这么贵”


  据统计,目前国内用户在硬件(包括网络)方面的投资占总投资额的78%,而
软件投资只占22%。确实,先进的设备、优良的技术性能有助于提高MIS系统的性
能。而MIS系统的建设是否应追求高、新、尖、一步到位,却是值得商榷的。在计
算机技术飞速发展的今天,计算机厂商不断地推出新产品,其性能价格比均极大地
优于旧产品。就拿硬盘技术来举例:1994年1个GB的硬盘价格与1997年9个GB的硬盘
价格相当,可见一步到位的想法是不切合实际的。同时,系统性能过多地超出应用
需求实际上是一种浪费。好比杀鸡用宰牛刀。因此,根据业务需求“统一规划、分
步实施”是项目管理人员应注意掌握的原则。在规划时认真考虑业务发展、技术的
进步,在实施方面,时刻要将硬件配备的重点放在设备稳定、性能可靠及可扩充可
升级方面。


  如果说在硬件设备方面存在不惜投入、追求一步到位的现象,那么在软件开发
方面,用户方却往往太苛刻了一点。殊不知,一个好的、高质量的MIS系统,是要
靠软件编程人员来开发的。这里的高质量是指软件的可用性、使用的方便性以及可
维护性、可升级性诸方面,这是软件得以推广的必要条件。如果投入资金过少,必
造成开发人员不能全身心地投入到某一个项目的开发工作中,当开发方认为他们的
投入已与用户方的付出相当时,便不愿意继续投入精力,从而造成开发工作的虎头
蛇尾。MIS系统达不到预期效果,再好的硬件也难能发挥其作用。当然,由于用户
方对工程组织、工程量计算、技术含量分析等诸方面开发因素估价困难,很难正确
计算出合理的软件开发价格。用户方项目管理人员可以聘请有关专家、或参考同行
业国内外开发情况加以核定。


  在开发费的控制方面,用户方应合理运用价格这个有力武器,付款方式及付款
条件要严格与开发进度、软件质量以及软件维护服务质量挂钩,使其成为督促及约
束开发方的手段。


5、性能与灵活的关系



  性能与灵活是系统设计中的一对矛盾,似乎是系统设计人员而不是项目管理人
员应该考虑的问题。但实际上,由于国内的许多MIS系统的失败都与这个矛盾处理
得不当有关,因此,我们认为应该在项目管理中充分考虑性能与灵活的关系,随时
提醒系统设计人员处理好这个矛盾。性能是系统可用性的重要因素,很难想象一个
响应速度很慢的系统能得到最终用户的认可。而灵活性是系统适应变化能力的重要
因素,一个无法适应工作模式变化的系统也是难以推行的。然而,根据传统的MIS
系统理论,增加灵活性将增加系统复杂性,降低系统性能。那么,应该如何对待这
对矛盾呢?


  在目前的情况下,相对系统性能来说,灵活性是矛盾的主要方面,其原因有如
下两点:


  (1)由于目前大部分单位的管理模式都处在探索阶段,可能引起变动的因素
很多,因此根据现行的管理模式设计出的MIS系统将面临使用单位管理模式的变化
的考验。所以现在的MIS系统在设计时要充分考虑这些不确定因素,灵活才能适应
这些变化。


  (2)由于计算机技术的发展,计算机硬件速度飞速提高,系统性能的极大地
提高,从而增加灵活性所引起的系统性能的下降并不明显。


  当听到软件编程人员说:“为了提高运行速度,我们假设某个参数是不变的”
、“如果想加一种查询方式,可能要改动表结构”时,项目管理人员应引起足够的
重视。提醒软件编程人员要充分考虑到用户方需求的灵活性,在软件设计中,要尽
量避免用牺牲系统灵活性来换取系统性能的提高。而是应在程序设计方面通过优化
程序结构来提高系统性能。


  MIS系统开发方面已有比较成熟的工程化的方法。但是工程化开发方法仍然不
能保证其一定开发成功,还需要有完善的项目管理方法来保证。每个项目的开发环
境及实施环境各不相同。因此,在项目管理方面所面临的问题均不尽相同。但是在
项目管理中所要处理的关系却基本相同。如何处理好这些关系是项目管理人员的重
要任务。本文对项目管理中所要处理的关系及经常遇到的问题进行了讨论,希望能
对项目管理人员及系统开发人员有所帮助。笔者相信随着项目管理方法的不断完善
,必将为MIS开发的成功提供进一步的保证。

转载 作者:李弋 姚平


--
前路就算似障碍赛,历尽艰辛总把头抬
背起笑声,收起我感慨
活出真我的风采

※ 来源:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 192.168.1.238]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店