1.1 计算机软件
- 软件的发展
-
1946~1956 第一个程序的出现到高级语言出现
-
1956~1986 高级语言出现到软件工程出现
-
1968至今
- 软件的特点
一种逻辑实体、被开发或设计、不会老化,但需要修复。
- 软件的分类
-
系统软件:编译程序、操作系统等
-
支撑软件:数据库管理系统等
-
应用软件:Web应用软件等
- 软件语言
-
需求定义语言:PSL/PSA
-
功能性语言:Z语言
-
设计性语言:PDL
-
实现性语言:
-
低级语言和高级语言
-
过程语言和非过程语言
-
…
-
-
文档语言
1.2 软件工程
- 定义:软件工程是应用计算机科学、数学及管理科学等原理,开发软件的工程。
- 软件工程框架:目标、过程和原则。
- 软件的生存周期:计算机系统工程->需求分析->设计->编码->测试->运行和维护
1.3 软件过程
能力成熟度模型CMM和能力成熟度模型集成CMMI
1.4 软件过程模型
- 瀑布模型
- 演化模型
- 增量模型
- 原型模型螺旋模型
- 喷泉模型
- 基于构件的开发模型
- 形式化方法模型
1.5 敏捷软件开发
- 敏捷软件开发的价值观及开发原则
- 个人和交互高于过程和工具
- 可运行软件高于详尽的文档
- 与客户协作高于合同谈判
- 对变更及时作出反应高于遵循计划
- XP方法
- Agile和CMM