第2章应用程序开发活动精选PPT.ppt

上传人:石*** 文档编号:48783269 上传时间:2022-10-07 格式:PPT 页数:41 大小:1.91MB
返回 下载 相关 举报
第2章应用程序开发活动精选PPT.ppt_第1页
第1页 / 共41页
第2章应用程序开发活动精选PPT.ppt_第2页
第2页 / 共41页
点击查看更多>>
资源描述

《第2章应用程序开发活动精选PPT.ppt》由会员分享,可在线阅读,更多相关《第2章应用程序开发活动精选PPT.ppt(41页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第2章应用程序开发活动第1页,此课件共41页哦2.1 软件开发的基本活动软件开发时期主要包括需求分析、软件设计、编码和测试四个阶段。一、需求分析1.需求分析的任务(1)需求分析的任务主要有两个:第一是通过对问题及其环境的理解、分析和综合,建立分析模型;第二是在完全地弄清用户对软件系统的确切要求的基础上,用“软件需求规格说明书(SRS)”表达出来。第2页,此课件共41页哦(2)建立分析模型的目的由于用户群体中的各个用户往往会从不同的角度上阐述他们对原始问题的理解和对目标软件的需求,因此有必要为原始问题及其目标软件系统建立模型。(3)建立分析模型的作用一方面用于精确地记录用户对原始问题和目标软件的

2、描述;另一方面也将帮助分析人员发现用户需求中的不一致性,排除不合理的部分,挖掘潜在的用户需求。第3页,此课件共41页哦(4)编写需求说明的要求需求说明应该具有准确性和一致性。需求说明应该具有清晰性和没有二义性。需求说明应该直观、易读和易于修改。第4页,此课件共41页哦2.需求分析的步骤(1)需求获取 通常从分析当前系统包含的数据开始,获取用户对软件功能的需求界面的需求。(2)需求提炼 主要任务是建立分析模型。(3)需求描述 编写软件需求规格说明书。(4)需求验证 对软件需求规格说明书进行验证改善其不正确的地方,从而确保需求说明可作为软件设计和最终系统验收的依据。第5页,此课件共41页哦3.快速

3、原型法在需求分析中的应用在实际的软件开发中,快速原型法常常被用作一种有效的需求定义方法。在需求分析阶段采用原型法,一般可按照以下步骤进行:1)利用各种分析技术和方法,生成一个简化的需求规格说明;2)对需求规格说明进行必要的检查和修改后,确定原型的软件结构、用户界面和数据结构等;3)在现有的工具和环境的帮助下,快速生成可运行的软件原型,并进行测试、改进;4)将原型提交给用户评估,并征求用户的修改意见;5)重复上述过程,直到原型得到用户的认可。第6页,此课件共41页哦二、软件设计“设计先于编码”,是软件工程方法的一条基本原则。软件设计的任务就是把分析阶段产生的软件需求说明转换为用适当手段表示的软件

4、设计文档。软件设计的内容一般都包括:数据设计体系结构设计接口设计过程设计第7页,此课件共41页哦1.模块与构件(1)模块是一个拥有明确定义的输入、输出和特性的程序实体。(2)广义地说,对象也是一种模块。(3)在模块设计中要求的高内聚、低耦合等性质,在对象设计中仍然适用。(4)软件构件是一种可重复使用的软件组件。第8页,此课件共41页哦2.抽象与细化(1)随着软件规模的不断增大,设计的复杂性也不断增大,抽象便成了控制复杂性的基本策略之一。(2)在软件的抽象层次中,最高层的抽象程度最高,若需要系统某部分的细节,就移向较低层次的抽象。越是到较低层次,越可看到更多的细节。(3)软件设计其实就是在不同抽

5、象级别考虑和处理问题的过程。(4)细化是与抽象相反而又互补的一个概念。细化的实质就是分解。第9页,此课件共41页哦3.信息隐藏(1)信息隐藏是系统分解为模块时应遵守的指导思想,在模块内部的数据与过程,把不需要了解这些数据与过程的模块隐藏起来。(2)目的是为了提高模块的独立性。第10页,此课件共41页哦4.软件复用(1)使开发人员能充分利用已有的现成构件,不必这一切都从头做起。(2)OO技术的流行加快了软件复用的实现。第11页,此课件共41页哦5.分解(1)分解是人们处理复杂问题常用的方法。(2)在传统的软件工程中,在分析阶段靠分解来画分层DFD图;在设计阶段用分解来实现模块化设计。(3)在OO

6、软件工程中,靠分解来划分类和对象。第12页,此课件共41页哦三、编码编码俗称编程序,是软件开发的最终目标,是产生能在计算机上执行的程序。因为编码是把软件的需求真正付诸实现,所以编码阶段也称为实现。1.编码的任务(1)目的:是使用选定的程序设计语言,把模块的过程性描述翻译为用该语言书写的源程序(或源代码)。(2)要求:程序员除应熟悉所用语言的功能和程序开发环境外,还要弄清要编码的模块的外部接口与内部过程。编码产生的源程序,应该正确可靠,简明清晰,而且具有较高的效率。第13页,此课件共41页哦2.编码的风格(1)编码风格也称为程序设计风格,良好的编码风格能在一定程度上弥补语言存在的缺点,反之,不注

