[编辑]

什么是软件工厂

软件工厂是软件生产实现社会化、标准化的一种组织形式,是能按需要形成批量生产软件产品的场所。

[编辑]

软件工厂的工作过程

产品线开发的目标是为一个产品系列提供生产资产。我们可以把产品线开发认为是产品线的分析、设计和实现。

产品线分析是决定产品线开发什么产品。包括产品线定义、问题和解决方案的领域范围、商业案例分析和范围鉴定。其分析强调:

①通过捕获风险承担者的观点来揭示产品线需求;

②通过系统的推理和分析、集成功能需求和分功能需求来完成产品线需求;

③产品线设计师对产品线需求的可用性。

产品线设计决定产品线怎样开发产品,其中包括产品线体系结构开发和映射、产品开发过程的定义和自动化。

产品线实现的目的是提供产品线体系结构和需要的实现资产和过程自动化需要的过程资产。

2.产品开发

(1)产品开发活动要素

产品开发活动取决于产品线范围、核心资源库、产品计划和需求的输出。

产品开发的输入有:

1)特定产品的需求,通常由包含在产品线范围内的一些产品描述来表达;

2)产品线范围,指明正在考虑的产品是否适合包含在产品线中;

3)构建产品所需的核心资源库;

4)产品计划,指明核心资源如何应用到产品的构建中。

本质上说,产品线是一组相关产品的集合,但是,怎样实现却有很大的不同,这取决于资源、产品计划和组织环境。

(2)生成产品涉及到的活动

1)问题分析:确定问题是否位于软件工厂的范围内;

2)产品规范:根据与产品要求之间的差异来定义产品要求;

3)产品设计:将要求方面的差异映射到产品系列体系结构和产品开发过程方面的差异,从而生成产品体系结构和自定义的产品开发过程;

4)产品实现:可以使用一系列机制来开发实现,具体取决于差异的范围,例如,属性表、配置组件的向导和功能模型、装配组件并生成其他人工制品(例如,模型、代码和配置文件)的可视模型,以及完成框架扩展点或者创建、修改、扩展或改装组件的源代码;

5)产品部署:通过供应设备、验证主机配置来创建或重用默认的部署约束、逻辑主机配置以及可执行文件到逻辑主机的映射,通过安装和配置必需的资源来重新配置主机,以及安装和配置所部署的可执行文件;

6)产品测试:创建或重用测试资产(包括测试用例、测试装置、测试数据集和测试脚本)以及应用仪表化和度量工具。

[编辑]

软件工厂涉及的基本概念和技术

1.软件产品系列

软件产品系列是有相同特征的一组产品的集合。软件产品系列成员具有很多共同特征,成员可以是组件也可是整个产品。

系列成员可以根据个性问题特征指定,根据个性解决方案来实现,从而可以忽略共性,减小了解决问题的范围和需要提供解决方案的范围。

由一个产品线体系结构、一个可重用构件集合(核心资源)和一个源自共享资源的产品集合组成,是组织一组相关软件产品开发的方式。软件产品线系统获取生产系列产品成员的知识,以可重用资产的形式使用,例如组件、过程、工具,然后用这些资产生产系列成员。产品就像是家族成员一样重复使用需求、体系结构、框架、组件、测试和其他资产。软件产品线主要有以下建立方式:

(1)将现有产品演化为产品线。

(2)用软件产品线替代为现有产品集。

(3)全新软件产品线的演化。

(4)全新软件产品线的开发。

供应链是一个网络,以原始材料为起点,将其转换为中间产品,然后转换为最终的产品,以便通过配送系统提供给客户。

供应商互相连接在一起,以便使来自上游供应商的输出变成下游供应商的输入。上游供应商可以向下游供应商提供实现资产(例如,组件)或过程资产(例如工具和过程文档)。由于下游供应商生产的产品要结合上游供应商提供的实现资产,因此下游供应商具有较窄的活动范围,并且生产的产品比上游产品更大。

软件工厂通过划分软件架构(纵向或横向)以便将职责转移给外部供应商来促进供应链的形成:

(1)纵向划分使软件工厂可以装配由上游供应商提供的组件。例如,实体框架来自独立软件供应商。

(2)横向划分可以分隔产品系列和产品开发人员,使得产品开发人员可以使用由处于供应链同一级别的外部产品系列开发人员提供的生产资产。这可以采取下列两种形式之一:

①产品系列开发被外包。例如,开发软件工厂的产品系列开发人员为外部的系统集成商工作,而不是为独立软件供应商工作。他们为客户组织中的开发人员生成软件工厂,而不是为内部开发人员生成它们。

②产品开发被外包。例如,产品开发人员为系统集成商工作,并使用为独立软件供应商工作的产品系列开发人员所开发的软件工厂。产品开发人员可能位于境外成本较低的劳务市场中。

[编辑]

参考文献

本条目对我有帮助0

MBA智库APP

扫一扫,下载MBA智库APP

分享到:

