软考软件设计师考试总结(2018上半年)

2024-05-14 08:18

本文主要是介绍软考软件设计师考试总结(2018上半年),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

就在昨天,软考结束了。感觉将多年学到的知识全部汇总到了一块。
前段时间一直进行着软件编码的工作,应当是时候告一段落了。理论推动实践,实践反过来推动理论的理解。

与物质和意识的关系一样。

  • 世界是物质的,物质决定意识;
  • 意识反过来影响物质,也就是物质的主观能动性。

本章节主要包括如下几个部分:

  • 考试题型与技巧总结
  • 主要知识点整理
  • 试题与失误点总结
  • 考试感悟

考试题型与技巧

软件设计师的试题主要分为上、下午两个部分。上午主要是选择题(75题75分),下午为6道大题(6题75分 其中五/六题为选择Java&C++ 个人认为Java的较为简单)。

上午题目较为繁杂,涵盖了计算机组成原理、编译原理、计算机操作系统、计算机网络数据库设计、数据库设计、数据结构、算法设计、软件工程、面向对象与设计模式等知识点。题目分值范围主要如下所示:

  • 一、计算机基本知识 (1-6/6分/8%/难度中等)
  • 二、程序语言基本知识(20-22 & 48-50/6分/8%/难度中等)
  • 三、操作系统基本知识(23-28/6分/8%/难度适中)
  • 四、系统开发和运行(12-14分/20%/难度偏难)
  • 五、网络基础知识(7-9 & 66-70/8分/11%/难度不高)
  • 六、多媒体基础知识(3分/4%/难度较低)
  • 七、数据库技术(6分/8%/难度中等偏上)
  • 八、数据结构(4-7分/5%-9%/难度中等偏难)
  • 九、算法设计与分析(61-65/5分/5%/难度较高)
  • 十、面向对象技术(38-37/10-11分/13%-15%/难度中等偏难)
  • 十一、标准化和知识产权基本知识(13-14/2分/3%/难度不高)
  • 十二、计算机专业英语(71-75/5分/6%/难度中等)

下午等试题题型基本确定,6题的题型分别为:

  • 第一题 (系统开发和运行)数据流图(挖空填空 外部实体/数据存储/数据流图的平衡)
  • 第二题 (数据库技术)数据库E-R图设计(挖空填空 关系连线/表字段设计/开放试题)
  • 第三题 (面向对象技术)UML图设计(挖空填空 设计模式/设计模式原理)
  • 第四题 (数据结构&算法)算法设计(挖空填空 填语句/分析算法时间和空间复杂度) (动态规划/分冶法/贪心)
  • 第五/六题 (面向对象技术)Java&C++程序设计(填写语句)

PS: 下午的前2题基本没有什么难度,考的是阅读理解。第三、五/六题主要考的设计模式,五/六考语言开发。第四题考的是算法设计,数据结构&算法都会涉及,迭代(动态规划&分冶),贪心,查找和排序算法都有可能会考到。


考试题型与技巧

计算机基本知识
  • 二进制/十进制/十六进制
  • 源码/反码/补码 及其计算
  • 校验码(海明码)
  • 计算机基本组成(CPU/内存/外存/输入输出设备)
  • 总线类型(了解)
  • 指令(流水取指)
  • RISC/CISC

除了解知识外,计算的主要包括地址、流水取指图。

程序语言基本知识
  • 逆波兰式
  • 有限自动机(能看懂图像)
  • 语法语义分析(主要考查理解和分析)
操作系统基本知识
  • 操作系统类型
  • PV操作
  • 死锁/死锁4个必要条件/处理死锁(死锁避免/死锁预防/死锁检测)(分析图)
  • 分页存储管理
  • 内存/外存/Cache
  • 虚拟内存
  • 进程&资源调度图(考查资源分配)
系统开发和运行
  • 软件开发周期(瀑布模型/演化模型/螺旋模型/喷泉模型/增量模型)
  • 软件复杂度(McCahe算法及图分析)
  • 数据流图(外部实体/加工/数据存储/数据流 & 顶层图/1层图 &数据流平衡)
  • 数据字典
  • 软件测试(白盒测试&黑盒测试)
  • 项目活动图(里程碑即最长时间)
  • SEI能力程度模型
网络基础知识
  • ISO/OSCI七层模型(各层物理组件和设备)
  • TCP/IP模型
  • TCP/IP协议族(各层协议 TCP IP 等)
  • IPV4&IPV6(ABCD类IP地址/子网掩码/网关 计算)
  • UDP报文协议
  • 加密技术(公钥私钥/数字签名)
  • HTML语言(了解即可)
多媒体基础技术
  • 基本图像文件类型及处理软件(矢量图&位图)
  • 声音文件类型及处理软件(A/D转码)
  • 视屏文件基本类型&处理软件(流媒体技术)
数据库技术
  • BMS/BCMS/RBCMS
  • 数据库三大范式(1NF/2NF/3NF/BCNF)
  • 数据库关系代数(投影/选择/连接)
  • E-R图
  • 数据库基本语言(DDL/DML/事务)
  • 事务特性(ACID 原子/一致/隔离性/持久性)
  • SQL(DDL 表 增删改/DML 增删差改/Grant/View/Index)
  • 数据库锁机制(悲观锁/乐观锁 & 封锁协议)
数据结构
  • 堆栈
  • 队列
  • 链表&数组
  • 树&二叉树&红黑树&平衡二叉树
  • 排序算法&查找算法(实现和时间&空间复杂度)
算法设计与分析
  • 分冶法
  • 动态规划算法
  • 回溯法
  • 贪心法
