0 引言
软件设计师考试是计算机技术与软件专业技术资格水平考试的中级资格考试,该考试在计算机领域具有权威性。在校大学生通过报考、复习、应考软件设计师资格,在一定程度上可以拓宽他们的专业知识领域,提高他们的实践能力。在当前就业难的形势下,拥有软件设计师资格证书的大学毕业生能跨过某些就业考试的门槛,抓住工作机会,获得更好的发展。笔者有软件设计师考试的经历,总结出了一些应对软件设计师考试的方法,以期在以后的计算机专业课的教学过程中融合软件设计师知识点进行教学,以考促教,同时也希望这些方法能够对报考2014年上半年软件设计师的在校考生有一定的参考价值,使他们更有效地进行复习,顺利地通过软件设计师考试。
1 迎战软件设计师
为了能够更好地把握软件设计师的考核知识点,以便将来能够更灵活地将其融入计算机相关专业课程的教学中,笔者与本学院软件工程专业大三的一些学生一起参加了2013年下半年的软件设计师考试,获得了较好的通过率,总结下来,我们作了以下几个方面的努力。
1.1 坚定信念
报名之后,因为种种原因,考生可能会缺乏自信心,不知从何下手。此时,考生要自我鼓励,坚定考试的信心;然后,参考自身以往类似成功的经验,选择一些适合自己的复习方法;接着,根据剩余的时间做好全面的复习计划。例如,浏览所在地的软考网及相关的权威网站、逛51CTO论坛、看上学吧、咨询前辈等等。自从有了最新的2013版的软件设计师考试大纲以来,我们需关注2009年以后的相关消息,较好的网站有中国计算机技术职业资格网http://。因为有研究发现软件设计师的历年考试内容比较稳定,所以历年的真题非常重要,考生必须要融会贯通历年真题。
1.2 两轮复习
收集最新版的考试大纲[1]、命题组指定教程[2]、历年真题[3]、模拟练习试卷等资料,通过练习促进复习。第一轮,对照大纲,通过做各章节的真题和模拟题来促进对新知识、新考核知识点的学习。笔者先了解了大纲中标注的知识点,再做此章节练习,遇到不懂的翻看指定教程和相应的真题精解。先易后难,查缺补漏。有些题目各种参考书的答案不统一,始终没有办法理解的,要请教其他同学或相应课程的任课教师。因为软件设计师考核的知识面很广,考查掌握和运用基础知识的情况,所以一定要吃透各章节的考核要点。考虑到自己以前考试时复习过软件工程、数据结构、数据库、专业英语,对于上午试题本人花了更多的时间复习计算机组成、操作系统、计算机网络等。例如UML序列图的过程调用、消息返回、对象应实现的方法,UML活动图同时运行的最大线程数,IPV4、IPV6,多个矩阵相乘的动态规划算法等,大家认为有疑问的问题都在章节要点练习之后逐一讨论解决并做好笔记。考虑到本人以前做毕业论文时使用过数据流图和数据库设计,对于下午试题花了更多的时间复习面向对象和UML、数据结构中的算法、程序设计题(C++和Java选做)。例如背包问题、装箱问题、回溯问题、不常见的设计模式等逻辑性较强的问题都是在其他问题练习之后再逐一讨论解决的并做好笔记。讨论时,为了培养自己灵活运用基础知识解决实际问题的能力,看一些结合实际的书,如《大话设计模式》等。第二轮,通过做历年真题试卷和模拟试卷来巩固对考核知识点的把握。在模拟考试的过程中,根据考核的知识点绘制知识结构图,强化记忆。按照考试时间提前一周反复演练,提高自己分析问题、解决问题的能力。
1.3 检测自我
有些题目虽然我们会经常做但就是认识模糊,例如软件成熟度模型CMM、动态规划算法、状态设计模式和装饰器设计模式等。要找出这类薄弱环节,进行再测试再理解。
1.4 从容应战
考前调整好身体状况,应考时认真审题,先易后难。在2013年下半年软件设计师考试下午试题的试卷内容中,比以往多了几个小的问答题,这就要求考生进行全面的分析解答,以确保回答要点的完整性。
2 将软件设计师考试融入计算机专业教学
在参加软件设计师考试之前,笔者承担了软件结构与设计这门课程的教学,学生普遍认为此课程的理论课过于抽象,对此,王春林老师提出“以活动来培养兴趣”、“以考促学”、“以信息系统开发和设计来积累经验”等方案来对学生进行有效的培养[4]。笔者觉得如果自己能够把软件设计师的一部分实例作为学生学习这门课的兴趣点,并结合“以考促学”,那么学生学习的效果应该会更好一些。例如上午试题的B/S、C/S、MVC、CORBA、Web服务等常见的软件体系结构风格,下午试题的抽象工厂、策略、组合、观察者、状态等常见的设计模式。对于对以后此门课程的教学,本人准备先讲解课本上的基本知识点,然后结合经典案例和相关的真题案例,进行软件设计,最后选取某个典型的信息系统进行综合性的应用设计。在使用讲授法对知识点进行讲解的过程中,结合案例教学法和任务驱动法,补充更多的图示、数据、案例、软件设计师考题等相关材料。
2.1 软件体系结构和设计模式
软件体系结构是软件的总体框架,就好比建造房屋风格的选择。在软件开发过程中,须考虑使用何种体系结构才能保证系统的易修改性,每种应用领域到底需要什么样的构件,构件怎样设计才能保证搭配的合理性,以及构件如何修改才能保证这个系统框架不受影响等。多年来总结出了许多成熟的软件体系结构风格,其中:两层C/S是一种胖客户机——瘦服务器的工作模型,客户机侧重数据的显示和分析,服务器侧重数据的管理;B/S是三层C/S体系结构的一种实现方式,主要利用了WWW技术,结合浏览器的多脚本语言,使系统的安装、修改、维护都在Web服务器和数据库服务器上进行,是“零客户端”的运作模式;MVC提供了一个结构,用于交互应用程序的用户界面的裁剪[5]。例如2013年下半年的上午题:POP3采用C/S模式,当客户机需要接受电子邮件服务时,客户端软件(Outlook Express)与POP3服务器建立TCP连接。POP3是一种规定怎样将个人计算机连接到Internet的邮件服务器和下载电子邮件的电子协议,是因特网电子邮件的第一个离线标准。POP3允许用户把服务器上的邮件存储到本地主机,同时删除先前保存在邮件服务器上的邮件。POP3服务器是遵循POP3协议的邮件接收服务器,是用于接收电子邮件的。
使用规范化的软件体系结构描述来描述系统构件之间的接口,可以帮助设计师完成设计工作。常常使用UML来描述软件体系结构。UML通过提供一些图(用例图、类图、顺序图、活动图等),使得可以通过多个视图从不同角度来描述一个系统。有时,某些对象具有生命周期,它们对应于软件的功能需求是非常重要的,但它们却很复杂,这就需要我们能够经常跟踪其状态的变化。例如2013年下半年的下午试题之UML:状态图。在设计软件体系结构时,可以使用一些设计模式(创建型设计模式、结构型设计模式、行为性设计模式),来帮助设计师选择可使系统重用的设计方案。而当我们使用领域驱动和用例驱动的方法在构造软件体系结构时都用到了领域模型[6]。领域建模(概念模型)显示最重要的业务概念和它们之间的关系的类图。例如2013年下半年的上午试题之软件工程:领域模型通常不包含操作。领域模型是真实世界的各个事物的表示,而不是软件中各构件的表示。领域模型是现实世界的一个可视化抽象字典,是没有方法的类图的集合。
3 结束语
2013年下半年全国计算机技术与软件专业技术资格(水平)考试第一次实行全国统一改卷,对考生做答下午试题的要求更高了。要想在软件设计师考试中取得较满意的成绩,我们应该在备考中坚定信心,坚持不懈地努力复习,参照考试大纲,边练习边归纳知识点,在应考时从容不迫,认真审题和答题。虽然在软件结构与设计和软件需求工程课程的教学中适当地应用了软件设计师考试中的设计模式、DFD和UML,并取得了较为满意的效果,但是要想更灵活地将其融入到计算机专业课程体系中,还有待提高我们自身的专业素养。
参考文献: 本文选自《计算机时代》2014年第5期,版权归原作者和期刊所有,如有异议,请联系第一 论文网QQ 71208696 7,我们将在第一时间处理。
中国论文网(www.lunwen.net.cn)免费学术期刊论文发表,目录,论文查重入口,本科毕业论文怎么写,职称论文范文,论文摘要,论文文献资料,毕业论文格式,论文检测降重服务。 返回通信学论文列表