软体工程主题列表是软体工程条目的补充,用以为主条目提供更详细的内容及例子。1968年秋季,NATO(北约)的科技委员会召集了近50名一流的编程人员、计算机科学家和工业界巨头,讨论和制定摆脱“软体危机”的对策。在那次会议上第一次提出了软体工程(software engineering)这个概念,研究和套用如何以系统性的、规範化的、可定量的过程化方法去开发和维护软体,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来的学科。它涉及到程式设计语言、资料库、软体开发工具、系统平台、标準、设计模式等方面。其后的几十年里,各种有关软体工程的技术、思想、方法和概念不断被提出,软体工程逐步发展为一门独立的科学。
基本介绍
- 中文名:软体工程主题列表
- 外文名:Software Engineering Topic List
- 学科:软体工程
对社会的影响
软体工程师透过创造套用系统而影响整个社会。这些套用系统为用户创造价值但有时候也会製造灾难。
套用
软体工程师创建套用软体给人们使用。
工程套用通过激励开发者以新的方法解决问题来影响软体工程.比如,消费者用的软体强调低成本,医用软体强调高质量,而网际网路商业软体重视如何能快速的发展.
- 会计
- 分析:数据採集,与资料库关係密切,决策支持系统。
- 航空公司订位服务
- 银行业:自动柜员机,支票处理,信用卡。
- 商业:贸易,拍卖(EBay),逆向拍卖,条码扫描器。
- 编译器:数据分析器,最佳化器,解释器,连线器,载入器。
- 通信:电子邮件,即时通信,网上语音服务,日曆调度及协调,联络经理。
- 电脑图像:动画,特别效果为视频或电影服务,编辑器,后期处理。
- 密码学
- 资料库
- 嵌入系统:由于嵌入系统的特殊性,不论是软体工程师或传统的工程师都会参与编写嵌入系统的控制系统。汽车软体,航空电子学软体,供暖,通风和空调(HVAC)软体,医疗设备软体,电话软体,遥测软体.
- 工程:所有传统工程分支都已经大量採用软体来协助日常工作。工程师用电子表格比用计数机更多,而对于其产品的设计,例如路桥和大型电力设备等,电脑辅助设计更是不可少,并配合上特别设计的软体来进行设计,分析及模拟等各种活动。这些计画与软体在多方面有相似之处,除了因为工作的结果包含了电子档案以外,计画亦经历了分析/设计/实践和测试四个阶段。电脑辅助设计(CAD),电子设计自动化(EDA),数值分析,模拟。
- 档案:FTP,档案分享。
- 金融:债券市场,期货市场,股票市场。
- 游戏:扑克,多人参与冒险游戏,视频游戏。
- 资料库系统,支持几乎所有领域,实验室资讯系统,实验室数据的管理,管理资讯系统,财务及人事数据的管理。
- 物流业:供应链管理。
- 製造业,电脑辅助生产(CAM),分散式控制系统(DCS)。
- 音乐,音响效果,音乐合成。
- 网路和网际网路,域名系统(DNS),协定,路由器。
- 办公包,文字处理,电子表,演示。
- 作业系统,嵌入式,图形,多任务处理,实时。
- 机器人
- 信号分析,图象处理,视觉信息的编码解码,信号处理,信号的编码解码,语音处理,文字识别,笔迹辨认。
- 模拟,支持几乎所有领域工程,软体模拟可以比物理工程模型更廉价地创建且更灵活地改变。
- 科学:基因组学。
- 交通管制系统,航空交通管制系统,海上交通管制系统,陆上交通管制系统。
- 训练系统,钻井,模拟系统,测试。
- 可视化,支持几乎所有领域,体系架构,工程,科学。
- 投票系统
- 网际网路,浏览器,伺服器。
灾难
软体曾是许多着名灾害的重要原因。
- 阿丽亚娜-5运载火箭
- 火星探测器
- 丹佛国际机场
- Therac-25- 因软体设计时的缺陷造成六起医疗事故的一种放射治疗机器。
技术和实践
有技术的软体工程师运用技术及不同範畴的实践来改进生产力及质素。从而编程更快更容易。下列的技术和方法是在生产中天天被使用到的。
软体工程主题
许多技术和做法(几乎所有)是软体工程所特有的,儘管其中很多与计算机科学是共同的。
程式设计语言
- 程式语言列表
- 脚本语言
- COBOL
- C
- C++
- C#
- Fortran
- Java
- Perl
- PHP
- Python
- Tcl
- Visual Basic
编程范型,基于程式语言技术
- 面向方面的程式设计(面向方面的编程)
- 功能分解
- 面向对象程式设计(面向对象的编程)
- Post-object programming
- 结构化程式设计
资料库[编辑]
- 层次结构式资料库
- 对象资料库
- 关係资料库
- SQL/XML
- SQL
图形用户界面[编辑]程式设计工具
- 配置管理和源码管理
- 并行版本系统
- 编译
- 修订控制系统
编辑器
- 程式编辑器
- 文字编辑器
- 文字处理器
库[编辑]
- 软体部件
设计语言[编辑]
- 统一建模语言
模式,一些通用的编程以及项目管理的技术
- 反模式
- 设计模式
软体开发过程和方法 (计算机科学)
- 敏捷软体开发
- 敏捷软体开发
- Crystal
- 极限编程
- 精益软体开发
- Scrum (in management)
重量级
- Cleanroom
- ISO 12207,软体生命周期过程
- ISO 9000andISO 9001
- RUP
过程评价框架
- CMMandCMMI
- ISO 15504(SPICE)
系统平台[编辑]
平台结合了计算机的硬体和作业系统。平台变得越来越强大和廉价的同时,操作和工具被更广泛地使用。
- BREW
- 克雷超级计算机
- DEC微型计算机
- IBM大型机
- LinuxPC
- Mac OS和Mac OS XPC
- Microsoft .NET网路软体平台
- Palm OSPDA
- Sun工作站
- WindowsPC(Wintel)
其他套用[编辑]
- 通信
- 结对编程
- 代码重构
- Software inspections/代码审查
- 代码复用
- 系统统整(Systems integration)
- 团队合作
- 软体验证及确认
其他工具[编辑]
- 决策表
- 软体特色
- Story
- 用例
计算机科学主题
- 排序算法
- 编译器理论
数学主题
离散数学(Discrete mathematics)是软体工程学的重要基石。
- 集合
其他
- 统计学