当前位置: 首页 > news >正文

软件设计师考试大纲

文章目录

    • 一 、考 试 说 明
      • 1. 考试目标
      • 2. 考试要求
      • 3. 考试科目设置
    • 二、考 试 范 围
      • 考试科目1:计算机与软件工程知识
      • 1. 计算机系统基础知识
        • 1.1计算机内数据的表示及运算
        • 1.2 其他数学基础知识
        • 1.3 计算机硬件基础知识
          • 1.3.1 计算机系统的组成、体系结构分类及特性
          • 1.3.2 存储系统
          • 1.3.3 可靠性与系统性能评测基础知识
        • 1.4 计算机软件知识
          • 1.4.2 操作系统知识
          • 1.4.3 程序设计语言和语言处理程序知识
          • 1.4.4 数据库知识
        • 1.5 计算机网络知识
        • 1.6 多媒体基础知识
      • 2. 系统开发和运行知识
        • 2.1 软件工程基础知识
        • 2.2 系统分析基础知识
        • 2.3 系统设计基础知识
        • 2.4 软件测试基础知识
        • 2.5 系统运行和维护基础知识
        • 2.6 软件质量管理基础知识
      • 3. 面向对象基础知识
      • 4. 网络与信息安全知识
      • 5. 标准化、信息化和知识产权基础知识
        • 5.1 标准化基础知识
        • 5.2 信息化基础知识
        • 5.3 知识产权基础知识
      • 6. 软件开发新进展
      • 7. 计算机专业英语
    • 考试科目2:软件设计
      • 1. 结构化分析与设计
        • 1.1 需求分析
        • 1.2 数据流图变换
      • 2. 面向对象分析与设计
        • 2.1 统一建模语言 (UML)
        • 2.2 基于用例的需求描述
        • 2.3 软件建模
        • 2.4 设计模式应用
      • 3. 数据库应用分析与设计
        • 3.1 E-R 模型
        • 3.2 设计关系模式
        • 3.3 数据库语言 (SQL)
        • 3.4 数据库访问
      • 4. 软件实现
        • 4.1 算法设计与分析
        • 4.2 程序设计
      • 5. 软件测试
      • 6. 软件评审
        • 6.1 软件设计评审
        • 6.2 程序设计评审

一 、考 试 说 明

1. 考试目标

通过本考试的合格人员能根据软件开发项目管理和软 件工程的要求,按照系统总体设计规格说明书进行软件设计, 编写程序设计规格说明书等相应的文档,组织和指导程序员 编写、调试程序,并对软件进行优化和测试,开发出符合系 统总体设计要求的高质量软件;具有工程师的实际工作能力 和业务水平。

2. 考试要求

(1)掌握计算机内的数据表示、算术和逻辑运算方法;
(2)掌握相关的应用数学及离散数学基础知识;
(3)掌握计算机体系结构以及各主要部件的性能和基本 工作原理;
(4)掌握操作系统、程序设计语言的基础知识,了解编 译程序的基本知识;
(5)熟练掌握常用数据结构和常用算法;
(6)熟悉数据库与网络基础知识;
(7)熟练掌握一种结构化程序设计语言 (C 语言)和 一 种面向对象程序设计语言(C++ 或Java);
(8)熟悉软件工程、软件过程改进和软件开发项目管理 的基础知识;
(9)掌握软件设计的方法和技术;
(10)了解信息化、常用信息技术标准、安全性,以及 有关法律、法规的基础知识;
(11)正确阅读和理解计算机领域的英文资料。

3. 考试科目设置

(1)计算机与软件工程知识,考试时间为150分钟;
(2)软件设计,考试时间为150分钟。

二、考 试 范 围

考试科目1:计算机与软件工程知识

1. 计算机系统基础知识

1.1计算机内数据的表示及运算
  • 数的表示
  • 非数值表示(字符和汉字表示、声音表示、 图像表示)
  • 计算机中的二进制数运算方法
  • 逻辑代数的基本运算
1.2 其他数学基础知识
  • 常用数值计算
  • 排列组合、概率论应用、应用统计(数据的 统计分析)
  • 编码基础
  • 命题逻辑、谓词逻辑、形式逻辑的基础知识
  • 运筹基本方法
1.3 计算机硬件基础知识
1.3.1 计算机系统的组成、体系结构分类及特性
  • CPU、存储器的组成、性能和基本工作原理
  • 常用I/O 设备、通信设备的性能以及基本工 作原理
  • I/O接口的功能、类型和特性
  • CISC/RISC、流水线操作、多处理机、并行 处理
1.3.2 存储系统
  • 虚拟存储器基本工作原理,多级存储体系
  • RAID类型和特性
  • 网络存储技术
