目录
第一讲
1.按照软件功能划分
系统软件:操作系统,数据库管理系统,设备驱动系统,通信处理系统
支撑软件:文本编辑软件,文件格式化软件
应用软件:系统仿真软件,计算机辅助设计/制造软件
2.按照软件规模划分3.按工作方式划分
实时处理软件,分时软件,交互式软件,批处理软件
4.按服务对象范围划分
项目软件,产品软件
5.按使用频度划分
一次使用,频繁使用
6.按软件失效的影响划分
高可靠行软件,一般可靠性软件
软件发展阶段
程序设计阶段——50-60年,程序系统阶段——60-70年代,软件工程阶段——70年代之后
第二讲
软件工程过程 :软件规格说明,软件开发,软件确认
软件工程过程特性:易理解性,可见性,可支持性,可接受性,可靠性,安全性,可维护性
软件测试:单元测试(查找各模块在功能和结构上存在的问题并加以纠正),组装测试(将已测试过的模块按一定顺序组装起来)
一、瀑布模型:计划(定义阶段)-需求分析-设计-编码-测试(开发阶段)-运行·维护(维护阶段)
1.思想:从制作时间上按工序吧问题简化,将功能实现与制作分开便于分工协作
2.优点:1奠定了软件工程方法的基础2流水依赖,便于分工协作3推迟物理实现,易于修改文档,有复审质量保证
3.不足:与用户见面晚,成功率低,一般为25%
4.使用范围:使用与系统要求明确的系统,各种应用软件的开发均可以使用
5.开发方法:遵循软件生命期的划分,明确规定每个阶段的任务,上一阶段完成确定的任务后就产生一定格式的文档给下一阶段,不同阶段的任务一般有不同级别的软件人员承担
6.开发特点:1时间的顺序性和依赖性2推迟实现的观点3质量保证的观点
第三讲
二、快速原型模型:需求分析-原型开发-原型评价-最终系统设计-最终系统实现
三、渐增模型四、螺旋模型:在四个象限上分别表达了四个方面的活动1.制定计划:确定软件目标,选定实施方案,弄清项目开发的限制条件2.风险分析:分析所选方案,考虑如何识别和消除风险3.实施工程:实施软件开发4.客户评估:评价开发工作,提出修正建议
五、喷泉模型
迭代-重复-演进 无间隙:各阶段无明显界限
原型(渐增型)
1.基本思想:允许从部分需求出发,先建立一个不全面的系统通过测试这个系统,进一步使系统扩充和完善
2.优点:开发的始终开发人员和用户都共同参与,有问题可以随时修改,从而很好的满足用户的需求
3.适用范围:适用于与那些知识型软件系统的开发
4.特点:1从整体结构上不如瀑布型清晰;2软件的文档不如瀑布型的划分严格;3周期长,成本高;4与用户见面快,开发效率高
变换型
1.思想:从软件需求的形式规格说明出发,经过一系列的程序变化,得到最终的结果
2.特点:有严格的数学理论和形式化的技术支持,但目前在研发和实验阶段不能实用
喷泉型:认为软件的各个周期是相互重叠和多次反复的
螺旋型:多次原型反复并增加风险评估的开发模型
系统开发生命周期
三个主要阶段:分析阶段;设计阶段;实现阶段;两个附加阶段:系统支持;项目计划阶段
软件工程的定义
软件工程项目的基本目标:付出较低的开发成本;达到要求的软件功能;取得较好的软件性能;开发的软件易于一移植;需要较低的维护费用;能按时完成开发工作,交付使用