《软件产品线》PPT课件.ppt
《《软件产品线》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《软件产品线》PPT课件.ppt(76页珍藏版)》请在三一办公上搜索。
1、第七章 软件产品线,本章内容,7.1 软件产品线的起源7.2 软件产品线定义7.3 软件产品线的基本活动7.4 软件产品线需求分析7.4.1 软件产品线需求建模7.4.2 软件产品线需求分析的特点7.4.3 利用扩展的UML描述产品线需求7.4.4 软件产品线需求分析中潜藏的风险,本章内容,7.5 软件产品线开发评价7.6 软件产品线的建立7.7 软件产品线开发模型7.7.1 软件产品线的双生命周期模型7.7.2 软件产品线的N生命周期模型7.8 软件产品线的组织结构7.9 软件产品线测试,本章内容,7.10 软件产品线的优点7.11 软件产品线开发所面临的问题,7.1 软件产品线的起源,软件
2、开发可以象制造业一样,在产品线上采用标准的软件构件来进行组装生产软件产品线的起源可以追溯到1976年Parnas对程序族的研究软件产品线是软件复用的一种重要方法,是一种预先规划的和系统化的软件复用技术软件产品线的基本思想是:大部分的软件需求并不是全新的,而是已有系统需求的变体,7.1 软件产品线的起源,大部分组织都只关注某一具体应用领域,他们不断地重复开发该领域已有的软件变体这些变体之间通常存在着大量的相似性,而这又为系统化和大规模软件复用奠定了基础在软件开发过程中,不能采用统计数据进行定量化的度量,而只能通过文字描述和图表显示来进行定性化的度量定性化度量要求:在分析和评判过程中,需要对有意义
3、和可观察的模式或主题进行对比和解释,7.1 软件产品线的起源,在借鉴制造业产品线创建软件产品线时,需要注意以下几个问题:与生产一个具体的产品相比,软件开发过程是难以预测的,其可变的因素太多软件不能像具体产品一样进行大规模的生产不是所有的软件错误都会引发系统失败软件产品不会磨损软件系统不受自然界规律的限制在软件产品线工程中,主要讨论如何确定领域范围和软件资源,7.1 软件产品线的起源,在建立软件产品线和识别领域潜在资源时,需要考虑不同的实现技术、各种领域信息、相关的经济收益和由此所引发的风险软件产品线是最高级别的软件复用技术软件产品线是一组具有共同体系构架和可复用构件的应用系统,构建了一个支持特
4、定领域产品开发的软件平台在软件产品线中,根据产品线架构对用户需求进行定制,通过继承可复用成分和应用中的独特部分来创建应用系统,7.1 软件产品线的起源,软件产品线已经发展为一个新兴的、多学科交叉的研究领域它涉及软件工程、管理技术和商业规划等多个方面,几乎涵盖了软件工程的所有方向目前,软件产品线方法已成为学术界研究的一个热点问题,在软件开发行业中得到了初步的应用应用软件产品线方法,能够大幅度地减少开发成本,缩短开发周期,同时提高软件产品的质量,7.2 软件产品线定义,软件产品线(Software Product Line,SPL)是指一组可管理的,具有公共特性的软件应用系统的集合在利用软件产品线
5、方法构建一个应用系统时,主要的工作是组装和繁衍,而不是创造,其重要的活动是集成而不是编程核心资源是软件产品线的实现基础,通常包括:,7.2 软件产品线定义,产品线体系结构、可复用软件构件、领域模型、需求陈述、文档技术资料、规格说明书、性能模型、进度表、预算、测试计划、测试用例、工作计划和过程描述等其中产品线体系结构是核心资源中的最关键部分关于软件产品线的定义主要包括以下几种:Parnas提出了程序家族的概念,认为“软件产品线是具有广泛公共属性的一组程序,7.2 软件产品线定义,Weiss和Lai认为“从项目之间的公共方面出发,预期考虑可变性等因素所设计的程序族就是软件产品线”Lee认为“软件产
6、品线工程是一种新兴的软件工程范型,指导软件开发组织利用核心资源完成软件项目开发任务,而不是从零开始”Bosch认为“软件产品线由一个产品线体系结构,一组可复用构件和由共享的核心资源派生的产品集合构成”,7.2 软件产品线定义,Kruege认为“软件产品线是一种工程技术,利用通用的产品构建方法和一组共享的软件资源来开发功能相似的应用系统”Pohl给出的定义是“软件产品线工程是使用公用平台、大规模定制技术来开发功能密集型系统和软件产品的范型”Margaret Davis认为“软件产品线是,在组成和功能方面具有共性(Commonalities)和个性(Variabilities)的多个相似系统所形成
7、的一个系统族”,7.2 软件产品线定义,Bass、Clements和Kazman认为“软件产品线是在一个公共的软件资源集合基础上建立起来的,共享同一个特性集合的应用系统集”卡耐基梅隆大学的软件工程研究所给出了软件产品线的经典定义,软件产品线是一个应用系统的集合,这些产品共享一个公共的、可管理的特征集,这个特征集能够满足选定的市场或任务领域的特定需求软件产品线的主要组成部分包括核心资源和软件项目集合,7.2 软件产品线定义,核心资源是领域工程所获得的成果的集合,是软件产品线中应用系统构造的前提基础,也有组织将核心资源称为集成开发平台核心资源包含了软件产品线中所有系统共享的产品线体系结构,以及新设
8、计开发的或者通过对现有系统再工程得到的、需要在整个产品线中进行系统化重用的构件此外,与产品线体系结构相关的实时性能模型、体系结构评估结果、与软件构件相关的测试计划、测试实例、设计文档、需求说明书、领域模型、领域范围定义都属于核心资源,7.2 软件产品线定义,产品线的定义强调了以下几点:预先定义的生产方式共享的软件核心资源以核心资源为基础的软件开发软件产品线的成功则恰恰是因为在实践过程中,将技术、过程、组织和业务等进行了综合考虑在软件产品线中,管理层必须指导、跟踪和强制核心资源的使用,7.3 软件产品线的基本活动,软件产品线包括核心资源开发、利用核心资源的项目开发以及在这两部分中所需要的技术协调
9、和组织管理,7.3 软件产品线的基本活动,核心资源开发被称之为领域工程,利用核心资源的软件项目开发也被称为应用工程软件产品线总是针对某一特定领域而创建的,在创建之后,又要为该领域的应用开发服务在核心资源开发和软件项目开发之间,存在着反馈循环核心资源促进了应用系统的快速创建,核心资源随着新应用系统的开发而不断地被更新,7.3 软件产品线的基本活动,通过跟踪核心资源的使用情况,其结果将被反馈到核心资源的开发活动中,以创建更多有利于复用的基础设施核心资源开发和软件项目开发都需要人力、物力和财力的投入,因此需要持久的、强有力的和卓有远见的组织管理管理必须促进企业文化的交流,将新项目的开发放到可用资源环
10、境下进行考虑,7.3 软件产品线的基本活动,核心资源开发、软件项目开发和技术协调、组织管理三大活动不断迭代循环,促进产品线的基础设施不断完善迭代是软件产品线活动所固有的特性,循环存在于核心开发中,循环存在于软件项目开发中,同时,循环也存在于两者的技术协调和组织管理中核心资源开发活动的输出包括:,7.3 软件产品线的基本活动,产品线范围:是关于产品线所能包含的产品描述,列举出所有产品的共性和彼此之间存在的个性差异核心资源:是产品线中应用系统创建的基础设施开发计划:描述了如何利用产品线中的核心资源去开发软件项目,7.3 软件产品线的基本活动,7.3 软件产品线的基本活动,7.3 软件产品线的基本活
11、动,软件项目开发活动依赖于核心资源开发活动的输出结果,即产品线范围、核心资源和开发计划软件项目开发活动的输人包括:项目实际需求,被表示为领域中一些通用产品描述的变化或增量,也可表示为产品线需求集合的一个增量,通过比较应用需求与产品线需求模型来获得,7.3 软件产品线的基本活动,产品线范围,指出当前所要开发的软件项目是否可由产品线来实现,指明该项目可由产品线实现的模块,同时,还应该说明应用系统开发依赖于产品线的程度用于创建该项目的核心资源开发计划,详细描述了如何利用核心资源来设计实现该软件项目软件产品线就是一组相关的应用系统,但是它们如何存在却取决于具体的核心资源、开发计划、作用范围和组织环境,
12、7.3 软件产品线的基本活动,软件产品线就是一组相关的应用系统,但是它们如何存在却取决于具体的核心资源、开发计划、作用范围和组织环境技术协调和组织管理对于软件产品线的成功是至关重要的产品线工程是在核心资源的基础上,遵循用户的实际需求所开展的一种监督和协调工作软件产品线是一种正在成熟的软件工程范型,用于开发同一领域中具有相似需求的应用系统,7.3 软件产品线的基本活动,在一个特定领域中,基础架构是支持一组具有相似应用需求的领域模型和参考架构,这一基础架构经常被称为产品线体系结构(Product Line Architecture,PLA)描述产品线体系结构的最好手段就是框架,框架是一个可复用的和
13、已经部分实现的软件制品,框架能够被扩展实例化,以生成特定的应用系统,7.3 软件产品线的基本活动,软件产品线工程与其它复用技术相比,主要存在以下两方面的差异:软件产品线工程涉及一系列具有相似应用需求的软件产品软件项目开发是以公共核心资源为基础来进行的,7.4 软件产品线需求分析,软件产品线需求建模是产品线开发过程中的关键性活动,其质量将直接决定整个产品线的成败需求是对系统要做什么、系统如何工作、系统要表现的特性、系统必须具备的质量以及系统开发过程所必须满足的约束条件的一种叙述在软件产品线需求建模过程中,需要对产品线内所有产品的公共特性和变化特性进行描述,7.4 软件产品线需求分析,分析公共特性
14、和变化特性是产品线工程的一个显著特征公共特性是指隶属于软件产品线的所有成员产品都必须具备的公有功能和共同特征,公共特性集合是创建软件产品线的基础,是建立产品线体系结构的依据变化特性是指只存在于软件产品线中某些成员产品的独有功能和个性特征,使其区别于产品线内的其它成员产品,约束和限定产品线体系架构的预期变化,7.4 软件产品线需求分析,软件产品线需求建模可以划分为面向产品线的需求过程,即领域需求,和面向产品线中某个具体应用的需求过程,即应用需求领域需求过程确定了产品需求的范围,在产品线范围内建立面向产品线的需求模型,找出产品线中所有产品的公共特性和变化特性,以形成整个产品线的核心需求资源领域需求
15、是产品线需求的核心,领域需求过程应对领域内的所有产品进行分析,包括已有的应用系统和潜在的应用系统,7.4 软件产品线需求分析,领域需求的来源包括已有的系统功能,潜在的用户需求,以及竞争对手的需求领域需求过程的输出结果是核心需求资源应用需求过程根据具体产品的定义和要求,参照可复用的核心需求资源来建立系统的需求模型,获得需求规格说明书领域需求过程的成果促进了应用需求过程的进展,同时,应用需求过程的反馈又有利于领域需求过程的完善,7.4 软件产品线需求分析,软件产品线需求定义了产品线中的产品及其相关特性,涵盖了一系列应用系统的共同特性产品线需求分析对于产品线开发有着重要的指导作用产品线需求分析确定了
16、产品线需求与特定产品需求之间的差异和变化点,这种差异和变化点为业务用例提供了输入,7.4.1 软件产品线需求建模,7.4.1 软件产品线需求建模,产品线领域范围定义产品线领域范围定义是一项重要的活动,确定了产品线的共性特征和变化因素产品线领域范围定义的参照信息主要包括以下几个部分用户需求调研,了解用户需求的基本情况分析竞争对手,了解市场上有哪些类似的产品,存在着什么样的问题,解决这些问题能给自己带来怎样的收益,7.4.1 软件产品线需求建模,分析行业发展动向,预测未来的发展趋势,思考新技术的出现可能会带来的机遇和风险分析企业竞争能力,了解公司已有的类似产品、客户群、公司需求的状况和公司的技术实
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件产品线 软件 产品线 PPT 课件
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-6500953.html