第13讲 软件产品线

合集下载

Product Line软件产品线权威文档精品PPT课件

Product Line软件产品线权威文档精品PPT课件
CelsiusTech realized they could not fulfill both contracts unless they started doing business in a totally new way.
➢ Earlier systems were troublesome to integrate and had cost schedule overruns.
suffice for both systems plus new systems in the same domain.
What CelsiusTech Did-2
Produce software components that populated this architecture • Components were flexible, configurable across
What CelsiusTech Did-1
Assembled a small expert architecture team with
• Extensive domain knowledge • Previous systems experience • Objective: produce architecture that would
a wide variety of envisioned uses
System-building became a matter of integration, not construction.
Product Architeconfiguration
• 15-30 nodes on LAN • 30-70 CPUs • 100-300 Ada programs • 1-1.5 million Ada SLOC

软件产品线需求过程和方法浅论

软件产品线需求过程和方法浅论

程 原 理 和 实 践 的基 础 上 ,对 产 品 线 需 求 过 程 框 架 、以 及 如 何 利 用 P —o t t 阵 方 法 来 来 客 观 确 定 产 品 线 需 求 的共 性 与 可 RC ne 矩 x 变 性 进 行 了深 入 分 析 ,并 且 讨 论 了如 何 通 过 需 求 层 次 和 维 度 划 分 以 降 低 产 品 线 需 求 分 析 的 复 杂 性 , 于 产 品 线 需 求 工 程 实 对 践具有 一定的指导作 用。 关 键 词 : 件 产 品 线 ; 产 品 线 需 求 ; 原 子 需 求 . 下 文 矩 阵 ; 需 求 维 度 ; 需 求 层 次 软 上
i d s u s d M o e v r h w e r a et ec mp e i f P e u rme t n l s y c mp r n a ii gt er q i me t p o lm s ic se 、 r o e , o t d c e s o lx t o L rq ie n ay i b o a t o h y S a s me tl n e u r z h e n s rbe s a e it e ea i n in n irr h e lod s u s d I S e e ca ers ac n r ci eo f r r d c n e u — p c os v r l me so s d h e a c isi as i s e . t n f il o t e rh a dp a t f o wa ep o u t ier q i n d a s c ’b i t h e c st l
中 图法 分 类 号 : P l. T 31 5
文献 标 识 码 : A
文 章 编 号 : 007 2 (0 8 1—2 5O 10—0 4 2 0) 64 1一5

03-0(09-2)---SoftwareProductLine

03-0(09-2)---SoftwareProductLine
wyh925163com412013120初始级1软件配置管理软件质量保证软件子合同管理软件项目跟踪和监督软件项目规划需求管理可重复级2定义级3软件质量管理量化的过程管理管理级4过程变化管理技术变化管理错误预防优化级5软件配置管理软件质量保证软件子合同管理软件项目跟踪和监督软件项目规划需求管理对等复审组间协作软件产品工程集成的软件管理培训计划组织过程定义组织过程关注mail
Mail:wyh_925@ 20
2013-7-11
2.1、核心资产开发
核心资产开发活动的输入(续1) 2. 风格、模式和框架



符合产品约束和生产约束的相关体系结构 是什么? 构件交互的协议和模式是什么? 有哪些可用的设计模式? 有哪些可用的应用框架? ……
2013-7-11
Mail:wyh_925@
3
Part 9-2:软件产品线
1、软件产品线概念
1.1、背景(Background) 1.2、概念(Concept) 1.3、产品线的好处和代价
(Benefits and Costs of a Product Line)
1.4、相关术语解释(Note on Terminology)
2013-7-11
Mail:wyh_925@
12
1.3、使用产品线的好处和代价(续5)
Customer:




获得高质量产品 交付日期可预测 复用可预测 知道单独需求的费用 好的文档材料 共享维护费用 降低失败的机会 好的文档材料
End User:

2013-7-11
Mail:wyh_925@

产品的灵活性是市场的必然需求,而产品线将通过 裁剪,生产出满足特定用户或用户群需要的产品。 从开发者的角度,产品线的成功在于产品之间通过 共性的共享,达到了生产上经济的目的。

软件产品线架构组织与技术幻灯片PPT

