食动ML 【课程内容】 主要介绍面向对象技术的统一建模语言UML 级【目的】 了解面向对象技术的基本概念,掌握面向对象 的分析和设计方法,以及与面向对象技术相关的 些软件开发技术。 程 制作龙鹏飞
高 级 软 件 工 程 面向对象技术-UML 【课程内容】 主要介绍面向对象技术的统一建模语言UML。 【目的】 了解面向对象技术的基本概念,掌握面向对象 的分析和设计方法,以及与面向对象技术相关的一 些软件开发技术。 制作 龙鹏飞
食动ML 关于】 UML是由著名的面向对象技术专家 Grady booch 高(布什)、 James Rumbaugh(云豹)和War 级 Jacobson(雅森),在各自方法的基础上,汲取 其他面向对象方法的优点,广泛征求意见,几经修 语 UML是一种定义良好、易于表达、功能强大且 智适用于各种应用领域的建模语言,已被OMG采纳为 已成为 领域内 地位的标准建模语。掌握∪ML语言,不仅有助于理 解面向对象的分析与设计方法,也有助于对软件开 发全过程的理解。 制作龙鹏飞
高 级 软 件 工 程 面向对象技术-UML 【关于】 UML是由著名的面向对象技术专家 Grady Booch (布什)、James Rumbaugh(云豹)和Ivar Jacobson(雅 森),在各自方法的基础上,汲取 其他面向对象方法的优点,广泛征求意见,几经修 改完成的一种建模语言。 UML是一种定义良好、易于表达、功能强大且 适用于各种应用领域的建模语言,已被OMG采纳为 标准,目前UML已成为面向对象技术领域内占主导 地位的标准建模语。掌握UML语言,不仅有助于理 解面向对象的分析与设计方法,也有助于对软件开 发全过程的理解。 制作 龙鹏飞
食动ML 【软件危机】 上世纪60年代中期开始爆发的软件危机,产生于大中型 软件 大中型软件与小型软件有本质的区别:大型软件系统的 开发周期长、开发费用昂贵、开发出来的软件质量难以保 证、开发生产效率低,它们的复杂性已远远超出人脑所能 直接控制的程度 ——软件工程学诞生 经过近四十年的探索和发展,软件工程这门学科有了长 程 足的发展,但软件危机依然存在,而且有越来越严重趋势 现在软件在规模、复杂性等方面远超过以前的软件,开 发效率低、产品质量差、产品难以维护、软件可移植性差、 开发费用超过预算、开发时间超期等依然存在。 各种软件开发方法产生 制作龙鹏飞
高 级 软 件 工 程 面向对象技术-UML 【软件危机】 上世纪60年代中期开始爆发的软件危机,产生于大中型 软件。 大中型软件与小型软件有本质的区别:大型软件系统的 开发周期长、开发费用昂贵、开发出来的软件质量难以保 证、开发生产效率低,它们的复杂性已远远超出人脑所能 直接控制的程度。——软件工程学诞生 经过近四十年的探索和发展,软件工程这门学科有了长 足的发展,但软件危机依然存在,而且有越来越严重趋势。 现在软件在规模、复杂性等方面远超过以前的软件,开 发效率低、产品质量差、产品难以维护、软件可移植性差、 开发费用超过预算、开发时间超期等依然存在。—— 各种软件开发方法产生 制作 龙鹏飞
食动ML 【软件开发方法】 瀑布式 快速原型法 螺旋式 多变换式 增量式 净室法 喷泉式 程 面向对象方法 制作龙鹏飞
高 级 软 件 工 程 面向对象技术-UML 【软件开发方法】 瀑布式 快速原型法 螺旋式 变换式 增量式 净室法 喷泉式 面向对象方法 制作 龙鹏飞
食动ML 【大型软件系统的特点】 高开发代价高,开发时间长,参加开发的人 级员多,软件生命周期长。采用传统的软件工 程方法开发大型软件存在开发效率低、产品 侣质量差、产品难以维护、软件可移植性差、 软件可重用性低等问题 程 制作龙鹏飞
高 级 软 件 工 程 面向对象技术-UML 【大型软件系统的特点】 开发代价高,开发时间长,参加开发的人 员多,软件生命周期长。采用传统的软件工 程方法开发大型软件存在开发效率低、产品 质量差、产品难以维护、软件可移植性差、 软件可重用性低等问题。 制作 龙鹏飞
食动ML 【软件系统开发涉及的两个方面】 1、软件开发过程 从软件需求、总体设计、详细设计、代码实现、 级测试到最终产品的提交,以及后期的软件维护及再 开发过程,这方面要求软件开发具有连续性,开发 1各阶段得到的产品要求在逻辑上相互一致 2、软件开发过程中涉及的资源 包括参与开发的各种工作人员、硬件资源和软 程件资源,这些资源在使用过程中需要进行协调和管 理。 正是这两个方面之间的相互作用,形成了完整的件 开发活动、目前软件开发中存在的向题,究其原因,往往 是由于在这两个方面上控制不当,或协调不一致造成的。 制作龙鹏飞
高 级 软 件 工 程 面向对象技术-UML 【软件系统开发涉及的两个方面】 制作 龙鹏飞 1、软件开发过程 从软件需求、总体设计、详细设计、代码实现、 测试到最终产品的提交,以及后期的软件维护及再 开发过程,这方面要求软件开发具有连续性,开发 各阶段得到的产品要求在逻辑上相互一致。 2、软件开发过程中涉及的资源 包括参与开发的各种工作人员、硬件资源和软 件资源,这些资源在使用过程中需要进行协调和管 理。 正是这两个方面之间的相互作用,形成了完整的软件 开发活动、目前软件开发中存在的问题,究其原因,往往 是由于在这两个方面上控制不当,或协调不一致造成的
食动ML 【软件工程】 就是希望采用工程的概念、原理、技术和方法, 高把经过时间考验而证明有效的管理技术和当前能够 级得到的最好的技术方法结合起来,以指导计算机软 件的开发和维护 【软件工程的目的】 就是要在规定的时间、规定的开发费用内开发 程出满足用户需求的高质量的软件系统。 高质量:不仅包括错误率低,好用、易用、可 移植、易维护等要求。 制作龙鹏飞
高 级 软 件 工 程 面向对象技术-UML 【软件工程】 就是希望采用工程的概念、原理、技术和方法, 把经过时间考验而证明有效的管理技术和当前能够 得到的最好的技术方法结合起来,以指导计算机软 件的开发和维护。 【软件工程的目的】 就是要在规定的时间、规定的开发费用内开发 出满足用户需求的高质量的软件系统。 高质量:不仅包括错误率低,好用、易用、可 移植、易维护等要求。 制作 龙鹏飞
食动ML 【软件与硬件不同】 高表现形式:思想产物客观实体 经生产方式:思想组合物质组合 的产品要求:无误差/允许误差 侣维护方式:改进缺陷、功能扩充等/老化 程 制作龙鹏飞
高 级 软 件 工 程 面向对象技术-UML 【软件与硬件不同】 表现形式:思想产物/客观实体 生产方式:思想组合/物质组合 产品要求:无误差/允许误差 维护方式:改进缺陷、功能扩充等/老化 制作 龙鹏飞
食动ML 【软件的固有复杂性】 高软件的特点说明了软件开发的复杂性和困 级难性。著名的计算机专家、被称之为IBM 软360系列计算机之父的 F Brooks认为软件的 侣复杂性是固有的,软件可能是人类所能制 造出来的最复杂的实体。 程 制作龙鹏飞
高 级 软 件 工 程 面向对象技术-UML 【软件的固有复杂性】 软件的特点说明了软件开发的复杂性和困 难性。著名的计算机专家、被称之为IBM 360系列计算机之父的F. Brooks认为软件的 复杂性是固有的,软件可能是人类所能制 造出来的最复杂的实体。 制作 龙鹏飞
食动ML 【复杂性原因】 1、软件的复杂性与计算机的体系结构有关; 2、软件开发是人的一种智力活动,软件系统从 本质上来说是由许多相互联系的概念所组成的结构 (这种概含结构很难用一组数学公式或程定律来 3、软件系统中各元素之间的相互作用关系具有 不确定性;(从理论上,任何两个元素向都可以存在交互 4、由于软件没有固定的形式和坚硬的外壳,认 程为软件系统是软的,可以随意扩充和修改;(基求 5、规模较大的软件系统的生命周期一般都超过 所涉及硬件的生命周期。(硬件环境不断变化,软件也 应适应) 制作态鹏
高 级 软 件 工 程 面向对象技术-UML 【复杂性原因】 制作 龙鹏飞 1、软件的复杂性与计算机的体系结构有关; (冯.诺依曼计算机体系结构是硬件简单,软件复 杂) 2、软件开发是人的一种智力活动,软件系统从 本质上来说是由许多相互联系的概念所组成的结构; (这种概念结构很难用一组数学公式或物理定律来 描述,也就是说,很难找到一种好的方法或工具来 刻画软件系统的内在本质特征或规律) 3、软件系统中各元素之间的相互作用关系具有 不确定性;(从理论上,任何两个元素间都可以存在交互 关系)4、由于软件没有固定的形式和坚硬的外壳,认 为软件系统是软的,可以随意扩充和修改;(要求 适应人的工作方式、提供更好的方便、提供更多种类和更 大数量的工作等) 5、规模较大的软件系统的生命周期一般都超过 所涉及硬件的生命周期。(硬件环境不断变化,软件也 应适应)