欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    软件工程学概述精品文稿.ppt

    • 资源ID:91093963       资源大小:4.24MB        全文页数:81页
    • 资源格式: PPT        下载积分:18金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要18金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    软件工程学概述精品文稿.ppt

    软件工程学概述第1页,本讲稿共81页课程的要求、目标及特点 要求 有一定的编程基础 自学能力 目标 了解软件工程学基本原理、规范、方法,提高对软件项目的分析设计能力 开阔视野,建立项目概念,思考职业规划,增强未来竞争力 特点 理论性强,抽象,适合高年级学习 以概要性介绍为主 需要在实践中提高能力第2页,本讲稿共81页课程的主要内容 软件工程过程的主要活动,如需求分析,设计,测试 软件开发方法学 传统方法学 面向对象方法学 项目管理知识 实践环节,基于实际的应用,完成设计、分析多看书,多编程,多交流,积累经验第3页,本讲稿共81页考核方法 笔试 出勤 大作业 软件设计报告 学期中间布置,三周时间完成 1-3人一组 根据要求,进行需求分析、系统设计 制作PPT,组内代表在课堂上讲解5-10分钟 学期末上交PPT的打印稿和电子版第4页,本讲稿共81页 参考书软件工程实践者的研究方法 Roger S.Pressman 机械工业出版社 软件工程 Ian Sommerville 机械工业出版社第5页,本讲稿共81页参考书 软件工程过程 Pierre N.Robillard 清华大学出版社 第6页,本讲稿共81页其他资源 网上搜索,知名网站,信息的权威性 外文书每章后面的“进一步阅读”所列的内容 学校图书馆中外文网络数据库第7页,本讲稿共81页软件发展的历史 早期,上世纪60年代中期之前 编写者和使用者往往是同一个人 第二个时期,上世纪60年代中期-70年代中期 软件作坊,个体软件开发方法,生产软件产品 出现软件危机 1968年北大西洋公约组织(NATO)在联邦德国召开国际会议,讨论软件危机问题,正式提出“软件工程”这个词,一门新兴的工程学科就此诞生。第三个时期,上世纪70年代中期-80年代中期 结构化程序设计 第四个时期,上世纪80年代中期以后 面向对象程序设计第8页,本讲稿共81页软件危机 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题,包括:费用过高 严重超期 失败率高 可靠性差 难以维护第9页,本讲稿共81页1.1 软件危机 大型软件,50,000行高级语言代码 阿波罗登月计划的软件有1000万行代码 IBM 360 大型机操作系统开发人员最多时达到1000人,从1963年到1966年花费4年时间完成,总计耗费约5000人年。经反复修改,仍有上千条错误 1965年-1970年,美国范登堡空间试验基地多次发射火箭失败,绝大部分因为程序错误软件的复杂性超出了个人能力控制的范围第10页,本讲稿共81页1.1.1 软件危机的表现 软件开发的成本和进度估计很不准确 用户对已完成的软件不满意 软件质量不可靠 软件维护困难或不可维护 缺少适当的文档 软件成本占计算机系统总成本的比例逐年上升 20世纪60年代初占10-20%60年代中期占50%70年代初占80%以上 软件生产率提高速度缓慢第11页,本讲稿共81页1.1.2 软件危机产生的原因 软件本身的特点 缺乏可见性,完成前不易衡量其好坏 复杂性随规模增加呈指数上升,无法保证质量 用户的原因 需求不明或易变,认为软件可以随意改动 开发和管理人员的原因 不重视文档,只重视编码 开发随意性大,维护困难第12页,本讲稿共81页图1.1 引入同一变动付出的代价随时间变化的趋势1.1.3 消除软件危机的途径要有技术措施,也要有管理措施第13页,本讲稿共81页1.2 软件工程1.2.1 软件工程的介绍 为了克服软件危机,科学家们从其他产业(如机械制造、建筑等)的工程化生产得到启示,提出了“软件工程”的概念。概括地说,软件工程是指导计算机软件开发和维护的工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。第14页,本讲稿共81页软件工程典型的定义“软件工程就是为了经济地获得可靠的且能在实际机器上有效地运行的软件,而建立和使用完善的工程原理。”该定义不仅指出了软件工程的目标是经济目标是经济地开发出高质量的软件,而且强调了软件工程是一门工程学科,它应该建立并使用完善的工程原理。1993年IEEE(The Institute for Electrical and Electronic engineers)进一步给出了一个更全面更具体的定义:“软件工程是:(1)把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;(2)研究(1)中提到的途径。第15页,本讲稿共81页 软件工程的本质特征:1.软件工程关注大型程序的构造 2.软件工程的中心课题是控制复杂性 3.软件经常变化 4.开发软件的效率非常重要 5.和谐的合作是开发软件的关键 6.软件必须有效地支持它的用户 7.在软件工程领域中是由具有一种文化背景的人 替具有另一种文化背景的人创造产品第16页,本讲稿共81页1.2.2 软件工程的基本原理 1.用分阶段的生命周期计划严格管理(领导干预)2.坚持进行阶段评审(LED屏项目,GPS项目)3.实行严格的产品控制(修改要批准,华为,灯)4.采用现代程序设计技术 5.结果应能清楚的审查 6.开发小组的人员应该少而精(通讯开销)7.承认不断改进软件工程实践的必要性 第17页,本讲稿共81页1.2.3 软件工程方法学 通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学(methodology),也称为范型(paradigm)。软件工程方法学包含3个要素:方法、工具和过程。其中,方法是完成软件开发的各项任务的技术方法,回答“怎样做”的问题;工具是为运用方法而提供的自动的或半自动的软件工程支撑环境;过程是为了获得高质量的软件所需要完成的一系列任务的框架。目前使用的最广泛的软件工程方法学,分别是传统方法学和面向对象方法学。第18页,本讲稿共81页1、传统方法学 传统方法学也称为生命周期方法学或结构化范型。它采用结构化技术(结构化分析、结构化设计和结构化实现)来完成软件开发的各项任务,并使用适当的软件工具或软件工程环境来支持结构化技术的运用。该方法把软件生命周期的全过程依次划分为若干个阶段,然后顺序地完成每个阶段的任务。前一阶段任务的完成是下一阶段工作开始的前提和基础。每一阶段的开始和结束都有严格的标准,在每一阶段的结束之前都必须进行正式严格的技术审查和管理复审。第19页,本讲稿共81页结构化方法 结构化方法是70年代末由DeMarco、Yourdon、Constantine等人提出的系统的开发方法,包括结构化分析(SA)、结构化设计(SD)和结构化程序设计(SP)IDEF、ER方法等。无论系统多么复杂,总可以自顶向下被分解成若干个子系统,更小的子系统,分别进行分析设计。第20页,本讲稿共81页传统方法学的问题 传统方法学要求对上一阶段结果进行固定,才能开始下一阶段的工作 如果软件系统规模庞大,需求模糊且不断变化,传统方法学必须反复从头再来,造成系统结构不稳定,无法保证进度和质量 而需求不断变化是现代软件的一个重要特征,因为环境变化太快(人员、机构调整,平台、技术变化)(短信服务平台、云计算)第21页,本讲稿共81页2.面向对象方法学 面向对象方法学具有下述4个要点:(1)把对象(object)作为融合了数据及在数据上的操作行为的统一的软件构件。面向对象程序是由对象组成的,程序中任何元素都是对象,复杂对象由比较简单的对象组合而成,也就是说,用对象分解取代了传统方法的功能分解。(2)把所有对象都划分成类(class)。每个类都定义了一组数据和一组操作,类是对具有相同数据和相同操作的一组相似对象的定义。数据用于表示对象的静态属性,是对象的状态信息,而施加于数据之上的操作用于实现对象的动态行为。第22页,本讲稿共81页(3)按照父类与子类的关系,把若干个相关类组成一个层次结构的系统。在该层次中,派生类自动拥有上层基类中定义的数据和操作,这种现象称为继承。(4)对象彼此间仅能通过发送消息互相联系。第23页,本讲稿共81页面向对象方法学的优点 对象比功能稳定 需求变化可以限制在对象内 对象独立性好,增减对象对外部影响小 根据需求可不断进化第24页,本讲稿共81页两种方法学比较存款取款利息结算帐户余额 帐户余额过程式编程范型面向对象编程范型存款取款利息结算“银行帐户”对象数据和操作成为整体?数据和操作分离第25页,本讲稿共81页软件开发方法学现状 软件开发取得了巨大的进展 软件超期、超预算甚至失败的情况仍普遍存在 软件工程学仍是最活跃的研究领域之一第26页,本讲稿共81页生命周期各阶段的任务 瀑布模型问题定义可行性研究需求分析总体设计详细设计编码和单元测试综合测试维护定 义 开 发维护第27页,本讲稿共81页问题定义 要解决的问题是什么?确定要开发软件系统的总目标 给出功能、性能、可靠性以及接口等方面的要求第28页,本讲稿共81页可行性研究 必须回答的关键问题是:“对于上一个阶段所确定的问题有行得通的解决办法吗?”估计可利用的资源(计算机硬件,软件,人力等)、成本、效益、开发进度 完成可行性研究报告 提交评审第29页,本讲稿共81页需求分析和定义 准确的确定“为了解决这个问题,目标系统必须做什么”,主要是确定目标系统必须具备那些功能。对待开发的软件提出的需求进行分析并给出详细的定义 编写软件需求规格说明书,初步的用户手册,测试方案 提交评审第30页,本讲稿共81页软件设计 回答:“系统应该如何实现?”总体设计 把各项需求转换成软件的体系结构,结构中每个模块都和一个需求相对应 从各种可能的设计方案里选择最佳方案 详细设计 对每个模块要完成的工作进行具体的描述,为编写源程序打下基础 完成文档,提交评审 系统说明,用户手册,测试计划,实现计划,数据库设计结果第31页,本讲稿共81页编码和单元测试 把软件设计转换成计算机语言代码,即源程序 写出的程序应当是结构良好、清晰易读,且和设计相一致 单元测试 查找各模块在功能和结构上的问题并加以纠正第32页,本讲稿共81页综合测试 集成测试 将已测试过的模块按一定顺序组装起来,再进行测试,以发现与接口有关的问题 验收测试 按照需求规格说明书的规定,由用户(参与)对目标系统进行测试 文档 测试计划、详细测试方案和测试报告第33页,本讲稿共81页软件维护 改正性维护 运行中发现软件的错误,需要修改 适应性维护 为了适应变化的工作环境,对软件进行适当变更 完善性维护 为增强软件的功能需做维护 预防性维护第34页,本讲稿共81页阶段 关键问题 结束标准问题定义 问题是什么?关于规模和目标的报告书可行性研究有可行的解吗?系统的高层逻辑模型数据流图 成本/效益分析报告可行性研究报告需求分析 系统必须做什么?系统的逻辑模型数据流图、数据字典、算法描述需求规格说明书初步用户手册总体设计 系统应该如何实现?系统说明用户手册测试计划详细实现计划数据库设计结果表1.1 结构分析设计过程小结第35页,本讲稿共81页阶段 关键问题 结束标准详细设计 怎样具体实现这个系统?编码规格说明HIPO图或PDL编码和单元测试正确的程序模块 源程序清单单元测试方案和结果综合测试 符合要求的软件 综合测试方案和结果 完整一致的软件配置维护 持久的满足用户需要的软件 完整准确的维护记录表1.1 结构分析设计过程小结第36页,本讲稿共81页1.4 软件过程 软件过程是为获得高质量软件所需要完成的一系列任务的框架,它体现了完成各项任务的工作步骤。概括地说,软件过程描述为了开发出客户需要的软件,什么人(who)、在什么时候(when)、做什么事(what)以及怎样做(how)这些事以实现某一特定的具体目标。第37页,本讲稿共81页 过程定义了运用方法的顺序、应交付的文档资料、为保证软件质量和协调变化所需要采取的管理措施,以及标志软件开发各个阶段任务完成的里程碑。为了获得高质量软件产品,软件过程必须科学、有效。每一种软件的开发过程不尽相同。通常使用生命周期模型简洁的描述软件过程。生命周期模型规定了把软件生存期划分成哪些阶段以及各个阶段的顺序,因此,也称为过程模型。第38页,本讲稿共81页1.4.1 瀑布模型 20世纪80年代前唯一被广泛采用的过程模型,现在仍是使用最广泛的模型。体现了传统软件工程方法学的软件过程。问题定义总体设计需求分析可行性研究详细设计综合测试编码与单元测试软件维护第39页,本讲稿共81页

    注意事项

    本文(软件工程学概述精品文稿.ppt)为本站会员(石***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开