工厂软件支持及测试是什么,软件工厂相关推荐

  1. 场强测试软件,无线场强测试系统的软件结构设计与实现

    介绍软件的设计方法 铁路信息系统 R~I.~ I}} i~. ' RM~Il)< I .S I- 1 t. 团 .7N¨ t Ij J - 1 1 I I .' 7 2 1 2 . 正编: 10 ...

  2. 软件测试计划与测试分析报告,软件测试计划与测试分析报告.doc

    软件测试计划与测试分析报告.doc 软件测试计划与测试分析报告 概述: 测试目的:系统地测试软件从安装到使用的全过程的正确性.稳定性,以发现并纠正潜在的错误. 运行环境:拟进行测试的环境: 硬件环境: ...

  3. 软件能力水平测试,2000年度软件资格水平考试情况

    2000年软考学院全国各地共有6.1万人,其中资格考试考生1.3万人,占考生总数的21%:水平考试考生4.8万人,占考生总数79%,基本情况见下表:括号内的数字是同时获得资格证书和水平证书的人数. 一 ...

  4. 哪个软件唱歌打分测试,唱歌评分软件哪个好_唱歌评分软件电脑版

    更新时间:2014-12-08 11:31    共有个软件 唱歌评分软件其实就是是免费的电脑录音软件,把您自己的歌声融入在软件提供的伴奏中,之后可以用软件进行免费的卡拉音频效果处理和ok音频编辑,比 ...

  5. matlab软件在环测试步骤,Matlab软件在牛顿环实验数据处理方法上的创新

    <Matlab软件在牛顿环实验数据处理方法上的创新>由会员分享,可在线阅读,更多相关<Matlab软件在牛顿环实验数据处理方法上的创新(5页珍藏版)>请在人人文库网上搜索. 1 ...

  6. 第6课 软件测试之兼容性测试

    软件测试之兼容性测试 文章目录 软件测试之兼容性测试 前言 一.兼容性测试要点 概念 兼容性测试方向 兼容性测试分类 常用测试浏览器 二.兼容性测试用例 总结 前言 随着IT行业的不断发展,软件测试这 ...

  7. android电量软件,四款Android音乐播放软件耗电量对比测试

    智能手机的普及丰富了我们的碎片时间,但是没电的苦恼却困扰着几乎所有的智能手机用户."用android手机一定是好男人,因为晚上都要回家充电."这个段子绝对不是空穴来风,如果你手头正 ...

  8. ipad wifi信号测试软件,真香!平板Ipad无线投屏在电视上视频教程分享,无需装软件,支持任何显示设备...

    原标题:真香!平板Ipad无线投屏在电视上视频教程分享,无需装软件,支持任何显示设备 平板的应用绝不仅仅局限于看看电影,听听歌,画画,在商务会议场景的应用下,移动办公也不再是什么新鲜事,小伙伴们也可以 ...

  9. 手机做条码扫描传给电脑_有线和无线扫描枪常用测试工具和软件你知道哪些?...

    当我们购买到一款扫描枪之后,往往需要对扫描枪的进行一些简单的测试,如果测试,有需要使用到哪些工具进行测试呢,接下来我们按照不同接口分类为大家分别介绍一下: USB接口类型 ①USB-KBW接口:USB ...

最新文章

  1. ORB-SLAM中的ORB特征(提取)
  2. matlab reshape函数_numpy中的np.ascontiguousarray()函数
  3. Kafka之Purgatory Redesign Proposal (翻译)
  4. 构造函数及析构函数的调用
  5. 详解C++11智能指针
  6. 【不了解你就OUT了】云原生基本原则
  7. linux 查看进程的信号,Linux 进程信号查看与控制
  8. ext get id js_Ext.getCmp(“id”) 简单应用 | 学步园
  9. 使用postman调试web API
  10. mysql6.1 交叉编译_Armbian系统-mysql-connector-c++-1.1.8版本-交叉编译-安装
  11. 8、OpenCV调整图像对比度和亮度
  12. vue请求接口报错405(Method Not Allowed)
  13. 全志V3s学习记录(11)音频、视频使用总结
  14. pzh-web前端学习汇总-大二
  15. python按指定数量划分图片与对应的xml数据(.png格式为列)
  16. 八皇后问题(又名: 高斯八皇后)
  17. 宋宝华: 用off-cpu火焰图进行Linux性能分析
  18. STM32—ADC详解
  19. 【流媒体服务器Mediasoup】多人音视频架构、流媒体的比较、mediasoup介绍 (一)
  20. 三年级连接计算机教案广西,广西科教小学信息技术三年级教案培.doc

热门文章

  1. python文件后缀切割_python如何去除文件后缀
  2. 【Cocos游戏】《天天炫斗》:在手机上感受街机狂潮
  3. 移动硬盘(USB3.0)1TB 在自己电脑上突然识别不了
  4. 数字华容道java_从零开发HarmonyOS(鸿蒙)手机小游戏——数字华容道
  5. JavaScript中用数组实现键值对
  6. 聊聊ThoughtWorks面试(郑大版 社招)+ PS:应届生简单流程介绍
  7. 阿里巴巴实习生负一天
  8. matlab p图,【MATLAB】P图神器,初露锋芒:第一周作业(剧透)
  9. LISP 圆孔标记_【CAD】〖30〗生成圆孔明细表
  10. linux Nginx服务的安装及使用