跳转到内容

软件工程主题列表

本页使用了标题或全文手工转换
维基百科,自由的百科全书

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

对社会的影响

[编辑]

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

应用

[编辑]

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

系统软件

[编辑]

编程与开发工具

[编辑]

应用软件

[编辑]

生产力与办公软件

互联网与通信应用

设计与媒体软件

企业与商业应用

科学与工程软件

  • 科学
  • 工程:所有傳統工程分支都已經大量採用軟件來協助日常工作。工程師用試算表比用計數機更多,而對於其產品的設計,例如路橋和大型電力裝置等,電腦輔助設計更是不可少,並配合上特別設計的軟件來進行設計,分析及模擬等各種活動。這些計劃與軟件在多方面有相似之處,除了因為工作的結果包含了電子文件以外,計劃亦經歷了分析/設計/實踐和測試四個階段。

艺术、娱乐与游戏

其他基础或支持软件

风险或灾难

[编辑]

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

技术和实践

[编辑]

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

软件工程主题

[编辑]

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

核心概念

[编辑]
  • 算法数据结构:作为计算机科学的核心,算法是解决问题的分步程序,而数据结构(如数组、链表、树和图)则是组织和存储数据的方法,以便这些算法能够高效地使用它们。
  • 计算理论: 该领域从数学角度探索计算机的基本能力和局限性。它探讨哪些问题可被解决(可计算性理论)以及解决这些问题所需的时间或内存(复杂度理论)。
  • 计算机系统结构:该领域关注计算机系统的内部结构与组织。它涵盖CPU、内存(RAM)和存储等组件的设计方式,以及它们在低级别上的交互方式,包括数据在二进制中的表示形式。
  • 编程语言范式:该领域涉及用于编写计算机指令的工具。它包括不同的编程范式——如过程式、面向对象和函数式编程——以及各种语言的语法和语义(如Python、C++、Java)。
  • 设计模式——對軟件設計中給定上下文中常見問題的一般可重用解決方案

支持与相关领域

[编辑]

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

其他應用
[编辑]
其他工具
[编辑]

電腦科學主題

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

數學主題

[编辑]

離散數學(Discrete mathematics)是軟件工程學的重要基石。

其他

生命週期的階段

[编辑]

社群主題

[编辑]

先驅者

[编辑]

参考文献

[编辑]

外部連結

[编辑]