軟體工程主題列表

軟體工程主題列表是為軟體工程主條目提供一個概覽、簡介和補充。而軟體工程是應用系統化、規範化、可量化的工程方法於軟體的整個生命周期，包括開發、運行及維護。

## 對社會的影響

軟體工程師透過創造應用系統而影響整個社會。這些應用系統為使用者創造價值但有時候也會造成風險或災難。

### 應用

軟體工程師建立應用軟體給人們使用。工程應用通過激勵開發者以新的方法解決問題來影響軟體工程.比如，消費者用的軟體強調低成本，醫用軟體強調高質量，而網際網路商業軟體重視如何能快速的發展.

#### 系統軟體

- 作業系統
- 嵌入式
- 圖形
- 多任務處理
- 實時
- 網路 和 網際網路
- 域名系統（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.