一,软件是什么?
软件是计算机系统中与硬件相互依存的另一部分,他是包括程序,数据及其相关文档的完整集合
1,程序是按事先设计的功能和性能要求执行的指令序列
2,数据是使程序能正常操作信息的数据结构
3,文档是程序开发,维护和使用有关的图文材料
二,软件的特点:
软件是一种逻辑实体,而不是具体的物理实体。是抽象的
软件的生产与硬件是不同的,在他的开发过程中没有明显的制造过程
三,软件的缺陷:
在软件的运行和使用期间,没有硬件那样的机械磨损,老化问题
软件的开发手受到硬件的限制
软件的开发还未摆脱手工开发方式
软件问题的复杂性
软件成本相当昂贵
软件设计到社会因素:例如版权
四,软件的分类:
1,按功能分:
操作系统
数据库管理系统
设备驱动程序
通信处理程序
支撑软件:
文本编辑程序
文本格式化程序‘
磁盘向磁带向数据传输的程序
程序库系统
支持需要分析,设计。实现,测试和支持管理的软件
应用软件:
各方面的软件,办公,教学辅助
2,按规模划分
微,小,中,大,极大
工3,作方式划分:
1,实时处理
2,分时
3,交互式
4,批处理软件
4,按软件服务对象的范围:
项目软件
产品软件:以盈利为目的
5,使用的频度划分
一次使用
频繁使用:操作系统,天气预报
6,按照失效的影响划分
高可靠性软件
一般可靠性软件
7,软件发展阶段:
程序设计阶段——50到70年代
程序系统阶段——60至70年代
软件工程阶段——70年代以后
五,软件危机:在开发的时候遇到了很多无法解决的问题
六,件工程过程:
软件规格说明:功能和限制
软件开发:产品满足规格说明的软件
软件确认:能够完成客户提出的要求
软件的改进:随着顾客提出的要求进行该井
七,件工程过程的特性:
易理解性:
可见性:
可支持性
可靠性:
健壮性
可接受性
可维护性:要看的懂,要规范
速度:运行速度不能太慢
软件的身存期:软件有一个孕育,诞生。成长,成熟,衰亡的生存过程
制定计划:对用户的需求的总目标
给出性能,可靠性以及接口等方面的要求
完成改软件任务的可行性研究
八,求分析和定义:
对待软件提出的需求进行分析并给出详细的定义:
编写软件需求说明书
软件设计:
概要设计:把各项需求转化成软件的体系结构,结构中每一组成部分都是意义明确的模块
程序编写:
软件测试:编写完后进行测试
单元测试:查找模块在功能和结构上存在的问题
组装测试:将以测试过的模块按顺序组装起来
运行维护:
改正性维护:客户使用时出现的问题
完整性维护:想要增加更多的功能
九,布模型:
定义阶段:计划,需求分析
开发阶段:设计,编码,测试。测试
维护阶段:运行和维护
特点“顺序性和依赖性比较强
每个阶段都要有一个文档,要通过评审,否则不能通过
缺点:与用户见面晚
思想:从制作时间上工序把问题简化,将功能事项和制作分开便于分工协作
适用范围:适用于有目标的程序开发
十,B模型:
计划,
软件开发:需求分析,设计,编码,测试
维护:测试:发现错误,编码,运行,计划,需求分析,设计
快速原型模型:
需求分析,原型开发,,原型评价(评价后可以回到需求分析和原型开发 ),最终系统设计,最终系统实现
十一,演化模型:
由于在项目开发 的初始阶段人民对软件的需求认识常常不够清晰
渐增模型:和瀑布模型的每个阶段都进行重复
十二,旋模型:
使用范围:大公司使用,大型软件
制定计划=需求分析
风险分析
实施工程
客户评价
十三,泉模型:重复,演进,哪个阶段出现问题,就直接进行修改
原型,渐增型。与用户见面比较快
十四,换型:
1,思想:从软件的需求的形式规则
系统开发生命周期:
三个阶段:分析阶段,设计阶段,实现阶段
计划阶段:
软件工程的定义:
运用现代科学知识来设计并构造计算机程序及为开发,运行,维护这些程序所必须的相关文档资料
软件工程是开发,运行,维护,和修复软件的系统方法
软件工程的三要素
方法:提供了如何做
软件工具:提供了自动或半自动的软件支撑环境
十四,基本目标:
付出较低的开发成本
达到要求的软件功能
取得较好的软件性能
开发的软件易于移植
需要较低的维护费用
能按照完成开发工作,即使交付使用
十五,件遵循的7条规则:
(1)用分阶段的生命周期计划严格管理
(2)坚持进行阶段评审
(3)采用严格的产品控制
(4)采用现代程序设计技术
(5)结果应该=能清除的审查
(6)合理安排软件开发小组的人(不是越多越好)
(7)承认不断改进软件工程实践的必要性
十六,软件工程目标:以较少投资获得易维护,易理解可靠,高效率的软件产品
软件工程学是研究软件结构,软件设计和维护方法软件工具与环境,软件工程标准与规范,,软件开发技术与管理技术的相关理论
软件工程的原则:
1,分解
2,独立性
3,一致性
4,确定性
软件的开发模型:全部任务的框架