基于产品间共性的“软件”产品线代表了什么?产品线及系统演化
软件企业追求长远的发展,通常采用产品线模型及系统演化策略,它实质上是用架构技术构建产品线,并在此基础上借助复用技术持续演化,不断地推出新产品,满足市场追求产品升级换代的需求。
1 复用与产品线
(相关资料图)
软件产品线是指一组软件密集型系统,它们共享一个公共的 、 可管理的特性集,满足某个特定市场或任务的具体需要,是以规定的方式用公共的核心资产集成开发出来的。即围绕核心资产库进行管理 、 复用 、 集成新的系统。
核心资产库包括软件架构及其可剪裁的元素,更广泛地,它还包括设计方案及其文档 、 用户手册 、 项目管理的历史记录(如预算和进度) 、 软件测试计划和测试用例。复用核心资产(特别是软件架构),产品线将会惊人地提高生产效率 、 降低生产成本和缩短上市时间。
创建一个成功的产品线取决于软件工程 、 技术管理和组织管理等多个方面的协调,这里只对软件架构方面进行讨论。
基于产品间共性的 “ 软件 ” 产品线代表了软件工程中一个创新的 、 不断发展的概念。
软件产品线的本质是在生产产品家族时,以一种规范的 、 策略性的方法复用资产。可复用的资产非常广,包括以下几点。
需求:许多需求与早期开发的系统相同或部分相同,如网上银行交易与银行柜面交易。架构设计:原系统在架构设计方面花费了大量的时间与精力,系统成功验证了架构的合理性,如果新产品能复用已有的架构,将会取得很好的效益。元素:元素复用不只是简单的代码复用,它旨在捕获并复用设计中的可取之处,避免(不要重复)设计失败的地方。建模与分析:各类分析方法(如性能分析)及各类方案模型(如容错方案 、 负载均衡方案)都可以在产品中得到复用。测试:采用产品线可积累大量的测试资源,即在考虑测试时不是以项目为单位,而是以产品线为单位,这样,整个测试环境都可以得到复用,如测试用例 、 测试数据 、 测试工具,甚至测试计划 、 过程 、 沟通渠道都可以得到复用。项目规划:利用经验对项目的成本 、 预算 、 进度及开发小组的安排等进行预测,即不必每次都建立工作分解结构。过程 、 方法和工具:有了产品线这面旗帜,企业就可以建立产品线级的工作流程 、 规范 、 标准 、 方法和工具环境,供产品线中所有产品复用。如编码标准就是一例。人员:以产品线来培训的人员,适应于整个系列的各个产品的开发。样本系统:将已部署(投产)的产品作为高质量的演示原型和工程设计原型。缺陷消除:产品线开发中积累的缺陷消除活动,可使新系统受益,特别是整个产品家族中的性能 、 可靠性等问题的一次性解决,能取得很高的回报。同时也使得开发人员和客户心中有 “ 底 ”。
2 基于产品线的架构
软件产品线架构是针对一系列产品而设计的通用架构,并在此基础上,进一步将系列产 品共用的模块事先实现,供直接重用;将架构用框架的形式予以实现,供定制使用。这就是 通常所说的“平台”。
产品线架构较之单个产品架构,有如下三点特别之处: (1)产品线架构必须考虑一系列明确许可的变化; (2)产品线架构一定要文档化; (3)产品线架构必须提供“产品创建者指南”(开发指南),描述架构的实例化过程。
产品线的软件架构应将不变的方面提出来(正因为有不变,才产生了产品线),同时,识别允许的变化,并提供实现它们的机制。通常应考虑三个方面。 (1)确定变化点:确定变化是一项需要持续进行的活动,可以在开发过程的任何时间确定变化。 (2)支持变化点:对变化的支持可以有多种形式,举例如下。包含或省略元素:如条件编译。包含不同数量的复制元素:如通过添加更多的服务器产生高容量的变体。具有相同的接口但具有不同的行为或质量特性的元素版本的选择:如静态库和动态链接库的使用。在面向对象的系统中,通过特化或泛化特定的类实现变化。通过参数配置来实现变化。 (3)对产品线架构的适宜性进行评估。 评估的内容:必须把评估的重点放在变化点上,以确保它(变化点)提供了足够的灵活性,从而能复盖产品线的预期范围;它们支持快速构建产品。 评估的时间:应该对用于构建产品线中的一个或多个产品的架构的实例或变体进行评估。产品架构评估的结果通常能提供有用的反馈,推动架构的改进。当提议开发的一个新产品不在最初的产品线的范围内时,则可以重新对产品线架构进行评估,看如何使其容纳新的产品或是否有必要产生一个新的产品线。
3 产品线的开发模型
开发(确定)产品线的方法有两种模型: (1) “ 前瞻性 ” 产品线:利用在应用领域的经验 、 对市场和技术发展趋势的了解及商业判断力等进行产品线设计,它反映了企业的战略决策。通常是自上而下地采用产品线方法。 (2) “ 反应性 ” 模型:企业根据以前的产品构建产品家族,并随着新产品的开发,扩展架构和设计方案,它的核心资产库是根据 “ 已经证明 ” 为共有 、 而非 “ 预先计划 ” 为共有的元素构建的。通常是自下而上地采用产品线方法。
一旦确定了产品线,就进入其演变阶段,它是产品线不断向前的发展过程。
4 特定领域软件架构
架构的本质在于其抽象性。它包括两个方面的抽象:业务抽象和技术抽象。其中业务抽象面向特定的应用领域。
特定领域软件架构( Domain Specific Software Architecture , DSSA )可以看做开发产品线的一个方法(或理论),它的目标就是支持在一个特定领域中有多个应用的生成。
DSSA 的必备特征有: (1)一个严格定义的问题域或解决域; (2)具有普遍性,使其可以用于领域中某个特定应用的开发; (3)对整个领域的合适程度的抽象; (4)具备该领域固定的 、 典型的在开发过程中的可复用元素。
从功能复盖的范围角度理解 DSSA 中领域的含义有两种方法: (1)垂直域。定义了一个特定的系统族,导出在该领域中可作为系统的可行解决方案的一个通用软件架构。(2)水平域。定义了在多个系统和多个系统族中功能区域的共有部分,在子系统级上涵盖多个系统(族)的特定部分功能。
DSSA 的活动阶段如下。 (1)领域分析:主要目标是获得领域模型。即通过分析领域中系统的需求(领域需求),确定哪些需求是被领域中的系统广泛共享的,从而建立领域模型。 (2)领域设计:这个阶段的目标是获得 DSSA ,它是一个能够适应领域多个系统的需求的一个高层次的设计。由于领域模型中的领域需求具有一定的变化性, DSSA 也要相应地具有变化性,它可以通过表示多选一的 、 可选的解决方案等来做到这一点。 (3)领域实现:主要目标是依据领域模型和 DSSA 开发与组织可复用信息。这些复用信息可以是从现有系统中提取得到的,也可能通过新的开发得到。这个阶段可以看作复用基础设施的实现阶段。在上述工作中,获得领域模型是基础也是关键,领域建模专注于分析问题领域本身,发掘重要的业务领域概念,并建立业务领域概念之间的关系。通常领域模型可用 UML 的类图和状态图表示。
领域模型的主要作用如下: (1)领域模型为需求定义了领域知识和领域词汇,这较之单一的项目需求更有较好的大局观; (2)软件界面的设计往往和领域模型关系密切; (3)领域模型的合理性将严重影响软件系统的可扩展性; (4)在分层架构的指导下,领域模型精化后即成为业务层的骨架; (5)领域模型也是其数据模型的基础; (6)领域模型是团队交流的基础,因为它规定了重要的领域词汇表,并且这些词汇的定义是严格的 、 大家共同认可的。
5 架构及系统演化
架构虽然为系统的变化提供了一定的自由度,但是系统的较大变化必然导致架构的改变。架构(系统)演化是指向既定的方向 、 可控地改变。架构(系统)演化可以形成产品线,反过来,架构(系统)可以在规划的产品线中进行演化。
架构(系统)演化过程包含7个步骤,如图 1 所示。 (1)需求变动归类。首先,必须对用户需求的变化进行归类,使变化的需求与已有构件对应。对找不到对应构件的变动,也要做好标记,在后续工作中,将创建新的构件,以对应这部分变化的需求。 (2)制订架构演化计划。在改变原有结构之前,开发组织必须制订一个周密的架构演化计划,作为后续演化开发工作的指南。 (3)修改 、 增加或删除构件。在演化计划的基础上,开发人员可根据在第(1)步得到的需求变动的归类情况,决定是否修改或删除存在的构件 、 增加新构件。最后,对修改和增加的构件进行功能性测试。 (4)更新构件的相互作用。随着构件的增加 、 删除和修改,构件之间的控制流必须得到更新。 (5)构件组装与测试。通过组装支持工具把这些构件的实现体组装起来,完成整个软件系统的连接与合成,形成新的架构。然后,对组装后的系统整体功能和性能进行测试。 (6)技术评审。对以上步骤进行确认,进行技术评审。评审组装后的架构是否反映需求变动,符合用户需求。如果不符合,则需要在第(2)到第(6)步之间进行迭代。 (7)产生演化后的架构。在原来系统上所作的所有修改必须集成到原来的架构中,完 成一次演化过程。
标签:
相关推荐:
最新新闻:
- yandex注册验证码怎么填?怎么玩英雄联盟外服手游?|每日短讯
- 成都建筑设计公司有哪些?成都建筑设计公司排名:全球即时
- Ubuntu常用指令有哪些?Ubuntu常用指令及修改快捷键大全_焦点速看
- 给查询的字段起别名方式:resultMap自定义映射|全球时快讯
- 小岛秀夫曾想与周润发合作:也很喜欢张国荣、徐克和吴宇森|时讯
- 环球最资讯丨linux下搭建Nexus3Maven私服 史上最全搭建MAVEN私服上传并使用JAR包教程
- 瑞幸咖啡被吐槽三四口喝完剩下全是冰 客服:门店按配方比例制作
- 华为p40怎么升级成鸿蒙系统?华为p40升级鸿蒙系统完整版教程-快看点
- 基于产品间共性的“软件”产品线代表了什么?产品线及系统演化
- 想给孩子存钱怎样存合算?儿童银行卡的存款类型有哪些?_今日报
- 【欧洲杯】德国队4-2击败葡萄牙 卫冕冠军球队出局
- 网易游戏成立新动画品牌Anici 正在制作多部作品-世界独家
- 《辐射》真人电视剧杀青 上线日期待定:全球新要闻
- 崩坏星穹铁道预抽卡选什么好?崩坏星穹铁道群星邀约奖励选择推荐
- 每日播报!商用打印选激光打印机还是喷墨打印机?
- 【新视野】致力于可持续发展,艺卓再取得两项新成果
- 长宁区非沪籍第五批经济适用房房源在哪 快资讯
- 当前讯息:PlayStation官方教你如何给老PS4清灰:小心通风口积灰
- 《疾速追杀》宇宙衍生新片正在制作中 将于近期公布
- 全球快播:《疾速追杀4》主角台词仅380个单词:话越少人越狠!
- 新成就解锁!九号电动国内累计出货量突破150万辆,增速创纪录
- 苹果用户大喜!iPhone折旧率赚大了-独家焦点
- 焦点热讯:13490F神U直降150元!
- 小米发放20亿股份奖励:4110人能领取
- 今日热讯:真保值!iPhone折旧率仅为安卓一半 三年的旧iPhone仅折旧11.3%
- 征服者康演员因殴打女性被捕 现已被担保释放
- 成龙新片《龙马精神》新海报:成龙和赤兔眼神炙热:微速讯
- 滚动:外星人x14 R2国行价格公布 RTX4050版定价14999元
- 世界快资讯:小岛秀夫观看经典电影《英雄本色》 曾想制作周润发为主角的游戏
- 加拿大华裔店员遭种族歧视 涉歧视者曾多次发表种族言论:环球简讯
- 百亿补贴史低价!2T固态硬盘仅529元
- 苹果MR头显售价超20000元_全球观察
- iOS 17升级不再小打小闹了 世界观焦点
- 苹果MR头显销量目标曝光:太大胆!
- 国产游戏《动物派对》通过ESRB评级 青少年级别13+
- 世界资讯:彭博社报道苹果高层相聚加州 或于近日公开AR/VR头显
- 《辐射》编剧被前女友控告虐待 诽谤诉讼现已获赔|焦点要闻
- 每日消息!《英雄连3》明日发布免费大型更新“蓝宝石豺狼行动”
- 最新消息:曝《刺客信条:幻景》将延期发售!仍采用旧引擎开发
- 国产科幻独立游戏《逐光星火》新预告 4月12日发售_环球热资讯
- 热消息:《暗黑破坏神4》国外主播单挑世界Boss!甚至击杀了两次
- 小阔条纹蝶内容概括300_小阔条纹蝶内容概括
- 全球速读:独一无二!一加11限定版用上了前所未有的材质
- 天天速看:性能可期!AMD R7 7800X3D测试曝光,比5800X3D快37.3%
- 环球热文:复刻MacOS?微软Win12原型系统用户界面曝光:浮动任务栏亮相
- 小李子新片《花月杀手》定档!10.6北美首映
- 玩家挂机试图加入《CS2》限量测试 官方:想多了
- 迪士尼将于本周开始第一波7000人裁员计划
- 《最终幻想14》资料片“红莲之狂潮”免费领取 截止到5月8日 当前热议
- 西部冒险RPG《牛仔和小偷》Steam页面上线 支持简中 环球时讯
- 热点评!类银河恶魔城《九年阴影》steam发售 20%优惠中
- 中信证券:持续推荐稀土全产业链战略配置价值|世界热门
- 遇到无法启用共享访问错误1061该怎么办?无法启用共享访问解决方法
- 1394网络适配器显示已连接却无法上线?网络适配器无法上线原因及解决方法
- 飞利浦显示器屏幕控制锁定怎么办?飞利浦显示器屏幕控制锁定原因以及解决方法
- sqirlzreflect是什么软件?sqirlzreflect怎么用?
- RPC服务器不可用错误是什么原因?RPC服务器不可用错误解决方案分享
- 如何运行启动项命令关闭软件?常见应用程序的启动项命令大全
- VirtualDub怎么用?VirtualDub使用说明
- quartz.dll是什么文件?quartz.dll修复方法步骤
- cpu全称是什么?CPU的存在有什么作用?
- 电压表工作原理是什么?电压表串联在电路中会怎么样?
- 硬盘温度多少为正常范围?硬盘温度过高会怎么样?
- 如何使用VC2008运行库?VC2008运行库的用法详解及注意事项
- batterymon如何修复校正笔记本电池?batterymon修复校正笔记本电池教程
- 如何安装破解Nero12?Nero12安装破解教程及Nero12序列号
- 电脑监控专家怎么用?电脑监控专家简介及使用教程
- 出现SYSTEM_DRV盘无法删除怎么办?无法删除的解决方法
- itunes下载的固件在哪个文件夹?itunes下载的固件位置介绍
- 魔兽世界银矿在哪挖?采矿技能1-375级路线攻略
- 笔记本hd4000相当于什么显卡?HD530显卡性能测评
- beats solo3耳机怎么使用?beats solo3耳机使用教程
- 《无敌浩克》女主演员15年后重返漫威!加盟《美国队长4:新世界秩序》
- 【环球热闻】对抗丧神《物物语》动画第二章预告 确定7月开播
- 苹果iOS 16.4正式版发布 优化部分功能
- 今日聚焦!MIUI 14新推送:小米10、Redmi K30能升了
- 热点!真我GT Neo5上央视:240W秒充
- 全球播报:Windows 12界面曝光 就快来了
- 太古仙域官网_太古仙域|每日精选
- 《速度与激情10》新剧照 “惊队”与“唐老大”对饮
- 《暗黑4》国外主播单挑世界Boss 成功击杀两次
- 性能拉胯!曝RTX 4070配备192-bit位宽显存
- 网易严选小熨斗89元_焦点日报
- 小米生态颈椎按摩仪39元
- Twitter的部分源代码已在网上泄露_观热点