软件工程课件1概述.ppt

上传人:max****ui 文档编号:3272963 上传时间:2019-12-10 格式:PPT 页数:17 大小:606.50KB
返回 下载 相关 举报
软件工程课件1概述.ppt_第1页
第1页 / 共17页
软件工程课件1概述.ppt_第2页
第2页 / 共17页
软件工程课件1概述.ppt_第3页
第3页 / 共17页
点击查看更多>>
资源描述
软件工程导论,武汉科技大学计算机学院2010年3月,4-13周周三,5-6节,13105周五,5-6节,13407,第一章软件工程学概述(1),计算机系统=计算机硬件系统+计算机软件系统,计算机硬件系统经历了4个发展阶段,现在处于第五个发展阶段:1.第一代计算机(1946年1957年)主要元器件是电子管。2.第二代计算机(1958年1964年)晶体管时代。3.第三代计算机(1965年1970年)以中、小规模集成电路取代了晶体管.4.第四代计算机(1971年至今)采用大规模集成电路和超大规模集成电路。现在,又进入了智能计算机阶段.大、小、集中、分布、全球互联网计算机系统,第一章软件工程学概述(2),计算机软件系统,第一阶段:个体化生产,过程隐含,随意性大;面向批处理;有限的分布;自定义软件;,第二阶段:软件作坊面向批处理+多用户+实时;数据库;软件产品;,第三阶段:分布式系统;嵌入“智能”;低成本硬件;消费者的影响;,第四阶段:强大的桌面系统;面向对象技术;智能信息处理系统;网络与网格计算系统;,1946-1959冯.诺依曼程序存储;Fortran高级语言-56可执行+速度快+结果好,1960-1969非数值计算-范围扩大;高级语言程序设计,注重逻辑性;软件独立于硬件;,1970-1979数据与程序分离,数据结构+算法=程序设计;系统软件+应用软件;软件工程方法;,1980-现在:?,软件的定义(Boehm):软件是程序以及开发、使用和维护程序需要的所有文档。,软件危机的表现开发成本难以控制,进度不可预计;软件系统的质量和可靠性很差,难以满意;软件文档相当缺乏,软件系统不可维护;软件开发生产率很低,软件产品供不应求。软件产品成本十分昂贵。,软件危机产生的原因软件本身的特点:-软件是一种逻辑实体,而不是具体的物理实体,具有高度的抽象性;-软件是一个逻辑上复杂而规模上庞大的系统,涉及技术、管理等多方面的问题;-软件的生产方式与硬件明显不同:产品的质量控制在设计和制造阶段的不同;产品的生产方式不同;设计和制造阶段的资金和人力投入、技术复杂度不同;-软件的运行和维护阶段,没有传统意义上的机械磨损、老化问题。-软件与硬件有关,对软件有可移植性的要求。-软件工作涉及许多社会因素。对软件开发与维护存在许多错误认识和做法:忽视软件需求分析的重要性;对软件与程序的概念不清;轻视软件维护。软件开发与维护的方法不正确:对系统需求没有清楚和准确的认识就进入开发阶段,忽视对软件开发过程的管理;,1.1软件危机,磨合调整,磨损用坏,t,失效率,硬、软件产品失效率曲线,硬件,软件,计算机软件开发和维护过程中所遇到的一系列严重问题,软件改进,软件产品需要分阶段的定义、设计和开发,严格的产品质量控制,完整的文档记录。,改正一个问题的估计费用(美元),改正一个问题的估计工作量(人天),20,200,1000,2000,0.05,0.5,2.5,5.0,RA,SD,DD,CD,IT,ST,RT,Bell实验室统计结果(US),$,1.1软件危机,解决软件危机的途径将软件开发看成是一种组织严密、管理严格、各类人员协同配合共同完成的工程项目。研究和推广成功的软件开发技术和方法。开发和使用好的软件工具。,1.2软件工程,1基本概念:软件生命周期:软件所经历的定义、开发、使用和维护直到废弃所经历的时期。,程序设计环境:源程序编辑,编译或解释,链接,调试和运行工具的集合。软件工程环境:软件定义,设计和实现,测试和维护等各个阶段所使用的软件工具的集合。,软件工程:是指导计算机软件开发和维护的工程学科;1)采用工程的概念、原理、技术和方法来开发与维护软件;2)把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量地软件并有效地维护它。,科学规律、态度、方法和知识;技术运用科学、专门经验(设计和生产);工程多快好省地运用技术;,技术+管理,1.2软件工程,采用现代程序设计技术提高开发和维护的效率,如结构化分析SA和结构化设计SD技术。结果应能清楚地审查开发小组的人员应少而精1)软件开发的进度并非与参与开发人员的数量成正比,有时恰恰相反。2)软件产品的质量绝对与开发人员的素质相关。承认不断改进软件工程实践的必要性,用分阶段的生命周期计划严格管理6类计划项目概要计划,里程碑计划,项目控制计划,产品控制计划,验证计划,运行维护计划。,2、软件工程的基本原理,坚持进行阶段评审1)经验数据说明,大部分错误是在编码之前造成的,在整个软件设计错误中,设计错误占63%,而编码错误占37%。2)错误发现和改正得越晚,所需付出的代价就越高。,实行严格的产品控制主要实行基准配置管理。软件配置成分:软件开发各个阶段产生的文档和代码。基准配置:经过评审后的软件配置成分。,1.2软件工程(续1),生命周期各阶段的基本任务问题定义可行性研究需求分析总体设计(概要设计)详细设计编码和单元测试综合测试软件维护。,3.软件工程方法学,生命周期方法学的基本内容从时间角度对软件开发和维护的复杂问题进行分解,把软件生命的漫长周期依次划分为若干个阶段,每个阶段有相对独立的任务,然后逐步完成每个阶段的任务。,生命周期方法学的应用方法从对任务的抽象逻辑分析开始,一个阶段一个阶段地进行开发;前一个阶段任务的完成是后一个阶段工作的前提和基础,而后一个阶段任务通常是使前一阶段提出的解法更进一步的具体化,加进了更多的实现细节。,阶段过渡方法每一个阶段的开始和结束都有严格标准,前一阶段结束的标准是后一阶段工作开始的标准。技术审查和管理复审。,基本概念文档:是软件开发人员包括用户之间地通信工具,反映和定义了关于软件的知识和进一步工作的基础。也起软件开发备忘录的作用,提供对开发结果的检查和督察,1)传统方法学:生命周期方法学/结构化范型,3.软件工程方法学,2)面向对象方法学:,软件系统本质上是信息处理系统:数据及其行为是高度统一的。传统的软件工程技术将两者分离,给软件开发带来很大的局限性;,功能子程序,数据子集合,传统方法程序,1、客观世界是由各种对象所组成的,任何事物都是对象,每一个对象都有自已的运动规律和内部状态,每一个对象都属于某个对象类,都是该对象类的一个元素。复杂的对象可以是由相对比较简单的各种对象以某种方式而构成的。,2、消息:软件对象之间进行交互作用和通讯是利用消息的。,3、封装、继承和多态性,1.3软件生命周期,4.瀑布模型,问题定义,特点:1)阶段间具有顺序性和依赖性2)推迟实现的观点3)质量保证的观点。,可行性研究,需求分析,总体设计,详细设计,编码与单元测试,综合测试,软件维护,软件定义时期,软件开发时期,软件运行维护时期,1.4软件过程1、瀑布模型,问题定义,可行性研究,需求分析,总体设计,详细设计,编码与单元测试,综合测试,软件维护,要解决的问题是什么?,问题性质、工程目标和规模的报告,分析员:实际用户+负责人,是否有解决办法?,分析员,高层逻辑模型,准确和具体的工程规模和目标,成本/效益分析等可行性报告,为了解决的问题,目标系统必须做什么?准确确定系统的功能,系统的逻辑模型(数据流图+数据字典+简要算法),如何解决这些问题,模块划分软件结构,如何具体地实现系统:每个模块的流程图(程序的详细规格说明),通过各种类型的测试,使软件达到预定的要求,写出正确的容易理解和容易维护的程序模块,通过各种必要的维护活动使系统持久地满足用户的需要,四种不同类型的维护改正性维护、适应性维护、完善性维护、预防性维护,2、快速原型模型,快速原型:就是快速建立起在计算机上运行的程序,它所完成的功能往往是最终产品能完成的功能的子集。,3、增量模型:分批、逐步提供软件功能,风险很大的增量模型,4、螺旋模型,在快速模型的基础上每一个环节引进风险分析,4螺旋模型,1.5技术审查和管理复审,必要性管理复审和技术复审错误传播模型,原始要求,正确的规格说明错误的规格说明,正确的设计错误的设计对错误说明的设计,正确编码错误编码对错误设计的编码对错误说明的编码,正确功能可改正的错误不可改正的错误潜伏的错误,需求分析,设计,编码,测试,错误的扇形传播模型,习题和阅读文献,习题:P22-第1,3,4,6,7题深度阅读文献:1,作业以电子文档(doc或pdf)形式发送到:cjxwh,要求掌握软件设计工具:PowerDesign和Visio2003,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!