软件:是计算机系统中与硬件相互依存的另一部分,他是包括程序,数据及相关文档的完整集合
程序:是按事先设计到的功能和性能要求执行的指令序列
数据:是使程序能正常操作信息的数据结构
文档:是与程序开发,维护和使用有关的图文材料
- 软件特点
1.它具有抽象性是一种逻辑实体
2.没有制造过程
3.没有机械磨损和老化问题;
4.开发和运行受到系统和硬件的限制
5.开发没有摆脱手工艺
6.本身的复杂性(实际问题、环境、语言)
7.成本昂贵
8.工作涉及到社会因素(盗版);
- 软件的分类
功能、规模、工作方式、服务对象范围、使用频度、软件失效的影响;
- 软件危机
开发和维护过程中遇到的一系列严重问题.
原因: 1.没有运用工程化的思想
2.没有考虑维护问题
- 软件开发
计划任务书、软件需求规格说明书、设计说明书、程序清单、可以运行的程序、改进的产品
软件开发模型
- 瀑布模型
- B模型
计划(理解问题、可行性分析)、需求分析(用户需求、需求规格说明书)、设计(软件结构)
编码(程序清单)、测试(发现排除错误)、维护(运行管理程序)
修改代码不能超过百分之二十
思想:1.从制作时间上按工序把问题化简
2.将功能实现与制作分开便于分工协作
特点:1.时间顺序性和依赖性
2.推迟实现的观点
3.质量保证的观点
优点:1.奠定了软件工程方法的基础;
2.流水依赖,便于分工协作
3.退出物理实现,易于修改文档,有复审质量保证
缺点:1.和用户见面较晚
2.成功率低(需求分析做的不好),一般为25%
使用范围: 1.适用于系统要求明确的系统
2.各种应用软件的开发均可以使用
开发方法:遵循生命期划分,明确各阶段任务上一阶段完成任务后产生的文档给下一阶段,不听阶段任务有不同级别的软件人员承担。
系统开发生命周期
分析阶段:理解商业需求
设计阶段:将计算机系统解决方案概念化
实现阶段:实现、测试并安装系统
两个附加的阶段
项目计划阶段(分析阶段)
系统支持(环境工具)