- 计算基础
- 计算机科学基础
- 程序设计基础
- 算法、数据结构与复杂性
- 问题求解技术
- 抽象
- 计算机组织结构
- 系统基本概念
- 基础用户因素(I/O,错误信息,鲁棒性)
- 基础开发人员因素(注释,结构,可读性)
- 程序设计语言基础
- 操作系统基础
- 数据库基础
- 网络通信基础
- 编程语言的语义学
- 开发技术
- API设计与使用
- 代码复用和程序库
- 面向对象运行问题(多态性,动态绑定等)
- 参数化和泛化
- 断言、契约化设计、防御性编程
- 错误处理、异常处理和容错
- 基于状态和表驱动的开发技术
- 运行的配置和国际化
- 基于语法的输入处理(句法分析)
- 并发元素(信号量、监视器等)
- 中间件(组件和容器)
- 分布式软件的开发方法
- 异构(硬件和软件)系统开发;软硬件综合设计
- 性能分析与调节
- 平台标准
- 测试优先的程序设计
- 开发工具
- 开发环境
- GUI创建工具
- 单元测试工具
- 面向应用的语言(如脚本编程、可视化编程等)
- 剖析、性能分析和切片工具
- 形式化开发方法
- 抽象机的应用(如SDL、Paisley等)
- 形式化语言与方法的应用
- 由规格说明自动生成代码
- 程序派生
- 候选实现分析
- 将规格说明映射到不同实现
- 提炼
- 正确性证明
- 计算机科学基础
- 数学与工程基础
- 数学基础
- 函数、关系和集合
- 基本逻辑(命题和谓词)
- 证明技术(直接、矛盾、归纳)
- 基础计算
- 图和树
- 离散概率学
- 有限状态机,正则表达式
- 语法
- 数字精度、准确性和错误
- 数字理论
- 代数结构
- 软件的工程基础
- 经验方法和实验技术(如CPU和内存使用情况的计算机测量技术)
- 统计分析
- 度量及其单位
- 系统开发(如安全、保险、性能、规模效应、特性相互作用等)
- 工程设计(问题表述、可选方案、可行性等)
- 度量理论
- 其他工程学科的工程科学
- 软件工程经济学
- 软件全生命周期的价值因素
- 生成系统目标(如共享设计、项目干系人双赢、质量职能运用、原型创建等)
- 评估成本有效的方案(如利润实现、折中分析、成本分析、投资回报等)
- 实现系统价值(如优先级确定、风险识别、成本控制等)
- 数学基础
- 专业实践
- 团队动力学/心理学
- 在小组或团队中工作的动力学
- 个体认知(如限制)
- 认知问题的复杂性
- 与项目干系人的相互作用
- 对待不确定性和模糊性
- 适应多文化环境
- 沟通技巧
- 阅读、理解和概括(如源代码、文档)
- 撰写(任务分配、报告、评估、解释等)
- 小组和团队沟通
- 表达技巧
- 职业道德
- 信用、认证和许可
- 职业道德与行为规范
- 社会、法律、历史和职业道德问题及关系
- 专业团队的本质和角色
- 软件工程标准的本质和角色
- 软件的经济效应
- 雇佣合同
- 团队动力学/心理学
- 软件建模与分析
- 建模基础
- 建模原则(如分解、抽象、泛化、投影/视图、明示、形式化方法的使用等)
- 前置与后置条件、不变量
- 数学模型和规格说明语言简介
- 建模语言的属性
- 语法和语义
- 明示(排除假设,或说明所有假设)
- 模型类型
- 信息建模(如实体关系图、类图等)
- 行为建模
- 结构化分析
- 状态图
- 用例分析
- 交互图
- 故障模式和影响分析
- 故障树分析
- 结构建模
- 领域建模
- 功能建模
- 企业建模
- 业务流程
- 组织结构
- 目标
- 嵌入式系统建模
- 时序分析
- 外部接口分析
- 需求交互分析
- 特征交互
- 质量审议
- 视点分析
- 分析模式
- 问题框架
- 规格说明复用
- 分析基础
- 完善性分析
- 完整性
- 一致性
- 鲁棒性
- 正确性分析
- 静态分析
- 仿真分析
- 模型检查
- 非功能性质量需求分析
- 保险度
- 安全性
- 可用性
- 性能
- 根源分析
- 可靠性
- 可维护性
- 优先级确定、折衷分析、风险分析和效果分析
- 可追踪性
- 形式化分析
- 完善性分析
- 需求基础
- 需求定义
- 产品
- 项目
- 限制
- 系统边界
- 外部
- 内部
- 需求过程
- 需求的层/级
- 需要
- 目标
- 用户需求
- 系统需求
- 软件需求
- 需求特性
- 可测试性
- 无二义性
- 一致性
- 正确性
- 可理解性
- 可追踪性
- 优先级
- 管理需求变更
- 需求管理
- 一致性管理
- 发布计划
- 复用
- 可追踪性管理
- 需求和体系结构之间的交互
- 需求与系统工程、人性化设计等的关系
- 缺陷问题
- 病态结构问题
- 多重方案问题
- 作为限制的COTS
- 需求定义
- 获取需求
- 获取来源
- 获取技术
- 访谈
- 问卷调查
- 原型
- 用例
- 观察
- 参与技术
- 高级技术
- 人文
- 知识获取
- 需求规格说明与文档
- 需求文档基础
- 类型
- 受众
- 结构
- 质量
- 属性
- 标准
- 软件需求规格说明
- 规格说明语言
- 结构化描述
- UML
- 需求文档基础
- 需求验证
- 评审和检查
- 原型验证
- 确认测试设计
- 确认产品质量属性
- 形式化需求分析
- 建模基础
- 软件设计
- 设计概念
- 设计的定义
- 基本设计问题
- 持久数据
- 存储管理
- 例外
- 软件开发生命周期中的设计环境
- 设计原则
- 信息隐藏
- 内聚与耦合
- 设计和需求之间的交互
- 质量属性设计
- 可靠性
- 可用性
- 性能
- 可测试性
- 容错
- 设计折衷
- 体系结构风格、模式、复用
- 设计策略
- 面向功能的设计
- 面向对象的设计
- 以数据结构为中心的设计
- 面向方面的设计
- 体系结构设计
- 体系结构风格
- 管道与过滤器
- 分层
- 以事务为中心
- 点对点
- 出版-订阅架构
- 基于事件
- 客户-服务器
- 多属性中的体系结构折衷
- 软件体系结构中的硬件问题
- 软件体系结构中的需求可追踪性
- 特定领域的体系结构和产品线
- 体系结构表示
- 体系结构风格
- 详细设计
- 设计方法
- SSA/SD
- JSD
- OOD
- 设计模式
- 组件设计
- 组件和系统接口设计
- 设计表示
- 设计方法
- 人机界面设计
- 通用人机界面设计原则
- 模式和导航的应用
- 编程技术与可视化设计
- 颜色
- 图标
- 字体
- 布局
- 响应时间和反馈
- 设计形式
- 菜单驱动
- 表单
- 问答
- 本地化和国际化
- 人机界面设计方法
- 多媒体
- 隐喻和概念模型
- 人机界面心理学
- 设计支持工具与评价
- 设计支持工具
- 设计属性度量
- 设计标准
- 形式化设计分析
- 设计概念
- 软件验证与确认
- 验证与确认的术语和基础
- 验证与确认的目标和限制
- 验证与确认效果规划
- 编写验证与确认策略文档
- 标准和度量
- 生命周期不同阶段的验证与确认
- 评审
- 桌面验证
- 走读
- 检查
- 测试
- 单元测试
- 异常处理
- 覆盖分析和基于结构的测试
- 黑盒功能测试
- 集成测试
- 基于用例开发测试用例
- 基于操作层面的测试
- 系统和确认测试
- 质量属性测试
- 可用性
- 安全性
- 兼容性
- 性能
- 可访问性
- 可靠性
- 回归测试
- 测试工具
- 发布过程
- 人机交互界面测试与评价
- 有效性和可用性的各个方面
- 启发式评价
- 感知式走查
- 用户测试方法
- Web可用性
- 测试特定人机界面假定的规范实验
- 问题分析与报告
- 分析错误包括
- 调试/错误隔离技术
- 缺陷分析
- 问题追踪
- 验证与确认的术语和基础
- 软件演化
- 演化过程
- 演化和维护的基本概念
- 演化实体间的关系
- 软件演化模型
- 演化成本模型
- 演化规划
- 演化活动
- 使用遗留系统
- 程序理解和逆向工程
- 系统和过程的再创建
- 影响分析
- 移植
- 重构
- 程序转换
- 数据逆向工程
- 演化过程
- 软件过程
- 过程概念
- 主题与术语
- 软件工程过程基础设施
- 软件过程建模与规格说明
- 软件过程度量与分析
- 软件工程过程改进
- 质量分析和控制
- 缺陷预防
- 评审过程
- 质量标准
- 根源分析
- 软件过程模型分析和建模
- 过程实现
- 过程定义的层次
- 生命周期模型
- 敏捷
- 瀑布
- 螺旋
- V模型
- 迭代
- 生命周期过程模型与标准
- 个体软件过程
- 小组软件过程
- 过程裁剪
- 软件生命周期过程需求
- 过程概念
- 软件质量
- 软件质量概念与文化
- 质量定义
- 社会对质量的关注
- 质量缺陷的成本与影响
- 质量模型的成本
- 软件质量属性
- 质量工程范围
- 人、过程、方法、工具和技术的角色
- 软件质量标准
- ISO9000
- ISO/IEEE12207
- 标准的组织实现
- IEEE软件质量相关标准
- 软件质量过程
- 软件质量模型与标准
- 软件过程模型的质量相关方面
- ISO15504和SEI CMM的概述
- ISO15504的质量相关过程域
- 软件工程Baldridge奖的标准
- 其他过程模型的质量因素
- 过程保证
- 过程保证的本质
- 质量计划
- 过程保证的组织与报告
- 过程保证技术
- 产品保证
- 产品保证的本质
- 保证和“验证与确认”的区别
- 质量产品模型
- 根源分析和缺陷预防
- 质量产品标准和度量
- 产品质量属性的评估
- 软件质量概念与文化
- 软件管理
- 管理概念
- 通用项目管理
- 经典管理模型
- 项目管理角色
- 企业/组织管理结构
- 软件管理类型
- 采购
- 风险
- 成本
- 开发
- 维护
- 项目
- 项目计划
- 评估和计划
- 工作分解结构
- 任务进度
- 效果评估
- 资源分配
- 风险管理
- 项目人员与组织
- 组织结构、职位、职责和权利
- 正式/非正式沟通
- 项目人员管理
- 人员培训、职业发展和评价
- 会议管理
- 建设和激励团队
- 冲突解决
- 项目控制
- 变更控制
- 监控和报告
- 结果度量与分析
- 改正和回复
- 奖励与惩罚
- 绩效标准
- 软件配置管理
- 版本控制
- 发布管理
- 工具支持
- 生成
- 软件配置管理过程
- 维护问题
- 发行和备份
- 管理概念
- 特定系统领域与应用
- 网络系统
- Web技术
- 网络深入研究
- 安全深入研究
- 信息系统和数据处理
- 数据库
- 业务管理
- 数据仓库
- 数据挖掘
- 搜索
- 金融与电子商务系统
- 会计
- 金融
- 安全
- 容错与自救系统
- 异构分布式系统
- 安全
- 故障分析
- 入侵检测
- 高安全性系统
- 与安全相关的业务问题
- 安全弱化与风险
- 密码学、密码分析学
- 网络技术深入研究
- 安全重要系统
- 形式化方法、正确性证明
- 控制系统知识
- 失效模式、影响分析和故障树分析
- 嵌入式实时系统
- 嵌入式系统硬件
- 开发语言和工具
- 定时问题
- 硬件验证
- 生物医学系统
- 生物学和相关科学
- 相关的安全重要系统知识
- 科学系统
- 相关科学的知识
- 统计学
- 可视化与图形学
- 电信系统
- 信号、信息理论
- 电话和电信协议
- 航空电子与车载系统
- 机械工程
- 相关的安全重要系统知识
- 相关的嵌入式和实时系统知识
- 工业过程控制系统
- 控制系统
- 工业过程和其他相关领域工程
- 相关的嵌入式和实时系统知识
- 多媒体、游戏和娱乐系统
- 可视化、触觉和图形学
- 人机界面设计
- 网络知识
- 小型移动平台系统
- 无线技术
- 小型移动平台人机界面研究
- 相关的嵌入式和实时系统知识
- 相关的电信系统知识
- 基于代理的系统
- 机器学习
- 模糊逻辑
- 知识工程
- 网络系统