7、意风格,即使使用了结构化的现代语言,也不一定写出高质量的程序。(2)编码风格的要求使用标准的控制结构 主要表现在编码阶段,要继续遵循模块逻辑中采用单入口、单出口标准结构这一主要原则,确保源程序清晰可读。源程序的文档化 编码的目的是产生程序,其余阶段才产生文档。第14页,此课件共41页哦源程序的文档化:主要表现在源代码也需要实现“文档化”,目的是为了提高程序的可维护性。源程序的文档化通常包括以下内容:合理的源文件组织结构;有意义的命名规则;源程序文件中适当的注释。第15页,此课件共41页哦四、软件测试1.软件测试的含义软件测试是为了发现错误而执行程序的过程。2.软件测试的目的和任务目的:发现程序

8、的错误。任务:通过在计算机上执行程序,暴露程序中潜在的错误。3.纠错的目的和任务目的:定位和纠正错误。任务:消除软件的故障,保证程序的可靠运算。第16页,此课件共41页哦4.测试与纠错的关系错误信息测试结果程序测试评估纠错改正信息测试数据期望结果第17页,此课件共41页哦2.2 软件开发方法的变迁软件开发方法的变迁主要经过以下几阶段:个性化软件开发个性化软件开发结构化软件开发结构化软件开发面向对象软件开发面向对象软件开发第18页,此课件共41页哦一、程序设计的两次革命程序设计是软件开发的重要组成部分,在计算机软件的发展历史中,围绕着数据和操作的关系,程序设计发生了两次革命性的变化:第一是主张将

9、数据和操作分开的结构化程序设计;第二是主张将数据和操作合并在一起的面向对象的程序设计。第19页,此课件共41页哦1.从面向过程到面向对象(1)面向过程的程序设计方法的特点程序数据结构算法当对软件进行分析或设计时,开发人员总是把程序理解为由一组被动的数据和一组能动的过程所构成。可是在客观事物中,实体的内部“状态”(可用数据表示)和“运动”(加于数据的操作)却是结合在一起的,这就使采用传统范型开发的软件模型(称为“解空间”)被人为地偏离客观实体本身的模型(称为“问题空间”)。第20页,此课件共41页哦(2)面向对象的程序设计方法的特点将数据及其操作封装在一个个称为“对象”的统一体中,对象之间则通过

10、“消息”相互联系,因而较好地实现了“解空间”与“问题空间”的一致性。程序对象消息第21页,此课件共41页哦2.面向对象的程序设计的优势(1)面向对象的程序设计中由于对象一般是由多个模块组成的一个基本上独立的单元,而且解空间与问题空间的一致性,使软件开发者对客观世界建立的分析模型,实际上已为软件系统的设计准备好了基本的框架。因而对于大型软件的开发,可以有效地降低软件的复杂性,简化了软件的开发。(2)面向对象范型的优势同时也体现在软件的维护上。表现在对“数据”对象的改变,则限于其本身,与该对象以外的其他部分以及触发该对象工作的外部消息完全无关。这将使因修改程序而引发软件故障的机会大大减少,令大型软

11、件的维护更快、更容易。第22页,此课件共41页哦二、软件开发的常见问题1.软件开发中常见的问题 2.分析问题出现的原因 第23页,此课件共41页哦1.软件开发中常见问题(九个方面)对用户的需求理解不准确对需求的改变束手无策模块不兼容软件维护困难项目的严重缺陷发现较晚软件质量低劣或用户使用不方便高负荷下性能低不配合的团队力量不可靠创建和发布过程第24页,此课件共41页哦2.出现问题的原因分析(十个方面)需求不充分有歧异的交流脆弱的架构无法避免的复杂性未检测出的不一致测试不足瀑布模型的开发项目评估过于主观无法控制变更的产生自动控制的不足第25页,此课件共41页哦2.3 软件开发的最佳实践主要包括:

12、(1)迭代的开发软件(2)需求管理(3)使用基于构件的体系结构(4)可视化软件建模(5)验证软件质量(6)控制软件变更第26页,此课件共41页哦(1)迭代化开发基本思想:在迭代化的方法中,将整个项目的开发目标划分成为一些更易于完成和达到的阶段性小目标,这些小目标都有一个定义明确的阶段性评估标准。迭代就是为了完成一定的阶段性目标而所从事的一系列开发活动,在每个迭代开始前都要根据项目当前的状态和所要达到的阶段性目标制定迭代计划。整个迭代过程包含了需求、设计、实施、部署、测试等各种类型的开发活动,迭代完成之后需要对迭代完成的结果进行评估,并以此为依据来制定下一次迭代的目标。第27页,此课件共41页哦