软件产品线架构组织与技术幻灯片PPT
4
框架和架构的关系
5
二、业务模式与框架技术
• 所谓“模式”强调的是某种功能单元可能被使 用上百次,但使用的方式却不尽相同。模式是 一种灵活的思想,运用它却需要智慧和想象力, 因为没有两种完全一样的功能需求。
• 条理性工程:应用经过考验的模式,通过恰当 的组合和微小的修改达到目的。
• 探索性工程:对新的各种各样的设计的非结构 化探索。
18
协作:
• 当首席架构师开始架构设计的时候,协 作显得及其重要,我们一定要确保公司、 周边合作者、领域架构师和开发组都能 理解架构的关键思想。
19
简化:
• 简化原则要求澄清并最小化架构与创建, 当发现两个小组开发的构件有重叠的部 分以后,应该可以考虑指定一个共享的 构件,如何实现简化是构架师最值得关 注的一个问题,非此架构设计的意义就 显得不大。
• 开发定义关于共享功能的特殊需求的公共软件 需求,例如,公共GUI和通信协议。
• 为系列中的每个产品开发前景文档、补充规格 说明以及定义特殊功能的用例模型。
11
二、确定范围
在核心资产库中,软件架构是重中之重, 而一个可以在几乎所有产品线中不同产品可以 通用的架构,设计的关键是架构设计中有一组 明确允许可以发生变化的,所以,识别允许的 变化是架构设计责任的一部分。
软件产品线架构组织与技术幻灯 片PPT
本PPT课件仅供大家学习使用 请学习完及时删除处理 谢谢!
第一章 软件框架技术的设计思想
2
一、架构、框架与复用
• 框架在软件复用中的意义 • 共享框架与产品线架构 • 产品线架构设计与软件组织
3
框架(Framework) 的特征
框架是可以通过某种回调机制进行扩展的软件系统或者子系统。框 架的概念主要来自于对“重用概率”的分析。一个软件单元被重用, 单元粒度越大,重用概率越低,但是重用价值越大。反之,单元粒 度越小,重用概率越高,但是重用价值越小。框架的智慧在于,在 单元粒度比较大的情况下,追求高的重用概率。

软件产品线

软件产品线

1定义:卡耐基。

梅隆大学软件工程研究所(CMU/SEI)定义为:产品线是一个产品集合,这些产品共享一个公共的、可管理的特征集,这个特征集能满足选定的市场或任务领域的特定要求。

这些系统遵循一个预描述的方式,在公共的核心资源(core assets)基础上开发的。

根据这个定义,软件产品线有两个部分:核心资源和产品集合。

核心资源也称平台:产品线中所有产品共享的产品线体系结构,新设计的或通过对现有系统的再工程到底的、需要再整个产品线中系统化重用的软件构件,与这些构件相关的测试计划、测试实例,所有设计文档,需求说明书,领域模型,领域范围的定义,采用COTS的构件。

其中软件产品线体系结构和构件是最为重要的部分。

-----------------------------------------------独立软件系统的体系结构对体系结构的变化没有说明和限制,在体系结构实例化的过程中,几乎允许任意的变化。

产品线的体系结构作为所有产品共享的体系结构和各产品导出的体系结构的基础,必须对允许进行的变化进行显式的说明和限定,才能使最终的实例化结果既有共性又也个性。

-----------------------------------------------2软件产品线的建立方式1将现有产品演化为产品线在基于现有产品线体系结构的基础上,将特定产品的构件逐步地、越来越多地转换为产品线的共用构件。

从基于产品的开发慢慢转到基于产品线的开发。

优点:通过分解投资回报周期,以及对现有系统演化的维持,使得产品线的开发风险降低。

2用软件产品线代替现有产品集基本停止现有产品的开发,直接对软件产品线的核心资源开发。

遗留系统只有在符合现有体系结构和需求的情况下才可以和新的构架合作。

对于软硬件结合紧密且硬件需求差异大的现有产品集,因无法满足产品线方法对软硬件同步的需要,只能采用这种革命式的方法。

3全新产品线的演化当一个组织进入一个全新的领域时,同样有演化和革命两种方式。

软件工程技术系列培训之产品线工程概论

