软考软件设计师(软考软件设计师教材)

软考软件设计师

软考软件设计师怎么考?

  • 完整问题:软考软件设计师怎么考?
  • 好评回答: 1、具体学习每门课程的方法 (1)软件工程。软件工程是软件设计师考试复习的重点,不但上午题当中占10左右,而且下午题里也有2道软件设计分析方面的题目,一定要熟练的掌握书本中说到的各种软件分析设计方法及有关的分析用图,对各种图的功能作用和制作方法(特别是各种图的组成元素)以及各种图之间的转换及联系(如果有的话),UML面向对象的软件设计方法及面象过程的软件设计方法完全理解,软件测试要达到理解的程度,其它的内容只有去强记了,因为基本是都是上午题,而且每年的题都不定,但与CMM有关的一定会有。 (2)数据库。数据库部分也很重要,上午有5分左右,下午至少有一道数据库的题目,而且也一定是考关系型数据库,E-R模式也要搞懂,可由它导出关系,一定要弄懂关系数据库的几个范式及关系的建立方法。 因此,就要对关系数据库的基础概念非常清楚,如键的定义,函数依赖,范式的定义、作用及转换是建立关系的基础。数据的并发控制,要熟练掌握SQL常用的几个语句,最好是用笔将每个语句写上几遍,对语句的各种形式加深记忆,数据库的学习还是不太难的。因为考试不会考数据的物理存储及数据安全,感觉这方面的知识更难,交叉学科更多。 (3)学习数据结构和算法。数据结构和算法是考试的重点内容,它的复习以普通的教材为主(相关书籍学计算机的应该都有一本吧),对数组、链表、队列、栈、树及堆等基本的数据组织方式要非常熟悉(要做到看见算法就知道要用什么数据组织方式更高效),排序、索引及图的各种算法要了然于心(算法的分析过程及代码要非常清楚),算法的分析方法达到理解应用的水平。 对C语言要非常熟练(要会应用C语言语句的一些技巧,如可以利用函数的返回值做为判定条件,在循环中对数组的处理可使用a[i ]来提高编写代码的效率,这类的小技巧只有通过大量的阅读代码才能提高),如果是初学面向对象方面的高级语言,建议还是先学C ,感觉它更象一种语言规范,而Java是一种编程的工具并且由于它的跨平台特性所以它有很多自己独有的功能和特点,有时间一定要看一本C 语言的数据结构它能使你更全面和深刻的理解类及对象的编程方法。 算法的学习不是一朝一夕就能提高的,一定要静下心来学习一些经典算法,比如:穷举法、贪婪法、分治法、迭代法、递推法、递归法、回溯法;找一些有名的算法程序来分析,比如:背包问题、组合问题、斐波那契数列、马踏棋盘问题、货朗担问题、八皇后问题、迷宫问题、汉诺塔问题、约琴夫环问题等。 有了这些算法思想在你的头脑中扎根后,当看到问题,你就自然的想起用什么方法来求最优解了。 (4)程序设计语言。程序设计语言包括C语言、编译原理和面向对象的程序设计语言(通常以C 为例)。编译原理一定会考词法分析,它是后面编译过程的基础。主要考的内容是NFA与DFA的转换、正规式与有穷自动机的转换等。 文法分析有一年考过下午题,这科对初学者比较难,比较抽象,理论性也比较强,反正我是学了4个来月才学通一点,这课复习没什么技巧,用功学吧!不过听听希赛的“编译原理视频教程”,学起来更快一些。 C语言要掌握好三种基本结构、数组、链表、结构体、共用体、参数传递、指针及指针数组、指针函数等等。面向对象的程序设计语言要对基本概念及初步应用要了解,考得不深。 (5)面向对象方法学。面向对象方法学不但是上午的考试重点,也是下午的考试重点。上午平均有12分左右,而下午有30分,一道与UML图形有关的题目,一道面向对象程序设计的选做题。所以要好好掌握这一块。UML当中的类图、用例图、状态图、协作图要掌握好,考试中会常出现。(老师多次强调这个要学习的知识点,我通过做题,认为老师抓的很准。) (6)操作系统。操作系统没什么说得了,把它的几个功能模块搞清楚及相关的算法搞清楚就好了,如处理器的管理、存储管理、设备管理、文件管理及系统安全,其中我认为比较难理解的是PV操作(在并发进程中它的应用非常灵活)和中断(反正这个对我比较难),一定要把相关内容所讲到的算法及分析过程搞懂,这样考试相关的题目对你来说就小儿科了。当然还要注意进程死锁的问题,段页式存储的问题。 其它课程的复习就按考试大纲进行,把里面的概念搞清楚就行,因为它大部分都是上午题。 2、看书与练习相结合 “看书时没有目的性,不带着任务走,看到哪里算哪里;看后不做题进行巩固”,我以前犯得就是这个毛病,每天看得是云里雾里的,不做练习巩固,过几天就忘记了。所以,我看了书以后,总要找一两个相关的题来做一做。 后来,可以做模拟试题了,几天才做完一套,遇到做错的知识点,就找出教材或辅导教材来,争取弄懂;但进度太慢了。从四月中旬开始,我就争取时间每两天做一套,还将做错题目的试题分析好好看懂,当然到了后来,一看就会的题目我就不做了,为了节省时间。通过做模拟试题、历年试题可以锻炼做题的节奏,树立解题的信心,熟能生巧。 以前我的数据结构与算法不太好,通过练习,到考之前做题,只要能做得了的就有八九成的把握。做题还能强化你的记忆,并能做到查漏补缺,遇到不懂不会的就查书把概念搞清楚,毕竟现在不明白总比考试时不明白好多了。最后再说一句,别把考试看得太难了,只要你准备充分,我想没有考不过的理由。 。
  • 软考软件设计师知识点有什么?

  • 完整问题:软考软件设计师知识点有什么?
  • 好评回答:工欲善其事,必先利其器。在做一个项目时必定要先做好调试除错的预备在面向过程编程的时代都是以检测返回的错误代码来判定错误,可是这种方法的缺点是假如编写某一操作的时候可能出现的错误代码(比如说硬件操作)太多,那么最终用户将会陷入倒无穷无尽的检测代码中,可能会是这个样子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就再也不会被执行了另外在类的构造函数和析构函数里不能返回值的,这时就只能用异常了。
  • 求软考软件设计师考试视频教程

  • 完整问题:求软考软件设计师考试视频教程
  • 好评回答:我去年考软设的时候,买了希赛软件设计师串讲视频教程,效果挺好的,可以说是精华的浓缩。对于数据流图设计、面向对象设计、数据库设计、常用算法等下午试题所涉及的方法和技术进行了详细的讲解。你去买这个吧,真的挺好的。
  • 完整问题:软考中级的软件设计师难考吗?
  • 好评回答:这个得根据每个人的知识把握程度来定义。题目都是人出的,只看你这个知识点有没有把握而已。我们可以先来看看这个证书的作用软件设计师其中重点是软件设计和软件工程,这要求我们要有全局观,从长远来考虑。对以后的相关行业发展能起到关键的作用。同时软考本身就是职称考试,考过即可获得相应的职称,未来升职加薪指日可待。譬如我,当时就是单位有要求,需要评职称,从事的又是软件开发这方面的工作,进而选择了这个科目来考。同时的话软件设计师是指能根据软件开发项目管理和软件工程的要求,按照系统总体设计规格说明书进行软件设计,编写程序设计规格说明书等相应的文档的实用性人才。还能够组织和指导程序员编写、调试程序,并对软件进行优化和集成测试,开发出符合系统总体设计要求的高质量软件;具有工程师的实际工作能力和业务水平。软件设计师考点备考的方向一定是理论与实际相结合,毕竟这门考试分上下午,上午考基础知识这块,下午考应用技术,上下午必须都达到45分方算通过该科目考试考核标准。其中一门未通过,则参加下一期考试时,上下午都需重新考试。
  • 34岁考两本软考软件设计师证书35岁考两本软考网络工程师证书

  • 完整问题:请问34岁考两本软考软件设计师证书,35岁考两本软考网络工程师证书,会不会有点晚。
  • 好评回答:我认真回复你:你得明确,你考这些证书干什么用?另外,你现在从事的职业和以后将要从事的职业,也就是职业规划的问题。首先,这些证书你拿到手的用处是什么,敲门砖还是镀一层金。如果真才实学想要学会这些,如果你没有基础,我觉得你得选择一门钻研,而不是网络和软件设计师一起抓。因为,其中的任何一个门类要学完整和系统都是非常困难的。其次,如果你想从事此类行业,恕我直言,有点晚。因为年龄在那,特别是软件编程之类的,需要花费很长的时间和精力,因为岁数上去了,很容易累。毕竟码农是用生命在搏。如果你想学的是软件架构,那么此类职业是极度需要经验的。网络工程师是需要经验的,光凭证书没有办法进入此类行业。总结,你有此类工作经验,我建议你学一下网络工程师,软件的放弃吧,精力耗不起。如果只是兴趣,没有问题。35岁学习这两门课程晚了。软件和网络都不可能一年内能学完整的。
  • 软考软件设计师的详细设计的基本任务是什么呢?

  • 完整问题:软考软件设计师的详细设计的基本任务是什么呢?
  • 好评回答:详细设计的基本任务:  (1)为每个模块进行详细的算法设计。用某种图形、表格、语言等工具将每个模块处理过程 为每个模块进行详细的算法设计。 为每个模块进行详细的算法设计的详细算法描述出来。   (2)为模块内的数据结构进行设计。对于需求分析、概要设计确定的概念性的数据类型进行 为模块内的数据结构进行设计。 为模块内的数据结构进行设计确切的定义。   (3)对数据结构进行物理设计,即确定数据库的物理结构。物理结构主要指数据库的存储记 对数据结构进行物理设计, 对数据结构进行物理设计即确定数据库的物理结构。 录格式、存储记录安排和存储方法,这些都依赖于具体所使用的数据库系统。   (4)其他设计:根据软件系统的类型,还可能要进行以下设计:   ①代码设计。为了提高数 其他设计: 其他设计 根据软件系统的类型,还可能要进行以下设计: 代码设计。 据的输入、分类、存储、检索等操作,节约内存空间,对数据库中的某些数据项的值要进行 代码设计。   ②输入 输出格式设计。 输出格式设计。人机对话设计。 对于一个实时系统, 用户与计算机频繁对话, 因此要进行对话方式、 内容、   ③人机对话设计。 格式的具体设计。   (5)编写详细设计说明书。   (6)评审。对处理过程的算法和数据库的物理结构都要评审。  结构化程序设计方法:  详细设计是软件设计的第二阶段,主要确定每个模块具体执行过程,也称“过程设计”,详细设计的目标不仅是逻辑上正确地实现每个模块的功能,并使设计出的处理过程清晰易读。过程设计中采用的典型方法是结构化程序设计(简称 SP)方法, 最早是由 E。W。Dijkstra 在 60 年代中期提出的,它是实现详细设计目标的关键技术之一。
  • 版权声明