计算基础
计算机科学基础
o 程序设计基础
o 算法、数据结构与复杂性 o 问题求解技术 o 抽象 o 计算机组织结构 o 系统基本概念 o 基础用户因素(I/O,错误信息,鲁棒性) o 基础开发人员因素(注释,结构,可读性) o 程序设计语言基础 o 操作系统基础 o 数据库基础 o 网络通信基础 o 编程语言的语义学
开发技术
o API设计与使用
o 代码复用和程序库 o 面向对象运行问题(多态性,动态绑定等) o 参数化和泛化 o 断言、契约化设计、防御性编程 o 错误处理、异常处理和容错 o 基于状态和表驱动的开发技术 o 运行的配置和国际化 o 基于语法的输入处理(句法分析) o 并发元素(信号量、监视器等) o 中间件(组件和容器) o 分布式软件的开发方法 o 异构(硬件和软件)系统开发;软硬件综合设计 o 性能分析与调节 o 平台标准 o 测试优先的程序设计
开发工具
o 开发环境
o GUI创建工具 o 单元测试工具 o 面向应用的语言(如脚本编程、可视化编程等) o 剖析、性能分析和切片工具
形式化开发方法
o 抽象机的应用(如SDL、Paisley等)
o 形式化语言与方法的应用 o 由规格说明自动生成代码 o 程序派生 o 候选实现分析 o 将规格说明映射到不同实现 o 提炼 o 正确性证明