软件工程概论
。What? 软件(特点,分类方法)
。分类
。发展
。生存期
。工程
。软件工程的目的和要求
软件是计算机系统中与硬件相互依存的另一部分,
他是包括程序,数据及其相关文档的完整集合。
程序是按照事先设计好的功能和性能要求执行的指令序列
数据是使程序能正常操作信息的数据结构。
文档使与程序开发,维护和使用有关的图文材料。
软件的特点
1,软件是一种逻辑实体,而不是具体的物理实体。它具有抽象性。
2,软件的生产与硬件不同,在它的开发过程中没有明显的制造过程。
3,运行和使用期间,没有硬件那样的机械磨损,老化问题。
4,软件的开发和运行常受到计算机系统的限制,对计算机系统有着不同程度的依赖性
5,开发至今未摆脱手工艺的开发方式。
6,本身复杂 ,实际问题复杂 程序逻辑结构复杂
7,昂贵
8,软件工作涉及到社会因素

软件的分类
软件危机
在开发和维护过程中遇到严重问题(达不到用户需求,夭折,质量差 成本超预支和进度时间晚 昂贵 )
功能划分
——系统软件
操作系统
数据库管理系统
设备驱动程序
通信处理程序
——支撑软件
文本编辑程序
文件格式化程序
磁盘向磁带向数据传输的程序
程序库系统
支持需求分析,设计,实现,测试和支持管理的软件。
——应用软件
商业数据处理软件
工程与科学计算软件
计算机辅助设计/制造软件
系统仿真软件
智能产品嵌入软件
医疗,制药软件
事务管理,办公自动化软件
计算机辅助教学软件
规模划分
微型
小型
中型
大型
甚大型
极大型

工作方式划分
实时处理软件
分时软件
交互软件
批处理软件
服务对象范围划分
项目软件(客户委托,签合同,不以盈利为目的。是很需要,不推向市场)
产品软件(产品,以营利为目的,推向市场)
使用的频度使用划分
一次
频繁
失效的影响划分
高可靠
一般可靠
软件的发展
此处做了解内容

软件工程过程
规格说明:规定软件的功能及其运行的限制
软件开发:产生满足规格说明的软件
确认:确认软件能够完成客户提出的要求。
特性
易理解
可见
可支持
可接受可靠
健壮
可维护
速度
软件生存期 life cycle
软件有一个孕育,诞生,成长,成熟,衰亡的尚存过程即为计算机软件的生存期。
制定计划
1,确定要开发软件系统的总目标。
2,给出功能,性能,可靠性以及接口等方面的要求。
3,完成该软件任务的可行性研究。
需求分析和定义
。对待开发软件提出需求进行分析并给出详细的定义。
。编写软件需求说明书。
软件设计
概要设计——把各项需求转换成软件的体系结构。结构中每一组成部分都是意义明确的模块,
软件测试
单元测试,查找各模块在功能和结构上存在的问题并加以纠正
组装测试(集成测试),将已测试过的模块你一定的顺序组装起来。
系统测试。
运行和维护

瀑布型
1.思想:
从制作时间上按工序吧问题化简,将功能实现与制作分开便于分工协作。
2.优点:
。奠定了软件工程方法的基础
。流水依赖,便于分工合作
。推迟物理实现,易于修改文档,有复审质量保险保证
3.不足
与用户见面晚,成功率低,一般为25%
4.适用范围:
适用与系统要求明确的系统,各种应用软件的开发均可使用
5.开发方法
遵循软件生命期夫人划分,明确规定每个阶段的任务,上一阶段完成确定的任务后就产生一定规格的文档给下一阶段,不同阶段的任务一般有不同级别的软件人员承担。
6开发特点
。时间的顺序性和依赖性
。推迟实现的观点
。质量保证的观点
快速原型模型(Rapid protoyping model)

演化模型

渐增模型

螺旋模型

螺旋模型沿着螺线旋转,四个象限上分别表达了四个方面的活动,即:
。制定计划——确定软件目标,选定实施方案,弄清项目开发的限制条件
。风险分析——分析所选方案。考虑如何识别和消除风险。
。实时工程——软件开发
。客户评价——评价开发工作
喷泉模型
——迭代
-重复
-演进
——无间隙
。各阶段无明显界限

下面这个模型做参考

只有学习和工作你才知道你的空间原来很大。加油
1382





