书签 分享 收藏 举报 版权申诉 / 282
上传文档赚钱

类型全套课件·《软件开发生命周期与统一建模语言UML》1.ppt

  • 上传人(卖家):三亚风情
  • 文档编号:3158459
  • 上传时间:2022-07-25
  • 格式:PPT
  • 页数:282
  • 大小:5.26MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《全套课件·《软件开发生命周期与统一建模语言UML》1.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    软件开发生命周期与统一建模语言UML 全套 课件 软件 开发 生命周期 统一 建模 语言 UML
    资源描述:

    1、软件开发生命周期与统一建模语言UML软件开发生命周期与统一建模语言UML软件开发生命周期与统一建模语言软件工程概述软件工程概述1结构化程序设计与面向对象程序设计结构化程序设计与面向对象程序设计 2统一建模语言与现代软件工程统一建模语言与现代软件工程 3用例图用例图 4静态模型静态模型 5软件开发生命周期与统一建模语言UML软件开发生命周期与统一建模语言动态模型动态模型 6UML实现与部署实现与部署 7新闻发布系统的实例新闻发布系统的实例 8Rational Rose简介简介 9软件开发生命周期与统一建模语言UML第1章 软件工程概述 1.1 用例概述 1.1.1 软件及其特点 1.1.2 软件

    2、危机 1.1.3 软件工程的定义 1.1.4 软件工程的基本原理 1.2 软件开发生命周期 1.3 过程模型 1.3.1 常见的生命周期模型 1.3.2 生命周期模型的应用 1.4 软件工程方法学 软件开发生命周期与统一建模语言UML第1章 软件工程概述 教学要求 理解:软件和软件工程的概念;软件开发生命周期。掌握:软件过程模型运用的原则。软件开发生命周期与统一建模语言UML 软件开发是一个专业领域的人在为另一个专业领域的人服务 在软件开发过程中,需求可能经常在变,每次需求变化会带来软件系统的开发延迟,甚至出现变更反复,被推倒了的内容又要重新确立 在软件没有最终交付时,用户如何了解开发进展情况

    3、 系统难以维护和扩展,经常重复开发类似的功能 项目经常延期,实际成本往往远远高于估计成本 开发团队内部使用了不同的技术,在交流时常常有障碍 如何应对软件开发过程中如何应对软件开发过程中的种种不确定因素,更有的种种不确定因素,更有效地开发与维护软件?效地开发与维护软件?1.1 软件、软件危机和软件工程的定义软件开发生命周期与统一建模语言UML1.1 软件、软件危机和软件工程的定义 软件与硬件软件与硬件软件开发生命周期与统一建模语言UML 软件的特点软件的特点 软件是脑力劳动的产品,但它不同于追求个性化的艺术作软件是脑力劳动的产品,但它不同于追求个性化的艺术作品;软件是产品,但它又不同于工业化生产

    4、得到的有形产品;软件是产品,但它又不同于工业化生产得到的有形产品品 1.1 软件、软件危机和软件工程的定义软件开发生命周期与统一建模语言UML1.1 软件、软件危机和软件工程的定义软件的特点描述抽象性抽象性软件是一种逻辑实体而不是具体的物理实体,必须通过测试、分析、思考、判断来了解它的功能、性能及其他特性可复制性可复制性软件是通过人们的智力活动,把知识与技术转化成信息的一种产品,是在研制、开发中被创造出来的。一旦某一软件项目研制成功,以后就可以大量地复制同一内容的副本,即其研制成本远远大于其生产成本不会磨损不会磨损在软件的运行和使用期间,没有硬件那样的机械磨损、老化问题,但软件也会出现故障,软

    5、件维护比硬件维护要复杂得多,与硬件的维修有着本质的差别依赖性依赖性软件的开发和运行经常受到计算机系统的限制,对计算机系统有着不同程度的依赖。为了消除这种依赖,在软件开发中提出了软件移植的问题,并且把软件的可移植性作为衡量软件质量的因素之一开发效率低开发效率低软件的开发尚未完全摆脱手工的方式,依然有大量重复性的劳动开发费用高开发费用高软件的研制工作需要投入大量的、复杂的、高强度的脑力劳动,需要较高的成本。软件的开发是一个复杂的过程,因而管理是软件开发过程中必不可少的内容软件开发生命周期与统一建模语言UML1.1 软件、软件危机和软件工程的定义 什么是软件软件=程序+数据+文档 数据包括初始化数据

    6、、测试数据、研发数据、运行数据、维护数据,以及软件企业积累的项目工程数据和项目管理数据。文档是开发、使用和维护程序所需要的图文资料。软件开发生命周期与统一建模语言UML1.1 软件、软件危机和软件工程的定义 什么是软件危机 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题 如何开发软件,以满足对软件日益增长的需求 如何维护数量不断增加的已有软件 软件开发生命周期与统一建模语言UML1.1 软件、软件危机和软件工程的定义消除软件危机的途径 正确认识软件。软件=程序+数据+文档 在软件开发的各个阶段都要有完备的文档。加强管理。软件开发应该是一种组织良好、管理严密、各类人员协同配合、

    7、共同完成的工程项目,应该推广使用在实践中总结出来的开发软件的成功的技术和方法。使用软件工具。在软件开发的每个阶段都有许多烦琐重复的工作需要做,在适当的软件工具辅助下,开发人员可以把这类工作做得既快又好。总之,为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。软件工程正是从管理和技术两方面研究如何更好地开发和维护计算机软件的一门学科。软件开发生命周期与统一建模语言UML1.1 软件、软件危机和软件工程的定义软件工程的定义 软件工程=管理+技术 软件工程的目标 在预算内如期完成(初级目标)良好的结构,较好的可维护性、扩展性、重用性(高级目标)软件开发生命周期与统一建模语言U

    8、ML1.1 软件、软件危机和软件工程的定义软件工程的基本原理软件工程的基本原理(1)用分阶段的生命周期计划严格管理。)用分阶段的生命周期计划严格管理。统计发现,不成功的软件项目中有一半左右是由于计划不周造成的。因此,有必要制定完善的计划,分阶段地进行管理和控制。(2)坚持进行阶段评审。)坚持进行阶段评审。软件中的大部分错误是在编码之前造成的;错误发现与改正得越晚,所需付出的代价也就越高,如图1-4所示。因此,在每个阶段都进行严格的评审以尽早发现在软件开发过程中所犯的错误,是一条必须遵循的重要原则。早中晚低中高变化出现的时期代价(3)实行严格的产品控制。)实行严格的产品控制。软件开发过程中,需求

    9、的变更往往需要付出较高的代价,但这种改变又是难以避免的,因此不能硬性禁止客户提出改变需求的要求,而要依靠科学的产品控制技术来顺应这种要求,按照严格的规程进行变更控制。(4)采用现代程序设计技术。)采用现代程序设计技术。如“清晰第一、效率第二”的程序风格;面向对象的分析方法;各种框架技术的使用、模式的应用;软件建模方法的运用等。实践表明,采用先进的技术不仅可以提高软件开发和维护的效率,而且可以提高软件产品的质量。(5)结果应能清楚地审查。)结果应能清楚地审查。软件是脑力劳动的逻辑产品,应该根据软件开发项目的总目标及完成期限规定开发组织的责任和产品标准,制定出完备的文档,从而提高其“可见性”。(6

    10、)开发小组的人员应该少而精。)开发小组的人员应该少而精。(7)不断改进软件工程实践的经验和技术。)不断改进软件工程实践的经验和技术。软件开发生命周期与统一建模语言UML 改正同一错误付出的代价随时间变化的趋势早中晚早中晚低低中中高高变化出现的时期变化出现的时期代代价价1.1 软件、软件危机和软件工程的定义软件开发生命周期与统一建模语言UML1.2 软件开发生命周期软件开发生命周期 如何盖一栋大楼?软件开发生命周期与统一建模语言UML1.2 软件开发生命周期软件开发生命周期 1问题定义问题定义“要解决的问题是什么?要解决的问题是什么?”2可行性论证可行性论证“有行得通的解决办法吗?有行得通的解决

    11、办法吗?”3需求分析需求分析“系统必须做什么?系统必须做什么?”4总体设计总体设计“概括地说,怎样做?概括地说,怎样做?”5详细设计详细设计“具体怎样做?具体怎样做?”6编码和单元测试编码和单元测试7综合测试综合测试8运行运行/维护维护软件开发生命周期与统一建模语言UML1.2 软件开发生命周期软件开发生命周期1问题定义“要解决的问题是什么?”通过对客户的访问调查,系统分析员扼要地写出关于问题性质、工程目标和工程规模的书面报告,经过讨论和必要的修改之后这份报告应该得到客户的确认。软件开发生命周期与统一建模语言UML1.2 软件开发生命周期软件开发生命周期2可行性论证及软件计划“有行得通的解决办

    12、法吗?”目的:用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。主要任务:了解客户的要求及现实环境,从技术、经济和社会因素三方面研究并论证本软件项目的可行性,编写可行性研究报告,制定初步的项目开发计划。软件开发生命周期与统一建模语言UML1.2 软件开发生命周期软件开发生命周期可行性论证及软件计划(续)具体步骤:(1)确定项目规模和目标。(2)研究正在运行的系统。(3)建立新系统的高层逻辑模型。(4)导出和评价各种方案。(5)推荐可行的方案。(6)编写可行性研究报告。系统分析员需要进行一次大大压缩和简化了的系统分析和设计过程,研究问题的范围,探索这个问题是否值得去解决,

    13、是否有可行的解决办法。如果可行,制定出初步的开发计划。软件开发生命周期与统一建模语言UML1.2 软件开发生命周期软件开发生命周期3需求分析“系统必须做什么?”确定目标系统必须具备哪些功能。软件开发是一个专业领域的人在为另一个专业领域的人做事。用户了解他们所面对的问题,知道必须做什么,但是通常不能完整准确地表达出他们的要求,更不知道怎样利用计算机解决他们的问题;软件开发人员知道怎样用软件实现人们的要求,但是对特定用户的具体要求并不完全清楚。因此,系统分析员在需求分析阶段必须和用户密切配合,充分交流信息,以得出用户认可的各种模型。常用的有用例模型、活动图、顺序图、类图、数据流图、层次图等。需求分

    14、析阶段的两个任务是捕获需求和分析整理需求。需求分析阶段确定的系统逻辑模型是以后设计和实现目标系统的基础,因此必须准确完整地体现用户的要求。这个阶段的一项重要任务是,用正式文档准确地记录对目标系统的需求,即规格说明书。软件开发生命周期与统一建模语言UML1.2 软件开发生命周期软件开发生命周期4总体设计“概括地说,应该怎样做?”基本任务:(1)设计出实现目标系统的几种可能的方案。软件工程师用适当的表达工具描述每种方案,分析每种方案的优缺点,并在充分权衡各种方案的利弊的基础上推荐一个最佳方案。此外,还应该制定出实现最佳方案的详细计划。(2)设计软件体系结构。通常指划分模块,确定模块的功能及其相互之

    15、间的调用关系,确定模块间的接口等。(3)数据库设计。(4)编写概要设计文档。软件开发生命周期与统一建模语言UML1.2 软件开发生命周期软件开发生命周期5详细设计“具体怎样做?”总体设计阶段以比较抽象概括的方式提出了解决问题的办法,详细设计阶段的任务就是把解法具体化。这个阶段的任务不是编写程序,而是设计出程序的详细规格说明,这种规格说明应该包含必要的细节,程序员可以根据它们写出实际的程序代码。软件开发生命周期与统一建模语言UML1.2 软件开发生命周期软件开发生命周期6编码和单元测试 关键任务:写出正确的、容易理解、容易维护的程序模块。程序员应该根据目标系统的性质和实际环境选取一种适当的程序设

    16、计语言,把详细设计的结果翻译成用选定的语言书写的程序,并且仔细测试编写出的每一个模块。软件开发生命周期与统一建模语言UML1.2 软件开发生命周期软件开发生命周期7综合测试 软件测试的目的是希望以最低代价尽可能多地找出软件中潜在的各种错误和缺陷。软件测试并不是在软件交付之后才开始,而应尽早地、不断地进行,贯穿于软件定义与开发的整个期间。例如,在需求分析和设计阶段就要尽可能地考虑到如何提高软件的可测试性。软件开发生命周期与统一建模语言UML1.2 软件开发生命周期软件开发生命周期8运行/维护 这一阶段的关键任务是,通过各种必要的维护活动使系统持久地满足用户的需要。软件开发生命周期与统一建模语言U

    17、ML1.3 软件过程模型软件过程模型(软件生命周期模型)(软件生命周期模型)1瀑布模型瀑布模型 核心思想是阶段性的评审和验证,每一阶段结束时都要给出完整的文档。缺点是该模型缺乏灵活性,后一阶段出现的问题需要通过前一阶段的重新确认来解决。软件开发生命周期与统一建模语言UML 2原型模型原型模型 快速设计软件中对用户可见部分的表示,构造原型,快速设计软件中对用户可见部分的表示,构造原型,由用户评估,逐步调整原型,使之满足用户需要。由用户评估,逐步调整原型,使之满足用户需要。其优点是开发者和用户可以充分沟通,开发过程也是其优点是开发者和用户可以充分沟通,开发过程也是学习过程,可以低风险开发柔性较大的

    18、计算机系统。学习过程,可以低风险开发柔性较大的计算机系统。1.3 软件过程模型软件过程模型(软件生命周(软件生命周期模型)期模型)软件开发生命周期与统一建模语言UML 3螺旋模型螺旋模型 把软件开发过程把软件开发过程组成为一个逐步组成为一个逐步细化的螺旋周期,细化的螺旋周期,每经历一个周期,每经历一个周期,系统就得到进一系统就得到进一步的细化和完善;步的细化和完善;整个模型紧密围整个模型紧密围绕开发中的风险绕开发中的风险分析,推动软件分析,推动软件设计向深层扩展设计向深层扩展和求精。该模型和求精。该模型要求开发人员与要求开发人员与用户能经常直接用户能经常直接进行交流,通常进行交流,通常用来指导

    19、内部发用来指导内部发行的大型软件项行的大型软件项目的开发目的开发 1.3 软件过程模型软件过程模型(软件生命周(软件生命周期模型)期模型)软件开发生命周期与统一建模语言UML 4增量模型增量模型 一种渐近式的模一种渐近式的模型型 第一个增量构件往往实现软件的基本需求,提供最核心的功能 优点:能在较短的时间内,向用户提交可完成部分工作的产品;1.3 软件过程模型软件过程模型(软件生命周(软件生命周期模型)期模型)软件开发生命周期与统一建模语言UML 5迭代模型迭代模型 一种渐近式的模型,一种渐近式的模型,迭代模型与增量模型 假设现在要开发A、B、C、D四个大的业务功能,每个功能都需要开发两周的时

    20、间。对于增量方法而言可以将四个功能分为两次增量来完成,第一个增量完成A、B功能,第二次增量完成C、D功能;而对于迭代开发来讲则是分两次迭代来开发,第一次迭代完成A、B、C、D四个基本业务功能,但不含复杂的业务逻辑,而第二次迭代再逐渐细化补充完整相关的业务逻辑。就对风险的消除上,增量和迭代模型都能够很好地控制前期的风险,但迭代模型在这方面更有优势。迭代模型可以更多地从总体方面思考系统问题,一开始就给出相对完善的框架或原型,后期的每次迭代都是针对上次迭代的逐步精化。1.3 软件过程模型软件过程模型(软件生命周(软件生命周期模型)期模型)软件开发生命周期与统一建模语言UML 6快速原型模型快速原型模

    21、型 快速建立起可以在计算机上运行的程序,快速建立起可以在计算机上运行的程序,它所完成的功能往往是最终产品功能的一个子集。通过让用户试用,收集反馈意见,从而获取准确的需求。这是一种很好的启发式方法,可以快速地挖掘用户需求并达成需求理解上的一致。当用户没有信息系统的使用经验或系统分析员没有过多的需求分析和挖掘经验的时候,这种方法将非常有效。1.3 软件过程模型软件过程模型(软件生命周(软件生命周期模型)期模型)软件开发生命周期与统一建模语言UML 7喷泉模型喷泉模型 认为软件生命周期的各个阶段是相互重叠和多次反复的,就像水喷上去又可以落下来,水既可以落在中间,也可以落在最底部。整个开发过程中都使用

    22、统一的概念“对象”进行分析,使用统一的概念和符号表示分析设计过程,各阶段间没有明显的边界,即“无缝”衔接,因此各开发步骤可以多次反复迭代,逐步深化。1.3 软件过程模型软件过程模型(软件生命周(软件生命周期模型)期模型)软件开发生命周期与统一建模语言UML 8MSF过程模型过程模型 吸收了瀑布模型吸收了瀑布模型的里程碑和螺旋的里程碑和螺旋模型的反复迭代模型的反复迭代的思想的思想 分为5个阶段 每一阶段结束时都有明确的交付成果1.3 软件过程模型软件过程模型(软件生命周(软件生命周期模型)期模型)软件开发生命周期与统一建模语言UML生命周期模型的应用总体上说面向对象的程序设计采用的是喷泉喷泉模型

    23、,但局部可以结合其它模型。在前期需求明确、资料完整的情况下尽量采用瀑布瀑布模型。在用户无信息系统使用经验,需求分析人员技能不足情况下要借助原原型型。在不确定性因素很多,很多东西前面无法计划的情况下尽量采用增量增量模型和螺旋模型。在需求不稳定情况下尽量采用增量迭代增量迭代模型。在资金和成本无法一次到位情况下可以采用增量增量模型,将产品分多个版本进行发布。增量、迭代和原型增量、迭代和原型可以综合使用,但每一次增量或迭代都必须有明确的交付内容。总之,每个软件开发组织都应该根据所要开发的软件特点及本组织的特点,选择适合于自己的软件过程模型,把各种生命周期模型的特性有机地结合起来,充分利用它们的优点,回

    24、避缺陷。1.3 软件过程模型软件过程模型(软件生命周(软件生命周期模型)期模型)软件开发生命周期与统一建模语言UML1.4 软件工程方法学软件工程方法学 研究如何通过分解和抽象,将复杂问题转化成一系列可以理解和实现的简单问题 软件开发生命周期与统一建模语言UML 面向过程的程序=算法+数据结构。面向对象的程序=对象+类+继承+消息通信。面向构件的程序=构件+架构。形式化方法是建立在严格的数学基础上,以逻辑推理为出发点,具有精确数学语义的开发方法。1.4 软件工程方法学软件工程方法学软件开发生命周期与统一建模语言UML本章本章小结小结 软件不仅仅是程序,软件=程序+数据+文档。软件工程是为了尽可

    25、能消除软件危机的影响,克服软件缺乏“可见性”的缺点,借鉴工业化生产的成功经验,对软件产品的生产过程加以严格管理和控制的一门学科。它的最终目的是实现软件的工业化生产。传统软件工程将软件开发生命周期划分为问题定义、可行性分析、需求分析、概要设计、详细设计、编码、测试、运行维护8个阶段,每一阶段都有具体的任务和交付成果。软件过程模型指如何具体地组织衔接软件开发生命周期的各个阶段。常见的有瀑布模型、螺旋模型、喷泉模型等。中国水利水电出版社软件开发生命周期与统一建模语言UML第2章 结构化程序设计与面向对象程序设计 2.1 概述 2.2 结构化程序设计与面向对象程序设计 2.2.1 实例 2.2.2 面

    26、向对象方法与结构化方法比较 2.2.3 两种方法的综合运用 2.3 结构化方法的基本原理 2.3.1 结构化分析过程 2.3.2 结构化分析工具 2.4 面向对象方法学的基本概念和原则 2.4.1 基本概念 2.4.2 主要原则 软件开发生命周期与统一建模语言UML第2章 结构化程序设计与面向对象程序设计 教学要求 掌握:软件结构化分析方法中常用的方法及工具。理解:结构化设计及面向对象设计的思路及特点;在面向对象设计中如何运用结构化设计的方法及工具。了解:结构化分析过程;面向对象方法学的基本概念。软件开发生命周期与统一建模语言UML2.1 概述 结构化方法与面向对象的方法的共性软件开发生命周期

    27、与统一建模语言UML2.2 面向对象方法与结构化方法比较 实例“书店借书系统”的分析与设计(详见教材)软件开发生命周期与统一建模语言UML2.2 面向对象方法与结构化方法比较(1)面向对象方法 反复迭代完善需求。反复迭代完善需求。对已有的需求(参见附录对已有的需求(参见附录1)进行整理,列出需求列表。)进行整理,列出需求列表。与用户交流得到有效的需求列表。与用户交流得到有效的需求列表。画出初始用例模型,表达系统的主要功能及主要业务流程。画出初始用例模型,表达系统的主要功能及主要业务流程。完善需求列表,完善用例完善需求列表,完善用例模型。模型。反复迭代进行逻辑设计。反复迭代进行逻辑设计。识别系统

    28、中的对象及其关系,画初始类模型。识别系统中的对象及其关系,画初始类模型。确定类的职责、属性和方法。确定类的职责、属性和方法。表示出主要业务过程的动态模型。表示出主要业务过程的动态模型。由动态模型反复映射,完善类模型。由动态模型反复映射,完善类模型。软件开发生命周期与统一建模语言UML2.2 面向对象方法与结构化方法比较 面向对象方法(续)物理设计。物理设计。确定整个系统的拓扑结构(部署图)。确定整个系统的拓扑结构(部署图)。修订类模型。修订类模型。相应修订动态模型。相应修订动态模型。完成反映程序模块的包图。完成反映程序模块的包图。完成反映程序软件构成的组件图。完成反映程序软件构成的组件图。设计

    29、界面,设计数据库。设计界面,设计数据库。软件开发生命周期与统一建模语言UML2.2 面向对象方法与结构化方法比较(2)结构化方法。获取完整的需求。获取完整的需求。自顶向下、逐层分解,画出数据流图。自顶向下、逐层分解,画出数据流图。书写数据字典。书写数据字典。映射出系统的层次结构,进行系统结构(模块及其映射出系统的层次结构,进行系统结构(模块及其接口)设计。接口)设计。逐层细分,细化出每个处理。逐层细分,细化出每个处理。设计界面,设计数据库。设计界面,设计数据库。软件开发生命周期与统一建模语言UML 2.2 面向对象方法与结构化方法比较 结构化程序设计方法也称面向过程的方法或传统软件工程开发方法

    30、,它的特点是自顶向下、逐步求精,在获取完整的需求之后才能开始系统的分析和设计。使用的手段主要有数据流图、数据字典、层次方框图、结构化语言、判定表和判定树等。一般步骤是:分析业务流程及信息走向;画出数据流图;建立数据字典;提出系统的总体逻辑方案;细化数据流图;确定模块的接口;为每个模块确定采用的算法和数据结构;根据E-R图设计数据库等。软件开发生命周期与统一建模语言UML2.2 面向对象方法与结构化方法比较(续)面向对象的程序设计方法的特点是根据现实问题直接抽象出对象,分析对象的行为和与行为相关的数据,对象间通过传递消息进行通信,协作完成相应的功能,从问题出发,模拟现实问题建立系统模型,易于理解

    31、和实现。对照表参见教材软件开发生命周期与统一建模语言UML2.2 面向对象方法与结构化方法比较两种方法的综合运用 (1)内在的一致性 目标一致 使用分解和抽象的原则 局部化和信息隐蔽 模块独立 现实世界计算机世界映射软件开发生命周期与统一建模语言UML2.2 面向对象方法与结构化方法比较(2)应用的互补性(在进行面向对象的程序设计中如何很好地吸收结构化分析方法中的精髓)成熟的理论 有效的方法 实用的工具 严谨的开发过程 总的说来,在面向对象的程序设计中可以应用结构化分析的好的方法和思路,目的在于既体现面向对象方法从问题域出发、易理解、易实现、易维护等特点,又发挥结构化方法从整体上把握系统、逐层

    32、细分、强调良好的软件结构、进行合理的数据库设计等优势。一条根本的原则是:注意保持结构化的分析设计结果(如模块划分)与面向对象的分析设计结果在核心内容上的一致性。软件开发生命周期与统一建模语言UML2.3 结构化方法的基本原理 结构化分析过程 结构化分析工具 软件开发生命周期与统一建模语言UML2.3 结构化方法的基本原理阶段拟解决的关键性问题工具手段交付成果问题定义要解决的问题是什么可行性论证及软件计划有行得通的解决办法吗数据流图、数据字典、数据流程图、成本/效益分析可行性分析报告、多种解决方案、系统高层逻辑模型需求分析系统必须做什么数据流图、数据字典、算法描述需求规格说明书、系统逻辑模型总体

    33、设计概括地说,应该怎样做数据流图、系统流程图、成本/效益分析、系统结构图、层次方框图几种可能的解法详细设计具体怎样做数据流图、HIPO图模块及其接口设计、数据字典 结构化分析过程软件开发生命周期与统一建模语言UML2.3 结构化方法的基本原理结构化分析工具数据流图 数据字典 E-R图 IPO图 层次图与HIPO图状态图 成本/效益分析 程序流程图与盒图(N-S图)软件开发生命周期与统一建模语言UML2.3 结构化方法的基本原理 1.数据流图(DFD图)描绘信息流和数据从输入移动到输出的过程中所经受的变换。基本符号处理处理数据存储数据存储外部实体外部实体数据流数据流软件开发生命周期与统一建模语言

    34、UML2.3 结构化方法的基本原理 基本符号的含义 矩形方框表示数据的源点或终点。是系统的外部实体 圆形表示变换数据的处理。它可以代表一系列程序、单个程序或者程序的一个模块 平行横线代表数据存储。数据存储并不等同于一个文件,它可以表示一个文件、文件的一部分、数据库的元素或记录的一部分等 数据存储和数据流都是数据,仅仅所处的状态不同。数据存储是处于静止状态的数据,数据流是处于运动中的数据软件开发生命周期与统一建模语言UML2.3 结构化方法的基本原理 画数据流图的基本原则 自顶向下 逐层细化 完善求精 软件开发生命周期与统一建模语言UML2.3 结构化方法的基本原理具体步骤:(1)绘顶层数据流图

    35、。找出对整个系统而言的输入、输出数据,确定外部实体,它们决定了系统与外界的接口。(2)为数据流命名,为加工命名。(3)检查核对。(4)核对无误后,进行分解,画处理的内部。在(2)至(4)步之间反复迭代,直到处理无法进一步分解为止。软件开发生命周期与统一建模语言UML2.3 结构化方法的基本原理 书店借书系统的顶层数据流图软件开发生命周期与统一建模语言UML2.3 结构化方法的基本原理 书店借书系统的第一次分解后的数据流图软件开发生命周期与统一建模语言UML2.3 结构化方法的基本原理“借书”处理分解后的数据流图软件开发生命周期与统一建模语言UML2.3 结构化方法的基本原理 书店借书系统的层次

    36、图软件开发生命周期与统一建模语言UML2.3 结构化方法的基本原理2数据字典 数据字典是对所有与系统相关的数据元素的一个有组织的列表,精确、严格地定义各个数据元素,使得用户及开发人员对于输入、输出、存储和处理形成共同的理解 例如:借阅制度表=读者类别+允许借阅册数+罚款规定+丢失图书罚款规定读者类别=金卡|银卡|铜卡 又如:预订请求=客人数据+住宿期限+客房类别 客人数据=客人姓名+地址+身份证号码+护照号码+支付方式 身份证号码=15十进制数字18 护照号码=字母+8十进制数字8 字母=AZ 十进制数字=09 软件开发生命周期与统一建模语言UML2.3 结构化方法的基本原理3E-R图(实体关

    37、系图)例如软件开发生命周期与统一建模语言UML2.3 结构化方法的基本原理4IPO图 IPO是输入、处理、输出的简称,IPO图能方便地描绘输入数据、数据的处理和输出数据的关系 软件开发生命周期与统一建模语言UML2.3 结构化方法的基本原理 主文件更新的IPO图软件开发生命周期与统一建模语言UML2.3 结构化方法的基本原理5层次图与HIPO图 层次图用来描绘软件的层次结构,图中的一个矩形框代表一个模块,方框间的连线表示调用关系。它适于在自顶向下设计软件的过程中使用,描述模块的划分。软件开发生命周期与统一建模语言UML2.3 结构化方法的基本原理书店借书系统借还书会员管理会员注册续卡查询会员信

    38、息会员注销登录借还书处理打印借书单 书店借书系统的层次图软件开发生命周期与统一建模语言UML2.3 结构化方法的基本原理书店借书系统借还书2.0会员管理3.0会员注册3.1续卡3.4查询会员信息3.3会员注销3.2登录1.0借还书处理2.1打印借书单2.2 书店借书系统的H图软件开发生命周期与统一建模语言UML2.3 结构化方法的基本原理6状态图(略)软件开发生命周期与统一建模语言UML2.3 结构化方法的基本原理7成本/效益分析 目的 从经济角度分析开发一个特定的新系统是否划算,从而帮助客户组织的负责人正确地作出是否投资于这项开发工程的决定 软件开发生命周期与统一建模语言UML2.3 结构化

    39、方法的基本原理 实例软件开发生命周期与统一建模语言UML2.3 结构化方法的基本原理8程序流程图与盒图(N-S图)是表达语句执行过程的主要工具 基本符号:软件开发生命周期与统一建模语言UML2.4 面向对象方法学的基本概念和原则 基本概念基本概念 1对象(对象(object)2类(类(class)3实例(实例(instance)4消息(消息(message)5方法(方法(method)6属性(属性(attribute)7封装(封装(encapsulation)8继承(继承(inheritance)9多态性(多态性(polymorphism)10重载(重载(overloading)软件开发生命周

    40、期与统一建模语言UML2.4 面向对象方法学的基本概念和原则 主要原则主要原则(1)抽象)抽象(2)分类)分类(3)聚合)聚合(4)关联)关联(5)消息通信)消息通信(6)粒度控制)粒度控制(7)行为分析)行为分析软件开发生命周期与统一建模语言UML本章小结 结构化方法和面向对象的方法是当前两种主流的软件开发方法。其中,面向对象的程序设计方法根据现实问题直接抽象出对象,分析对象的行为和与行为相关的数据,对象间通过传递消息进行通信,从问题出发,模拟现实问题,建立系统模型,易于理解和实现;结构化程序设计方法有一套成熟的理论基础,“自顶向下、逐步求精”,在获取完整的需求之后才能开始系统的分析和设计。

    41、在进行面向对象的程序设计时,要善于吸收、借鉴传统结构化程序设计的方法工具。在进行面向对象的设计时,从需求分析到系统设计都是一个反复迭代的过程。数据流图(DFD图)是分析数据存储的有效工具。中国水利水电出版社软件开发生命周期与统一建模语言UML第3章 统一建模语言与现代软件工程 3.1 软件工程的发展趋势及成功经验 3.1.1 现代软件工程中的热点内容 3.1.2 现代软件工程的成功经验 3.1.3 统一建模语言在现代软件工程中的作用 3.2 统一建模语言概述 3.2.1 什么是软件建模 3.2.2 什么是UML 3.2.3 UML的历史 3.2.4 UML中的五类图 3.2.5 UML建模的基

    42、本过程软件开发生命周期与统一建模语言UML第3章 统一建模语言与现代软件工程 教学要求 理解:什么是统一建模语言;统一建模语言作用;统一建模过程。了解:现代软件工程研究中的热点内容;面向对象的建模思想。软件开发生命周期与统一建模语言UML3.1软件工程的发展趋势及成功经验 现代软件工程研究的热点内容研究方面研究方面具体内容具体内容软件过程模型瀑布模型、增量模型、快速原形模型、螺旋模型、喷泉模型、MSF过程模型等软件开发方法面向对象的方法、面向构件的方法、极限编程等项目管理过程MSF过程模型、企业文化设计模式工厂模式、命令模式等辅助工具各种软件建模工具(如Rational Rose、Visio、

    43、Rational XDE)、项目计划工具(如Project)、文档自动生成工具(如SODA)等软件开发生命周期与统一建模语言UML3.1软件工程的发展趋势及成功经验现代软件工程研究的热点内容软件过程的研究在实际开发中如何合理的运用各种经典的过程模型,构造出与具体开发方法相适应的严格的应用步骤。软件开发方法的研究 如面向构件的方法、极限编程,面向服务的方法、轻型计划的方法、以及针对具体行业的特殊开发方法等 管理过程的研究 为了使软件项目能够按照预定的成本、进度、质量要求顺利完成项目开发,而对成本、人员、进度、质量、风险等因素进行分析、控制和管理的活动,旨在整个企业的开发能力。设计模式研究每一个设

    44、计模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心 辅助工具的研究软件开发生命周期与统一建模语言UML3.1软件工程的发展趋势及成功经验现代软件工程的成功经验文档可视化迭代式开发使用模式基于组件的架构变更管理(变更文档)软件开发生命周期与统一建模语言UML3.1软件工程的发展趋势及成功经验 统一建模语言在现代软件工程中的作用 它是优秀的文档可视化工具,符号形象直观。能体现文档的连贯性(即从需求设计实现的自然过渡,且能较灵活地应对变更)。贯穿软件开发生命周期各个阶段。能清楚地表达设计模式。与最好的软件工程实践经验集成 为面向对象的设计与开发中涌现出的高级概念(如协作、框架、

    45、模式和组件)提供支持,强调在软件开发中 对架构、框架、模式和组件的重用。与具体的实现无关,可应用于任何语言平台和工具平台;与具体的过程无关,可应用于任何软件开发的过程;软件开发生命周期与统一建模语言UML3.2统一建模语言概述 模型的三个特点 是一种简化;通过不同的视角看问题;使用通用的符号。软件建模的实现过程软件开发生命周期与统一建模语言UML3.2统一建模语言概述 面向对象的软件建模机制 软件开发生命周期与统一建模语言UML3.2统一建模语言概述 统一建模语言(Unified Modeling Language,UML)是一种通用的可视化面向对象的建模语言,适用于对任何面向对象的事物的建模

    46、 软件开发生命周期与统一建模语言UML3.2统一建模语言概述UML中的五类图用例图(Use Case Diagram)从用户角度描述系统功能。静态图 包括类图(Class Diagram)、对象图(Object Diagram)和包图(Package Diagram)。其中类图描述系统中类的静态结构。对象图是类图的实例。包图由包或类组成,表示包与包之间的关系。包图用于描述系统的分层结构。行为图 包括状态图(Statechart Diagram)和活动图(Activity Diagram)。其中,状态图描述类的对象所有可能的状态以及事件发生时状态的转移条件;活动图描述用例中的活动以及活动间的约束

    47、关系,可用于识别活动的并发性。交互图 描述对象间的交互关系。包括顺序图(Sequence Diagram)和协作图(Collaboration Diagram)。顺序图显示对象之间依时间展开的交互关系;协作图可以表达与顺序图相同的信息,它进一步强调对象间的协作关系。实现图 包括组件图(Component Diagram)和部署图(Deployment Diagram)。组件图描述软件组件之间的依赖关系,这些组件包括源代码文件、二进制文件和可执行文件等;部署图显示了基于计算机系统的物理体系结构。软件开发生命周期与统一建模语言UML3.2统一建模语言概述 UML的建模基本过程中国水利水电出版社软件

    48、开发生命周期与统一建模语言第4章 用例图 4.1 用例概述 4.1.1 用例建模的目的 4.1.2 定义用例图 4.1.3 用例图的主要组件 4.2 识别参与者 4.2.1 捕获需求 4.2.2 识别参与者 软件开发生命周期与统一建模语言第四章 用例图 4.3 识别用例 4.3.1 识别用例的方法 4.3.2 用例的命名规则 4.4 用例间的关系 4.4.1 泛化关系 4.4.2 包含关系 4.4.3 扩展关系 4.5 用例文档软件开发生命周期与统一建模语言第四章 用例图 4.6 重构系统的用例模型 4.7 用例建模实例书店借书系统 4.7.1 建立用例模型的步骤 4.7.2 确定系统边界 4

    49、.7.3 识别参与者 4.7.4 识别用例 4.7.5 建立用例图 4.7.6 书写用例文档 4.7.7 通过关系整理用例 软件开发生命周期与统一建模语言第四章 用例图 教学要求 掌握:用例图定义、用例图的标记符组件以及如何建立用例图模型。理解:用例图建模的原因、泛化技术,以及包含与扩展关系。了解:描述用例的方法。软件开发生命周期与统一建模语言4.1 用例图概述 用例建模的目的 利用“系统”的观点来分析问题、解决问题。使用计算机逻辑来模拟描述系统本身,包括系统的组成、关系、系统的各种可能状态以及系统中可能产生的过程和过程引起的切换。可以利用一个容易理解的模型来描述用户如何使用这个系统、系统和客

    50、户以及系统和外部系统之间的交互过程,这个模型也就是通常我们所说的使用UML设计新系统的起始点用例图。软件开发生命周期与统一建模语言4.1 用例图概述 定义用例图 用例图是有关系统细节的最高形式。它能准确地说明客户对他们要开发的应用程序期望有什么样的功能 用例图是一种在系统完成后能使管理机构、用户和其他干系人了解其功能的极好方法。登录系统存款取款查询余额修改密码转账退出系统客户软件开发生命周期与统一建模语言4.1 用例图概述 用例图的主要组件 用例图包含4个基本组件:参与者(Actor)、用例(Use Case)、关系、系统。(1)参与者。参与者是系统外部的一个实体,它以某种方式参与用例的执行过

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:全套课件·《软件开发生命周期与统一建模语言UML》1.ppt
    链接地址:https://www.163wenku.com/p-3158459.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库