欢迎来到天天文库
浏览记录
ID:5594470
大小:821.50 KB
页数:84页
时间:2017-11-15
《教学与管理平台1.2》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、软件工程导论教育科学学院第一章软件危机和软件工程(3)软件危机的表现开发成本难以控制,进度不可预计;软件系统的质量和可靠性很差,难以满意;软件文档相当缺乏,软件系统不可维护;软件开发生产率很低,软件产品供不应求。软件产品成本十分昂贵。软件危机产生的原因软件本身的特点:--软件是一种逻辑实体,而不是具体的物理实体,具有高度的抽象性;--软件是一个逻辑上复杂而规模上庞大的系统,涉及技术、管理等多方面的问题;--软件的生产方式与硬件明显不同:产品的质量控制在设计和制造阶段的不同;产品的生产方式不同;设计和制造阶段的资金和人力投
2、入、技术复杂度不同;--软件的运行和维护阶段,没有传统意义上的机械磨损、老化问题。--软件与硬件有关,对软件有可移植性的要求。--软件工作涉及许多社会因素。对软件开发与维护存在许多错误认识和做法:忽视软件需求分析的重要性;对软件与程序的概念不清;轻视软件维护。软件开发与维护的方法不正确:对系统需求没有清楚和准确的认识就进入开发阶段,忽视对软件开发过程的管理;……1.1软件危机磨合调整磨损用坏t失效率硬、软件产品失效率曲线软件的定义(Boehm):软件是程序以及开发、使用和维护程序需要的所有文档。早中晚引入同一变动付出的代
3、价随时间变化的趋势改正一个问题的估计费用(美元)改正一个问题的估计工作量(人·天)20200100020000.050.52.55.0RASDDDCDITSTRTBell实验室统计结果(US)软件产品需要分阶段的定义、设计和开发,严格的产品质量控制,完整的文档记录。5060708090硬件软件解决软件危机的途径将软件开发看成是一种组织严密、管理严格、各类人员协同配合共同完成的工程项目。研究和推广成功的软件开发技术和方法。开发和使用好的软件工具。基本概念:软件生命周期:软件所经历的定义、开发、使用和维护直到废弃所经历的时期
4、。程序设计环境:源程序编辑,编译或解释,链接,调试和运行工具的集合。软件工程环境:软件定义,设计和实现,测试和维护等各个阶段所使用的软件工具的集合。1.2软件工程软件工程的基本原理用分阶段的生命周期计划严格管理6类计划–项目概要计划,里程碑计划,项目控制计划,产品控制计划,验证计划,运行维护计划。坚持进行阶段评审1)经验数据说明,大部分错误是在编码之前造成的,在整个软件设计错误中,设计错误占63%,而编码错误占37%。2)错误发现和改正得越晚,所需付出的代价就越高。实行严格的产品控制主要实行基准配置管理。软件配置成分:软
5、件开发各个阶段产生的文档和代码。基准配置:经过评审后的软件配置成分。采用现代程序设计技术提高开发和维护的效率,如结构化分析SA和结构化设计SD技术。结果应能清楚地审查开发小组的人员应少而精1)软件开发的进度并非与参与开发人员的数量成正比,有时恰恰相反。2)软件产品的质量绝对与开发人员的素质相关。承认不断改进软件工程实践的必要性1.2软件工程(续1)2.软件工程的传统途径—生命周期方法学生命周期方法学的基本内容从时间角度对软件开发和维护的复杂问题进行分解,把软件生命的漫长周期依次划分为若干个阶段,每个阶段有相对独立的任务,
6、然后逐步完成每个阶段的任务。生命周期方法学的应用方法从对任务的抽象逻辑分析开始,一个阶段一个阶段地进行开发;前一个阶段任务的完成是后一个阶段工作的前提和基础,而后一个阶段任务通常是使前一阶段提出的解法更进一步的具体化,加进了更多的实现细节。阶段过渡方法每一个阶段的开始和结束都有严格标准,前一阶段结束的标准是后一阶段工作开始的标准。技术审查和管理复审。基本概念文档及其作用。生命周期各阶段的基本任务问题定义→可行性研究→需求分析→总体设计(概要设计)→详细设计→编码和单元测试→综合测试→软件维护。1.2软件工程(续2)4.瀑
7、布模型问题定义特点:1)阶段间具有顺序性和依赖性2)推迟实现的观点3)质量保证的观点。可行性研究需求分析总体设计详细设计编码与单元测试综合测试软件维护软件定义时期软件开发时期软件维护时期1.2软件工程(续3—生命周期各阶段的基本任务)问题定义可行性研究需求分析总体设计详细设计编码与单元测试综合测试软件维护要解决的问题是什么?问题性质、工程目标和规模的报告分析员:实际用户+负责人是否有解决办法?分析员高层逻辑模型,准确和具体的工程规模和目标,成本/效益分析等可行性报告为了解决的问题,目标系统必须做什么?准确确定系统的功能系
8、统的逻辑模型(数据流图+数据字典+简要算法)如何解决这些问题模块划分软件结构如何具体地实现系统:每个模块的流程图(程序的详细规格说明)通过各种类型的测试,使软件达到预定的要求写出正确的容易理解和容易维护的程序模块通过各种必要的维护活动使系统持久地满足用户的需要1.3技术审查和管理复审必要性管理复审和技术复审错误传播模
此文档下载收益归作者所有