1.3.3 可靠性与系统性能评测基础知识
  • 诊断与容错
  • 系统可靠性分析评价
  • 计算机系统性能评测方法
1.4 计算机软件知识

1.4.1 数据结构与算法知识

  • 数组
  • 链表
  • 队列、栈
  • 图的定义、存储和基本运算
  • 杂凑 (Hash 表 )
  • 常用的排序算法、查找算法、数值计算、字 符串处理、数据压缩算法、递归算法、图的 相关算法
  • 算法设计与分析
1.4.2 操作系统知识
  • 操作系统基本概念
  • 处理机管理
  • 存储管理
  • 设备管理
  • 文件管理
  • 作业管理
  • 操作系统的配置
1.4.3 程序设计语言和语言处理程序知识
  • 汇编、编译、解释系统的基础知识和基本工 作原理
  • 程序设计语言的基本成分(数据、运算、控 制和传输),函数调用机制
  • 各类程序设计语言的主要特点
1.4.4 数据库知识
  • 数据库系统基本概念
  • 关系数据库理论
  • 数据库设计
  • 数据库语言
  • 数据库新技术(非关系型数据库等)
1.5 计算机网络知识
  • 协议体系结构
  • 传输介质与交换技术
  • 常用网络设备与服务器
  • 局域网络连接
  • Internet 基础知识
  • TCP/IP协议
  • 简单网络管理
1.6 多媒体基础知识

2. 系统开发和运行知识

2.1 软件工程基础知识
  • 软件生存周期与软件生存周期模型
  • 软件开发方法
  • 软件开发项目管理
  • 软件工具与软件开发环境
  • 软件过程改进 (CMM 等 )
  • 软件开发文档
2.2 系统分析基础知识
  • 系统分析方法与模型
2.3 系统设计基础知识
  • 系统设计的基本原理
  • 软件体系结构基本概念
  • 系统设计方法与模型
2.4 软件测试基础知识
  • 软件测试的基本概念
  • 软件测试阶段
  • 测试方法
  • 测试用例设计
2.5 系统运行和维护基础知识
  • 系统维护的概念
  • 系统转换
  • 系统评价
2.6 软件质量管理基础知识
  • 软件质量特性(ISO/IEC 9126软件质量模型)
  • 软件质量保证
  • 软件复杂性的概念及度量方法 (McCabe 度 量法)
  • 软件评审(设计质量评审、程序质量评审)
  • 软件容错技术

3. 面向对象基础知识

  • 面向对象的基本概念
  • 面向对象分析与设计
  • 分析模式与设计模式
  • 面向对象程序设计
  • 面向对象测试

4. 网络与信息安全知识

  • 信息安全基础
  • 信息安全技术(加密与解密、认证、数字签 名、摘要等)
  • 网络安全技术
  • 计算机安全等级及相关法律法规

5. 标准化、信息化和知识产权基础知识

5.1 标准化基础知识
5.2 信息化基础知识
  • 全球信息化趋势、国家信息化战略、企业信 息化战略和策略
  • 互联网相关的法律、法规知识
  • 个人信息保护规则
  • 远程教育、电子商务、电子政务等基础知识
  • 企业信息资源管理基础知识
5.3 知识产权基础知识
  • 保护知识产权有关的法律、法规

6. 软件开发新进展

  • 软件开发新技术
  • 云计算
  • 大数据
  • 应用领域进展

7. 计算机专业英语

  • 具有工程师所要求的英语阅读水平
  • 理解本领域的英语术语

考试科目2:软件设计

1. 结构化分析与设计

1.1 需求分析
  • 数据流图 (DFD)
  • 数据字典与加工逻辑
1.2 数据流图变换

2. 面向对象分析与设计

2.1 统一建模语言 (UML)
2.2 基于用例的需求描述
2.3 软件建模
2.4 设计模式应用

3. 数据库应用分析与设计

3.1 E-R 模型
3.2 设计关系模式
3.3 数据库语言 (SQL)
3.4 数据库访问

4. 软件实现

4.1 算法设计与分析
  • 算法设计策略
  • 算法分析
4.2 程序设计
  • 选择合适的程序设计语言
  • C 语言程序设计
  • 面向对象程序设计 (C++ 或Java)

5. 软件测试

  • 单元测试
  • 集成测试
  • 系统测试
  • 测试方法和测试用例

6. 软件评审

6.1 软件设计评审
6.2 程序设计评审

相关文章:

软件设计师考试大纲

文章目录 一 、考 试 说 明1. 考试目标2. 考试要求3. 考试科目设置 二、考 试 范 围考试科目1:计算机与软件工程知识1. 计算机系统基础知识1.1计算机内数据的表示及运算1.2 其他数学基础知识1.3 计算机硬件基础知识1.3.1 计算机系统的组成、体系结构分类及特性1.3.2 存储系统1.…...

