昇阳认证Java开发人员
昇阳认证Java开发人员(Sun Certified Developer for Java, SCJD)是Java认证体系中的中端级专业认证,与平台认证系不同的是,SCJD重视的不是平台技术,而是使用Java开发应用程序的能力,也就是考验考生的独立开发能力,通常拿到此认证的人,都被视为已经具有完全应用Java开发应用程序的独立作业能力,而这通常也是大多数使用Java作为开发应用程序平台主要工具的企业所需要的人才。
为了要验证Java开发人员的独立作业能力,因此SCJD的考试方法和多数认证截然不同。
前置需求
[编辑]SCJD要求考生必须要先通过SCJP以证明考生具备基本的Java程序开发能力。
考试方式
[编辑]SCJD的考试,由程序设计项目(Project Assignment)以及论述考试(Essay Exam)所构成,昇阳希望借由实务项目的方式来验证考生的独立开发能力,而为了确保项目是由考生亲自开发,因此必须要由考生自己证明与阐述程序设计项目的内容与开发的说明。程序设计项目的考试是由昇阳下载情境与工作帮助文档,以Java SE来开发应用程序,并且提交回昇阳,然后报名与完成论述考试,如此程序设计项目才会被评分,两科考试合计必须要得到320分以上(满分为400分)才合格[1]。
论述考试中会列出四个论述问题供考生作答,考生必须要用英文撰写内容[2],论述考试会和程序设计项目一起评分。
考试内容
[编辑]程序设计项目
[编辑]测验标的
[编辑]在程序设计项目中,题目是以商用系统(Business Software)为标的,据昇阳的描述[1]:
“ |
问题大概是类似简易的预约系统,可让用户查看可用的资源,然后预约。此系统不需要复杂的商业规则,但需要访问持续的存储空间,通常是flat-file格式,以供读取及修改。您必须有效运用许多核心Java API,但不得使用更高级的API。下面您会看到您可以使用的API清单,以及您不可使用的API清单。未出现在清单中的API,您可以自行判断是否要使用。事实上,使用过多的高级API是明确被禁止的,因为这些API通常是其他认证项目的测试主题。您在整个项目中应使用一致的程序设计风格惯例。最好是依照http://java.sun.com/docs/codeconv中所描述的风格惯例。 指派工作所设置的问题通常会要求您建立一个小型的主从式系统。您必须撰写客户端及服务端的代码,您可能必须建立“独立”模式,允许透过单一系统且无网络连线、直接连接至持续存储设备的客户端用户界面启动。因此,您应该预期建立相当简化的用户界面,与客户端及服务器代码相关系的网络通信协议、可访问本机系统上的一般文件的多用户服务器,并提供锁定机制以便在多个客户端同时访问资料时,保护资料的完整性。用户界面通常必须仅提供有限的功能。例如,查看所有纪录、查看符合一组条件的记录、修改纪录、以及删除记录。 |
” |
API使用限制
[编辑]由于程序设计项目通常没有考生想像中大,同时SCJD考试也禁止使用较高级的API,以确实可以测验考生的程序开发能力,下列API是允许使用的:
- java.lang.Thread类库,处理线程处理及同步
- Swing(以及支持Swing所需要的AWT)
- 标准文件IO(java.io,而不是java.nio)
- Socket-based网络程序设计加上下列技术择一:
- Java Serialization
- Java RMI (Java Remote Method Invocation)
而下列API则是被禁用的:
- Enterprise JavaBeans。
- Servlet、JSP技术、或任何其他web导向API。
- java.nio类库。
- Java DataBase Connectivity(JDBC)及SQL。
- Java IDL API及CORBA。
- 协力厂商软件程序库或工具(例如浏览器)。
考试期间
[编辑]至于考试期间多长呢?昇阳也有说明[1]:
“ | 很显然的,受测者根据指派的内容建立可用解决方案所需花费的时间差异很大。数年前,Brooks在“The Mythical Man Month”书中提到,程序员的生产力各不相同,差异可达十倍。但是,快速的程序员可在二十小时左右建立解决方案。一般而言,所需要的时间约在一个工作周左右。如果您在此项目上花费两个星期以上,您建立的应用程序可能超过实际需要的复杂程度,您最好查看一下评分条件及本指派工作所提供的问题描述。
有关指派工作规模的评估,可能有比较一致性的方法,那就是在过去的指派工作中所提交的代码行数。再次强调,这实际上有很大的差异,但作为一个依据标准,3500行代码是过去指派工作平均规模的合理的估计值。 |
” |
不过由于官方的考试信息中,并没有提到考试的时间,故根据上述的说明,合理推断应为一个月内。
评分标准
[编辑]程序设计项目的评分有[1]:
- 一般考量:此类别涵盖的评分标准为您的代码是否容易使用及维护,本项评分满分为70分。
- 文件:包括您的用户操作说明、Javadoc工具、及注解,本项评分满分为50分。
- 面向对象设计:包括您的面向对象设计质量,特别是您的类别结构所呈现的内容,以及变量与方法的使用,本项评分满分为50分。
- GUI:此类别将针对您的GUI是否遵照规格,以及您的GUI是否容易使用,本项评分满分为70分。
- 锁定:此类别包括锁定scheme的实现,您的指派工作文件中有详细的信息。您的指派工作中的这一部分与多重线程代码有关,本项评分满分为80分。
- 语言能力:使用Java编程语言与API的应用,本项评分满分为80分。
六项评分合计为400分,考生必须得到320分方可通过,同时此考试为人工阅卷,成绩在大约4个星期后会上传到CertManager中供考生查看。
论述考试
[编辑]论述考试主要是邀请考生针对自己所开发的项目做观念与方法的说明,有一点类似用打字的方式来做演示稿,而论述考试的重点是[2]:
- 列出一些您在实现上述项目时所必须做出的主要选择。
- 列出一些您的各项选择的主要优点与缺点。
- 针对比较设计与实现目的以及各种选择的优点与缺点,简短为您的选择做说明。
重考
[编辑]若考试没有通过时,考生可以申请重考,重考的费用为200美金[3],但若申请程序设计项目的重考后,论述考试也必须要重考。
参考资料
[编辑]- ^ 1.0 1.1 1.2 1.3 Sun Certified Developer for Java 2 Platform (Step 1 of 2) 互联网档案馆的存档,存档日期2006-12-18.
- ^ 2.0 2.1 Sun Certified Developer for Java 2 Platform (Step 2 of 2) 互联网档案馆的存档,存档日期2006-12-18.
- ^ Sun Certified Developer for the Java Platform, Standard Edition: Assignment Resubmission. [2008-10-12]. (原始内容存档于2008-10-14).