您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > 软件体系结构课件-大连交大-第10章 软件产品线体系结构
软件体系结构---软件产品线体系结构lyy3232312@sohu.com22020年6月26日10时19分课程内容◇软件体系结构概论◇软件体系结构建模◇软件体系结构风格◇软件体系结构描述◇动态软件体系结构◇Web服务体系结构◇基于体系结构的软件开发◇软件体系结构的分析与测试◇软件体系结构评估◇软件产品线体系结构lyy3232312@sohu.com32020年6月26日10时19分第10章软件产品线体系结构软件产品线与软件体系结构有着密切的关系。软件体系结构的开发是大型软件系统开发的重要环节。体系结构在软件产品线的开发中具有至关重要的作用,在这种开发生产过程中,基于同一软件体系结构,可以创建出具有不同功能的多个系统。由于软件产品组之间可以共享体系结构,所以利用一组可复用的构件,软件产品线就能有效地提高软件生产效率和质量,缩短开发时间,降低总开发水平成本。软件产品线是一个新兴的、多学科交叉的研究领域,研究内容和范围都相当广泛。软件产品线(softwareproductline)lyy3232312@sohu.com42020年6月26日10时19分第10章软件产品线体系结构10.1软件产品线的出现和发展产品线的起源可以追溯到1976年Parnas对程序族的研究。软件产品线的实践早在20世纪80年代中期就出现。据HP公司1996年对HP、IBM、NEC、AT&T等几个大型公司分析研究,他们在采用了软件产品线开发方法后,使产品的开发时间减少30%-50%,维护成本降低20%-50%,软件质量提升5-10倍,软件重用达50%-80%,开发成本降低12%-15%。软件产品线的发展得益于软件体系结构的发展和软件重用技术的发展。lyy3232312@sohu.com52020年6月26日10时19分第10章软件产品线体系结构--出现和发展10.1.1软件体系结构的发展技术侧面应用领域软件体系结构领域工程特定领域软体体系结构软件产品线软件工程lyy3232312@sohu.com62020年6月26日10时19分第10章软件产品线体系结构--出现和发展10.1.2软件重用的发展软件重用是一个降低软件系统的平均成本的主要策略和技术。它的基本思想是尽最大可能重用已有的软件资源。1968年Mcllroy提出了软件重用的概念产品线方法可以看作是软件复用发展的更高阶段。1960s,子程序(subroutines)1970s,模块(modules)1980s,对象(objects)1990s,构件(components)Now,系统(Systems)软件开发的历史是螺旋上升的(从构成软件成分的抽象粒度和面向应用的角度来看)lyy3232312@sohu.com72020年6月26日10时19分第10章软件产品线体系结构10.2软件产品线概述①将利用了产品间公共方面、预期考虑了可变性等设计的产品族称为产品线。②产品线就是由在系统的组成元素和功能方面具有共性和个性的相似的多个系统组成的一个系统族。③软件产品线就是在一个公共的软件资源集合基础上建立起来的,共享同一个特性集合的系统集合。④一个软件产品线由一个产品线体系结构、一个可重用构件集合和一个源自共享资源的产品集合组成,是组织一组相关软件产品开发的方式。10.2.1软件产品线的基本概念lyy3232312@sohu.com82020年6月26日10时19分10.2软件产品线概述–软件产品线基本概念CMU/SEI的定义“产品线是一个产品集合,这些产品共享一个公共的、可管理的特征集,这个特征集能满足选定的市场或任务领域的特定需求。这些系统遵循一个预描述的方式,在公共的核心资源(coreassets)基础上开发的。”软件产品线核心资源产品集合软件产品线开发四个基本特点:①过程驱动②特定领域③技术支持④体系结构为中心lyy3232312@sohu.com92020年6月26日10时19分第10章软件产品线体系结构–软件产品线概述10.2.2软件产品线的过程模型1.双生命周期模型现有系统需求领域分析领域工程领域设计领域实现新系统需求需求分析应用工程系统设计系统实现新系统领域可重用构件和生成器领域体系领域需求模型lyy3232312@sohu.com102020年6月26日10时19分10.2软件产品线概述--软件产品线的过程建模2.SEI模型①循环重复是产品线开发过程的特征,也是核心资源开发、产品线开发以及核心资源和产品之间协作的特征;②核心资源开发和产品开发没有先后之分;③管理活动协调整个产品线开发过程的各个活动,对产品线的成败负责;④核心资源开发和产品开发是两个互动的过程,三个活动和整个产品线开发之间也是双向互动的。领域工程应用工程lyy3232312@sohu.com112020年6月26日10时19分10.2软件产品线概述--软件产品线的过程建模3.三生命周期模型领域工程应用工程企业工程lyy3232312@sohu.com122020年6月26日10时19分第10章软件产品线体系结构–软件产品线概述10.2.3软件产品线的组织结构核心资源组产品组1产品组2产品组n配置管理组体系结构组管理者典型产品线开发组织结构lyy3232312@sohu.com132020年6月26日10时19分10.2软件产品线概述--软件产品线的组织结构SEI产品线组织结构将产品线组织分为四个工作小组:①市场人员是产品线和产品能力、客户需求之间的沟通桥梁;②核心资源组负责体系结构和其他核心资源的开发;③应用组负责交付给客户的系统的开发;④管理者负责开发过程的协调、商务计划等。SEI还将客户提出的需求和对系统的反馈作为产品线组织的重要外部组织接口。lyy3232312@sohu.com142020年6月26日10时19分10.2软件产品线概述--软件产品线的组织结构JanBosch产品线组织结构①开发部门:所有的软件开发集中在一个部门,每个人都可承担领域工程和应用工程中适合的任务,简单、利于沟通,适用于不超过30人的组织。②商务部门:每个部门负责产品线中一个和多个相似的系统,共性资源由需要使用它的一个和几个部门协作开发,整个团体都可享用。资源更容易共享,适用于30-100人的组织,主要缺点是业务部门更注重自己的产品而将产品线的整体利益放在第二位。lyy3232312@sohu.com152020年6月26日10时19分10.2软件产品线概述--软件产品线的组织结构JanBosch产品线组织结构③领域工程部门:有一个专门的单位--领域工程部门负责核心资源库的开发和维护,其他业务单位使用这些核心资源来构建产品。这种结构可有效的降低通讯的复杂度、保持资源的通用性,适于超过100人的组织。缺点是难以管理领域工程部门和不同产品工程部门之间的需求冲突和因此导致的开发周期增长。④层次领域工程部门:对于非常巨大和复杂的产品线可以设立多层(一般为两层)领域工程部门,不同层部门服务的范围不同。这种模型趋向臃肿,对新需求的响应慢。lyy3232312@sohu.com162020年6月26日10时19分第10章软件产品线体系结构–软件产品线概述10.2.4软件产品线的建立方式软件产品线的建立需要希望使用软件产品线方法的软件组织有意识地、明显地努力才有可能成功。软件产品线的建立通常有四种方式:lyy3232312@sohu.com172020年6月26日10时19分第10章软件产品线体系结构–软件产品线概述10.2.5软件产品线的演化从整体来看,软件产品线的发展过程有三个阶段,开发阶段、配置分发阶段和演化阶段。演化的原因:产品线与技术变化的协调、现有问题的改正、新功能的增加、对现有功能的重组以允许更多的变化等等。产品线的演化包括:产品线核心资源的演化产品的演化产品的版本升级。新旧版本之间的协调是产品线演化研究的主要问题。lyy3232312@sohu.com182020年6月26日10时19分第10章软件产品线体系结构10.3框架和应用框架技术框架重用是一种面向领域的软件重用方式,更适用于软件产品线。框架一般建立在同一个或相似领域中,即所要开发的软件系统要具有较强的相似性,通过框架把领域中不变或易变部分在一定时间间隔内固定下来,把易变部分以用户接口的形式保留下来,从而达到设计和代码的重用。本节讨论的框架主要指面向对象领域中的框架(object-orientedframework)lyy3232312@sohu.com192020年6月26日10时19分第10章软件产品线体系结构–框架和应用框架技术框架的定义Deutsch1983:“多个抽象类和它们相关算法的集合可组成一个框架,该框架在特定应用中可以通过专用代码的添加来将具体子类组织在一起运作。框架由抽象类及其实现的操作和对具体子类的期望组成。”框架是封装了特定应用族抽象设计的抽象类的集合,框架又是一个模板,关键的方法和其他细节在框架实例中实现。lyy3232312@sohu.com202020年6月26日10时19分第10章软件产品线体系结构–框架和应用框架技术应用框架软件产品线中的框架主要指的是应用框架。Gamma:应用框架又称为通用应用,是为一个特定应用领域的软件系统提供可重用结构的一组相互协作的类的集合。应用框架解决的是一个领域或产品族的问题,规定了问题应该如何分解。包含了应用或子系统的设计,由一个互相协作的类或构件集合组成。可以通过集成或类的组合来创建应用。lyy3232312@sohu.com212020年6月26日10时19分第10章软件产品线体系结构–框架和应用框架技术框架技术基本特征①反向控制②可重用性③扩展性④模块化和构件化框架建立方式自顶向下自底向上混合方式lyy3232312@sohu.com222020年6月26日10时19分第10章软件产品线体系结构–框架和应用框架技术框架分类黑盒框架白盒框架通过构件/类的组合来支持重用和扩展。一般使用类的继承机制实现,由未完成的类(抽象类)组成,类由一个或多个抽象接口或虚方法。松耦合紧耦合具体的框架实际上都是“灰色”的,是可继承和可组合方式的结合。lyy3232312@sohu.com232020年6月26日10时19分第10章软件产品线体系结构10.4软件产品线基本活动产品线开发领域工程应用工程lyy3232312@sohu.com242020年6月26日10时19分第10章软件产品线体系结构–软件产品线基本活动1.产品线分析产品线分析是产品线的需求工程,是商业机遇的确认和产品线体系结构的设计之间的桥梁。产品线分析强调:通过捕获风险承担者的观点来揭示产品线需求;通过系统的推理和分析、集成功能需求和非功能需求来完成产品线需求;产品线设计师对产品线需求的可用性。lyy3232312@sohu.com252020年6月26日10时19分第10章软件产品线体系结构–软件产品线基本活动1.产品线分析(1)上下文(2)风险承担者观点(3)需求建模资源开发产品开发(资源使用)产品计划产品线分析lyy3232312@sohu.com262020年6月26日10时19分第10章软件产品线体系结构–软件产品线基本活动1.产品线分析(1)上下文(2)风险承担者观点(3)需求建模确认机遇产品线开发产品最终用户产品线开发人员决策者lyy3232312@sohu.com272020年6月26日10时19分第10章软件产品线体系结构–软件产品线基本活动1.产品线分析(1)上下文(2)风险承担者观点(3)需求建模用例模型字典特征模型对象模型推理验证细化风险承担者lyy3232312@sohu.com282020年6月26日10时19分第10章软件产品线体系结构–软件产品线基本活动2.产品开发lyy3232312@sohu.com292020年6月26日10时19分第10章软件产品线体系结构10.5软件产品线体系结构的设计软件产品线体系结构指一个软件开发组织为一组相关应用或产品建立的公共体系结构。同领域模型一样,软件产品线体系
本文标题:软件体系结构课件-大连交大-第10章 软件产品线体系结构
链接地址:https://www.777doc.com/doc-6149497 .html