一文说清C++类型转换操作符(cast operator)

一 前言 大家在编程时,一定会遇到要做类型转换的应用场景。 但是,C风格的类型转换太强大,太危险,它允许将一个给定类型转换成我们想要的任何其他类型。 所以在C中,提供了一些更安全和更明确的类型转换操作符&#xff…...

MOSFET电路栅源极GS之间并联电容后,MOS炸管原因分析

1、前言 在介绍,在进行MOSFET相关的电路设计时,可能会遇到MOSFET误导通的问题,为了解决此问题,我们提出了两种方法,一种是增大MOSFET栅极串联电阻的阻值,另外一种是在MOSFET栅-源极之间并联一个电容&#…...

gitHub常用操作

gitHub常用操作 1、把项目拉下来2、添加上游仓库3、进入分支4、从上游仓库拉取更新 1、把项目拉下来 在对应项目的右上角点击fork,fork下来:将远程仓库复制到个人仓库 在创建好的分支文件夹下使用 git clone自己远程仓库下的http地址(fork…...

[项目代码] YOLOv5 铁路工人安全帽安全背心识别 [目标检测]

YOLOv5是一种单阶段(one-stage)检测算法,它将目标检测问题转化为一个回归问题,能够在一次前向传播过程中同时完成目标的分类和定位任务。相较于两阶段检测算法(如Faster R-CNN),YOLOv5具有更高的…...

Java 垃圾回收机制(GC)概览

简介 Java垃圾收集、堆和运行时编译器默认选择 jdk1.9开始,默认使用G1收集器,GC Threads的最大数量受堆大小和可用CPU资源限制初始堆大小为物理内存的1/64最大堆大小为物理内存的1/4分层编译器,同时使用C1和C2 JVM 垃圾收集器可以为配置优…...

Kafka节点服役和退役

1 服役新节点 1)新节点准备 (1)关闭 bigdata03,进行一个快照,并右键执行克隆操作。 (2)开启 bigdata04,并修改 IP 地址。 vi /etc/sysconfig/network-scripts/ifcfg-ens33修改完…...

Git如何简单使用

文章目录 GitGitlabGitLab和GitHub有什么区别?Gitlab简单使用Gitlab常用指令Git Git是一个分布式版本控制系统。 它用于记录文件的修改历史,方便多人协作开发软件等项目。例如一个软件开发团队,成员们会频繁修改代码,Git可以追踪每个人的修改内容、时间等信息。 主要功能…...

酒水分销积分商城小程序开发方案php+uniapp

酒水分销积分商城小程序开发,开发语言后端php,前端uniapp。核心功能模块:酒水商城、积分商城、二级分销、抽奖、优惠券。可以二开或定制。协助部署搭建。...

MTU-内核态(数据链路层或网络接口上能够传输的最大数据包大小)

MTU(最大传输单元,Maximum Transmission Unit)是网络中用于表示数据链路层或网络接口上能够传输的最大数据包大小。 1. 工作原理 MTU 决定了一个数据包(包括头部和数据部分)的最大长度。它影响到数据的传输&#xff…...

React的基础API介绍(一)

目录 useEffect1. 替代生命周期方法2. 副作用管理3. 依赖项数组4. 多次使用5. 与闭包配合6. 支持异步操作7. 减少样板代码 注意事项useEffetct是如何拿到变量count最新的值?1. 每次渲染都会创建新的函数作用域2. 闭包捕获最新的状态值3. useEffect 的执行时机 useLa…...

【Electron】总结:如何创建Electron+Element Plus的项目

我将结合官网手册与AI问到的信息,直接给出步骤,与命令。 一、准备环境 首先在C盘Users,你的登录的账号名文件夹下,编辑.npmrc文件。添加镜像地址。 如果使用了yarn,则是.yarnrc。可以全部都配置。 npm install -g …...

从依托指标字典到 NoETL 自动化指标平台,指标口径一致性管理的进阶

今天,我们一起来梳理和盘点下不同代际指标平台如何实现指标口径一致性管理: 第一代:指标口径登记与管理 第一代指标平台聚焦于指标口径的登记与管理,依托指标字典实现企业指标口径的有效检索与管理功能。 此阶段,业…...

嵌入式面试题练习 - 2024/11/15

