第一部分抽查考试标准3.docx
- 文档编号:4826907
- 上传时间:2022-12-10
- 格式:DOCX
- 页数:24
- 大小:72.84KB
第一部分抽查考试标准3.docx
《第一部分抽查考试标准3.docx》由会员分享,可在线阅读,更多相关《第一部分抽查考试标准3.docx(24页珍藏版)》请在冰豆网上搜索。
第一部分抽查考试标准3
第一部分抽查考试标准
一、适用专业
本标准适用于湖南省高等职业院校软件技术(590108)、计算机信息管理(590106)、游戏软件(590113)、软件开发与项目管理(590116)等专业。
二、抽查对象
高等职业院校全日制三年一期在校学生。
三、抽查目的
测试学生使用面向过程或面向对象方法进行程序设计的技能;按照数据库设计开发数据库应用的技能;按照软件工程规范、依据软件设计开发桌面应用和Web应用的技能。
同时对学生在实际操作过程中的职业素养表现进行综合评价。
四、抽查方式
试题由考试系统随机抽取;要求被测学生在规定时间内独立完成测试任务;考试时长180分钟;评分采用百分制。
五、引用的技术标准或规范
GB/T11457-2006信息技术软件工程术语;
GB/T8566-2007信息技术软件生存周期过程标准;
GB/T8567-2006计算机软件文档编制规范。
六、抽查内容与要求
抽查内容包括程序设计、数据库应用开发、桌面应用开发、Web应用开发四个最基本的通用模块。
要求学生能按照软件工程规范独立完成,并体现良好的职业精神与职业素养。
1程序设计
本模块测试学生运用程序设计语言和开发工具进行程序设计的能力。
要求会描述算法;能使用程序控制结构与语言机制解决程序逻辑问题;能对常用数据结构进行存储和操作;能实现一些基本算法。
1.1技能要求
●能编写、编译、调试、运行程序;
●能将流程图转化为程序代码,会使用流程图描述算法;
●能使用数据类型、变量、常量、运算符、表达式编程;
●能进行顺序、分支、循环三种控制结构的程序设计;
●能使用函数实现程序功能;
●能使用文件和标准设备,实现数据的输入和输出;
●能对数组、链表、堆栈、队列等基本数据结构进行存储和操作;
●能实现递归、查找、排序等常用算法;
●会使用封装、继承、多态、类、接口、对象等语言机制,进行面向对象程序设计。
1.2评价标准
评价内容、配分及考核点见表1,总成绩满60分为合格。
表1程序设计模块评价标准
评价内容
配分
考核点
语法正确
30分
源程序符合程序设计语言的语法规则,能通过编译或解释。
功能实现
60分
能利用程序控制结构与语言机制、常用数据结构与算法,实现各任务的业务逻辑。
代码规范
10分
程序代码符合程序设计与应用开发规范。
2素养要求
遵纪守法,尊重知识产权,爱岗敬业,严守保密制度;实事求是、工作认真、尽职尽责、一丝不苟、精益求精、具有良好的团队精神。
编码和注释能遵照本标准中的“程序设计与应用开发规范”;能根据配置管理要求进行源代码版本控制;能按时完成项目文档的编写;能按时完成程序Bug报告的提交;能按时完成程序功能的实现与测试;能及时汇报负责任务的进度。
对问题的答案具有强烈的渴求,不拘泥于固定的解题思维方式,具有丰富的想象力;保持最简单的就是最好的编码准则;善于总结,具有良好的学习能力。
爱护财产,具有安全意识。
二、程序设计与应用开发规范
本规范的目的是使软件开发人员能以标准的、规范的方式进行程序设计和应用开发。
通过建立此规范,使每个开发人员养成良好的编码风格和习惯;并以此形成开发编码约定,提高程序的可靠性、可读性、可维护性和一致性等,增进团队间的交流,并保证软件产品的质量。
1代码组织与风格
1.1基本原则
1.1.1代码的组织和风格的基本原则是:
便于自己的开发,易于与他人的交流;
1.1.2因个人习惯和编辑器等可以设置和形成自己的风格,但必须前后一致,并符合本规范的基本要求和原则;
1.1.3如果程序设计语言的通用编码约定与本规范有相冲突的地方,则以程序设计语言的通用编码约定为准。
1.2缩进
1.2.1子功能块应当在其父功能块后缩进;
1.2.2当功能块过多而导致缩进过深时,应当将子功能块提取出来作为子函数;
1.2.3代码中以tab键(4个字符)缩进。
1.3长度
1.3.1为了便于阅读和理解,单个函数的有效代码长度应当尽量控制在100行以内(不包括注释行);
1.3.2当一个功能模块过大时往往造成阅读困难,因此,应该使用子函数等将相应功能抽取出来,这也有利于提高代码的重用度;
1.3.3单个类也不宜过大,当出现此类情况时当将相应功能的代码重构到其他类中,通过组合等方式来调用,建议单个类的长度包括注释行不超过1500行。
尽量避免使用大类和长方法。
1.4行宽
1.4.1页宽应该设置为80字符,否则会导致在某些机器中无法以一屏来完整显示,但这一设置也可以灵活调整;
1.4.2在任何情况下,超长的语句应该在一个逗号后或一个操作符前折行。
一条语句折行后,应该比原来的语句再缩进一个tab键,以便于阅读。
1.5间隔
1.5.1类、方法及功能块间等应以空行相隔,以增加可读性,但不得有无规则的空行;
1.5.2操作符两端应当各空一个字符以增加可读性;
1.5.3相对独立的功能模块之间可使用注释行间隔,并标明相应内容。
1.6对齐
1.6.1关系密切的行应对齐,对齐包括类型、修饰、名称、参数等各部分对齐;
1.6.2连续赋值时,应当对齐操作符;
1.6.3当方法参数过多时,应当在每个参数后(逗号后)换行并对齐;
1.6.4当控制或循环中的条件比较长时,应当换行(操作符前)、对齐并注释各条件
1.6.5变量定义最好通过添加空格形成对齐,同一类型的变量应放在一起。
1.7括号
1.7.1{}中的语句应该单独作为一行;
1.7.2当左括号"{"紧跟其语句后,右括号"}"永远单独作为一行且与其匹配行对齐,并尽量在其后说明其匹配的功能模块;
1.7.3较长的方法以及类、接口等的右括号后应使用//end...等标识其结束;
1.7.4不要在程序中出现不必要的括号,但有时为了增加可读性和便于理解,可以使用括号限定相应项。
2注释规范
2.1基本原则
2.1.1注释应该增加代码的清晰度。
代码注释的目的是要使代码更易于被其他开发人员理解;
2.1.2避免使用装饰性注释内容;
2.1.3保持注释的简洁;
2.1.4注释信息不仅要包括代码的功能,还应给出原因;
2.1.5不要为注释而注释;
2.1.6除变量定义等较短语句的注释可用行尾注释外,其他注释当避免使用行尾注释。
2.2文件、包或命名空间注释
在每个文件、包或命名空间的头部都应该包含该文件的功能、作用、作者、版权以及创建、修改记录等。
2.3类、接口注释
在类、接口定义之前应当对其进行注释,包括类与接口的目的、作用、功能、继承于何种父类、实现的接口、实现的算法、使用方法等。
2.4方法注释
2.4.1对方法进行注释,以明确该方法功能、作用、各参数含义以及返回值等;
2.4.2复杂的算法用/**/在方法内注解出;
2.4.3参数注释时,应当注明其取值范围等;
2.4.4对于返回值,应当注释出失败、错误、异常时的返回情况;
2.4.5对于异常,应当注释出什么情况、什么时候、什么条件下会引发什么样的异常。
2.5其他注释
2.5.1应对重要的变量加以注释,以说明其含义等;
2.5.2应对不易理解的分支条件表达式加注释;
2.5.3不易理解的循环,应说明出口条件;
2.5.4过长的方法实现,应将其语句按实现的功能分段加以概括性说明;
2.5.5对于异常处理,应当注明正常情况及异常情况或者条件,并说明当异常发生时程序应当如何处理;
2.5.6在switch语句中,每当一个case顺着往下执行时(因为没有break语句),通常应在break语句的位置添加注释。
3命名
3.1基本原则
3.1.1规范的命名能使程序更易阅读,从而更易于理解。
它们也可以提供一些标识功能方面的信息,有助于更好的理解代码和应用;
3.1.2使用可以准确说明变量、字段、类、接口、包或命名空间等的完整的英文描述符。
严禁使用汉语拼音及不相关单词命名;
3.1.3采用该领域的术语;
3.1.4采用大小写混合,提高名字的可读性。
一般应该采用小写字母,但是类和接口的名字的首字母,以及任何中间单词的首字母应该大写;名或命名空间全部小写;
3.1.5尽量少用缩写,但如果一定要使用,当使用公共缩写和习惯缩写等,避免使用长名字(最好不超过25个字母)
3.1.6避免使用相似或者仅在大小写上有区别的名字;
3.1.7避免使用数字,但可用2代替to,用4代替for等。
3.2文件、包或命名空间
3.2.1文件名当与其类严格相同,所有单词首字母大写;
3.2.2包名或命名空间一般以项目或模块名命名,少用缩写和长名,一律小写;
3.2.3包名或命名空间按如下规则组成:
[基本包/命名空间].[项目名].[模块名].[子模块名]...。
3.3类、接口
类和接口的命名一般采用能确切反应该类、接口含义、功能等的名词,接口名可带I前缀或able、ible、er等后缀,类和接口名中所有单词首字母都必须大写。
3.4字段
3.4.1常量
采用完整的英文大写单词,在词与词之间用下划线连接,如:
DEFAULT_VALUE。
3.4.2变量和参数
对不易清楚识别出该变量类型的变量应使用类型缩写作其前缀,如字符串使用strXXX,boolean使用isXXX,hasXXX等等。
除第一个单词外其余单词首字母大写。
3.4.3组件/部件
应采用完整的英文描述符命名组件(接口部件),遵循匈牙利命名法则。
3.4.4集合
一个集合,应采用复数命名来表示集合中存放的对象类型。
命名应采用完整的英文描述符,名字中所有非开头的单词的第一个字母应大写,适当使用集合缩写前缀。
3.4.5其他
命名时应使用复数来表示它们代表多值。
如:
orderItems。
3.5方法
3.5.1方法的命名应采用完整的英文描述符,大小写混合使用:
所有中间单词的第一个字母大写。
方法名称的第一个单词常常采用一个有强烈动作色彩的动词。
取值类使用get前缀,设值类使用set前缀,判断类使用is(has)前缀;
3.5.2方法参数建议顺序:
(被操作者,操作内容,操作标志,其他⋯)。
3.6异常
异常类名由表示该异常类型的单词和Exception组成,如ActionException。
异常实例一般使用e、ex等,在多个异常时使用该异常名或简写加E,Ex等组成。
3.7数据库命名规范
3.7.1所有数据库表名均以T开头,各单词之间使用“_”相连,各单词小写,如T_user_func_distribute;
3.7.2字段名第一个字符必须是字母且为大写,各单词之间使用“_”相连,各单词小写。
如Func_name;
3.7.3所有表名与字段名最多可以包含30个字母数字字符,不能包含空格或特殊字符(如“!
”),但可以包含“$”、“#”和“_”。
4声明
4.1基本原则
声明的基本原则是遵守各种程序设计语言规范,并遵从习惯用法。
4.2包或命名空间
4.2.1在导入包或使用命名空间时,应当完全限制代码所使用的类的名字,尽量少用通配符的方式;
4.2.2如果导入一些通用包或命名空间,或用到一个包或命名空间下大部分类时,则可使用通配符方式;
4.2.3同一包或命名空间中的类导入时,应当声明在一起,可由编辑器自动完成此功能;
4.2.4重要的包或命名空间当添加注释。
4.3类、接口
类、接口定义遵守各种程序设计语言规范。
4.4方法
尽量限制成员函数的可见性。
4.5字段
4.5.1公共和保护的可见性应当尽量避免,所有的字段都建议置为私有,由获取和设置成员函数(Getter、Setter)访问;
4.5.2不允许“隐藏”字段,即给局部变量所取的名字,不可与另一个更大范围内定义的字段的名字相同(或相似)。
5类与接口
5.1基本原则
5.1.1类的划分粒度,不可太大,造成过于庞大的单个类,也不可太细,从而使类的继承太深。
一般而言,一个类只做一件事;另一个原则是根据每个类的职责进行划分;
5.1.2多使用设计模式,随时重构;
5.1.3多个类中使用相同方法时将其方法提到一个接口中或使用抽象类,尽量提高重用度。
5.2抽象类与接口
5.2.1一般而言:
接口定义行为,而抽象类定义属性和公有行为,注意两者间的取舍,在设计中,可由接口定义公用的行为,由一个抽象类来实现其部分或全部方法,以给子类提供统一的行为定义;
5.2.2多使用接口,尽量做到面向接口的设计,以提高系统的可扩展性。
5.3继承与组合
尽量使用组合来代替继承,一则可以使类的层次不至于过深,而且会使类与类,包与包或命名空间与命名空间之间的耦合度更小,更具可扩展性。
6方法
方法只完成一项功能,在定义系统的公用接口外的方法应尽可能的缩小其可见性;避免定义静态方法。
7表达式与语句
7.1基本原则
7.1.1表达式和语句应当清晰、简洁,易于阅读和理解,避免使用晦涩难懂的语句;
7.1.2每行至多包含一条执行语句,过长应当换行;
7.1.3避免在构造方法中执行大量耗时的初始化工作,应当将这种工作延迟到被使用时再创建相应资源,如果不可避免,则应当使用对象池和Cache等技术提高系统性能;
7.1.4避免在一个语句中给多个变量赋相同的值;
7.1.5尽量在声明局部变量的同时初始化。
唯一不这么做的理由是变量的初始值依赖于某些先前发生的计算;
7.1.6一般而言,在含有多种运算符的表达式中使用圆括号来避免运算符优先级问题。
7.2控制语句
7.2.1判断中如有常量,则应将常量置于判断式的右侧;
7.2.2尽量不使用三目条件判断;
7.2.3所有if语句必须用{}包括起来,即便是只有一句;
7.2.4当有多个else分句时应当分别注明其条件,注意缩进并对齐;
7.2.5过多的else分句当将其转成switch语句或使用子函数。
8错误与异常
8.1基本原则
8.1.1对于经常发生的可预计事件不要采用异常;
8.1.2不要使用异常实现控制结构;
8.1.3若有finally子句,则不要在try块中使用return语句,也不要在finally中使用return语句。
8.2异常的捕捉与处理
8.2.1每个捕捉到的异常都应该调用输出语句,打印出异常信息,避免异常的湮没;
8.2.2多个异常应分别捕捉并处理,避免使用一个单一的catch来处理。
9文件目录组织
由于各模块所要求的文件目录结构不一样,有关内容见“第二部分试题选编”中各章的说明。
第二部分试题选编
第一章程序设计试题
一、评分细则
程序设计试题从语法正确性、功能实现、代码规范性三个方面进行评分,评分细则见表1.1。
表1.1程序设计试题评分细则
评价项
分值
评分细则
语法正确性
30分
共3个子任务,每个子任务的语法部分分值为10分,共30分。
程序能正常编译或解释,为满分;每有一处语法错误扣2分,扣完为止。
功能实现
60分
共3个子任务,每个子任务的逻辑实现部分的分值为20分,共60分。
能完成各子任务的逻辑功能,则为满分;没有完成的功能点按照比例扣分。
代
码
规
范
性
代码书写格式规范
4分
代码缩进不规范扣1分;方法划分不规范扣1分;语句结构不规范扣1分;使用空行不规范扣1分。
类名、变量名、方法名命名规范
4分
类名命名不规范扣1分;变量名命名不规范扣1分;方法名命名不规范扣1分;类名、变量名、方法名没有实际意义扣1分。
注释规范
2分
整个项目没有注释扣2分;有注释,但注释不规范扣1分。
二、实施条件
测试所需的软硬件设备见表1.2。
表1.2考点提供的主要设备及软件
序号
设备、软件名称
规格/技术参数、用途
备注
1
计算机
CPU奔腾4以上,内存1G以上,XP操作系统。
用于软件开发和软件部署,每人一台。
2
MicrosoftVisualStudio2008或以上、NetBeans6.8或以上、Eclipse3.2或以上
软件开发
参考人员自选一种开发工具
3
MSDN或者JDK1.6帮助文档中文版
帮助文档
参考人员可以使用帮助文档
三、答题文件提交要求
答案以“答题文件”的形式提交。
请按以下要求创建答题文件夹和答题文件:
1创建答题文件夹
建立以“所属学校名_身份证号_姓名_题号”命名的文件夹,存放所有答题文件,如:
“湖南科技职业学院_340103***********_李维_A_1\”
2创建答题文件
创建三个子文件夹task1、task2、task3,将三个任务的源代码和可执行文件保存至相应文件夹。
即文件夹“湖南科技职业学院_340103123123121_李维_A_1\task1\”,用于保存任务1的源代码和可执行文件;文件夹“湖南科技职业学院_340103123123121_李维_A_1\task2\”,用于保存任务2的源代码和可执行文件;文件夹“湖南科技职业学院_340103123123121_李维_A_1\task3\”,用于保存任务3的源代码和可执行文件
3提交答题文件
将“所属学校名_身份证号_姓名_题号”文件夹打包,形成“所属学校名_身份证号_姓名_题号.RAR”文件,如:
“湖南科技职业学院_340103***********_李维_A_1.rar”,将该文件按要求进行上传。
四、试题
【试题1】
任务一:
输入某年某月某日,判断这一天是这一年的第几天。
例如,2001年3月5日是这一年的第64天。
要求:
使用分支结构语句实现。
任务二:
输出阶梯形式的9*9口诀表,如图1.1所示。
1*1=1
1*2=22*2=4
1*3=32*3=63*3=9
1*4=42*4=83*4=124*4=16
1*5=52*5=103*5=154*5=205*5=25
1*6=62*6=123*6=184*6=245*6=306*6=36
1*7=72*7=143*7=214*7=285*7=356*7=427*7=49
1*8=82*8=163*8=244*8=325*8=406*8=487*8=568*8=64
1*9=92*9=183*9=274*9=365*9=456*9=547*9=638*9=729*9=81
图1.1阶梯形式的9*9口诀表
要求:
使用循环结构语句实现。
任务三:
编程实现判断一个整数是否为“水仙花数”。
所谓“水仙花数”是指一个三位的整数,其各位数字立方和等于该数本身。
例如:
153是一个“水仙花数”,因为153=13+53+33。
要求:
用带有一个输入参数的方法或函数实现,返回值类型为布尔类型。
【试题2】
任务一:
已知某字符串数组,包含如下初始数据:
a1,a2,a3,a4,a5已知另一字符串数组,包含如下初始数据:
b1,b2,b3,b4,b5,做程序将该两个数组的每一对应项数据相加存入另外一个数组,并输出。
输出结果为:
a1b1,a2b2,a3b3,a4b4,a5b5。
要求:
●定义2个数组,用于存储初始数据。
定义另外一个数组,用于输出结果。
●做循环将两个初始数组的对应项值相加,结果存入另外一个数组。
(不要边加边输出)
●做循环将结果数组中的值按顺序输出。
任务二:
写出一个函数:
将某已知数组的奇数项组合成一个新的数组。
在主函数中调用该函数,并循环输出新数组的内容。
要求:
●主函数定义一个初始化的数组,该数组中的值为:
1,2,3,4,5,6,7,8,9,10,11
●写出一个函数,该函数的函数名为:
OddArray,函数需要的参数个数1个,参数数据类型为数组。
函数的返回值为数组。
函数体实现功能:
将参数数组中的奇数项存入另外一个数组,并返回该数组到主函数中。
●在主函数定义一个新的数组,用于取得函数OddArray的返回值,然后循环显示数组的值。
(显示出来1,3,5,7,9,11)
任务三:
现有学生类,有2个属性:
学号,姓名。
有大学生类继承此学生类,新增一个属性:
专业。
写出学生类,以及大学生类。
实例化大学类为一个对象并给大学生类的所有属性赋值。
要求:
●学生类,属性均为字符串类型;
●写出大学生类,继承学生类(专业的数据类型也为字符串)。
●在主函数中实例化大学生类为对象,并给该对象的每个属性赋值。
【试题3】
任务一:
已知某个班有M个学生,学习N门课程,已知所有学生的各科成绩,编程:
分别求每个学生的平均成绩,并输出。
要求:
●定义一个二维数组,用于存放M个学生的N门成绩。
定义一个一维数组,用于存放每个学生的平均成绩。
●做二重循环,将每个学生的成绩输入到该二维数组中。
●做二重循环,对已经存在于二维数组的中的值进行平均分计算,将结果保存到一个一维数组中。
●做循环输出该一维数组(即平均分)的值。
任务二:
利用递归方法求5!
用递归方式求出阶乘的值。
递归的方式为:
5!
=4!
*5
4!
=3!
*4
3!
=2!
*3
2!
=1!
*2
1!
=1
即要求出5!
先求出4!
要求出4!
先求出3!
......以此类推。
要求:
●定义一个函数,用于求阶乘的值;
●在主函数中调用该递归函数,求出5的阶乘,并输出结果。
任务三:
有一分数序列:
2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
要求:
利用循环计算该数列的和。
注意分子分母的变化规律。
【试题4】
任务一:
计算算式:
1+21+22+23+…+2n
要求:
n由键盘输入。
任务二:
输入一批学生成绩,以-1作为结束标记 。
统计这批学生中,不及格(score<60)、及格(60<=score<70)、中等(70<=score<80)、良好(80<=score<90)、优秀(90<=score<=100)的人数。
要求:
使用分支结构语句实现。
任务三:
创建5个学生对象给一个学生数组赋值,每个学生属性有:
学号、姓名、年龄
1.将学生按学号排序输出;
2.给所有学生年龄加1;
3.统计大于20岁的学生人数。
【试题5】
任务一:
编写一个程序找出100~1000之间的所有姐妹素数。
注:
姐妹素数是指相邻两个奇数均为素数。
要求:
使用循环结构语句实现。
任务二:
利用求n!
的方法计算2!
+4!
+5!
的值。
要求:
分别利用递归和非递归方法实现求n!
。
任务三:
设计一个类层次,定义一个抽象类--形状(类名:
Shape),其中包括有求形状的面积的抽象方法(方法名:
calArea)。
继承该抽象类定义三角形(类名:
Triangle)、矩形(类名:
Rectangle)、圆(Circle)。
分别创建一个三角形、矩形、圆存入一个数组中,将数组中各类图形的面积输出。
【试题6】
任务一:
编写一个应用程序,计算并输出一维数组(9.8,12,45,67,23,1.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第一 部分 抽查 考试 标准