软件配置管理培训课件

上传人:痛*** 文档编号:241787353 上传时间:2024-07-24 格式:PPT 页数:60 大小:915.50KB
返回 下载 相关 举报
软件配置管理培训课件_第1页
第1页 / 共60页
软件配置管理培训课件_第2页
第2页 / 共60页
软件配置管理培训课件_第3页
第3页 / 共60页
点击查看更多>>
资源描述
软件配置管理培件配置管理培训v软件配置管理软件配置管理v基本的版本控制基本的版本控制v系统集成系统集成v构建管理构建管理v分支分支v变体变体v三库管理的概念三库管理的概念v什么是软件配置管理什么是软件配置管理v软件配置管理的一些比喻软件配置管理的一些比喻v缺乏管理所造成的问题缺乏管理所造成的问题什么是软件配置管理什么是软件配置管理 一套应用技术上和管理上的指导和监督方法,用来:识别和记录配置项的功能特征和物理特征;控制一套应用技术上和管理上的指导和监督方法,用来:识别和记录配置项的功能特征和物理特征;控制这些特征的变更;记录和报告变更的处理和执行的状态;以及验证其是否特定的需求。这些特征的变更;记录和报告变更的处理和执行的状态;以及验证其是否特定的需求。一个权威定义一个权威定义 (被(被CMM、CMMI引用)引用)软件配置管理的一些比喻软件配置管理的一些比喻v图书管理图书管理(在一借一还的过程中都需要记录)(在一借一还的过程中都需要记录)v保险柜保险柜(软件资产可能丢失、被窃取和泄露,(软件资产可能丢失、被窃取和泄露,特别是源代码特别是源代码)v岩钉岩钉(适当保存历史版本,(适当保存历史版本,所有的一切软件资产都可以保存所有的一切软件资产都可以保存)缺乏管理所造成的问题缺乏管理所造成的问题缺乏管理所造成的问题缺乏管理所造成的问题vv软件开发人员之间缺乏必要的交流软件开发人员之间缺乏必要的交流软件开发人员之间缺乏必要的交流软件开发人员之间缺乏必要的交流vv产品升级和维护所必需的程序和文档非常混乱产品升级和维护所必需的程序和文档非常混乱产品升级和维护所必需的程序和文档非常混乱产品升级和维护所必需的程序和文档非常混乱vv开发过程中的人员流动经常发生开发过程中的人员流动经常发生开发过程中的人员流动经常发生开发过程中的人员流动经常发生vv因管理不善致使未经测试的软件加入到产品中因管理不善致使未经测试的软件加入到产品中因管理不善致使未经测试的软件加入到产品中因管理不善致使未经测试的软件加入到产品中vv项目开发状态不清楚项目开发状态不清楚项目开发状态不清楚项目开发状态不清楚vv软件生产达不到规模化软件生产达不到规模化软件生产达不到规模化软件生产达不到规模化v软件配置管理软件配置管理v基本的版本控制基本的版本控制v系统集成系统集成v构建管理构建管理v分支分支v变体变体v三库管理的概念三库管理的概念v基本的版本控制基本的版本控制v基线基线 版本管理,主要是建立一个公共存储区,记录版本,防止版本覆盖,防止版本混乱。版本管理,主要是建立一个公共存储区,记录版本,防止版本覆盖,防止版本混乱。版本管理是配置管理里重要的一项环节。版本管理是配置管理里重要的一项环节。v在软件开发中会遇到一些非常棘手的问题,比如,需要将整个软件版本恢复到以前的某一时间的状态;控制某个程序在同一时间只能被一个程序员修改等等。这时就需要使用版本控制软件进行管理了。版本控制软件可以将某一程序恢复到以前的某一时间的状态,甚至将整个软件版本恢复到以前的某一时间的状态。也能够实现某一程序在同一时间只能一个开发人员修改,还可以配制成允许多人修改,最后将不同版本合并为新版本。基本的版本控制 假设每个程序员负责一个专门模块,不存在两个程序员修改同一处源代码的问题。假设每个程序员负责一个专门模块,不存在两个程序员修改同一处源代码的问题。v在修改程序之前,从哪里拿到最新版本?在修改程序之前,从哪里拿到最新版本?(程序员可能基于过时的程序开始自己的工作)(程序员可能基于过时的程序开始自己的工作)v在修改程序之后,把修改结果提交到那?在修改程序之后,把修改结果提交到那?(程序员的工作可能被湮没)(程序员的工作可能被湮没)解决之道 将源代码流转的渠道从网状结构(图将源代码流转的渠道从网状结构(图1)改成星星结构(图)改成星星结构(图2),也就是设立一个公共储区,作为参照物和枢纽,大家),也就是设立一个公共储区,作为参照物和枢纽,大家统一从这个公共点取代码,的轩昂程序改完后,都把自己统一从这个公共点取代码,的轩昂程序改完后,都把自己改的那部分全部传到公共存储区,别人再从那里取用。改的那部分全部传到公共存储区,别人再从那里取用。图图1 1图图2 2 假设两个程序员同时修改同一源代码,会出现程序覆盖问题。(即后提交的代码假设两个程序员同时修改同一源代码,会出现程序覆盖问题。(即后提交的代码B B会把先提交的代码会把先提交的代码A A覆覆盖)盖)v监控。阻止同时修改的事情发生。监控。阻止同时修改的事情发生。串行方法串行方法v辅助。使同时修改的内容合并到辅助。使同时修改的内容合并到一起。一起。并行方法并行方法串行方法串行方法并行方法并行方法v版本控制软件还可以对程序修改进行有效的管理,将开发环境、测试环境、运行环境进行有效的隔离。版本控制软件还可以对程序修改进行有效的管理,将开发环境、测试环境、运行环境进行有效的隔离。我们还可以在版本控制软件中存放软件开发过程中成成的各种文档,以供随时查阅。我们还可以在版本控制软件中存放软件开发过程中成成的各种文档,以供随时查阅。如何表达版本的质量状态如何表达版本的质量状态v在版本号中,添加状态标记(常用方法)。有两个弱点:在版本号中,添加状态标记(常用方法)。有两个弱点:1.1.在版本库中,标签不一定能重新命名。在版本库中,标签不一定能重新命名。2.2.改变标签名称,以及改变安装包的名称,可能会引起混乱。改变标签名称,以及改变安装包的名称,可能会引起混乱。v版本本身可以自带些属性。当质量状态提升时,不必改版本名称,只需改版本的质量状态属性。版本本身可以自带些属性。当质量状态提升时,不必改版本名称,只需改版本的质量状态属性。v用不同的目录,来区分不同质量状态下源代码的整体版本或安装包。用不同的目录,来区分不同质量状态下源代码的整体版本或安装包。v基线是有质量状态的。当探测到源代码质量状态到达了更新程度的时候,做一个基线提升。基线是有质量状态的。当探测到源代码质量状态到达了更新程度的时候,做一个基线提升。基线基线v被明显的标记和记录下来的源代码整体版本。(即整体复制)被明显的标记和记录下来的源代码整体版本。(即整体复制)v在每个文件的特定版本上打标签来完成。在每个文件的特定版本上打标签来完成。基线的权限基线的权限只读只读v软件配置管理软件配置管理v基本的版本控制基本的版本控制v系统集成系统集成v构建管理构建管理v分支分支v变体变体v三库管理的概念三库管理的概念v什么是系统集成什么是系统集成v系统集成的步骤系统集成的步骤系统集成系统集成 系统集成,简称集成,是基本的使命就是把产品的各个部分捏在一起,并保证产品作为整体是可以运转的,系统集成,简称集成,是基本的使命就是把产品的各个部分捏在一起,并保证产品作为整体是可以运转的,而不仅是每个模块,每个单元能在特定的开发调试环境、特定的数据和参数下运转。而不仅是每个模块,每个单元能在特定的开发调试环境、特定的数据和参数下运转。v视角视角1 1:集成的,不是模块,而是工作。每个任务单元可能在一个模块上修改,也可能涉及多个模块。:集成的,不是模块,而是工作。每个任务单元可能在一个模块上修改,也可能涉及多个模块。v视角视角2 2:不再把产品的各个模块合到一起,而是把产品的改变合到一起,和在已有的版本上,产生新的:不再把产品的各个模块合到一起,而是把产品的改变合到一起,和在已有的版本上,产生新的版本,所集成的是任何单元,是变更。版本,所集成的是任何单元,是变更。+=新的整体版本新的整体版本源代码整体版本源代码整体版本多个任务单元多个任务单元集成的含义集成的含义多层集成多层集成集成的步骤集成的步骤v确保开发人员都提交了相关的源代码。确保开发人员都提交了相关的源代码。v冻结或者标识将要集成的源代码。冻结或者标识将要集成的源代码。(比如:禁止开发人员向版本库的提交)(比如:禁止开发人员向版本库的提交)v取出要集成的源代码。(最好放在一个全新的工作空间)取出要集成的源代码。(最好放在一个全新的工作空间)v编译、链接和打安装包。(通常称为构建)编译、链接和打安装包。(通常称为构建)v安装并粗略测试。安装并粗略测试。v表示和储备集成成果。表示和储备集成成果。(集成结果有两个:(集成结果有两个:1.1.源代码的整体版本源代码的整体版本 2.2.生成生成安装包)安装包)v通知相关人员本次集成完成。通知相关人员本次集成完成。(还应告知集成成员的名称和存储内容)(还应告知集成成员的名称和存储内容)如有问题,修改了源代码,就从如有问题,修改了源代码,就从头再来。头再来。v软件配置管理软件配置管理v基本的版本控制基本的版本控制v系统集成系统集成v构建管理构建管理v分支分支v变体变体v三库管理的概念三库管理的概念v什么是构建管理什么是构建管理v构建管理分为两部分构建管理分为两部分v保证构建的可重复性保证构建的可重复性v如何让构建更快如何让构建更快v安装包有没有必要保存安装包有没有必要保存v安装包如何保存安装包如何保存构建管理构建管理v构建:从源代码生产出安装包的过程。构建:从源代码生产出安装包的过程。v一般包括:编译源代码;链接编译结果;产生可以运行的程序;把所有对客户有用的东西都打包。一般包括:编译源代码;链接编译结果;产生可以运行的程序;把所有对客户有用的东西都打包。v构建的输入,是产品的全部源文件,可能还有文档、数据等。构建的输入,是产品的全部源文件,可能还有文档、数据等。v构建的输出,通常是安装包。构建的输出,通常是安装包。v是从每一个源文件的编译开始,不借助于以往是从每一个源文件的编译开始,不借助于以往构建中留下的已有的或许可以重复使用的结果。构建中留下的已有的或许可以重复使用的结果。(通常系统集成,集成工程师所做的构建是全(通常系统集成,集成工程师所做的构建是全量构建量构建)v是尽可能的利用上次构建的成果。是尽可能的利用上次构建的成果。(这(这是一个省时间偷懒的方法)是一个省时间偷懒的方法)构建分为构建分为全量构建全量构建增量构建增量构建正确、准确正确、准确快速快速保证构建的可重复性保证构建的可重复性v原材料是固定明确的原材料是固定明确的v工具是固定明确的工具是固定明确的v参数设置是固定明确的参数设置是固定明确的v生产过程是固定明确的生产过程是固定明确的 (或是尽可能的文档化构建过程)(或是尽可能的文档化构建过程)如何让构建更快如何让构建更快v自动化自动化v提高硬件性能提高硬件性能v提高专一性提高专一性(尽量减少在同一台服务器上同时(尽量减少在同一台服务器上同时运行的构建任务单元的数量)运行的构建任务单元的数量)v把构建任务分解,并行完成把构建任务分解,并行完成(要实现分布式构(要实现分布式构建,其软件实现难度则大了很多,可能需要一建,其软件实现难度则大了很多,可能需要一些高端软件的支持)些高端软件的支持)安装包有没有必要保存?安装包有没有必要保存?v通常是必要的,因为这样可以在需要它的时候能够迅速准确的得到这个安装包。通常是必要的,因为这样可以在需要它的时候能够迅速准确的得到这个安装包。v如果将它删除,在将来需要它的时候,还要找历史上的源代码,现从源代码开始编译、打包,那么会耗如果将它删除,在将来需要它的时候,还要找历史上的源代码,现从源代码开始编译、打包,那么会耗费时间。费时间。安装包如何保存?安装包如何保存?v放进版本库不是明智之举。对于安装包,很多历史版本,比如送去测试用的安装包,需要定期清理,否放进版本库不是明智之举。对于安装包,很多历史版本,比如送去测试用的安装包,需要定期清理,否则会占用大量的磁盘空间。安装包可以保存在共享目录下,该目录可以在局域网共享,除此之外,还要则会占用大量的磁盘空间。安装包可以保存在共享目录下,该目录可以在局域网共享,除此之外,还要考虑适当的备份。考虑适当的备份。v软件配置管理软件配置管理v基本的版本控制基本的版本控制v系统集成系统集成v构建管理构建管理v分支分支v变体变体v三库管理的概念三库管理的概念v什么是分支什么是分支v分支与工作空间的对比分支与工作空间的对比v流流v集中精力于主线的演进集中精力于主线的演进v分支管理要注意的事项分支管理要注意的事项分支分支v主线又被称为主干,是一种特殊的分支。主线又被称为主干,是一种特殊的分支。v合并是某种复制行为,不是复制版本本身,而是复制版本之间的差异。合并不会影响原分支的。合并是某种复制行为,不是复制版本本身,而是复制版本之间的差异。合并不会影响原分支的。分支与工作空间的对比分支与工作空间的对比v分支可同时容纳多个已提交的任务单元,并以此和其他分之区别。分支可同时容纳多个已提交的任务单元,并以此和其他分之区别。v分支存储在服务器上比工作空间存储在本地安全。分支存储在服务器上比工作空间存储在本地安全。v分支是所有人都能看到,若有必要,所有人都能在上边工作;工作空间是单个开发人员自己的地盘分支是所有人都能看到,若有必要,所有人都能在上边工作;工作空间是单个开发人员自己的地盘 ,只有自己才能在上面工作。,只有自己才能在上面工作。v分支不能改变其起始点,工作空间可以改变分支不能改变其起始点,工作空间可以改变弱弱 势:势:优势:优势:兼具分支和工作空间的优势兼具分支和工作空间的优势流流流的三种含义流的三种含义v流是起始点可改变的产品级的流是起始点可改变的产品级的“分支分支”。v流的起始点可以设置为产品的某个整体版本。流的起始点可以设置为产品的某个整体版本。v流可以设置为另外的某个流的末端。流可以设置为另外的某个流的末端。v分支不能长期存在,把分支缩短,在每一次组内集成,就合并到主线,并关闭该分支,重新建立新的分分支不能长期存在,把分支缩短,在每一次组内集成,就合并到主线,并关闭该分支,重新建立新的分支,来吸收下一次组内集成的内容。支,来吸收下一次组内集成的内容。v主线始终是开发的主流。主线始终是开发的主流。A主线主线B长期隔离导致集成困难长期隔离导致集成困难主线主线A3B3A1B1B2A2短分支经常集成短分支经常集成 为特定用户,进行单独立项,进行特定开发的解决方法。v改变版本结构,要集中精力在主线演进,集中精力开发一个产品,从主线出发,有每个分支上,改变版本结构,要集中精力在主线演进,集中精力开发一个产品,从主线出发,有每个分支上,主要关注用户的特殊需求。主要关注用户的特殊需求。主线主线鲢鲢鲈鲈鲑鲑魭魭鲤鲤鳗鳗鲂鲂鲐鲐鲟鲟鲫鲫鳝鳝鲆鲆1.0版3.0版2.0版主线产鱼法主线产鱼法鱼的裂变鱼的裂变魭魭鲐鲐鲂鲂鲆鲆鳝鳝鳗鳗鲫鲫鲤鲤鲟鲟鲑鲑鲈鲈鲢鲢分支管理要注意的事项分支管理要注意的事项v每条分支的目的和用途,必须明确,并且分支要有合适的名字。每条分支的目的和用途,必须明确,并且分支要有合适的名字。v分支要规划确定相关角色和权限,要注意全盘考虑,看版本树的整体图景。分支要规划确定相关角色和权限,要注意全盘考虑,看版本树的整体图景。v软件配置管理软件配置管理v基本的版本控制基本的版本控制v系统集成系统集成v构建管理构建管理v分支分支v变体变体v三库管理的概念三库管理的概念v什么是变体什么是变体v产生变体的原因产生变体的原因v用分支支持变体用分支支持变体v支持分支的多种方法支持分支的多种方法 (组件复用)(组件复用)v避免变体的方法避免变体的方法v减少变体的成本减少变体的成本变体 变体是指一些软件产品,他们彼此有些相同之处,但彼此有有所区别。变体是指一些软件产品,他们彼此有些相同之处,但彼此有有所区别。产生变体的原因:产生变体的原因:v因支持不同操作系统而产生的变体。因支持不同操作系统而产生的变体。v因客户制定而成的变体。因客户制定而成的变体。v因不同的功能集而产生变体。因不同的功能集而产生变体。用分支支持变体用分支支持变体v假定,基于标准版假定,基于标准版1.01.0版,开发版,开发1.0A1.0A版。这是为客户版。这是为客户A A专门制定的专门制定的一个版本,里边增加了了一个只有客户一个版本,里边增加了了一个只有客户A A才需要的功能:点石成金。才需要的功能:点石成金。v假定,在推出标准版假定,在推出标准版2.02.0版后,客户版后,客户A A请求将请求将1.0A1.0A版升级到版升级到2.0A2.0A版。版。既保留点石成金功能的同时,去掉既保留点石成金功能的同时,去掉1.01.0版里发现的缺陷,添上版里发现的缺陷,添上2.02.0标准标准版里新增加的功能。这时候怎么处理?版里新增加的功能。这时候怎么处理?主线主线1.0A1.0版1.0A版变体(简单情况)变体(简单情况)用分支支持变体用分支支持变体v把主线上所有的修改都复制到分支上,集成测试,并作适当把主线上所有的修改都复制到分支上,集成测试,并作适当调整,确保不影响分支上的特殊功能。调整,确保不影响分支上的特殊功能。弱势弱势:v可能引入的代码修改太多,很难做到这一点。可能引入的代码修改太多,很难做到这一点。主线主线A1.0版2.0版1.0A版2.0A版提升变体版本(方法提升变体版本(方法 一)一)用分支支持变体用分支支持变体v不把主线上的内容合并到分支上,而是创建新的分支,把原有不把主线上的内容合并到分支上,而是创建新的分支,把原有分支上的内容复制过来。分支上的内容复制过来。(对于分支合并引入的代码修改进(对于分支合并引入的代码修改进行浏览和审查就会容易得多。)行浏览和审查就会容易得多。)弱势:弱势:v如果需要频繁的拿到标准版最新版本里的内容,那么需要建很如果需要频繁的拿到标准版最新版本里的内容,那么需要建很多分支。多分支。v如果变体与标准版的差距较大,对应的源代码修改也很大。如果变体与标准版的差距较大,对应的源代码修改也很大。主线主线1.0版2.0版提升变体版本(方法提升变体版本(方法 二)二)1.0A1.0A版2.0A2.0A版支持分支的多种方法 完全独立开发完全独立开发v可以有效的保证遍体之间的隔离,但是无法支持变体之间的共享。可以有效的保证遍体之间的隔离,但是无法支持变体之间的共享。常用的改进方法:常用的改进方法:v从某一点开始,独立出来,从此分道扬镳。在这一点之前,所积累的软件资产,就变成变体之间共享了。从某一点开始,独立出来,从此分道扬镳。在这一点之前,所积累的软件资产,就变成变体之间共享了。但随后的改动,只能通过手工的方法,在不同的变体或变体与主流间传播。但随后的改动,只能通过手工的方法,在不同的变体或变体与主流间传播。支持分支的多种方法 使用分支使用分支v能有效的实现隔离,也实现共享。能有效的实现隔离,也实现共享。弱势:弱势:v分支是有管理成本的。如果变体所在的分支上,包含了一些应该共享的改动,那么应合并到主干上。这分支是有管理成本的。如果变体所在的分支上,包含了一些应该共享的改动,那么应合并到主干上。这样的话,相应管理成本也会提高。样的话,相应管理成本也会提高。支持分支的多种方法 使用文件属性使用文件属性v在一定程度上实现了隔离,但并不完全。在降低共享的成本同时,削弱了隔离。在一定程度上实现了隔离,但并不完全。在降低共享的成本同时,削弱了隔离。v共享又不总是能够自动传播。需要手动修改其他变体的相关文件,才能实现这个功能改动。共享又不总是能够自动传播。需要手动修改其他变体的相关文件,才能实现这个功能改动。支持分支的多种方法 使用不同的使用不同的MakefileMakefilev与使用文件属性一样,在一定程度上实现隔离,共享又不总是能够自动传播。与使用文件属性一样,在一定程度上实现隔离,共享又不总是能够自动传播。v比使用文件属性好的地方是,比使用文件属性好的地方是,程序员能够同时看到不同变体所需的源文件。程序员能够同时看到不同变体所需的源文件。(要注意对(要注意对MakefileMakefile本身的维护)本身的维护)支持分支的多种方法 使用宏定义使用宏定义v宏和宏和MakefileMakefile的方法差不多,都是有选择的选择源代码进行编译,不同的是:的方法差不多,都是有选择的选择源代码进行编译,不同的是:MakefileMakefile只能区分到文件只能区分到文件夹;宏可以区分到源文件。夹;宏可以区分到源文件。弱点:弱点:v宏是写在源代码里,遍体多的话,结构就会复杂,难以维护。宏是写在源代码里,遍体多的话,结构就会复杂,难以维护。v并非所有编程语言都支持宏。并非所有编程语言都支持宏。支持分支的多种方法 组件复用组件复用v把系统分解为组件,系统由不同的组件构成,每个组件,可能多次参与不同系统的构成。把系统分解为组件,系统由不同的组件构成,每个组件,可能多次参与不同系统的构成。v组件有三种:源代码组件、运行组件、库组件。组件有三种:源代码组件、运行组件、库组件。组件复用组件复用 引用组件复用后,软件配置管理还要额外关注的事情。引用组件复用后,软件配置管理还要额外关注的事情。v加强对公共组件的变更管理。加强对公共组件的变更管理。v为公共组件的开发提供环境支持。为公共组件的开发提供环境支持。v共享多个系统中对公共组件的修改。共享多个系统中对公共组件的修改。v应对多个系统的系统总体集成中的问题。应对多个系统的系统总体集成中的问题。避免变体的方法v聪明的拒接个别客户提出的要求。聪明的拒接个别客户提出的要求。v在标准版本里,实现客户的要求。在标准版本里,实现客户的要求。v安装软件时,特定用户只安装特定的组件。安装软件时,特定用户只安装特定的组件。v通过软件运行时的配置、设置,实现不同外观和功能等。通过软件运行时的配置、设置,实现不同外观和功能等。减少变体的成本减少变体的成本v对变体仅提供有限的支持服务,特别是支持服务。对变体仅提供有限的支持服务,特别是支持服务。v减少变体与标准版本之间的差异。减少变体与标准版本之间的差异。v软件配置管理软件配置管理v基本的版本控制基本的版本控制v系统集成系统集成v构建管理构建管理v分支分支v变体变体v三库管理的概念三库管理的概念v开发库开发库v受控库受控库v静态库静态库开发库管理的概念开发库管理的概念v开发库可以大致反映为开发工程师的个人工作空间,在开发工程师本机上,个人目录下。当然,对于稍开发库可以大致反映为开发工程师的个人工作空间,在开发工程师本机上,个人目录下。当然,对于稍大的任务,也可以映射为存储库里的一个任务分支。大的任务,也可以映射为存储库里的一个任务分支。受控库管理的概念受控库管理的概念v受控库则是开发工程师相互协作、交流最新工作成果的地方。大致上,可以映射为版本控制工具的存储受控库则是开发工程师相互协作、交流最新工作成果的地方。大致上,可以映射为版本控制工具的存储库。这里,可能有不同的分支库。这里,可能有不同的分支/目录做不同的用途,可能会打标签、基线。目录做不同的用途,可能会打标签、基线。静态库管理的概念静态库管理的概念v静态库,有称基线库,是指那些重要的基线,这些基线标志着项目的重要里程碑,或者这些基线被发布静态库,有称基线库,是指那些重要的基线,这些基线标志着项目的重要里程碑,或者这些基线被发布给了给了“外界外界”。在比较简单的版本控制工具里,一般可以用特定标签命名规范来把它们从其他标签、基。在比较简单的版本控制工具里,一般可以用特定标签命名规范来把它们从其他标签、基线中区别出来;而在比较复杂的版本控制工具里,也可以用基线线中区别出来;而在比较复杂的版本控制工具里,也可以用基线/标签的质量级别来表达。标签的质量级别来表达。谢谢大家!
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!