面向对象技术
  • 面向对象设计(OOA/OOD/OOP)(封装/多态/继承)
  • UML图(主要是类图 其次部署图等)
  • 设计模式(23种设计模式)
  • 5 创建型 (工厂模型/抽象工厂模型/单例模型/构建器模型(Builder)/原型模型(Prototype))
  • 7 结构型 (适配器模型(Adapter)/装饰器模型(Decator)/门面模型()/代理模型/组合模型/桥接模型(Bridge)/享元模型)
  • 11 行为型(父子: 策略模型/模版模型 类状态: 状态模型/备忘录模型 类之间: 订阅模型/迭代子模型/命令模型(Command)/责任链模型 其它: 观察者模型/中介者模型/解析器模型)
标准化和知识产权基本知识
  • 知识产权(软件著作权&盗版)
  • 著作权(署名权/发表权等)
计算机专业英语
  • 选词填空(语法&语义)

考试感悟

总体感觉不是很难,关键在于知识点十分细和杂。下午的把几种题型和基本算法、设计模式掌握之后基本不难。

一起的,考软件设计师的貌似很少,都是考项目管理/软件集成的。但愿能过,于今年下半年把软件架构师考完吧。

                                 														 于二零一八年五月二十八日夜-上海

后记

本次考试以低分飘过结束.但考虑到复习的时间较为紧张,还是挺满意的.有人对于考试的教材感兴趣.本人用的教材是《同步辅导》+《历年试卷》.主要的知识点都在《同步辅导》上,《历年试卷》随便翻一翻,选做1-2份最近的试卷即可.
在这里插入图片描述

这篇关于软考软件设计师考试总结(2018上半年)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/988231

相关文章

java常见报错及解决方案总结

《java常见报错及解决方案总结》:本文主要介绍Java编程中常见错误类型及示例,包括语法错误、空指针异常、数组下标越界、类型转换异常、文件未找到异常、除以零异常、非法线程操作异常、方法未定义异常... 目录1. 语法错误 (Syntax Errors)示例 1:解决方案:2. 空指针异常 (NullPoi

Java反转字符串的五种方法总结

《Java反转字符串的五种方法总结》:本文主要介绍五种在Java中反转字符串的方法,包括使用StringBuilder的reverse()方法、字符数组、自定义StringBuilder方法、直接... 目录前言方法一:使用StringBuilder的reverse()方法方法二:使用字符数组方法三:使用自

Python依赖库的几种离线安装方法总结

《Python依赖库的几种离线安装方法总结》:本文主要介绍如何在Python中使用pip工具进行依赖库的安装和管理,包括如何导出和导入依赖包列表、如何下载和安装单个或多个库包及其依赖,以及如何指定... 目录前言一、如何copy一个python环境二、如何下载一个包及其依赖并安装三、如何导出requirem

Rust格式化输出方式总结

《Rust格式化输出方式总结》Rust提供了强大的格式化输出功能,通过std::fmt模块和相关的宏来实现,主要的输出宏包括println!和format!,它们支持多种格式化占位符,如{}、{:?}... 目录Rust格式化输出方式基本的格式化输出格式化占位符Format 特性总结Rust格式化输出方式

Python中连接不同数据库的方法总结

《Python中连接不同数据库的方法总结》在数据驱动的现代应用开发中,Python凭借其丰富的库和强大的生态系统,成为连接各种数据库的理想编程语言,下面我们就来看看如何使用Python实现连接常用的几... 目录一、连接mysql数据库二、连接PostgreSQL数据库三、连接SQLite数据库四、连接Mo

Git提交代码详细流程及问题总结

《Git提交代码详细流程及问题总结》:本文主要介绍Git的三大分区,分别是工作区、暂存区和版本库,并详细描述了提交、推送、拉取代码和合并分支的流程,文中通过代码介绍的非常详解,需要的朋友可以参考下... 目录1.git 三大分区2.Git提交、推送、拉取代码、合并分支详细流程3.问题总结4.git push

Kubernetes常用命令大全近期总结

《Kubernetes常用命令大全近期总结》Kubernetes是用于大规模部署和管理这些容器的开源软件-在希腊语中,这个词还有“舵手”或“飞行员”的意思,使用Kubernetes(有时被称为“... 目录前言Kubernetes 的工作原理为什么要使用 Kubernetes?Kubernetes常用命令总

Python中实现进度条的多种方法总结

《Python中实现进度条的多种方法总结》在Python编程中,进度条是一个非常有用的功能,它能让用户直观地了解任务的进度,提升用户体验,本文将介绍几种在Python中实现进度条的常用方法,并通过代码... 目录一、简单的打印方式二、使用tqdm库三、使用alive-progress库四、使用progres

Android数据库Room的实际使用过程总结

《Android数据库Room的实际使用过程总结》这篇文章主要给大家介绍了关于Android数据库Room的实际使用过程,详细介绍了如何创建实体类、数据访问对象(DAO)和数据库抽象类,需要的朋友可以... 目录前言一、Room的基本使用1.项目配置2.创建实体类(Entity)3.创建数据访问对象(DAO

Ubuntu 怎么启用 Universe 和 Multiverse 软件源?

《Ubuntu怎么启用Universe和Multiverse软件源?》在Ubuntu中,软件源是用于获取和安装软件的服务器,通过设置和管理软件源,您可以确保系统能够从可靠的来源获取最新的软件... Ubuntu 是一款广受认可且声誉良好的开源操作系统,允许用户通过其庞大的软件包来定制和增强计算体验。这些软件