当前位置: 首页 > news >正文

系统架构设计高级技能 · 软件产品线

现在的一切都是为将来的梦想编织翅膀,让梦想在现实中展翅高飞。
Now everything is for the future of dream weaving wings, let the dream fly in reality.

点击进入系列文章目录

系统架构设计高级技能 · 软件产品线

  • 一、产品线概述
  • 二、产品线的过程模型
    • 2.1 双生命周期模型
    • 2.2 三生命周期模型
    • 2.3 SEI模型
  • 三、产品线的组织结构
  • 四、产品线的建立方式

在这里插入图片描述

一、产品线概述

软件产品线 主要由两部分组成,分别是 核心资源产品集合

核心资源 是领域工程的所有结果的集合,是产品线中产品构造的基础。核心资源必定包含产品线中所有产集共享的产品线架构,新设计开发的或者通过对现有系统的再工程得到的、需要在整个品线中系统化重用的软件构件。与软件构件相关的测试计划、测试实例以及所有设计文档, 需求说明书、领域模型、领域范围的定义, 以及采用COTS的构件也属于核心资源。

产品线架构构件 是用于软件产品线中的产品构建的最重要的 核心资源

软件产品线开发4个基本技术特点,即 过程驱动、特定领域、技术支持和架构为中心

与其它软件开发方法相比,组织选择软件产品线的宏观上的原因 有:

  • 对产品线及其实现所需的专家知识领域的清楚界定;
  • 对产品线的长期远景进行了战略性规划。
    在这里插入图片描述

二、产品线的过程模型

软件产品线的过程模型主要有双生命周期模型、SEI模型和三生命周期模型。

2.1 双生命周期模型

双生命周期模型 分成两个重叠的生命周期:领域工程和应用工程。

领域工程使用DSSA,主要任务有领域分析,领域设计,领域实现。

在这里插入图片描述

领域工程主要任务:

  • 领域分析,利用现有系统的设计、架构和需求建立领域模型。
  • 领域设计,用领域模型确定领域/产品线的共性和可变性,为产品线设计架构。
  • 领域实现,基于领域架构开发领域可重用资源(构件、文档、代码生成器)。
  • 应用工程领域:需求分析,系统设计,系统实现。

应用工程在领域工程结果基础上构造新产品:

  • 需求分析,划分领域公共需求和独特需求,得出系统说明书。
  • 系统设计,在领域架构基础上,结合系统独特需求设计应用的软件架构。
  • 系统实现,按应用架构,用领域可重用资源实现领域公共需求,用定制开发的构件满足系统独特需求,构件新的系统。

2.2 三生命周期模型

三生命周期模型为有多个产品线的大型企业增加企业工程流程,以便在企业范围内对所有资源的创建、设计和重用提供合理规划。
在这里插入图片描述

2.3 SEI模型

SEI模型基本活动分为三部分,分别是核心资源开发(即领域工程)、产品开发(即应用工程)和管理。
在这里插入图片描述

SEI模型的主要特点:

  • 循环重复是产品开发过程的特征,也是核心资源开发、产品线开发以及核心资源和产品之间协作的特征。
  • 核心资源开发和产品开发没有先后之分。
  • 管理活动协调整个产品线开发过程的各个活动、对产品线的成败负责。
  • 核心资源开发和产品开发是两个互动的过程,三个活动和整个产品线开发之间也是双向互动的。

核心资源开发活动的目标是建立产品线的生产能力。根据输入端的产品约束、框架、生产约束、生产策略和遗留资产清单,核心资产开发活动产出三项输出:

  • 产品线范围:产品线范围是关于构成产品线的产品或产品线所能包括的产品的描述,该描述列举了所有产品的共性和他们之间彼此的差异,包括产品所提供的特征或操作、产品所表现出的性能和其他产品属性等。
  • 核心资产:是产品线中产品生产的基础。这些资产包括产品共享的架构,以及为贯穿产品线进行系统化重用所开发的产品组件。提供了将纳入资产库的组件接口规范。
  • 生产计划:描述了如何从核心资产中生产产品。

三、产品线的组织结构

软件产品线 开发过程分为领域工程和应用工程,相应的软件开发组织结构也应该有两个基本组成部分,即负责核心资源的小组和负责产品的小组。这也是产品线开发与独立系统开发的主要区别。

组织模型 :开发部门、商务部门、领域工程部门和层次领域工程部门。

动态的组织结构 ,根据产品线的建立方式和发展阶段、成熟程度的变化,有一种组织结构向另一种组织结构演变。

