第一部分 软件过程(持更中)
第1章 软件的本质
1. 定义软件
1.指令的集合 2.数据结构 3.软件描述信息
2. 软件应用领域
系统软件,应用软件,工程/科学软件,嵌入式软件,
产品线软件,Web/移动软件,人工智能软件
3. 遗留软件
没有失效就不用改变
4. 软件变更类型
WebApp 移动App 云计算 产品线软件
这里的背景色是:PowderBlue |
第2章 软件工程
1. 软件工程的定义
美国电器电子工程协会IEEE对软件工程的定义如下:
1.将系统化,规范化,可量化的方法应用于软件的开发,运行和维护,即将工程化方法
应用于软件;2.对第1点中所描述方法的研究。
软件工程是一种层次化的技术:
1.支持软件工程的根基在于质量关注点quality focus。
2.软件工程的基础是过程层process。
3.软件工程方法是为构建软件提供技术上的解决方法method。
4.软件工程工具为过程和方法提供自动化或半自动化的支持tool。
2. 过程框架
过程框架(process framework) 定义了若干个框架活动(framework activity),为实现完整的让软件工程过程建立了基础。此外,过程框架还包含适用于整个软件过程的普适性活动 (unbrella activity)
一个通用的软件工程过程框架通常包含以下5个活动:
沟通 策划 建模 构建 部署
第3章 软件过程结构
第4章 过程模型
1,惯用过程模型
1. 瀑布模型(waterfall model)||经典生命周期(classic life cycle)
适用于需求明确 或对已存在的系统进行适应性调整。
可能会导致 “阻塞状态”。
1.瀑布模型变形—V模型
·一旦编码结束,沿着V模型右侧的步骤向上推进,执行一系列测试。
·V模型与瀑布模型没有本质区别,不过V模型提供了一种将验证与确认
应用于早期软件工程的直观方法。
2. 增量过程模型
·适用于迫切的为用户提供提供一套功能有限的产品,然后在后续
过程中细化和扩展功能。
·运用增量模型时,第一个增量往往是核心产品,也就是满足了
基本需求,但是没有提供附加的特性。
3. 演化过程模型—原型开发(prototyping paradigm)
·原型开发是迭代的过程模型