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