软件工程技术系列培训之产品线工程概论
现状
目前,产品线工程已被广泛应用于 各个领域,成为提高软件开发效率 和质量的重要手段。
产品线工程核心思想
01
02
03
04
复用性
通过共享组件和架构,实现产 品之间的复用,提高开发效率。
可变性
在满足复用性的前提下,允许 产品具有一定的可变性,以满
足不同客户的需求。
架构中心
以架构为核心,将架构作为开 发过程中的重要资产进行管理
02
产品线规划与设计方法
市场需求分析与定位
调研目标市场和用户群体
01
通过问卷调查、访谈、竞品分析等手段,收集目标市场和用户
群体的需求、痛点和期望。
分析市场趋势和竞争态势
02
了解行业发展趋势、政策法规变化以及竞争对手的产品特点和
市场策略。
确定产品定位和差异化优势
03
根据市场需求和竞争态势,明确产品的目标用户、使用场景、
培训资源整合策略
整合内外部培训资源,包括讲师、教材、设备等 加强与高校、企业等合作,共同开发优质课程资源
建立培训资源共享平台,提高资源利用效率 鼓励学员参与课程资源建设和分享
人才培养效果评估
01
制定科学的评估标准和方法
02
对学员的学习成果、技能提升、职业发展 等进行全面评估
03
建立学员档案,记录学习过程和成果
跨部门绩效评估
制定绩效评估标准,对跨部门协作成 果进行评价和激励。
高效沟通渠道搭建
正式沟通渠道建立
非正式沟通渠道拓展
如定期会议、报告制度等,确保信息及时准 确传递。
如社交媒体、即时通讯工具等,增加沟通灵 活性和互动性。
沟通障碍识别与应对
沟通技巧培训

软件产品线体系结构

软件产品线体系结构

图注:
新构件
修改了的构件
未改变的构件
第一代产品的第二个版本
第10章 软件产品线体系结构
10.5 产品线体系结构的演化
◇ 两代产品的各种发行版本
以太网模块 网络文件系统框架 Netware 令牌网模块 NFS SMB 网络协议框架 HTTP SCSI 文件系统框架 Pseudo ISO9660
图注:
◇ 软件产品线体系结构
第10章 软件产品线体系结构 10.1 软件产品线的出现和发展
◇ 出现和发展
产品线的起源可以追溯到1976年Parnas对程序族的研究。软件 产品线的实践早在20世纪80年代中期就出现。 据HP公司1996年对HP、IBM、NEC、AT&T等几个大型公司分析 研究,他们在采用了软件产品线开发方法后,使产品的开发时间减 少1.5-2倍,维护成本降低2-5倍,软件质量提升5-10倍,软件重 用达50%-80%,开发成本降低12%-15%。 软件产品线的发展得益于软件体系结构的发展和软件重用技术 的发展。
第10章 软件产品线体系结构
10.3 框架和应用框架技术
框架是封装了特定应用族抽象设计的抽象类的集 合,框架又是一个模板,关键的方法和其他细节 在框架实例中实现 。 应用框架又称为通用应用,是为一个特定应用领 域的软件系统提供可重用结构的一组相互协作的 类的集合。 ◎ 黑盒框架 ◎ 白盒框架
第10章 软件产品线体系结构
◎ 产品线就是由在系统的组成元素和功能方面具有共性和个性的相 似的多个系统组成的一个系统族。
◎ 软件产品线就是在一个公共的软件资源集合基础上建立起来的, 共享同一个特性集合的系统集合(Bass,Clements和Kazman)。 ◎ 一个软件产品线由一个产品线体系结构、一个可重用构件集合和 一个源自共享资源的产品集合组成,是组织一组相关软件产品开发 的方式(Jan Bosch)。

软件体系结构课件-(第十四课)软件产品线

软件体系结构课件-(第十四课)软件产品线

性和稳定性,减少错误和故障。
户需求,并提供满足其特定需求的产品。
软件产品线的组成和架构
软件产品线由核心资产、可配置组件、特定领域工程和产品配置组成。
软件产品线与单个软件的区别
范围
灵活性 ️
软件产品线涵盖了一系列相关产品,而单个软
软件产品线具有可配置和定制的特性,而单个
件仅代表一个独立的产品。
更灵活的定制和集成,以及更紧密的与业务流程和价值链的结合。
户,通过配置和定制模块来满足
品线的组织,以满足不同市场和
率。
其特殊需求。
用户的需求。
创建和维护软件产品线的过程
1
1. 规划和需求收集
确定产品线的目标和范围,收集客户需
2. 组织和建模
2
求和反馈。
3
3. 开发和集成
设计产品线的架构和组成,建立组件库
和模型。
开发和集成可配置组件,创建产品实例
4. 测试和验证
软件体系结构课件-(第十
四课)软件产品线
软件产品线是指一组相关软件产品,它们共享相同的架构、功能和特性,通
过配置和重用来满足不同客户需求的软件开发方法。
什么是软件产品线
软件产品线是一个根据需求、设计、实施和维护软件相关的产品的集合。它
通过共享和重用组件、构建块和模块,提供高效的开发过程和快速交付可定
4
和变体。
55. 配置和定制对产品线进行测试和验证,确保产品的
质量和稳定性。
根据客户需求进行产品的配置和定制,
6. 发布和维护
发布产品和维护产品线,收集反馈并进
行持续改进。
6
满足特定需求。
软件产品线的未来发展
随着技术和市场的变化,软件产品线将继续发展和演进。未来的趋势可能包括更高级的自动化和智能化配置、

