软件工程主题列表

软件工程主题列表是为软件工程主条目提供一个概览、简介和补充。而软件工程是应用系统化、规范化、可量化的工程方法于软件的整个生命周期，包括开发、运行及维护。

## 对社会的影响

软件工程师透过创造应用系统而影响整个社会。这些应用系统为用户创造价值但有时候也会造成风险或灾难。

### 应用

软件工程师建立应用软件给人们使用。工程应用通过激励开发者以新的方法解决问题来影响软件工程.比如，消费者用的软件强调低成本，医用软件强调高质量，而互联网商业软件重视如何能快速的发展.

#### 系统软件

- 操作系统
- 嵌入式
- 图形
- 多任务处理
- 实时
- 网络 和 互联网
- 域名系统（DNS）
- 通信协议
- 路由器
- 文件
- FTP
- 档案分享
- 数据库与数据库系统，支持几乎所有领域
- 实验室资讯系统，实验室数据的管理
- 管理资讯系统，财务及人事数据的管理
- 嵌入系统：由于嵌入系统的特殊性，不论是软件工程师或传统的工程师都会参与编写嵌入系统的控制系统。

#### 编程与开发工具

- 编译器
- 数据分析器
- 优化器
- 解释器
- 连接器
- 加载器
- 集成开发环境 (IDEs)
- 调试器 (Debuggers)
- 版本控制系统

#### 应用软件

生产力与办公软件：

- 分析
- 数据采集，与数据库关系密切
- 决策支持系统
- 日历 - 排程及协调
- 联络经理
- 办公套件
- 文字处理
- 电子表
- 演示

互联网与通信应用：

- 互联网
- 浏览器
- 服务器
- 通信
- 电子邮件
- 即时通信
- 网上语音服务
- 电话软件

设计与媒体软件：

- 电脑辅助设计（CAD）
- 电脑图像
- 动画
- 特别效果 为视频或电影服务
- 编辑器
- 后期处理

企业与商业应用：

- 会计
- 航空公司 订位服务
- 银行业
- 自动柜员机
- 支票处理
- 信用卡
- 商业
- 贸易
- 拍卖（EBay）
- 逆向拍卖
- 条码扫描器
- 汽车软件
- 航空电子学软件
- 供暖，通风和空调（HVAC）软件
- 医疗设备软件
- 物流业
- 供应链管理
- 制造业
- 电脑辅助生产（CAM）
- 分布式控制系统（DCS）
- 金融
- 债券市场
- 期货市场
- 股票市场

科学与工程软件：

- 科学
- 基因组学
- 工程：所有传统工程分支都已经大量采用软件来协助日常工作。工程师用试算表比用计数机更多，而对于其产品的设计，例如路桥和大型电力装置等，电脑辅助设计更是不可少，并配合上特别设计的软件来进行设计，分析及模拟等各种活动。这些计划与软件在多方面有相似之处，除了因为工作的结果包含了电子文件以外，计划亦经历了分析／设计／实践和测试四个阶段。
- 电子设计自动化（EDA）
- 数值分析
- 模拟

艺术、娱乐与游戏：

- 音乐
- 音响效果
- 音乐合成
- 游戏
- 扑克
- 多人参与冒险游戏
- 视频游戏

其他基础或支持软件：

- 密码学
- 机器人
- 信号分析
- 图像处理，视觉信息的编码解码
- 信号处理，信号的编码解码
- 语音处理
- 文字识别
- 笔迹辨认
- 模拟，支持几乎所有领域
- 可视化，支持几乎所有领域
- 体系架构
- 投票系统

### 风险或灾难

软件曾是许多著名灾害的重要原因。

- 阿丽亚娜-5运载火箭
- 火星探测器
- 丹佛国际机场
- Therac-25 - 因软件设计时的缺陷造成六起医疗事故的一种放射治疗机器。

## 技术和实践

有技术的软体工程师运用技术及不同范畴的实践来改进生产力及质素。从而编程更快更容易。下列的技术和方法是在生产中天天被使用到的。

### 软件工程主题

许多技术和做法（几乎所有）是软件工程所特有的，尽管其中很多与计算机科学是共同的。

#### 核心概念

- 设计模式 (计算机)
- 反模式

#### 软件开发过程和方法 (电脑科学)

