SA13软件产品线体系结构.ppt

上传人:xin****828 文档编号:6290191 上传时间:2020-02-21 格式:PPT 页数:50 大小:483.50KB
返回 下载 相关 举报
SA13软件产品线体系结构.ppt_第1页
第1页 / 共50页
SA13软件产品线体系结构.ppt_第2页
第2页 / 共50页
SA13软件产品线体系结构.ppt_第3页
第3页 / 共50页
点击查看更多>>
资源描述
1 第13章软件产品线体系结构 13 1软件产品线的出现和发展 出现和发展 产品线的起源可以追溯到1976年Parnas对程序族的研究 软件产品线的实践早在20世纪80年代中期就出现了 到了20世纪90年代后期 软件产品线的研究已经成为热门的研究领域 软件产品线的发展得益于软件体系结构的发展和软件重用技术的发展 2 软件体系结构的发展 面向独立系统的专有体系结构可以满足应用的特殊需求 却无法有效地支持重用 通用的标准体系结构可以用于各类应用 但无法满足应用的特殊需求 因此产生了DSSA DSSA用一个特定的应用领域中可重用的参考体系结构有效地改善复杂软件系统的分析 设计 开发和维护 DSSA的创建需要以该领域的需求分析和建模为基础 就相应地出现了对领域建模的研究 DSSA的出现给领域工程带来了重大的变化 第13章软件产品线体系结构 13 1软件产品线的出现和发展 3 软件体系结构的发展 领域工程出现于20世纪80年代 可以把它看作是软件工程在某个特定领域中的应用 领域工程将软件重用作为一个主要目标 它面向多个客户的多个应用系统 通过挖掘相似的或相关系统之间的共性来提供对跨应用的变化的支持 20世纪90年代中后期 市场驱动的思想开始带入领域工程 出现了以软件产品线为核心的领域工程 第13章软件产品线体系结构 13 1软件产品线的出现和发展 4 软件体系结构的发展 软件产品线在软件工程中的地位 第13章软件产品线体系结构 13 1软件产品线的出现和发展 5 软件重用的发展 自1968年Mcllroy提出软件重用概念的原型后 人们一直在尝试用不同的方法实现通过软件模块的组合来构造软件系统 第13章软件产品线体系结构 13 1软件产品线的出现和发展 6 第13章软件产品线体系结构 13 2软件产品线概述 基本概念 将利用了产品间公共方面 预期考虑了可变性等设计的产品族称为产品线 Weiss和Lai 产品线就是由在系统的组成元素和功能方面具有共性和个性的相似的多个系统组成的一个系统族 软件产品线就是在一个公共的软件资源集合基础上建立起来的 共享同一个特性集合的系统集合 Bass Clements和Kazman 一个软件产品线由一个产品线体系结构 一个可重用构件集合和一个源自共享资源的产品集合组成 是组织一组相关软件产品开发的方式 JanBosch 7 基本概念 CMU SEI的定义 产品线是一个产品集合 这些产品共享一个公共的 可管理的特征集 这个特征集能满足选定的市场或任务领域的特定需求 这些系统遵循一个预描述的方式 在公共的核心资源 coreassets 基础上开发的 第13章软件产品线体系结构 13 2软件产品线概述 8 基本概念 软件产品线主要由两部分组成 核心资源 产品集合 核心资源是领域工程的所有结果的集合 是产品线中产品构造的基础 也有组织将核心资源库称为 平台 核心资源必定包含产品线中所有产品共享的产品线体系结构 新设计开发的或者通过对现有系统的再工程得到的 需要在整个产品线中系统化重用的软件构件 产品线体系结构和构件用于软件产品线中产品的构建 是核心资源最重要的部分 第13章软件产品线体系结构 13 2软件产品线概述 9 软件产品线的过程模型 1 双生命周期模型 第13章软件产品线体系结构 13 2软件产品线概述 10 软件产品线的过程模型 2 SEI模型 第13章软件产品线体系结构 13 2软件产品线概述 11 软件产品线的过程模型 2 SEI模型 循环重复是产品线开发过程的特征 也是核心资源开发 产品线开发以及核心资源和产品之间协作的特征 核心资源开发和产品开发没有先后之分 管理活动协调整个产品线开发过程的各个活动 对产品线的成败负责 核心资源开发和产品开发是两个互动的过程 三个活动和整个产品线开发之间也是双向互动的 第13章软件产品线体系结构 13 2软件产品线概述 12 软件产品线的过程模型 3 三生命周期模型 Fred针对大型软件企业的软件产品线开发对双生命周期模型进行了改进 提出了三生命周期模型 为有多个产品线的大型企业增加企业工程流程 以便在企业范围内对所有资源的创建 设计和重用提供合理规划 第13章软件产品线体系结构 13 2软件产品线概述 13 软件产品线的过程模型 3 三生命周期模型 第13章软件产品线体系结构 13 2软件产品线概述 14 软件产品线的组织结构 典型产品线开发组织结构 第13章软件产品线体系结构 13 2软件产品线概述 15 SEI产品线组织结构 1 SEI则强调市场人员的作用 将产品线组织分为四个工作小组 市场人员是产品线和产品能力 客户需求之间的沟通桥梁 核心资源组负责体系结构和其他核心资源的开发 应用组负责交付给客户的系统的开发 管理者负责开发过程的协调 商务计划等 第13章软件产品线体系结构 13 2软件产品线概述 16 SEI产品线组织结构 2 设有独立核心资源小组的组织结构通常合适于至少由50到100人组成的较大型的软件开发组织 设立独立的核心资源小组可以使小组成员将精力和时间集中在核心资源的认真设计和开发上 得到更通用的资源 第13章软件产品线体系结构 13 2软件产品线概述 17 SEI产品线组织结构 3 另外一种典型的组织结构不设立独立的核心资源小组 核心资源的开发融入各系统开发小组中 只是设立专人负责核心资源开发的管理 这种组织结构的重点不在核心资源的开发上 所以比较适合于组成产品线的产品共性相对较少 开发独立产品所需的工作量相对较大的情况 也是小型软件组织向软件产品线开发过渡时采用的一种方法 第13章软件产品线体系结构 13 2软件产品线概述 18 JanBosch产品线组织结构 1 JanBosch在研究了众多采用软件产品线开发方法的公司后 将软件产品线的组织结构归纳为以下4种组织模型 开发部门 所有的软件开发集中在一个部门 每个人都可承担领域工程和应用工程中适合的任务 简单 利于沟通 适用于不超过30人的组织 业务部门 每个部门负责产品线中一个和多个相似的系统 共性资源由需要使用它的一个和几个部门协作开发 整个团体都可享用 资源更容易共享 适用于30 100人的组织 主要缺点是业务部门更注重自己的产品而将产品线的整体利益放在第二位 第13章软件产品线体系结构 13 2软件产品线概述 19 JanBosch产品线组织结构 2 领域工程部门 有一个专门的单位 领域工程部门负责核心资源库的开发和维护 其他业务单位使用这些核心资源来构建产品 这种结构可有效地降低通讯的复杂度 保持资源的通用性 适于超过100人的组织 缺点是难以管理领域工程部门和不同业务部门之间的需求冲突 以及因此导致的开发周期增长 层次领域工程部门 对于非常巨大和复杂的产品线可以设立多层 一般为两层 领域工程部门 不同层部门服务的范围不同 这种模型趋向臃肿 对新需求的响应慢 第13章软件产品线体系结构 13 2软件产品线概述 20 软件产品线的建立方式 软件产品线建立方式基本特征 第13章软件产品线体系结构 13 2软件产品线概述 21 软件产品线的演化 从整体来看 软件产品线的发展过程有三个阶段 开发阶段 配置分发阶段和演化阶段 引起产品线体系结构演化的原因 产品线与技术变化的协调 现有问题的改正 新功能的增加 对现有功能的重组以允许更多的变化等等 产品线的演化包括产品线核心资源的演化 产品的演化和产品的版本升级 这样在整个产品线就出现了 核心资源的新旧版本 产品的新旧版本和新产品等 它们之间的协调是产品线演化研究的主要问题 第13章软件产品线体系结构 13 2软件产品线概述 22 第13章软件产品线体系结构 13 3框架和应用框架技术 概述 对于大型复杂软件的开发 已经有越来越多的人认识到软件体系结构 架构 在软件开发中的重要作用 其重要性已经超过了数据结构和算法 对大型软件开发的成败起着关键作用 也正因为如此 软件体系结构已经成为大型复杂系统高层设计所关注的焦点 也取得了很多研究成果 23 概述 在提高软件生产率和软件质量方面 有很多方法和技术 其中 软件重用得到了广泛的关注和应用 被认为是提高软件生产率和软件质量的最有效途径 软件重用可以发生在软件开发的各个阶段 重用的粒度越大 对生产率提高的作用就越大 第13章软件产品线体系结构 13 3框架和应用框架技术 24 概述 随着软件技术的发展 软件重用已经从模块 对象的重用发展到了基于构件的重用和基于框架的重用 框架技术与构件技术的结合产生了基于构件的应用框架技术 这是框架技术的一个发展趋势 第13章软件产品线体系结构 13 3框架和应用框架技术 25 概述 体系结构重用属于设计重用 比代码重用更抽象 体系结构模式 风格 就是体系结构重用研究的一个成果 而体系结构参考模型则是软件体系结构在特定领域的重用 第13章软件产品线体系结构 13 3框架和应用框架技术 26 框架的定义 Deutsch 1983 抽象类和相关算法的集合可组成一个框架 该框架在特定领域中可以通过专用代码的添加将具体子类组织在一起运作 框架由抽象类及其实现的操作和对具体子类的期望组成 Johnson和Foot 1988 框架是封装了特定应用族抽象设计的抽象类的集合 框架又是一个模板 关键的方法和其他细节在框架实例中实现 第13章软件产品线体系结构 13 3框架和应用框架技术 27 框架的定义 软件框架有时有多种称谓 如骨架 架构 平台 框架的研究与体系结构模式 设计模式密切相关 但框架不是体系结构模式 也不是设计模式 框架是一个具有 插入点 集合的架构 可以适应特定的问题域 插入点使得软件工程师能够在架构内集成特定问题的类或功能 第13章软件产品线体系结构 13 3框架和应用框架技术 28 框架的定义 在面向对象的环境下 框架是相互协作的类的集合 框架和设计模式有着明显的区别 设计模式比框架更抽象 框架可以用代码表示出来 但只有模式的举例才可以用代码表示出来 设计模式是比框架更小的体系结构元素 一个典型的框架包括一些设计模式 而设计模式却不包括框架 另外 框架总是有特定的应用领域 而体系结构和设计模式几乎可以用在任何类型的应用程序中 第13章软件产品线体系结构 13 3框架和应用框架技术 29 应用框架的定义 由于特定领域的不同应用之间具有更多相似的特征 随着应用的发展和完善 某些带有整体性的应用模式被逐渐固定下来 经过抽象 设计和实现 就形成了特定的框架 也称为应用框架 包括基本构成元素和关系 第13章软件产品线体系结构 13 3框架和应用框架技术 30 应用框架的定义 软件产品线中的框架主要指的是应用框架 Gamma 应用框架是为一个特定应用领域的软件系统提供可重用结构的一组相互协作的类的集合 Buschmann 特定领域应用的框架称为应用框架 Froehlich 应用框架就是某个领域公共问题的骨架式解决方案 框架为该领域所有应用提供公共的体系结构和功能基础 第13章软件产品线体系结构 13 3框架和应用框架技术 31 应用框架的定义 应用框架可以在特定领域的开发中得到有效重用 也是目前被认为是粒度最大的重用 应用框架的研究有助于减少开发应用系统的开销 提高软件开发的效率 改进软件质量 保证软件开发的一致性 增强相似产品不同成员间共同化的可能性 对应用广泛的领域进行应用框架的研究与开发具有重要意义 第13章软件产品线体系结构 13 3框架和应用框架技术 32 应用框架描述的共同点 应用框架解决的是一个领域或产品族的问题 规定了问题应如何分解 包含了应用或子系统的设计 由一个互相协作的类或构件集合组成 可以通过继承或类的组合来创建应用 第13章软件产品线体系结构 13 3框架和应用框架技术 33 应用领域的分类 由于计算机应用非常广泛 其应用领域繁多 可以从主流应用软件的角度划分为ERP软件应用领域 协同软件应用领域 Internet应用领域及其他专业性比较强的领域 第13章软件产品线体系结构 13 3框架和应用框架技术 34 应用领域的分类 ERP软件应用领域 与企业运营密切相关的几个应用领域的高端市场基本上已被ERP软件垄断 包括国外的SAP和Oracle的产品 以及国内的用友 金蝶 ERP软件主要针对大型生产企业 核心模块包括供应链上的物料 生产 销售模块 以及财务 人力资源模块 在非生产性企业的应用主要是财务模块和人力资源模块 ERP软件提供复杂的定制功能 基本上能适应特定应用领域的各种需求 第13章软件产品线体系结构 13 3框架和应用框架技术 35 应用领域的分类 协同软件应用领域 协同软件的主要应用领域为行政办公 电子商务 电子政务 主要产品有协达普及型办公宝 微软Exchange和Outlook软件 近两年腾讯RTX 微软MSN等即时通讯软件也得到了广泛应用 在协同软件领域 很多厂商都形成了自己的框架或平台 如协达的协同软件业务架构平台CAP 东兰的DLFlo工作流平台等 第13章软件产品线体系结构 13 3框架和应用框架技术 36 应用领域的分类 Internet应用领域 随着Internet技术的飞速发展 特别是Web技术在20世纪90年代中期成为计算主流之后 应用系统的体系结构以及业务计算模型发生了巨大变化 对于用户数量大 且地域分散的企业 传统上基于单机及C S结构的应用系统目前已很少使用 企业应用系统越来越多地演化为基于Internet Intranet的Web应用系统 第13章软件产品线体系结构 13 3框架和应用框架技术 37 框架的分类 1 目前还没有非常明确的框架分类 一般可以将软件框架分为以下几类 概念框架 如Zachman框架 平台框架 如 Net框架 JavaEE框架 开发框架 如Eclipse Netbeans OSGi等 及应用框架 其中 应用框架的种类非常多 从技术角度可以分为构件框架 服务框架 Web应用框架等 由于平台框架和开发框架与具体的应用领域无关 也可将其称为基础框架 应用框架一般是基于基础框架开发的 第13章软件产品线体系结构 13 3框架和应用框架技术 38 框架的分类 1 目前 应用框架研究是非常活跃的领域 由于Web应用系统的广泛使用 Web应用框架的研究成果非常多 Web应用框架通常采用多层软件体系结构 在JavaEE或 Net平台上实现模型 视图 控制器 MVC 设计模式 也会将一些服务集成到基础的业务对象中 Web应用框架是基于被普遍接受的标准 例如 Java Net XML XSLT JAAS Servlet JSP JDBC ADO Net 和技术 例如 如构件技术 Agent技术等 使得有经验的开发者可以快速开发Web应用系统 第13章软件产品线体系结构 13 3框架和应用框架技术 39 框架的分类 1 Web应用框架的分类 可以划分为基于请求的框架 基于构件的框架 混合框架 元框架和基于RIA RichInternetApplication 的框架 基于请求的框架与最初的CGI规格类似 每个请求本质上都是无状态的 通过引入服务器端会话 获得一定的状态 例如 WebWork Struts Beehive及Stripes框架 基于构件的框架将请求处理部分抽象出来 将其逻辑封装到可复用的构件中 例如 JSF JavaServerFaces Tapestry和Wicket框架 第13章软件产品线体系结构 13 3框架和应用框架技术 40 框架的分类 1 Web应用框架的分类混合框架是上面两种框架的组合 在基于请求的模型中控制所有数据和逻辑流 如RIFE框架 元框架具有一组公共服务的核心接口和集成构件和服务的高度可扩展的骨架 元框架有时被认为是框架的框架 如Keel Spring框架 基于RIA的框架使用客户端容器模型 降低了与服务器的通信量 如DWR DirectWebRemoting Echo2 JSON RPC Java框架 第13章软件产品线体系结构 13 3框架和应用框架技术 41 框架的分类 2 根据框架的使用和扩展方式 可以将框架分为 黑盒框架通过构件 类的组合来支持重用和扩展 应用中的类由框架的不同构件组合而成 白盒框架一般使用类的继承机制实现 由未完成的类组成 类有一个或多个抽象接口或虚方法 第13章软件产品线体系结构 13 3框架和应用框架技术 42 框架的分类 2 具体的框架实际上都是 灰色 的 是可继承和可组合方式的结合 灰盒框架可以分成三部分 固定的 可选择的和开放的 固定部分包含该领域最基本的功能 内建了应用的控制流 可选部分为该领域中相对固定的 应用特定的功能特征 即领域个性部分 用可组合的类和构件实现 开放部分针对一些无法准确估计和预测的功能特征 只能为其规定统一的接口和挂接点 第13章软件产品线体系结构 13 3框架和应用框架技术 43 第13章软件产品线体系结构 13 4软件产品线基本活动 产品线基本活动 一般认为产品线开发主要包括核心资产开发 又称领域工程 和产品开发 又称应用工程 这两者又需要技术和组织的管理 44 产品线分析 产品线分析是产品线的需求工程 是商业机遇的确认和产品线体系结构的设计之间的桥梁 产品线分析强调 通过捕获风险承担者的观点来揭示产品线需求 通过系统的推理和分析 集成功能需求和非功能需求来完成产品线需求 产品线设计师对产品线需求的可用性 第13章软件产品线体系结构 13 4软件产品线基本活动 45 产品线分析 第13章软件产品线体系结构 13 4软件产品线基本活动 46 产品开发 产品开发活动取决于产品线范围 核心资源库 产品计划和需求的输出 第13章软件产品线体系结构 13 4软件产品线基本活动 47 47 产品开发 产品开发的输入 特定产品的需求产品线范围构建产品所需的核心资源库产品计划 第13章软件产品线体系结构 13 4软件产品线基本活动 48 13 5产品线体系结构的设计 产品线体系结构简介 软件产品线体系结构指一个软件开发组织为一组相关应用或产品建立的公共体系结构 同领域模型一样 软件产品线体系结构中也可以分为共性部分和个性部分 产品线体系结构是产品线核心资源的早期和主要部分 在产品线的生命周期中 产品线体系结构应该保持相对小和缓慢的变化以便在生命周期中尽量保持一致 产品线体系结构要明确定义核心资源库中软件构件集合及其相关文档 第13章软件产品线体系结构 49 49 产品线体系结构的标准化和定制 为适应应用的规模增大 复杂度提高 软件技术不断发展 相继出现了中间件技术 软件产品线等 体系结构风格是一个使产品和产品线具有良好的可移植性的结构 产品和产品线通过最小的修改就可移植到一个新的平台上 13 5产品线体系结构的设计 第13章软件产品线体系结构 50 第13章软件产品线体系结构 思考题 1 软件产品线主要由哪两部分组成 2 了解软件产品线的过程模型 3 掌握框架及应用框架的概念 4 掌握框架的分类
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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