软件产品线基础

软件产品线基础

将独立的软件组件组合成一个集成的整体; 在软件工程的中间阶段; 集成受组件接口定义的限制 具体实践:




接口语言:IDL、Ada 封装:一种特殊的软件产品,作为构建用户期望的组件与被使用的已 有组件之间通信媒体; 中间件:可集成构架,采用一种特殊的软件产品作为用户结构和数据 生成器及存储器之间的媒介; 系统生成:只需为模板中变量指定实际参数,就可以生成新产品; FAST生成器:定义了潜在成员之间的共性和变化,然后设计一种小型 的专用语言来描述他们。
开发
一个描述核心资产如何实现的通用术语。 与以往的开发略有差异:建造、获取、购 买。
领域
是指一种专门的知识,一个领域的专业技 能或相关功能的一个集合。
软件产品实践
指系统化地运用核心资产进行装配、实例 化或生成构成软件产品的多个。其涉及战 略性的、大粒度的重用。
核心资 产开发
产品开 发
自顶向下,不断细化; 在进行应用程序功能设计之前考虑系统
Hale Waihona Puke 的基础结构; 在分析基础结构之前考虑应用程序的功 能。
相当于构架的设计模式; 定义了一组组件类型,指定了其间相互
连接的拓扑模式,以及运行时交互作用 的语义约束; 风格不是完整的构架而是构架原型,每 个风格都有为人共知质量属性。
管理
领域工程
应用工程
核心资产开发活动的目标是建立产品 的生产能力。 核心资产开发活动的输出
1、产品线范围; 2、核心资产; 3、生产计划。
生产产品才是产品线的最终目标。
它依赖于前述的三个输出以及各个 产品的需求。 产品开发的输入
1、一个特殊产品的需求; 2、产品线范围; 3、用于构建产品的核心资产; 4、生产计划。

软件产品线技术简介

软件产品线技术简介
软件复用 软件产品绒 IG 17 构 架 E 590
Ab ta t S f aeP ou tLn si anw tvr uetcnq e hc rvd resaea dget rn ・ sr c ot r rd c ie e s b aer s h iu ,w ihpo ie al g cl n ra a u w s o e e s a g l i es na se i o i.T ep p rit d csteley l mo ue ra i t n ls u tr ,cmp nnsa d a t DIe i p ca d man h a e r u e i c ce d l,osnz i a t cue o oe t n ry 】 l no h f a o r t s fSfq. rd c n stru hn w E ytm.B s gS t aeP o utLn c nq e e eore f r so ot a Po u t e o g e MSss u l r e i L h e yui o ̄ r rd c ie t h iu ,k yrs uc o n s e s
维普资讯
■■拄木 与■一亿
软 件产 品线 技 术 简 介
T eIt d cin t ot aeP o u tLn s e h oo y h nr u t S f r rd c ie c n lg o函 向 H / Jt- n _ hnd g / o
产品需求和特征的公共性和变化性 , 建立软件产品线需求模 型。在领域设计阶段 , 根据产品线需求模型设计软件产品线
架构 。最后在 系统 实现阶段 , 开发组件 等软件产 品线 的公 共
资源 。 应用工程则 是在领域工程生成 的公共 资源基 础上 , 开发

软件产品线

软件产品线