组织结构类型:

  • 设立独立的核心资源小组
  • 不设立独立的核心资源小组
  • 动态的组织结构

要成功实施产品线,主要取决于以下因素:

  • 对该领域具备长期和深厚的经验
  • 一个用于构建产品的好的核心资源库
  • 好的产品线架构
  • 好的管理(软件资源、人员组织、过程)支持

四、产品线的建立方式

划分依据 :用演化方式和革命方式引入产品线开发过程,基于现有产品还是开发全新的产品线。

四种方式 的基本特征如下:

  • 将现有的产品演化为产品线
  • 用软件产品线替代现有产品集
  • 全新软件的产品的演化
  • 全新软件产品线的开发
演化方式革命方式
基于现有产品基于现有产品架构设计产品线的架构,经演化现有构件,开发产品线构件核心资源的开发基于现有产品集的需求和可预测的、将来需求的超集
全新产品线产品线核心资源随产品新成员的需求而演化开发满足所有预期产品线成员的需求的核心资源

相关文章:

系统架构设计高级技能 · 软件产品线

现在的一切都是为将来的梦想编织翅膀,让梦想在现实中展翅高飞。 Now everything is for the future of dream weaving wings, let the dream fly in reality. 点击进入系列文章目录 系统架构设计高级技能 软件产品线 一、产品线概述二、产品线的过程模型2.1 双生命…...

C语言学习系列-->字符函数和字符串函数

文章目录 一、字符函数1、字符分类函数2、字符转换函数 二、字符串函数1、strlen概述模拟实现 2、strcpy概述模拟实现 3、strcat概述模拟实现 3、strcmp概述模拟实现 4、有限制的字符串函数strncpystrncatstrncmp 4、strstr概述模拟实现 一、字符函数 1、字符分类函数 包含头…...

尖端AR技术如何在美国革新外科手术实践?

AR智能眼镜已成为一种革新性的工具,在外科领域具有无穷的优势和无限的机遇。Vuzix与众多医疗创新企业建立了长期合作关系,如Pixee Medical、Medacta、Ohana One、Rods & Cones、Proximie等。这些公司一致认为Vuzix智能眼镜可有效提升手术实践&#x…...

【木板】Python实现-附ChatGPT解析

1.题目 木板 时间限制:1s 空间限制:256MB 限定语言:不限题目描述: 小明有n块木板,第i (1<=i<=n) 块木板的长度为ai.小明买了一块长度为m的木料,这块木料可以切割成任意块,拼接到已有的木板上用来加长木板。 小明想让最短的木板尽量长。 请问小明加长木板后,最短木板…...

第一章:绪论

1.1 系统架构概述 架构是体现在组件中的一个系统的基本组织、它们彼此的关系与环境的关系以及指导它的设计和发展的原则。 系统是组织起来完成某一特定功能火一组功能的组件集。系统这个术语包括了单独的应用程序、传统意义上的系统、子系统、系统之系统、产品线、整个企业及…...

C++面试知识点总结

知识点总结 <<符号表示该语句将把这个字符串发送给cout&#xff1b;该符号指出了信息流动的路径&#xff1b;cout的对象属性包括一个插入运算符&#xff08;<<&#xff09;&#xff0c;它可以将其右侧的信息插入到流中&#xff0c;endl:重起一行。在输出流中插入en…...

从智能手机到智能机器人:小米品牌的高端化之路

原创 | 文 BFT机器人 前言 在前阵子落幕的2023世界机器人大会“合作之夜”上&#xff0c;北京经济技术开发区管委会完成了与世界机器人合作组织、小米机器人等16个重点项目签约&#xff0c;推动机器人创新链和产业链融合&#xff0c;其中小米的投资额达到20亿&#xff01; 据了…...

深度学习推荐系统(八)AFM模型及其在Criteo数据集上的应用

深度学习推荐系统(八)AFM模型及其在Criteo数据集上的应用 1 AFM模型原理及其实现 沿着特征工程自动化的思路&#xff0c;深度学习模型从 PNN ⼀路⾛来&#xff0c;经过了Wide&#xff06;Deep、Deep&#xff06;Cross、FNN、DeepFM、NFM等模型&#xff0c;进⾏了大量的、基于不…...

【Spring】aop的底层原理

&#x1f384;欢迎来到边境矢梦的csdn博文&#x1f384; &#x1f384;本文主要梳理 Spring 中的切面编程aop的底层原理和重点注意的地方 &#x1f384; &#x1f308;我是边境矢梦&#xff0c;一个正在为秋招和算法竞赛做准备的学生&#x1f308; &#x1f386;喜欢的朋友可以…...