- 敏捷软件开发
- 敏捷软件开发
- Crystal
- 极限编程
- 精益软件开发
- Scrum
- 重量级
- Cleanroom
- ISO/IEC 12207，软件生命周期过程
- ISO 9000和ISO 9001
- RUP
- 过程评价框架
- CMM和CMMI
- ISO/IEC_15504（SPICE）

#### 编程范式

- 面向方面的程序设计（面向方面的编程）
- Q5215396
- 面向对象程序设计（面向对象的编程）
- 结构化程序设计
- 基于规则的系统

#### 支持与相关领域

- 软件需求管理
- 软件质量保证
- 项目管理

##### 数据库

- 层次结构式数据库
- 对象数据库
- 关系数据库
- SQL/XML
- SQL

##### 软件开发工具

- 配置管理和源码管理
- 并行版本系统
- 编译
- 修订控制系统
- 编辑器
- IDE
- 文字编辑器
- 文字处理器

##### 库

- 软件部件

##### 程序设计语言

程序设计语言

COBOL｜Pascal语言｜C｜C++

C#｜Clojure｜Common Lisp｜D语言

ColdFusion｜Delphi｜Dylan语言｜Eiffel

Erlang｜Fortran｜F#｜Groovy

Java｜Lasso｜ML语言｜OCaml

Perl｜PHP｜PL/SQL｜Prolog

Go｜Rust｜Swift语言｜JavaScript

Haskell｜Python｜Ruby｜Scala

Scheme｜Smalltalk｜Tcl｜T-SQL

Verilog｜VHDL｜Visual Basic｜Visual Basic .NET

Assembly language • • • 脚本语言 • • • 程式语言列表

##### 设计语言

- 统一建模语言

##### 系统平台

平台结合了计算机的硬件和操作系统。平台变得越来越强大和廉价的同时，操作和工具被更广泛地使用。

- BREW
- 克雷超级计算机
- DEC微型计算机
- IBM大型机
- Linux PC
- Mac OS和Mac OS X PC
- Microsoft .NET 网络软件平台
- Palm OS PDA
- Sun工作站
- Windows PC（Wintel）

##### 其他应用

- 通讯
- 结对编程
- 代码重构
- 软件检查（Software inspection）/代码审查
- 代码复用
- 系统整合（Systems integration）
- 团队合作
- 软件验证及确认

##### 其他工具

- 决策表
- 软件特色
- 用户故事
- 用例

### 电脑科学主题

- 操作系统（OS）：操作系统是管理计算机硬件和软件资源的核心软件。关键概念包括进程管理、内存管理、文件系统和并发性。
- 计算机网络：该领域涵盖使计算机能够相互通信的原则和协议。核心主题包括TCP/IP模型、路由和互联网架构。
- 数据库：该领域专注于高效可靠地存储、组织和检索海量数据的原则。其中包括关系模型、SQL等查询语言以及新兴的NoSQL系统等概念。
- 人工智能（AI）与机器学习（ML）：一个致力于创建能够执行需要人类智能任务的系统的广泛领域。机器学习作为人工智能的子领域，专注于开发能够从数据中学习模式并进行预测的算法。
- 计算机图形学：研究利用计算机创建和处理视觉图像的学科，涵盖从渲染2D/3D图像到动画和模拟的各个方面。
- 密码学与安全：该领域致力于保障信息和系统的安全。密码学提供安全通信的技术，而更广泛的安全领域则涵盖防御系统免受攻击和漏洞的影响。
- 排序算法
- Q1121462

### 数学主题

离散数学（Discrete mathematics）是软件工程学的重要基石。

- 集合

其他

- 统计学

## 外部链接

- 专业组织
- British Computer Society
- Association for Computing Machinery
- IEEE Computer Society
- Professionalism
- SE Code of Ethics
- Professional licensing in Texas
- Education
- CCSE Undergraduate curriculum
- 一般组织
- IEEE Software Engineering Standards
- Internet Engineering Task Force
- ISO
- 政府组织
- European Software Institute
- Software Engineering Institute
- Agile
- Organization to promote Agile software development
- Test driven development
- Extreme programming
- Other Organizations
- Online community for software engineers
- Demographics
- U.S. Bureau of Labor Statistics on SE
- Surveys
- David Redmiles page from the University of California site
- 其他
- Full text in PDF from the NATO conference in Garmisch
- Computer Risks Peter G. Neumann's risks column.