软件设计师该怎么安排计划学习?
如果你决定要考,一定要坚持下去,我周围人都考过,有的准备了半个月(每天6小时),有的准备了2个月(每天准备4小时)。
我属于后者,可以把我的经验分享给你。
我是属于先看书,后做题的类型,因为我当时准备的比较早,所以决定先看书,如果你决定突击半个月,那看书是来不及了,只能先做历年真题,这样效率比较高。
第一步:看教材(1)我选择的教材是:书 名:软件设计师教程—全国计算机技术与软件专业技术资格(水平)考试指定用书 作 者: 陈平、褚华、全国计算机技术与软件专业技术资格(水平)考试办公室组编出版社: 清华大学出版社(2)我看书的方法是:看教材,软件设计师教程中的每一章都对应计算机本科的一门课程,例如第一章将的内容对应本科计算机的计算机组成原理课程,第二章对应编译系统课程。
先看软件设计师的第一章,在对应看本科的教材,然后看软件设计师教程的第二章,然后再对应看本科学过的该章对应的教材,依次类推。
(3)看书持续的时间:2个星期。
第二步:做历年真题:这一步骤是收获最大的期间,该过程完成,你会觉得对考试很有把握,并且自信心极大提高。
(1)我选择的书是:作者: 希赛IT教育研发中心 王勇 唐强 丛书名: 全国计算机技术与软件专业技术资格(水平)考试试题分类精解 出版社:电子工业出版社 这本书是我至今认为准备软件设计考试的最好的教材,希望尽量借到,书中也有个别错误,我都大概有印象,有疑问的欢迎和我交流。
(2)我看书的方法是:做题,然后对照答案,在此过程中可以弥补第一次看书时候的不足,那些题目不会做,用笔记录,并到软件设计师教程相应的章节找答案,看是哪些原因让自己做错,如果是自己遗漏了知识点,则在书中划出标记,如果是书中根本没有提及的知识点,那用比在书上讲该知识点记录好。
(3)做题持续时间:2星期。
第三步:做模拟试题(1)我选择的教材是:模拟试题我做过4本,薄的厚的都有,但个人认为下面这本书最好,其他的我感觉都偏,而且错误百出。
书 名:软件设计师考试模拟试题汇编与答案分析作 者: 全国计算机技术与软件专业技术资格考试丛书编委会组 编出 版 社: 机械工业出版社(2)我看书的方法是:每一套模拟题都要集中时间做,学会掐算时间,并给自己打分,如果在及格线左右,那恭喜你,你可以去考试了,因为考试的真题比模拟题稍微简单一点,并且你在真正的考试时候,状态肯定要比做模拟题好。
(3)做题持续时间:1星期。
第四部: 将前三步的过程重新走一遍时间大概2个星期。
希望你顺利通过考试!版权所有,请勿转载!
考“软考”的软件设计师,该看什么书?
要参加软件设计师的考试,务必购买两本书:《软件设计师教程》《教程》建议买教育部指定的教材,《软件设计师历年试题解析》。
《解析》倒也无所谓,张友生老师的分析似乎更全面、更有针对性。
另外还有《软件设计师大纲》,在复习过程中阶段性地查一查,梳理一下知识结构体系,可以查缺补漏。
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、看书与练习相结合“看书时要有目的性,带着任务走,;看后做题进行巩固,所以看了书以后,要找一两个相关的题来做一做。
软件设计师考试都考什么内容??
一、考试科目 (1) 计算机与软件工程知识,考试时间为150分钟,笔试,选择题; (2) 软件设计,考试时间为150分钟,笔试,问答题。
二、考试要求 (1) 掌握计算机内的数据表示、算术和逻辑运算方法; (2) 掌握相关的应用数学及离散数学基础知识; (3) 掌握计算机体系结构以及各主要部件的性能和基本工作原理; (4) 掌握操作系统、程序设计语言的基础知识,了解编译程序的基本知识; (5) 熟练掌握常用数据结构和常用算法; (6) 熟悉数据库、网络和多媒体的基础知识; (7) 掌握C程序设计语言,以及C++、Java、Visual Basic、Visual C++中的一种程序设计语言; (8) 熟悉软件工程、软件过程改进和软件开发项目管理的基础知识; (9) 掌握软件设计的方法和技术; (10) 了解信息化、常用信息技术标准、安全性,以及有关法律、法规的基础知识; (11) 正确阅读和理解计算机领域的英文资料。
三、考试范围 (一)、软件工程知识 1、 计算机科学基础知识 1.1数制及其转换 ◇ 二进制、八进制、十进制和十六进制等常用数制及其相互转换 1.2 计算机内数据的表示 ◇ 数的表示(补码表示,整数和实数的表示,精度和溢出) ◇ 非数值表示(字符和汉字表示,声音表示、图像表示) 1.3算术运算和逻辑运算 ◇ 计算机中的二进制数运算方法 ◇ 逻辑代数的基本运算 1.4其他数学基础知识 ◇ 常用数值计算 ◇ 排列组合,概率论应用,应用统计(数据的统计分析) ◇编码基础 ◇ 命题逻辑、谓词逻辑、形式逻辑的基础知识 ◇ 运筹基本方法 2、计算机系统知识 2.1计算机硬件基础知识 2.1.1计算机系统的组成、体系结构分类及特性 ◇ CPU、存储器的组成、性能和基本工作原理 ◇ 常用I/O设备、通信设备的性能以及基本工作原理 ◇ I/O接口的功能、类型和特性 ◇ CISC/RISC,流水线操作,多处理机,并行处理 2.1.2存储系统 ◇ 虚拟存储器基本工作原理,多级存储体系 ◇ RAID类型和特性 2.1.3可靠性与系统性能评测基础知识 ◇ 诊断与容错 ◇ 系统可靠性分析评价 ◇ 计算机系统性能评测方法 2.2计算机软件知识 2.2.1数据结构与算法知识 ◇ 数组 ◇ 链表 ◇ 队列、栈 ◇ 树 ◇ 图的定义、存储和基本操作 ◇ 杂凑(Hash表) ◇ 常用的排序算法、查找算法、数值计算、字符串处理、数据压缩算法、递归算法、图的相关算法 ◇ 算法描述和分析 2.2.2 操作系统知识 ◇操作系统的内核 ◇ 处理机管理 ◇ 存储管理 ◇ 设备管理 ◇ 文件管理 ◇ 作业管理 ◇ 网络操作系统和嵌入式操作系统基础知识 ◇ 操作系统的配置 2.2.3程序设计语言和语言处理程序知识 ◇ 汇编、编译、解释系统的基础知识和基本工作原理 ◇ 程序设计语言的基本成分(数据、运算、控制和传输),程序调用的实现机制 ◇ 各类程序设计语言的主要特点和适用情况 2.2.4 数据库知识 ◇ 数据库模型(概念模式、外模式、内模式) ◇ 数据模型,ER图,规范化 ◇ 数据操作 ◇ 数据库语言 ◇ 数据库管理系统的功能和特征 ◇ 数据库的控制功能 ◇ 数据仓库和分布式数据库基础知识 2.3计算机网络知识 ◇网络体系结构 ◇传输介质,传输技术,传输方法,传输控制 ◇常用网络设备和各类通信设备的特点 ◇Client-Server结构,Browser-Server结构 ◇LAN(拓扑,存取控制,组网,网间互连) ◇Internet 和Intranet 基础知识以及应用 ◇网络软件 ◇网络管理,网络性能分析 2.4多媒体基础知识 ◇ 多媒体系统基础知识 ◇ 简单图形的绘制,图像文件的处理方法 ◇ 音频和视频信息的应用 ◇ 多媒体应用开发过程 3、系统开发运行 3.1软件工程知识 ◇ 软件生存周期与软件生存周期模型 ◇ 软件开发方法 ◇ 软件开发项目管理 ◇ 软件开发工具与软件开发环境 3.2系统分析基础知识 ◇ 系统分析的主要步骤 ◇ 机构化分析方法 3.3系统设计基础知识 ◇ 概要设计与详细设计的基本任务 ◇ 系统设计的基本原理 ◇ 系统模块结构设计 ◇ 结构化设计方法 ◇ 面向数据结构的设计方法 ◇ 系统详细设计 3.4系统实施基础知识 ◇ 系统实施的基本内容 ◇ 程序设计方法 ◇ 程序设计的基本模块 ◇ 系统测试 ◇ 系统转换 3.5系统维护和运行基础知识 ◇ 系统可维护性的概念 ◇ 系统维护的类型 ◇ 系统评价的概念和类型 3.6软件质量管理基础知识 ◇ 软件质量特性(ISO/IEC 9126软件质量模型) ◇ 软件质量保证 ◇ 软件复杂性的概念及度量方法(McCabe度量法) ◇ 软件评审(设计质量评审、程序质量评审) ◇ 软件容错技术 3.7软件过程改进基础知识 ◇ 软件能力成熟度模型CMM ◇ 统一过程(UP)与极限编程(XP)的基本概念 4、面向对象 ◇ 面向对象的基本概念 ◇ 面向对象分析与设计知识 ◇ 分析模式与设计模式知识 ◇ 面向对象程序设计知识 ◇ 面向对象数据库、分布式对象基础知识 5、信息安全知识 ◇ 信息系统安全基础知识 ◇ 信息系统安全管理 ◇ 保障完整性与可用性的措施 ◇ 加密与解密机制基础知识 ◇ 风险管理(风险分析、风险类型、抗风险措施和内部控制) ◇ 计算机安全相关的法律、法规基础知识 6、标准化基础知识 6.1标准化基础知识 ◇ 标准化意识,标准化组织机构,标准的内容、分类、代号与编号规定,标准制订过程 ◇ 国际标准、国家...
转载请注明出处51数据库 » 软件设计师试题分析与解答 pdf
阳光T