微信小程序开发---基本组件的使用

目录 一、scroll-view &#xff08;1&#xff09;作用 &#xff08;2&#xff09;用法 二、swiper和swiper-item &#xff08;1&#xff09;作用 &#xff08;2&#xff09;用法 三、text &#xff08;1&#xff09;作用 &#xff08;2&#xff09;使用 四、rich-tex…...

SpringBoot国际化配置组件支持本地配置和数据库配置

文章目录 0. 前言i18n-spring-boot-starter1. 使用方式0.引入依赖1.配置项2.初始化国际化配置表3.如何使用 2. 核心源码实现一个拦截器I18nInterceptorI18nMessageResource 加载国际化配置 3.源码地址 0. 前言 写个了原生的SpringBoot国际化配置组件支持本地配置和数据库配置 背…...

Shell编程之sort

sort 命令将文件的每一行作为比较对象&#xff0c;通过将不同行进行相互比较&#xff0c;从而得到最终结果。从首字符开始&#xff0c;依次按ASCII码值进行比较&#xff0c;最后将结果按升序输出。 基本语法 sort (选项)(参数) 常用选项 常用选项 -n根据字符串的数字比较-r…...

windows docker 容器启动报错:Ports are not available

docker 启动容器报错&#xff1a; (HTTP code 500) server error - Ports are not available: listen tcp 0.0.0.0:6379: bind: An attempt was made to access a socket in a way forbidden by its access permissions. 问题排查 检查端口是否被其它程序占用&#xff1a;nets…...

300. 最长递增子序列

题目描述 给你一个整数数组 nums &#xff0c;找到其中最长严格递增子序列的长度。 子序列 是由数组派生而来的序列&#xff0c;删除&#xff08;或不删除&#xff09;数组中的元素而不改变其余元素的顺序。例如&#xff0c;[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。 示…...

DNS(域名解析系统)

含义 当我们在上网要访问莫个服务器的时候&#xff0c;就需要知道服务器的IP地址&#xff0c;但IP地址是一串数字&#xff0c;虽然这串数字用点分十进制已经清晰不少了&#xff0c;但还是不利于人们记忆和传播&#xff0c;于是人们使用单词来代替IP地址&#xff08;例如baidu&a…...

解决jsp/html界面跳转servlet出现404错误的方法

解决jsp/html界面跳转servlet出现404错误的方法 最近在学习黑马项目过程中遇到的问题 问题一&#xff1a; 检查页面的跳转路径和名称拼写是否正确 问题二&#xff1a; tomcat发布项目时所使用的路径名称与项目不同 在idea右上角点击如图圈住的按钮 在deployment中更改出现…...

catface,使用Interface定义Controller,实现基于Http协议的RPC调用

catface 前言cat-client 模块EnableCatClientCatClientCatMethodCatNoteCatResponesWrapperCatClientConfigurationCatClientProviderCatClientFactoryCatSendInterceptorCatHttpCatPayloadResolverCatObjectResolverCatLoggerProcessorCatResultProcessorCatSendProcessorAbst…...

Linux:LVS (NAT群集搭建)

模拟环境 外网入口服务器 外网 192.168.8.88 内网ip 192.168.254.4 web1 服务器 ip 192.168.254.1 网关&#xff1a; 192.168.254.4 web2 服务器 ip 192.168.254.2 网关&#xff1a; 192.168.254.4 共享存储服务器 ip 192.168.254.3 介绍 访问 外网192.16…...

音乐格式转换mp3怎么转?跟着步骤操作一遍

音乐格式转换mp3怎么转&#xff1f;mp3&#xff0c;一种音频数据压缩格式&#xff0c;由于其极具优势的文件尺寸小和高质量音效&#xff0c;自诞生之日起就占据了主流音乐格式的头把交椅&#xff0c;并且至今仍然受到用户的青睐&#xff0c;稳居音乐领域的霸主地位。在我们繁忙…...

it监控系统可以电脑吗?有什么效果

IT业务监控已经成为公司不可或缺的一部分&#xff0c;以确保业务的正常运行&#xff0c;提高企业的竞争能力。本文将详细介绍IT业务监控的必要性、实施方法以及如何选择合适的监控工具。 IT业务监控的必要性 确保业务稳定运行  IT业务监控可以实时检测公司的工作流程&#x…...

