软考软件设计师知识点有什么?
工欲善其事,必先利其器。
在做一个项目时必定要先做好调试除错的预备在面向过程编程的时代都是以检测返回的错误代码来判定错误,可是这种方法的缺点是假如编写某一操作的时候可能出现的错误代码(比如说硬件操作)太多,那么最终用户将会陷入倒无穷无尽的检测代码中,可能会是这个样子 UINT err=Functionxx(…); if(err==xxx) … if(err==xxx) … … … 省略100行 只有这样程序才能在出现意外的时候有所相应和恢复,但是由于错误处理太庞大了最终用户很可能这样 if(Functionxx()!=SUCEEDED) exit(0); 这样某些可能可以恢复的操作也无法幸免了,(比如说网络连接超时,终止运行太过分了吧,只要弹出个对话框就行了) 在面向对象编程的时候,不可否认,很多人仍然还是这样排错的,其实各种面向对象的语言都提供了异常处理的手段(比如说Object Pascal,C++,本文以C++为例) 下面是我的关于异常的一些使专心得 对于各种用户来说,并不是每一种错误都是他关心的,非凡是小组开发的时候比如某一模块是关于文件操作的,那么编写这个模块的程序员只要注重关于文件操作失败的异常就行了,而网络模块的程序员只要知道网络出错的错误处理就行了,因此,我们可以定义一个这样的类 class CBasicException { CBasicException(…); char* GetDescription(); UINT GetErrorCode(); … }; 然后再从这个类继续几个子类 CFileException,CNetException… 然后和具体某一类错误相关的具体的异常分别从上面的类里面继续,比如文件打开失败,空间不够等等 可以从CFileException继续,而连接超时等等可以从CNetException继续,如此一来就将错误分类了整个类层次是这样的 CBasicException / \ CFileException CNetException / \ / \ COpenFailed … CTimeOut … 进入讨论组讨论。
之后将各个错误码和相应的异常对应起来,一些不太重要的信息可以封装在一个异常里,比如文件打不开可能是空间不够或共享冲突…,都可以放在一起,假如以后要专门处理某一样,比如空间不够,再从相应的基类继续即可(COpenFialed) 然后你的函数应该这样实现 CMyfunc() { … throw Cxxx(…); } 而在相应的调用部分则可以这样写 void Operation1() { try{ Myfunc() } catch(CFileException& e)//处理文件 { PRintf(“%s”,e.GetDescription()); throw;//重新抛出,假如搞定就不用再抛出了 } catch(CNetException& e)//网络 { … throw; } } 这样只要catch想要处理的异常就行了 但是你的主函数应该这样写 void main() { try{ Opertion1(); Operation2(); Operation…… … } catch(Cxxx& e)//处理未捕捉的重要异常 { … } catch(CBasicException& e)//对你所封装的错误总的处理 { … } catch(…)//其他异常,未被封装,比如除0 { … } } 这样处理就合理多了 而且假如在异常的描述里加上出错地点就更好了,比如出错函数名 不过千万不要将异常基类的catch写在子类的上面否则子类的catch可能永远不会工作了 比如: try{ … } catch(CBasicException& e) { … } catch(CFileException(& e) { … } 这样后面的catch就再也不会被执行了 另外在类的构造函数和析构函数里不能返回值的,这时就只能用异常了
近几年软件设计师考试重点
软件设计师考试大纲中计算机与软件工程知识 (1)首先基础知识中涉及到计算机硬件的内容和多媒体知识以及语言知识问题,这是一个量的积累,最后实现质的飞跃。
(2)数据结构部分,这是首次学习线性表、数组、广义表、树、图、查找算法和排序及算法的分析等。
这部分的学习,要吃透理论、适当加大习题量、最好能结合上机,深化理解。
数据结构好比是武功中的内功,数据结构学习用了我一至二年的时间,以自学教材为主。
吃透理论就是反复读书,以一本书为主(目前清华大学严蔚敏老师的数据结构是一个经典),可能的话,再搜罗其他版本的教程,这样可以互相印证,就同一问题,多看几本书这一做法,也可推广到其他学科的学习中。
(3)操作系统知识,主要从资源管理的角度来分析系统功能的实现。
假设你要设计一个新的操作系统,如何实现它?操作系统理论就是向读者逐步介绍和解释。
重点是五大管理职能的实现及其原理。
(4)计算机网络中对ISO/OSIRM七层的划分以及各种协议的功能。
传输理论、互联设备、Internet知识,除参考模型理论外,其他的比较比较凌乱。
(5)系统安全问题是目前社会关注的问题,也是应用价值较高的知识,可结合现实中的相关问题来加深理解。
软考中的信息化、标准化知识是新增考点,是对基本素质的考查,也要重视。
专业英语,不是软件考试特有的,是专业知识+英语水平,考前不需专业准备,平时有意识地上网读点英文专业资料。
软考的考试内容既是大学计算机本科专业的必修课,同时又有着鲜明的侧重点,这对于没有经过系统学习的朋友们来说,无疑是一次全面、深入学习的机会,无论是自学或是参加培训,只要去学了就会对计算机有更深入全面的了解,而不只是停留在过去那些肤浅的认识上面。
以上是专业背景知识,是对软件设计师基本素养的要求。
软件设计师的专业能力 软件设计师,关键是设计软件的能力。
考试大纲要求:要熟悉软件工程、软件过程改进和软件开发项目管理的基础知识;熟练掌握软件设计的方法和技术;掌握C程序设计语言及指定的四种面向对象语言中的一种。
这部分专业能力严重依赖工作实践,要求有一定经验的积累,是具有工程师的实际工作能力和业务水平的体现,但目前大量在校生参加考试,虽没什么工作经验可言,但通过学习和借鉴,仍可以取人之长,补已之短。
这部分内容主要体现在下午的考试题中,现就如何应对下午的考试进行分析: 在近几次考试中,下午试题分五个题目,一个数据库、一个程序填空题、一个面向对象的语言题,另两个题目分别为数据流图、UML或流程图等。
数据库题目,要求补全SQL语言,这要求考生熟悉SQL的语言,无论对上午题目还是下午题目都很重要。
这是学习和复习的一个重点。
数据流图,DFD是一种分析系统数据流程的图形,意在让用户理解系统的功能、输入、输出和数据存储等。
请认真弄清其应用后,在画出数据流图的情况下,系统的功能也就确定了,再经过细化,逐步向物理结构迈进。
考核时,试题多从父图和子图的平衡来分析。
这部分内容,解题的关键是高度重视题目说明,务必正确、深入理解其内容,必要时要读几遍,同时对于给出的图表,也要务必看懂。
这样答题就轻松了,答案实际就蕴含在说明中。
流程图类题目,是大家再熟悉不过的了,它就一个具体问题的解题思路进行描述,是面向过程的。
但所求问题是千差万别的,因此应理解思路,细心作答。
程序填空是答题形式最简单同时也是难度最大的。
为便于阅卷,这类题目以程序填空形式出现,这不仅要求理解问题本质,同时也要弄清作者解题思路,这一点比自己独立完成程序设计要难得多。
依个人经验,首先要针对问题,设计自己的思路,解决问题,确定先后顺序;然后试读程序,如果思路大体一致,题就容易解决了,如果思路不一致,就要设法弄清每一段代码的功能及其逻辑结构,进而弄清命题人的解题思路,再顺势解决问题。
人们常讲,答案就在题目中,这是对的。
在分析问题过程中,找到所求答案。
不过前提条件是考生要熟悉这种语言,又要明白解题思路,这样才能正确作答。
近年来对于统一建模语言UML考查较多,已引起了考生的注意。
它代表了软件工程的发展趋势,目前是可视化建模的事实上的工业标准。
人们对于图的理解相对其他形式更容易一些,图能更清晰地描述和说明问题的本质,因此,UML体现了这一特点。
这类题目难度与数据流图相似,自然解题思想也相同。
从形式上看,数据流图更朴实一些,UML类的题目则透出一种新颖、现代的气息。
最后的题目面向对象语言是一个选做题,给考生以自由,可以发挥个人的优势。
命题已注意到不同语言的考查难度的一致性,要求考生就同一问题回答,实现了形式上的公平。
应考的核心问题 要高度重视近几年的试题。
试题是对考试大纲的外化,是对相应知识的梳理,直接体现考查意图。
如能把历年试题研究几遍,通过考试不成问题。
因此,一个高效的学习方法,就是先研究历年考试题,通过做题,巩固已有知识,强化能力。
针对试题不同内容,进行归纳总结,找...
一年有多少人能考过软件设计师
软件工程专业和适合考软件设计师,不过大一还为时过早,大二的时候学软件工程,数据库,计算机网络,数据结构等几门课,里面有相当多的知识可以考到。
软件设计师分为上午和下午,上午75个选择题,下午5个大题。
其中,下午题的第一题数据流图和第三题UML图,在软件工程这门课上会学,上午也大概有15-20个会用软件工程的知识,所以,软件工程这门课是软考最得力的助手。
下午题第二题是数据库的考察,第四题是C语言和数据结构的知识,第五题是C++和JAVA选择一道。
这样,等大二的时候学好了软件工程,数据库,计算机网络,数据结构,C++等,上午题差不多可以占到55-60分,下午题全包了,再有就是把前三年以内的六套软考题都做一下,进行总结,很有用,祝你好运。
PS:本人也是软工的,是大二下学期报的...
全国计算机软件设计师考试大纲内容是什么呢?
一、考试说明 1.考试要求: (1) 掌握数据表示、算术和逻辑运算; (2) 掌握相关的应用数学、离散数学的基础知识; (3) 掌握计算机体系结构以及各主要部件的性能和基本工作原理; (4) 掌握操作系统、程序设计语言的基础知识,了解编译程序的基本知识; (5) 熟练掌握常用数据结构和常用算法; (6) 熟悉数据库、网络和多媒体的基础知识; (7) 掌握C程序设计语言,以及C++、Java、Visual、Basic、Visual C++中的一种程序设计语言; (8) 熟悉软件工程、软件过程改进和软件开发项目管理的基础知识; (9) 熟悉掌握软件设计的方法和技术; (10) 掌握常用信息技术标准、安全性,以及有关法律、法规的基本知识; (11) 了解信息化、计算机应用的基础知识; (12) 正确阅读和理解计算机领域的英文资料。
2.通过本考试的合格人员能根据软件开发项目管理和软件工程的要求,按照系统总体设计规格说明书进行软件设计,编写程序设计规格说明书等相应的文档,组织和指导程序员编写、调试程序,并对软件进行优化和集成测试,开发出符合系统总体设计要求的高质量软件;具有工程的实际工作能力和业务水平。
3.本考试设置的科目包括: (1) 计算机与软件工程知识,考试时间为150分钟,笔试; (2) 软件设计,考试时间为150分钟,笔试。
二、考试范围 考试科目1:计算机与软件工程知识 1.计算机科学基础 1.1 数制及其转换 · 二进制、十进制和十六进制等常用制数制及其相互转换 1.2 数据的表示 · 数的表示(原码、反码、补码、移码表示,整数和实数的机内表示,精度和溢出) · 非数值表示(字符和汉字表示、声音表示、图像表示) · 校验方法和校验码(奇偶校验码、海明校验码、循环冗余校验码) 1.3 算术运算和逻辑运算 · 计算机中的二进制数运算方法 · 逻辑代数的基本运算和逻辑表达式的化简 1.4 数学基础知识 · 命题逻辑、谓词逻辑、形式逻辑的基础知识 · 常用数值计算(误差、矩阵和行列式、近似求解方程、插值、数值积分) · 排列组合、概率论应用、应用统计(数据的统计分析) · 运算基本方法(预测与决策、线性规划、网络图、模拟) 1.5 常用数据结构 · 数组(静态数组、动态数组)、线性表、链表(单向链表、双向链表、循环链表)、队列、栈、树(二叉树、查找树、平衡树、线索树、线索树、堆)、图等的定义、存储和操作 · Hash(存储地址计算,冲突处理) 1.6 常用算法 · 排序算法、查找算法、数值计算方法、字符串处理方法、数据压缩算法、递归算法、图的相关算法 · 算法与数据结构的关系、算法效率、算法设计、算法描述(流程图、伪代码、决策表)、算法的复杂性
软件设计师如何备考?
一个个回答你,软件开发的工作一般来说男的做的多,但只要你有恒心也一定做得好,我好几个女同学,也仍然在这一行奋斗着。
工作量的话,看你在什么公司,不过一般来说都不会太轻松。
软设考试学习量还是比较大的,入行了会好很多。
你自己本来就是学这方面的,对你来说应该会好很多,你可以去买些相关教材,比如:《软件设计师考试冲刺指南(新修订版)》、《软件设计师考试培训视频教程(76课时)》。
我去年考软件设计师时,参加过希赛软件设计师培训班这样才通过的;前景应该是比较好的,薪水待遇也不错
软件设计师都要学习什么知识
软件设计师的知识就是本科计算机的大部分专业课程,包括计算机组成原理,编译原理,数据库,软件工程,计算机网络,面向对象。
数据结构等,如果是计算机专业毕业,很好准备。
但是如果楼主想学编程,建议不要考软件设计师,因为软件设计师主要是一些计算机的理论,和编程的关系不是很大,如果真的想学习编程,还是有机会找个地方实习,只有动手编程能力才能得到极大的提高。
软件设计师考试大纲谁知道呢?
1.考试要求: (1) 掌握数据表示、算术和逻辑运算; (2) 掌握相关的应用数学、离散数学的基础知识; (3) 掌握计算机体系结构以及各主要部件的性能和基本工作原理; (4) 掌握操作系统、程序设计语言的基础知识,了解编译程序的基本知识; (5) 熟练掌握常用数据结构和常用算法; (6) 熟悉数据库、网络和多媒体的基础知识; (7) 掌握C程序设计语言,以及C++、Java、Visual、Basic、Visual C++中的一种程序设计语言; (8) 熟悉软件工程、软件过程改进和软件开发项目管理的基础知识; (9) 熟悉掌握软件设计的方法和技术; (10) 掌握常用信息技术标准、安全性,以及有关法律、法规的基本知识; (11) 了解信息化、计算机应用的基础知识; (12) 正确阅读和理解计算机领域的英文资料。
2.通过本考试的合格人员能根据软件开发项目管理和软件工程的要求,按照系统总体设计规格说明书进行软件设计, 编写程序设计规格说明书等相应的文档,组织和指导程序员编写、调试程序,并对软件进行优化和集成测试, 开发出符合系统总体设计要求的高质量软件;具有工程的实际工作能力和业务水平。
3.本考试设置的科目包括: (1) 计算机与软件工程知识,考试时间为150分钟,笔试; (2) 软件设计,考试时间为150分钟,笔试。
转载请注明出处51数据库 » 2014软件设计师知识点整理