开线发T的e组xt公i件n共h等e资r产e源品
架构
软件产品#43;销售图纸+用户付费+机器识别 公共部分+销售图纸+用户付费+手工识别
公共部分+机器识别 公共部分+手工识别
软件产品线国外发展现状
❖ 由于软件产品线是同时开发一组成品,故其更为困难,风 险也更高。
Design variations using aspects
Product Development
Compose aspects of a product and business classes using AOP Weavers
Generate version of a product
Management
软件产品线的关键技术
应用 开发
应用需求分析
参考体系结构的实例化
领域构件的实例化和定 制以及基于构件的开发
软件产品线的关键技术
管理
技术的管理 组织的管理
软件产品线的关键技术
Core Asset Development
Design Feature Product Line Modeling Architecture
•从外面购入模块来搭系统可以节约钱和时间
不行,模块都对他的运行环境有一些假想
•面向对象带给我们支持重用的新方法
仍然有问题,大规模的面向对象重用仍然罕见
软件产品线的产生背景
Celsius 公 司 (1985) :
产产产品品品
共享 构造自
市场策略 应用领域
接受
体系结构
被用来构造 组件
软件产品线的产生背景
Celsius 公 司 软件产品线应用结果 :

软件产品线:重用构架21页PPT

软件产品线:重用构架21页PPT
定义4、一个软件产品线由一个产品线体系结构、一个可重用构件集 合和一个源自共享资源的产品集合组成,是组织一组相关软件产品 开发的方式(Jan Bosch)。
成功采用产品线能够带来的生产成本的降低 、上市时间的缩短和生产效率的提高
14.2 软件产品线有效的原因 产品线的本质是在生产产品家族时,以
一种规范的、策略性的方法重用资产
14.4 产品线构架
建立产品线构架
在产品线的核心资产库中,软件构 架是重中之重。构建一个成功产品线的 本质就是区别在产品线家族所有成员中 ,什么会保持不变,什么会发生变化。 确定产品的变化点和提供对这些变化点 的支持是产品线构架的重要组成部分。
产品线设计师需要考虑以下三件事 情:
*确定变化点
*支持变化点
组织结构 (1)开发部门 (2)业务单元 (3)领域工程单元 (4)分层次的领域工程单元
导致产品线失败的因素
尽管产品线的设计方法给我们带来很多好处,但不 注意管理往往会造成产品线的失败
1、在具有足够控制和管理权力的位置缺乏倡导者 2、管理层未能持续提供坚定的支持 3、中层管理人员不愿放弃对项目的独立控制 4、未能明确采用产品线方法的商业目标 5、遇到困难就放弃 6、未能就产品线方法对员工进行充分的培训,未能 充分解释变化或进行变化的理由
范围较大的产品线很可能会开发为框架或服务的集合。
可以重用的范围包括: 1、需求:大多数需求与早期开发的系统相同,因此不再需要进一 步的需求分析 2、构架设计:已有成功系统的构架证明是合时的,设计产品线产 品利用成功的构架可以节约大量的时间 3、元素:软件产品的元素在产品线中是可重用的,包括元素接口 、文档、测试计划等 4、建模和分析:以前关于性能分析、可调度性分析等模型和分析 均可重用 5、测试:以前的测试计划、测试过程、测试用例、测试数据、测 试工具均可重用 6、过程、方法和工具等 7、人员:开发相似系统的人员已经具有了开发此类系统的经验和 技术积累 8、样本系统:已开发系统可以作为新开发系统的样本 9、缺陷消除:产品线可以提高产品质量,因为以前的缺陷在新产 品设计时可以避免

软件产品线架构及其自动化构建技术研究

软件产品线架构及其自动化构建技术研究

软件产品线架构及其自动化构建技术研究随着科技的发展和计算机技术的不断进步,软件开发已成为现代生产力和社会发展的重要支柱。

随之而来的是复杂的软件系统,而软件产品线架构及其自动化构建技术为复杂软件系统的开发提供了重要的支持。

本文将从软件产品线架构的定义、意义和优势以及自动化构建技术的实现过程、应用效果等方面进行论述,以期为读者提供更深入的了解和掌握。

一、软件产品线架构的定义和意义软件产品线架构是指将相似软件系统的共性部分抽象出来,形成一个基础的通用框架架构,然后通过可定制化的方式根据不同需求进行扩展和定制,形成具有不同特性和功能的软件产品系列。

这种开发方法可以提高软件产品的开发效率和质量,并降低系统开发成本。

软件产品线架构的开发需要从两个方向入手。

一方面,需要对通用部分进行分析,抽取通用特性,将这些共性部分定义为一套可重用的模块或组件。

而这些组件的存在不仅可以降低系统开发的重复劳动量,同时也可以加速开发周期,提升整个开发团队的效率。

另一方面,针对不同客户或市场的差异性需求,我们需要实现特定功能,这些专有的部分就需要定制化开发,并在通用框架上进行扩展。

