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

    第2章应用程序开发活动优秀PPT.ppt

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

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

    第2章应用程序开发活动优秀PPT.ppt

    第2章应用程序开发活动现在学习的是第1页,共41页2.1 软件开发的基本活动软件开发时期主要包括需求分析、软件设计、编码和测试四个阶段。一、需求分析1.需求分析的任务(1)需求分析的任务主要有两个:第一是通过对问题及其环境的理解、分析和综合,建立分析模型;第二是在完全地弄清用户对软件系统的确切要求的基础上,用“软件需求规格说明书(SRS)”表达出来。现在学习的是第2页,共41页(2)建立分析模型的目的由于用户群体中的各个用户往往会从不同的角度上阐述他们对原始问题的理解和对目标软件的需求,因此有必要为原始问题及其目标软件系统建立模型。(3)建立分析模型的作用一方面用于精确地记录用户对原始问题和目标软件的描述;另一方面也将帮助分析人员发现用户需求中的不一致性,排除不合理的部分,挖掘潜在的用户需求。现在学习的是第3页,共41页(4)编写需求说明的要求需求说明应该具有准确性和一致性。需求说明应该具有清晰性和没有二义性。需求说明应该直观、易读和易于修改。现在学习的是第4页,共41页2.需求分析的步骤(1)需求获取 通常从分析当前系统包含的数据开始,获取用户对软件功能的需求界面的需求。(2)需求提炼 主要任务是建立分析模型。(3)需求描述 编写软件需求规格说明书。(4)需求验证 对软件需求规格说明书进行验证改善其不正确的地方,从而确保需求说明可作为软件设计和最终系统验收的依据。现在学习的是第5页,共41页3.快速原型法在需求分析中的应用在实际的软件开发中,快速原型法常常被用作一种有效的需求定义方法。在需求分析阶段采用原型法,一般可按照以下步骤进行:1)利用各种分析技术和方法,生成一个简化的需求规格说明;2)对需求规格说明进行必要的检查和修改后,确定原型的软件结构、用户界面和数据结构等;3)在现有的工具和环境的帮助下,快速生成可运行的软件原型,并进行测试、改进;4)将原型提交给用户评估,并征求用户的修改意见;5)重复上述过程,直到原型得到用户的认可。现在学习的是第6页,共41页二、软件设计“设计先于编码”,是软件工程方法的一条基本原则。软件设计的任务就是把分析阶段产生的软件需求说明转换为用适当手段表示的软件设计文档。软件设计的内容一般都包括:数据设计体系结构设计接口设计过程设计现在学习的是第7页,共41页1.模块与构件(1)模块是一个拥有明确定义的输入、输出和特性的程序实体。(2)广义地说,对象也是一种模块。(3)在模块设计中要求的高内聚、低耦合等性质,在对象设计中仍然适用。(4)软件构件是一种可重复使用的软件组件。现在学习的是第8页,共41页2.抽象与细化(1)随着软件规模的不断增大,设计的复杂性也不断增大,抽象便成了控制复杂性的基本策略之一。(2)在软件的抽象层次中,最高层的抽象程度最高,若需要系统某部分的细节,就移向较低层次的抽象。越是到较低层次,越可看到更多的细节。(3)软件设计其实就是在不同抽象级别考虑和处理问题的过程。(4)细化是与抽象相反而又互补的一个概念。细化的实质就是分解。现在学习的是第9页,共41页3.信息隐藏(1)信息隐藏是系统分解为模块时应遵守的指导思想,在模块内部的数据与过程,把不需要了解这些数据与过程的模块隐藏起来。(2)目的是为了提高模块的独立性。现在学习的是第10页,共41页4.软件复用(1)使开发人员能充分利用已有的现成构件,不必这一切都从头做起。(2)OO技术的流行加快了软件复用的实现。现在学习的是第11页,共41页5.分解(1)分解是人们处理复杂问题常用的方法。(2)在传统的软件工程中,在分析阶段靠分解来画分层DFD图;在设计阶段用分解来实现模块化设计。(3)在OO软件工程中,靠分解来划分类和对象。现在学习的是第12页,共41页三、编码编码俗称编程序,是软件开发的最终目标,是产生能在计算机上执行的程序。因为编码是把软件的需求真正付诸实现,所以编码阶段也称为实现。1.编码的任务(1)目的:是使用选定的程序设计语言,把模块的过程性描述翻译为用该语言书写的源程序(或源代码)。(2)要求:程序员除应熟悉所用语言的功能和程序开发环境外,还要弄清要编码的模块的外部接口与内部过程。编码产生的源程序,应该正确可靠,简明清晰,而且具有较高的效率。现在学习的是第13页,共41页2.编码的风格(1)编码风格也称为程序设计风格,良好的编码风格能在一定程度上弥补语言存在的缺点,反之,不注意风格,即使使用了结构化的现代语言,也不一定写出高质量的程序。(2)编码风格的要求使用标准的控制结构 主要表现在编码阶段,要继续遵循模块逻辑中采用单入口、单出口标准结构这一主要原则,确保源程序清晰可读。源程序的文档化 编码的目的是产生程序,其余阶段才产生文档。现在学习的是第14页,共41页源程序的文档化:主要表现在源代码也需要实现“文档化”,目的是为了提高程序的可维护性。源程序的文档化通常包括以下内容:合理的源文件组织结构;有意义的命名规则;源程序文件中适当的注释。现在学习的是第15页,共41页四、软件测试1.软件测试的含义软件测试是为了发现错误而执行程序的过程。2.软件测试的目的和任务目的:发现程序的错误。任务:通过在计算机上执行程序,暴露程序中潜在的错误。3.纠错的目的和任务目的:定位和纠正错误。任务:消除软件的故障,保证程序的可靠运算。现在学习的是第16页,共41页4.测试与纠错的关系错误信息测试结果程序测试评估纠错改正信息测试数据期望结果现在学习的是第17页,共41页2.2 软件开发方法的变迁软件开发方法的变迁主要经过以下几阶段:个性化软件开发个性化软件开发结构化软件开发结构化软件开发面向对象软件开发面向对象软件开发现在学习的是第18页,共41页一、程序设计的两次革命程序设计是软件开发的重要组成部分,在计算机软件的发展历史中,围绕着数据和操作的关系,程序设计发生了两次革命性的变化:第一是主张将数据和操作分开的结构化程序设计;第二是主张将数据和操作合并在一起的面向对象的程序设计。现在学习的是第19页,共41页1.从面向过程到面向对象(1)面向过程的程序设计方法的特点程序数据结构算法当对软件进行分析或设计时,开发人员总是把程序理解为由一组被动的数据和一组能动的过程所构成。可是在客观事物中,实体的内部“状态”(可用数据表示)和“运动”(加于数据的操作)却是结合在一起的,这就使采用传统范型开发的软件模型(称为“解空间”)被人为地偏离客观实体本身的模型(称为“问题空间”)。现在学习的是第20页,共41页(2)面向对象的程序设计方法的特点将数据及其操作封装在一个个称为“对象”的统一体中,对象之间则通过“消息”相互联系,因而较好地实现了“解空间”与“问题空间”的一致性。程序对象消息现在学习的是第21页,共41页2.面向对象的程序设计的优势(1)面向对象的程序设计中由于对象一般是由多个模块组成的一个基本上独立的单元,而且解空间与问题空间的一致性,使软件开发者对客观世界建立的分析模型,实际上已为软件系统的设计准备好了基本的框架。因而对于大型软件的开发,可以有效地降低软件的复杂性,简化了软件的开发。(2)面向对象范型的优势同时也体现在软件的维护上。表现在对“数据”对象的改变,则限于其本身,与该对象以外的其他部分以及触发该对象工作的外部消息完全无关。这将使因修改程序而引发软件故障的机会大大减少,令大型软件的维护更快、更容易。现在学习的是第22页,共41页二、软件开发的常见问题1.软件开发中常见的问题 2.分析问题出现的原因 现在学习的是第23页,共41页1.软件开发中常见问题(九个方面)对用户的需求理解不准确对需求的改变束手无策模块不兼容软件维护困难项目的严重缺陷发现较晚软件质量低劣或用户使用不方便高负荷下性能低不配合的团队力量不可靠创建和发布过程现在学习的是第24页,共41页2.出现问题的原因分析(十个方面)需求不充分有歧异的交流脆弱的架构无法避免的复杂性未检测出的不一致测试不足瀑布模型的开发项目评估过于主观无法控制变更的产生自动控制的不足现在学习的是第25页,共41页2.3 软件开发的最佳实践主要包括:(1)迭代的开发软件(2)需求管理(3)使用基于构件的体系结构(4)可视化软件建模(5)验证软件质量(6)控制软件变更现在学习的是第26页,共41页(1)迭代化开发基本思想:在迭代化的方法中,将整个项目的开发目标划分成为一些更易于完成和达到的阶段性小目标,这些小目标都有一个定义明确的阶段性评估标准。迭代就是为了完成一定的阶段性目标而所从事的一系列开发活动,在每个迭代开始前都要根据项目当前的状态和所要达到的阶段性目标制定迭代计划。整个迭代过程包含了需求、设计、实施、部署、测试等各种类型的开发活动,迭代完成之后需要对迭代完成的结果进行评估,并以此为依据来制定下一次迭代的目标。现在学习的是第27页,共41页现在学习的是第28页,共41页迭代化开发具有以下特点:允许变更需求逐步集成元素尽早降低风险有助于提高团队的士气生成更高质量的产品保证项目开发进度容许产品进行战术改变迭代流程自身可在进行过程中得到改进和精炼现在学习的是第29页,共41页(2)需求管理需求管理就是一种获取、组织并记录系统需求的系统化方案,以及一个使客户与项目团队对不断变更的系统需求达成并保持一致的过程。需求管理一般采用一种比较有效的金字塔方式的管理办法。如下图所示:现在学习的是第30页,共41页现在学习的是第31页,共41页(3)基于构件的体系结构构件是实现清晰功能的模块、子系统。构件技术可以为软件系统提供最大的灵活性。构件的特点是:构件内部的元素之间高内聚、构件之间低耦合;整个系统的功能由一组构件相互协作而完成;构件之间通过定义明确的接口来使用相互的服务。构件体现了面向对象技术封装和模块化的思想,既能够适当隐藏不需要关心的细节,又可以在需要的时候随时展现设计的详细结构,从而有效管理系统的复杂度。现在学习的是第32页,共41页(4)可视化建模可视化建模是指使用语义丰富的图形和文本设计表示法来捕获软件设计。表示法(例如 UML)允许提高抽象的程度,同时保持严格的语法和语义。可视化建模具有以下优点:有效管理系统复杂度增强团队的沟通保证模型和代码之间的一致性统一软件开发生命周期现在学习的是第33页,共41页(5)验证软件质量软件性能和可靠性的低下是影响软件使用的最重要的因素,因此,应该根据基于可靠性,功能,应用性能和系统性能的需求对软件的质量进行评估。在整个软件开发周期中,错误发现的越晚,单位错误修复成本越高,错误的延迟解决必然导致整个项目成本的急剧增加。软件自动化测试技术核心的三个最佳成功经验是:尽早测试、连续测试、自动化测试。现在学习的是第34页,共41页尽早测试:是指在整个软件开发生命周期中通过各种软件工程技术尽量早的完成各种软件测试任务的一种思想。连续测试:连续测试是从迭代式软件开发模式得来的。在迭代式软件开发的每个迭代周期都会进行软件测试活动,整个软件测试的完成是通过每个迭代周期不断增量测试和回归测试实现的。自动化测试:在整个软件的测试过程中要想实现尽早测试、连续测试,可以说完善的测试流程是前提,自动化测试工具是保证。现在学习的是第35页,共41页2.4 新一代软件开发方法面向对象的软件开发(OOD)面向对象技术是一个综合概念,既包括指导开发软件的一系列原则,也包括支撑这些原则的程序设计语言,数据库及其它工具。一、面向对象技术的优势二、面向对象技术的主要特征模型驱动的软件开发(MDD)模型驱动的软件开发是基于模型驱动架构(MDA)的一种新型软件开发方法。现在学习的是第36页,共41页一、面向对象技术的优势面向对象技术在各个层面对软件的开发产生着积极的影响,其优势主要体现在以下三个方面。第一,减少沟通障碍 第二,提高开发生产率 第三,增强对变化的适应能力 简单了解它们各自的表现所在 现在学习的是第37页,共41页二、面向对象技术的主要特征面向对象技术的主要特征包括以下几个方面:抽象化、封装性、继承性、模块化和多态性。1.抽象化(1)抽象化是指着重于某重要的一面或想关注的一面,来表示某个物体或概念。(2)用面向对象技术来抽象现实中存在的物体,即问题域中出现的物体,从而来描述一个系统。(3)所谓问题域,是指为了系统开发而要探讨的用户业务领域。现在学习的是第38页,共41页2.封装性(1)封装就是“只有通过仅有的接口才能访问对象内部,因而可保护(隐蔽)对象的内部数据”。(2)封装性不仅增强了适应修改、需求变化的能力,由于内部信息是非公开的,所以安全性能也得到一定的提高。3.继承性(1)就是下层的类能继承超类即上层的类的特性,称为继承。(2)子类不仅能继承超类的特性,另外,子类可具有超类中所没有的新的特性,也可以重新定义从超类继承下来的操作,并实现不同的行为。现在学习的是第39页,共41页4.模块化 处理复杂问题的一个有效方法是将它分解为一系列较小的,易于管理的部分。这些部分可以被独立地开发。5.多态性多态性是指多个对象接受到同样的消息后,会产生各不相同的行为。也就是说,多个对象可以接受相同的消息,同时可以通过采用各不相同的处理方法来实现对消息的处理。现在学习的是第40页,共41页三、模型驱动的软件开发强调整个系统开发过程由对软件系统的建模行为驱动,完成系统需求分析、架构设计、构建、测试、部署和维护工作。能够创建出机器可读和高度抽象的模型,这种模型通过转换技术可自动转换为代码、测试脚本、数据库定义以及各种平台部署描述。现在学习的是第41页,共41页

    注意事项

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

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




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

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

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

    收起
    展开