您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > 第7章软件产品线详解
第七章软件产品线本章内容7.1软件产品线概述7.2软件产品线的基本活动7.3软件产品线的开发过程7.4软件产品线应用实例7.1软件产品线概述软件开发可以象制造业一样,在产品线上采用标准的软件构件来进行组装生产软件产品线的起源可以追溯到1976年Parnas对程序族的研究软件产品线是软件复用的一种重要方法,是一种预先规划的和系统化的软件复用技术软件产品线的基本思想是:大部分的软件需求并不是全新的,而是已有系统需求的变体大部分组织都只关注某一具体应用领域,他们不断地重复开发该领域已有的软件变体这些变体之间通常存在着大量的相似性,而这又为系统化和大规模软件复用奠定了基础在软件开发过程中,不能采用统计数据进行定量化的度量,而只能通过文字描述和图表显示来进行定性化的度量定性化度量要求:在分析和评判过程中,需要对有意义和可观察的模式或主题进行对比和解释软件产品线定义软件产品线(SoftwareProductLine,SPL)是指一组可管理的,具有公共特性的软件应用系统的集合在利用软件产品线方法构建一个应用系统时,主要的工作是组装和繁衍,而不是创造,其重要的活动是集成而不是编程核心资源是软件产品线的实现基础,通常包括:产品线体系结构、可复用软件构件、领域模型、需求陈述、文档技术资料、规格说明书、性能模型、进度表、预算、测试计划、测试用例、工作计划和过程描述等其中产品线体系结构是核心资源中的最关键部分关于软件产品线的定义主要包括以下几种:Parnas提出了程序家族的概念,认为“软件产品线是具有广泛公共属性的一组程序,在分析单个程序属性前,值得先研究这些公共属性”。这应该是软件产品线的最原始定义。Weiss和Lai提出“从项目之间的公共方面出发,预期考虑可变性等因素所设计的程序族就是软件产品线”。JaneBosch提出“软件产品线由一个产品线体系结构,一组可复用构件和由共享的核心资源派生的产品集合构成”。这个观点是从产品线构成的角度来给出的。Bass、Clements和Kazman认为“软件产品线是在一个公共的软件资源集合基础上建立起来的,共享同一个特性集合的应用系统集”。Kruege提出“软件产品线是一种工程技术,利用通用的产品构建方法和一组共享的软件资源来开发功能相似的应用系统”。这个定义强调了软件产品线的工业化生产模式。Pohl给出的定义是“软件产品线工程是使用公用平台、大规模定制技术来开发功能密集型系统和软件产品的范型”。该定义关注公用平台的搭建和产品个性化信息的定制。卡耐基梅隆大学的软件工程研究所给出了软件产品线的经典定义。7.2软件产品线的基本活动软件产品线包括核心资源开发、利用核心资源的项目开发以及在这两部分中所需要的技术协调和组织管理核心资源开发被称之为领域工程,利用核心资源的软件项目开发也被称为应用工程软件产品线总是针对某一特定领域而创建的,在创建之后,又要为该领域的应用开发服务在核心资源开发和软件项目开发之间,存在着反馈循环核心资源促进了应用系统的快速创建,核心资源随着新应用系统的开发而不断地被更新通过跟踪核心资源的使用情况,其结果将被反馈到核心资源的开发活动中,以创建更多有利于复用的基础设施核心资源开发和软件项目开发都需要人力、物力和财力的投入,因此需要持久的、强有力的和卓有远见的组织管理管理必须促进企业文化的交流,将新项目的开发放到可用资源环境下进行考虑核心资源开发、软件项目开发和技术协调、组织管理三大活动不断迭代循环,促进产品线的基础设施不断完善迭代是软件产品线活动所固有的特性,循环存在于核心开发中,循环存在于软件项目开发中,同时,循环也存在于两者的技术协调和组织管理中核心资源开发活动的输出包括:产品线范围:是关于产品线所能包含的产品描述,列举出所有产品的共性和彼此之间存在的个性差异核心资源:是产品线中应用系统创建的基础设施开发计划:描述了如何利用产品线中的核心资源去开发软件项目管理软件项目开发项目1项目2……项目n项目产品线范围核心资源开发计划软件项目开发活动依赖于核心资源开发活动的输出结果,即产品线范围、核心资源和开发计划软件项目开发活动的输人包括:项目实际需求,被表示为领域中一些通用产品描述的变化或增量,也可表示为产品线需求集合的一个增量,通过比较应用需求与产品线需求模型来获得产品线范围,指出当前所要开发的软件项目是否可由产品线来实现,指明该项目可由产品线实现的模块,同时,还应该说明应用系统开发依赖于产品线的程度用于创建该项目的核心资源开发计划,详细描述了如何利用核心资源来设计实现该软件项目软件产品线就是一组相关的应用系统,但是它们如何存在却取决于具体的核心资源、开发计划、作用范围和组织环境软件产品线就是一组相关的应用系统,但是它们如何存在却取决于具体的核心资源、开发计划、作用范围和组织环境技术协调和组织管理对于软件产品线的成功是至关重要的产品线工程是在核心资源的基础上,遵循用户的实际需求所开展的一种监督和协调工作软件产品线是一种正在成熟的软件工程范型,用于开发同一领域中具有相似需求的应用系统在一个特定领域中,基础架构是支持一组具有相似应用需求的领域模型和参考架构,这一基础架构经常被称为产品线体系结构(ProductLineArchitecture,PLA)描述产品线体系结构的最好手段就是框架,框架是一个可复用的和已经部分实现的软件制品,框架能够被扩展实例化,以生成特定的应用系统软件产品线工程与其它复用技术相比,主要存在以下两方面的差异:软件产品线工程涉及一系列具有相似应用需求的软件产品软件项目开发是以公共核心资源为基础来进行的7.3软件产品线的开发过程软件产品线需求建模过程7.4.1软件产品线需求建模产品线领域范围定义产品线领域范围定义是一项重要的活动,确定了产品线的共性特征和变化因素产品线领域范围定义的参照信息主要包括以下几个部分用户需求调研,了解用户需求的基本情况分析竞争对手,了解市场上有哪些类似的产品,存在着什么样的问题,解决这些问题能给自己带来怎样的收益分析行业发展动向,预测未来的发展趋势,思考新技术的出现可能会带来的机遇和风险分析企业竞争能力,了解公司已有的类似产品、客户群、公司需求的状况和公司的技术实力产品线领域需求收集首先,根据产品线领域范围定义确定目标用户,对目标用户的需求进行整理然后,分析同类应用系统的功能,对相关技术资料进行加工提取,以获取共性的领域知识产品线领域需求分析寻找产品线领域需求描述中的公共特性和变化特性,这往往依赖于领域专家的知识与经验产品线领域需求层次划分软件产品线具有一定的层次关系,这种层次性决定了产品线需求也应该具有对应的层次结构产品线领域需求规格说明把分属不同维度的原子需求按其服务的系统或构件进行划分,以形成需求规格说明书应用系统需求收集应用需求分析人员,参照产品线领域需求规格说明,分析用户的具体要求和系统功能定义,将系统需求分解为一系列的原子需求应用系统需求规格说明收集分解得到的原子需求,按照系统构成方式来进行组织,形成应用系统的需求规格说明文档软件产品线需求分析的特点产品线领域需求包括固定部分和变化成分需求模型是客户、领域专家和系统分析师之间进行沟通的有效手段需求抽取是一个发现、评审、文档化、理解用户需求和阐明系统约束的过程需求分析是一个提炼用户需求和系统约束的过程软件产品线需求分析的特点需求规格说明是一个清晰地文档化用户需求和严格地阐明系统约束的过程需求确认是一个保证系统需求完整、正确、一致和清晰的过程软件产品线的双生命周期模型产品线的开发产品线分析产品线设计产品线实现7.4软件产品线应用实例SS2000产品线网管系统产品线设计案例产品线分析产品线体系结构产品线公共应用框架设计ERP库存管理子系统设计案例整体业务流程库存业务流程本章讲授内容已结束谢谢
本文标题:第7章软件产品线详解
链接地址:https://www.777doc.com/doc-3601144 .html