## 软件概念
计算机系统与硬件相互依存的另一部分,包括程序,数据及其相关文档的完整集合。
## 软件特点
1.是一种逻辑实体,而不是具体的物理实体,具有抽象性。
2.没有明显的制造过程。
3.没有机械磨损。
4.软件开发和运行受到计算机系统的限制,对计算机系统有着依赖性。
5.未完全摆脱手工的开发方式。
6.软件本身是复杂的:实际问题复杂,程序逻辑结构的复杂性。
7.软件成本相当昂贵。
8.涉及到社会因素(知识产权)
## 分类方法
###按功能
系统软件
支撑软件> 应用软件
>
### 按规模
![](https://box.kancloud.cn/2016-04-28_572182a2d14e3.jpg)
###按工作方式
实时处理软件>分时软件
交互式软件(人机通讯)
批处理软件(按顺序依次进行)
###按服务对象
> 项目软件
> 产品软件
###按使用频度
一次使用
频繁使用
###失效的影响
高可靠性
一般可靠性
## 软件的发展阶段
程序设计阶段50-60年代
程序系统阶段60-70年代
软件工程阶段(面向对象)70年代--今天
## 软件工程过程
软件规格说明 --软件开发--软件确认--软件维护
## 遵循的原理
1.用分阶段的生存周期计划严格管理
2.坚持进行阶段评审
3.实行严格的产品控制
4.采用现代程序设计技术
5.结果应能清楚地审查
6.合理安排软件开发徐奥组人员
7.承认不断改建软件工程实现的必要性
## 软件开发模型
螺旋模型
瀑布模型
第四代技术模型
原型模型
构建组装模型
混合模型
## 软件生存周期
问题定义
可行性研究
需求分析
设计
编码
测试
运行和维护(计划阶段,开发阶段和维护阶段)
## 软件危机
表现
产品不符合用户的实际需要。
软件开发生产率提高的速度远远不能满足用户的客观需要。
软件产品的质量差
对软件开发成本和进度的估计常常不准确
软件的可维护性差
软件的文档资料通常既不完整也不合格> > 软件的而价格昂贵,软件成本在计算机系统总成本中所占的比例逐年上升。
##原因
软件开发人员重视开发,轻视维护。
没有同意软件质量管理规范。
## 总结
这是我的导图
![](https://box.kancloud.cn/2016-04-28_572182a303a59.jpg)
我认为我们要做的是要理解软件工程是将产品和程序做的更加的专业化,使得产品在开发前就有一定的规划,这样才可以目标明确。