13、第28页,此课件共41页哦迭代化开发具有以下特点:允许变更需求逐步集成元素尽早降低风险有助于提高团队的士气生成更高质量的产品保证项目开发进度容许产品进行战术改变迭代流程自身可在进行过程中得到改进和精炼第29页,此课件共41页哦(2)需求管理需求管理就是一种获取、组织并记录系统需求的系统化方案,以及一个使客户与项目团队对不断变更的系统需求达成并保持一致的过程。需求管理一般采用一种比较有效的金字塔方式的管理办法。如下图所示:第30页,此课件共41页哦第31页,此课件共41页哦(3)基于构件的体系结构构件是实现清晰功能的模块、子系统。构件技术可以为软件系统提供最大的灵活性。构件的特点是:构件内部的元

14、素之间高内聚、构件之间低耦合;整个系统的功能由一组构件相互协作而完成;构件之间通过定义明确的接口来使用相互的服务。构件体现了面向对象技术封装和模块化的思想,既能够适当隐藏不需要关心的细节,又可以在需要的时候随时展现设计的详细结构,从而有效管理系统的复杂度。第32页,此课件共41页哦(4)可视化建模可视化建模是指使用语义丰富的图形和文本设计表示法来捕获软件设计。表示法(例如 UML)允许提高抽象的程度,同时保持严格的语法和语义。可视化建模具有以下优点:有效管理系统复杂度增强团队的沟通保证模型和代码之间的一致性统一软件开发生命周期第33页,此课件共41页哦(5)验证软件质量软件性能和可靠性的低下是

15、影响软件使用的最重要的因素,因此,应该根据基于可靠性,功能,应用性能和系统性能的需求对软件的质量进行评估。在整个软件开发周期中,错误发现的越晚,单位错误修复成本越高,错误的延迟解决必然导致整个项目成本的急剧增加。软件自动化测试技术核心的三个最佳成功经验是:尽早测试、连续测试、自动化测试。第34页,此课件共41页哦尽早测试:是指在整个软件开发生命周期中通过各种软件工程技术尽量早的完成各种软件测试任务的一种思想。连续测试:连续测试是从迭代式软件开发模式得来的。在迭代式软件开发的每个迭代周期都会进行软件测试活动,整个软件测试的完成是通过每个迭代周期不断增量测试和回归测试实现的。自动化测试:在整个软件

16、的测试过程中要想实现尽早测试、连续测试,可以说完善的测试流程是前提,自动化测试工具是保证。第35页,此课件共41页哦2.4 新一代软件开发方法面向对象的软件开发(OOD)面向对象技术是一个综合概念,既包括指导开发软件的一系列原则,也包括支撑这些原则的程序设计语言,数据库及其它工具。一、面向对象技术的优势二、面向对象技术的主要特征模型驱动的软件开发(MDD)模型驱动的软件开发是基于模型驱动架构(MDA)的一种新型软件开发方法。第36页,此课件共41页哦一、面向对象技术的优势面向对象技术在各个层面对软件的开发产生着积极的影响,其优势主要体现在以下三个方面。第一,减少沟通障碍 第二,提高开发生产率

17、第三,增强对变化的适应能力 简单了解它们各自的表现所在 第37页,此课件共41页哦二、面向对象技术的主要特征面向对象技术的主要特征包括以下几个方面:抽象化、封装性、继承性、模块化和多态性。1.抽象化(1)抽象化是指着重于某重要的一面或想关注的一面,来表示某个物体或概念。(2)用面向对象技术来抽象现实中存在的物体,即问题域中出现的物体,从而来描述一个系统。(3)所谓问题域,是指为了系统开发而要探讨的用户业务领域。第38页,此课件共41页哦2.封装性(1)封装就是“只有通过仅有的接口才能访问对象内部,因而可保护(隐蔽)对象的内部数据”。(2)封装性不仅增强了适应修改、需求变化的能力,由于内部信息是

18、非公开的,所以安全性能也得到一定的提高。3.继承性(1)就是下层的类能继承超类即上层的类的特性,称为继承。(2)子类不仅能继承超类的特性,另外,子类可具有超类中所没有的新的特性,也可以重新定义从超类继承下来的操作,并实现不同的行为。第39页,此课件共41页哦4.模块化 处理复杂问题的一个有效方法是将它分解为一系列较小的,易于管理的部分。这些部分可以被独立地开发。5.多态性多态性是指多个对象接受到同样的消息后,会产生各不相同的行为。也就是说,多个对象可以接受相同的消息,同时可以通过采用各不相同的处理方法来实现对消息的处理。第40页,此课件共41页哦三、模型驱动的软件开发强调整个系统开发过程由对软件系统的建模行为驱动,完成系统需求分析、架构设计、构建、测试、部署和维护工作。能够创建出机器可读和高度抽象的模型,这种模型通过转换技术可自动转换为代码、测试脚本、数据库定义以及各种平台部署描述。第41页,此课件共41页哦

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 资格考试

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

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