欢迎找我进行职业规划,超值的自我投资 -> 嵌入式软件工程师一对一指导 1.设有定义char *p[]{"Shanghai","Beijing","Honkong"};则结果为j字符的表达式是() A *p[1] 3 B *(p[1] 3) C *(p[3] 1) D p[3] […...

分析http话术异常挂断原因

用户反馈在与机器人通话时,自己明明有说话,但是通话还是被挂断了,想知道原因。 分析日志 我们根据用户提供的freeswitch日志分析:发现是因为超时导致话术执行hangup动作,结束了通话。 从这一行向上分析日志&#xff…...

云岚到家 秒杀抢购

目录 秒杀抢购业务特点 常用技术方案 抢券 抢券界面 进行抢券 我的优惠券列表 活动查询 系统设计 活动查询分析 活动查询界面显示了哪些数据? 面向高并发如何提高活动查询性能? 如何保证缓存一致性? 数据流 Redis数据结构设计 如…...

【WPF】Prism库学习(一)

Prism介绍 1. Prism框架概述: Prism是一个用于构建松耦合、可维护和可测试的XAML应用程序的框架。它支持WPF、.NET MAUI、Uno Platform和Xamarin Forms等多个平台。对于每个平台,Prism都有单独的发布版本,并且它们在不同的时间线上独立开发。…...

0 -vscode搭建python环境教程参考(windows)

引用一篇非常详细的vscode搭建python环境教程 链接:vscode安装以及配置Python基本环境 以下是VSCode和PyCharm的对比 个人更建议使用VSCode Visual Studio Code (VSCode) Visual Studio Code 是由微软开发的一款免费、开源的轻量级代码编辑器。它支持多种编程语…...

Uniapp 引入 Android aar 包 和 Android 离线打包

需求: 原生安卓 apk 要求嵌入到 uniapp 中,并通过 uniapp 前端调起 app 的相关组件。 下面手把手教你,从 apk 到 aar,以及打包冲突到如何运行,期间我所遇到的问题都会 一 一 进行说明,相关版本以我文章内为…...

10款高效音频剪辑工具,让声音编辑更上一层楼。

音频剪辑在音频,视频,广告制作,游戏开发,广播等领域中都有广泛的应用。通过音频剪辑,创作者可以通将不同的音频片段进行剪切、拼接、混音等操作,创作出风格各异的音乐作品。如果你也正在为音频创作而努力的…...

CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型

CVPR 2025 | MIMO:支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题:MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者:Yanyuan Chen, Dexuan Xu, Yu Hu…...

边缘计算医疗风险自查APP开发方案

核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...

基于服务器使用 apt 安装、配置 Nginx

🧾 一、查看可安装的 Nginx 版本 首先,你可以运行以下命令查看可用版本: apt-cache madison nginx-core输出示例: nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...

Java 加密常用的各种算法及其选择

在数字化时代,数据安全至关重要,Java 作为广泛应用的编程语言,提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景,有助于开发者在不同的业务需求中做出正确的选择。​ 一、对称加密算法…...

安宝特方案丨船舶智造的“AR+AI+作业标准化管理解决方案”(装配)

船舶制造装配管理现状:装配工作依赖人工经验,装配工人凭借长期实践积累的操作技巧完成零部件组装。企业通常制定了装配作业指导书,但在实际执行中,工人对指导书的理解和遵循程度参差不齐。 船舶装配过程中的挑战与需求 挑战 (1…...

Java + Spring Boot + Mybatis 实现批量插入

在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法&#xff1a;使用 MyBatis 的 <foreach> 标签和批处理模式&#xff08;ExecutorType.BATCH&#xff09;。 方法一&#xff1a;使用 XML 的 <foreach> 标签&#xff…...

算法:模拟

1.替换所有的问号 1576. 替换所有的问号 - 力扣&#xff08;LeetCode&#xff09; ​遍历字符串​&#xff1a;通过外层循环逐一检查每个字符。​遇到 ? 时处理​&#xff1a; 内层循环遍历小写字母&#xff08;a 到 z&#xff09;。对每个字母检查是否满足&#xff1a; ​与…...

人机融合智能 | “人智交互”跨学科新领域

本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...

20个超级好用的 CSS 动画库

分享 20 个最佳 CSS 动画库。 它们中的大多数将生成纯 CSS 代码&#xff0c;而不需要任何外部库。 1.Animate.css 一个开箱即用型的跨浏览器动画库&#xff0c;可供你在项目中使用。 2.Magic Animations CSS3 一组简单的动画&#xff0c;可以包含在你的网页或应用项目中。 3.An…...

虚拟电厂发展三大趋势:市场化、技术主导、车网互联

市场化&#xff1a;从政策驱动到多元盈利 政策全面赋能 2025年4月&#xff0c;国家发改委、能源局发布《关于加快推进虚拟电厂发展的指导意见》&#xff0c;首次明确虚拟电厂为“独立市场主体”&#xff0c;提出硬性目标&#xff1a;2027年全国调节能力≥2000万千瓦&#xff0…...