这样,我们就可以在保持通用架构不变的前提下,扩展出满足不同客户需求的不同软件产品,减少开发的成本和周期。

二、软件产品线架构的优势软件产品线架构的开发具有以下优势:(1)减少开发成本和周期:软件产品线架构的设计使得软件组件可以被重复利用,节省了大量人力资源和时间开销,有效地降低了开发成本。

而且,新产品在现有框架下进行扩展,可以更快速地完成开发工作,缩短了开发周期。

(2)提升软件产品的质量和可维护性:软件产品线架构的开发可以让产品具有高一致性和高可复用性。

由于通用的模块或组件被多次使用,代码会经过反复检验,很容易发现和修正存在的问题。

此外,由于产品的设计基于一个通用的架构,因此对于系统的拓展与维护也更加容易。

(3)增强软件产品的市场竞争力:软件产品线架构使得开发团队可以快速开发高品质的软件产品,并在短时间内上市。

软件产品线体系结构

软件产品线体系结构

第10章 软件产品线体系结构
10.2 软件产品线概述
◇ 软件产品线的过程模型
1、双生命周期模型
现有系 统需求 领域工程 领域分析 领域设计 领域实现
领域需求模型
领域体系
领域可重用构 件和生成器
新系统 需求
应用工程 新系统 需求分析 系统设计 系统实现
第10章 软件产品线体系结构
10.2 软件产品线概述
第10章 软件产品线体系结构
10.5 产品线体系结构的设计
◇ 产品线体系结构的标准化和定制
◎ 为适应应用的规模增大、复杂度提高,软件技 术不断发展,相继出现了中间件技术、软件产品线 等。 ◎ 体系结构风格是一个使产品和产品线具有良好 的可移植性的结构,产品和产品线通过最小的修改 就可移植到一个新的平台上。
新构件
修改了的构件
未改变的构件
第一代产品的第三个版本
第10章 软件产品线体系结构
10.5 产品线体系结构的演化
◇ 两代产品的各种发行版本
以太网模块 网络文件系统框架 Netware 令牌网模块 NDS NFS 网络协议框架 SMB HTTP SCSI 文件系统框架 Pseudo ISO9660
图注:
网络文件系统框架 Netware SMB HTTP SNMP 文件系统框架 FAT-16 UDF MTF 块设备->存储接口 备份
存取控制框架
SCSI
图注:
新构件
修改了的构件
未改变的构件
第二代产品的第三个版本
第10章 软件产品线体系结构
10.5 产品线体系结构的演化
◇ 两代产品的各种发行版本
网络文件系统框架 Netware SMB HTTP SNMP NFS 文件系统框架 FAT-16 UDF MTF ISO9660 SCSI 存取控制框架 存储接口
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.网构软件模型 网构软件模型
基于面向对象模型,提出了一种基于Agent、以软件体系结构为中 心的网构软件模型,如图所示。
2.网构软件中间件 网构软件中间件
图为网构软件中间件模型:
3.网构软件开发方法 网构软件开发方法
图为网构软件开发方法体系。
4. 进一步的工作
进一步的工作主要是加强现有成果的深度和广度。在深度方 面,完善以软件体系结构为中心的网构软件技术体系,重点突破网 构软件智能可信模型、网构中间件自治管理技术、以及网构软件开 发方法的自动化程度。在广度方面,多网融合的大趋势使得软件将 运行在一个包含Internet、无线网、电信网等多种异构网络的复杂 网络环境,网构软件是否需要以及能否从Internet延伸到这种复杂 网络环境,成为我们下一步的主要目标。
2. 软件产品线
软件产品线是一组具有共同体系构架和可复用组件的软件 系统,它们共同构建支持特定领域内产品开发的软件平台。软 件产品线的产品则是根据基本用户需求对产品线架构进行定制, 将可复用部分和系统独特部分集成而得到。软件产品线方法集 中体现一种大规模、大粒度软件复用实践,是软件工程领域中 软件体系结构和软件重用技术发展的结果。 与软件体系结构的发展类似,软件产品线的发展也很大地 得益于军方的支持。如美国国防部支持的两典型项目:基于特 定领域软件体系结构的软件开发方法的研究项目(DSSA)和 关于过程驱动、特定领域和基于重用的软件开发方法的研究项 目(STARS)。这两个项目在软件体系结构和软件重用两方面 极大地推动了软件产品线的研究和发展。
应用 体系 结构 提取 车间
应用体系 结构库
构件 生产 车间
构 件 库组装 车间应用 体系标准规范
与 图 13-1 软件生产线
质量保证
1) 软件产品线工程 软件产品线是一种基于架构的软件复用技术,它的理论基础是:特定领域 (产品线)内的相似产品具有大量的公共部分和特征,通过识别和描述这些公共部 分和特征,可以开发需求规范、测试用例、软件组件等产品线的公共资源。而 这些公共资产可以直接应用或适当调整后应用于产品线内产品的开发,从而不 再从草图开始开发产品。因此典型的产品线开发过程包括两个关键过程:领域 工程和应用工程。 2) 软件产品线的组织结构 软件产品线开发过程分为领域工程和应用工程,相应的软件开发的组织结 构也有两个部分:负责核心资源的小组和负责产品的小组。在EMS系统开发过 程中采用的产品线方法中,主要有三个关键小组:平台组、配置管理组和产品 组。 3) 软件产品线构件 产品线构件是用于支持产品线中产品开发的可复用资源的统称。这些构件 远不是一般意义上的软件构件,它们包括:领域模型、领域知识、产品线构件、 测试计划及过程、通信协议描述、需求描述、用户界面描述、配置管理计划及 工具、代码构件、性能模型与度量、工作流结构、预算与调度、应用程序生成 器、原型系统、过程构件(方法、工具)、产品说明、设计标准、设计决策、测试 脚本等。在产品线系统的每个开发周期都可以对这些构件进行精化。
1986年,杨教授主持研制成功的国家重点科技攻关课题《软件工程核心 支持环境BETA—85》,获电子工业部科技成果一等奖。北京地区优秀软 件一等奖。 主持了国家重大项目集成化软件开发环境(青鸟系统JB)的研究和开发, 达到国际先进水平,荣获1996年电子工业部科技进步特等奖,1998年国家 科技进步二等奖。
3. 软件产业
2000年,Gartner Group预测到2003年至少70%的新应用 将主要建立在软件构件之上。随着Web Services等技术的发展, 将会进一步地推动构件技术的发展,而基于构件的软件开发方 式也成为软件开发的主流技术。 实际上,早在1997年,由北京大学主持的国家重大科技攻 关项目“青鸟工程”中,采用软件构件技术开发的“青鸟III型 系统”通过了技术鉴定。至今,“青鸟工程”一直在研究开发 软件构件库体系,继续推进基于构件的软件开发技术。随着我 国软件产业的发展,联想、神州数码等软件企业得到了长足的 发展,已从求生存阶段走向求发展阶段,迫切需要改变原来手 工作坊式的软件开发方式,从根本上提高软件产品质量,从而 改善企业的生产过程,提升软件生产效率,使企业迈上一个新 台阶。
背景材料
杨芙清,女,1932年生于江苏省无锡市。1955年 毕业于北京大学数学力学系。 1957年至1959年赴前苏联学习程序设计和计算机 软件。1962年至1964年,杨芙清以中国专家身份被国 家派往莫斯科杜勃纳联合核系物理所计算中心工作。归 国后一直在北大任教,1983年任教授,1991年当选为 中科院院士。 七十年代。她研制成功我国第一个规模大、功能强、 支持多道程序运行的计算机(150机)操作系统。这一成 果大大缩短了我国与先进国家的差距。该成果荣获1978 年全国科学大会奖。 七十年代中后期,她又主持研制成功我国第一个全 部用高级语言书写的操作系统——DJS240机操作系统, 获电子工业部科技成果一等奖。
2. 软件产品线的结构
软件产品线的开发有4个技术特点:过程驱动、特定领域、技术 支持和架构为中心。与其他软件开发方法相比,选择软件产品线的宏 观原因有:对产品线及其实现所需的专家知识领域的清楚界定,对产 品线的长期远景进行了策略性规划。软件生产线的概念和思想,将软 件的生产过程别分到三类不同的生产车间进行,即应用体系结构生产 车间、构件生产车间和基于构件、体系结构复用的应用集成(组装)车 间,从而形成软件产业内部的合理分厂,实现软件的下业化生产。软 件生产线如图所示。
Thanks!
3. 青鸟的结构
青鸟工程“七五”期间,已提出了软件生产线的概念和思想,其 中将软件的生产过程分成3类不同的生产车间,即应用构架生产车间、 构件生产车间和基于构件、构架复用的应用集成组装车间。
三、国内最新近网构软件研究
5年中(2002-2007年),在国家重点基础研究发展规划(973)的支持 下,北京大学、南京大学、清华大学、中国科学院软件研究所、中国科 学院数学研究所、华东师范大学、东南大学、大连理工大学、上海交通 大学等单位的研究人员以我国软件产业需支持信息化建设和现代服务业 为主要应用目标,提出了“Internet环境下基于Agent的软件中间件理论 和方法研究”,并形成了一套以体系结构为中心的网构软件技术体系。 主要包括3个方面的成果:一种基本实体主体化和按需协同结构化的网构 软件模型,一个实现网构软件模型的自治式网构软件中间件,以及一种 以全生命周期体系结构为中心的网构软件开发方法。
二、软件产品线的结构与框架
1. 软件产品线的基本概念
目前,软件产品线没有一个统一的定义,常见的定义有: 定义1、将利用了产品间公共方面,预期考虑了可变性等设计的产品 族称为产品线(Weiss和Lai)。 定义2、产品线就是由在系统的组成元素和功能方面具有共性和个性 的相似的多个系统组成的一个系统族。 定义3、软件产品线就是在一个公共的软件资源集合基础上建立起来 的,共享同一个特性集合的系统集合(Bass、Clements和Kazman)。 定义4、一个软件产品线由一个产品线体系结构、一个可重用构件集 合和一个源自共享资源的产品集合组成,是组织一组相关软件产品开 发的方式(Jan Bosch)。
4. 网构软件
进入21世纪,以Internet为代表的网络逐渐融入人类社会的方方 面面,极大地促进了全球化的广度和深度,为信息技术与应用扩展了 发展空间。另一方面,Internet正在成长为一台由数量巨大且日益增多 的计算设备所组成的“统一的计算机”,与传统计算机系统相比, Internet为应用领域问题求解所能提供的支持在量与质上均有飞跃。为 了适应这些应用领域及信息技术方面的重大变革,软件系统开始呈现 出一种柔性可演化、连续反应式、多目标自适应的新系统形态。从技 术的角度看,在面向对象、软件构件等技术支持下的软件实体以主体 化的软件服务形式存在于Internet的各个节点之上,各个软件实体相互 间通过协同机制进行跨网络的互连、互通、协作和联盟,从而形成一 种与WWW相类似的软件Web(software Web)。将这样一种Internet环 境下的新的软件形态称为网构软件(Internetware)。传统软件技术体系 由于其本质上是一种静态和封闭的框架体系,难以适应Internet开放、 动态和多变的特点。一种新的软件形态—网构软件适应Internet的基本 特征,呈现出柔性、多目标和连续反应式的系统形态,将导致现有软 件理论、方法、技术和平台的革命性进展。
4. 网构软件
进入21世纪,以Internet为代表的网络逐渐融入人类社会的方方 面面,极大地促进了全球化的广度和深度,为信息技术与应用扩展了 发展空间。另一方面,Internet正在成长为一台由数量巨大且日益增多 的计算设备所组成的“统一的计算机”,与传统计算机系统相比, Internet为应用领域问题求解所能提供的支持在量与质上均有飞跃。为 了适应这些应用领域及信息技术方面的重大变革,软件系统开始呈现 出一种柔性可演化、连续反应式、多目标自适应的新系统形态。从技 术的角度看,在面向对象、软件构件等技术支持下的软件实体以主体 化的软件服务形式存在于Internet的各个节点之上,各个软件实体相互 间通过协同机制进行跨网络的互连、互通、协作和联盟,从而形成一 种与WWW相类似的软件Web(software Web)。将这样一种Internet环 境下的新的软件形态称为网构软件(Internetware)。传统软件技术体系 由于其本质上是一种静态和封闭的框架体系,难以适应Internet开放、 动态和多变的特点。一种新的软件形态—网构软件适应Internet的基本 特征,呈现出柔性、多目标和连续反应式的系统形态,将导致现有软 件理论、方法、技术和平台的革命性进展。
第13讲 软件产品线 讲
张凯 博士 教授 计算机科学技术系 电话: 电话:62380002 邮件: 邮件:lifo@
一、软件产品线的历史 二、软件产品线的结构与框架 三、国内最新近网构软件研究 背景材料
一、软件产品线的历史
1. 软件工程发展历程
相关文档
最新文档