深入解析MCU Systick:从基础配置到精准延时与系统时间获取实战

1. Systick定时器基础解析 Systick是Cortex-M内核内置的24位递减计数器&#xff0c;堪称MCU的"心跳发生器"。我第一次在STM32项目中使用它时&#xff0c;就像发现了一个隐藏的瑞士军刀——简单却功能强大。这个看似简单的定时器&#xff0c;实际上承担着三大核心功能…...

百川2-13B-4bits量化原理解析:OpenClaw任务中的精度损失补偿方案

百川2-13B-4bits量化原理解析&#xff1a;OpenClaw任务中的精度损失补偿方案 1. 从一次失败的自动化任务说起 上周我尝试用OpenClaw自动整理一批技术文档时遇到了奇怪的现象&#xff1a;当AI助手处理到第37个Markdown文件时&#xff0c;突然开始重复生成相同的段落内容。查看…...

极速获取全平台歌词:163MusicLyrics跨平台解析工具使用指南

极速获取全平台歌词&#xff1a;163MusicLyrics跨平台解析工具使用指南 【免费下载链接】163MusicLyrics Windows 云音乐歌词获取【网易云、QQ音乐】 项目地址: https://gitcode.com/GitHub_Trending/16/163MusicLyrics 你是否经常遇到想听的歌曲找不到匹配歌词的情况&a…...

告别鼠标拖拽:用Mermaid重新定义技术图表创作流程

告别鼠标拖拽&#xff1a;用Mermaid重新定义技术图表创作流程 【免费下载链接】mermaid mermaid-js/mermaid: 是一个用于生成图表和流程图的 Markdown 渲染器&#xff0c;支持多种图表类型和丰富的样式。适合对 Markdown、图表和流程图以及想要使用 Markdown 绘制图表和流程图的…...

告别繁琐操作:一键下载电子课本的智能解决方案

告别繁琐操作&#xff1a;一键下载电子课本的智能解决方案 【免费下载链接】tchMaterial-parser 国家中小学智慧教育平台 电子课本下载工具 项目地址: https://gitcode.com/GitHub_Trending/tc/tchMaterial-parser 还在为获取教学资源而四处奔波吗&#xff1f;还在面对复…...

告别英文界面:VSCode 最新版中文语言包安装与配置全攻略(Windows/macOS通用)

告别英文界面&#xff1a;VSCode 最新版中文语言包安装与配置全攻略&#xff08;Windows/macOS通用&#xff09; 作为一名长期使用VSCode的开发者&#xff0c;我深知英文界面给非英语母语用户带来的困扰。菜单栏里那些专业术语、设置项中的生僻词汇&#xff0c;常常让我们在开…...

从无人机航拍到手机扫描:聊聊SfM(运动恢复结构)在实际项目中的选型与避坑指南

从无人机航拍到手机扫描&#xff1a;SfM技术实战选型与避坑指南 当我们需要将一座千年古刹数字化存档&#xff0c;或是为电商平台上的家具产品创建3D展示模型时&#xff0c;运动恢复结构&#xff08;SfM&#xff09;技术往往成为首选方案。这项能够从普通照片中重建三维场景的技…...

金融数据清洗总出错?(Pandas+OpenBB+YFinance联合清洗框架首次公开)

第一章&#xff1a;金融数据清洗总出错&#xff1f;&#xff08;PandasOpenBBYFinance联合清洗框架首次公开&#xff09; 金融数据清洗常因缺失值、时区错位、字段命名不一致、多源数据时间对齐失败等问题导致回测失真或模型训练崩溃。传统单库处理方式难以兼顾实时性、标准化与…...

amsmath宏包完全使用手册:从解决符号显示问题到专业公式排版

amsmath宏包完全使用手册&#xff1a;从解决符号显示问题到专业公式排版 在科研论文、技术文档或数学教材的写作过程中&#xff0c;LaTeX作为专业的排版工具已经成为学术界的标准选择。而数学公式的排版&#xff0c;则是LaTeX最引以为傲的功能之一。然而&#xff0c;即使是经验…...

霞鹜文楷GB:为什么选择这款免费开源的中文国标字体?

霞鹜文楷GB&#xff1a;为什么选择这款免费开源的中文国标字体&#xff1f; 【免费下载链接】LxgwWenkaiGB An open-source Simplified Chinese font derived from Klee One. 项目地址: https://gitcode.com/gh_mirrors/lx/LxgwWenkaiGB 霞鹜文楷GB是一款基于日本Klee O…...