![软件质量评价课件_第1页](http://file4.renrendoc.com/view/e59f2d307b84a662c9366a3708c945ff/e59f2d307b84a662c9366a3708c945ff1.gif)
![软件质量评价课件_第2页](http://file4.renrendoc.com/view/e59f2d307b84a662c9366a3708c945ff/e59f2d307b84a662c9366a3708c945ff2.gif)
![软件质量评价课件_第3页](http://file4.renrendoc.com/view/e59f2d307b84a662c9366a3708c945ff/e59f2d307b84a662c9366a3708c945ff3.gif)
![软件质量评价课件_第4页](http://file4.renrendoc.com/view/e59f2d307b84a662c9366a3708c945ff/e59f2d307b84a662c9366a3708c945ff4.gif)
![软件质量评价课件_第5页](http://file4.renrendoc.com/view/e59f2d307b84a662c9366a3708c945ff/e59f2d307b84a662c9366a3708c945ff5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二章软件质量评价武汉大学计算机学院软件工程课程组软件工程
SoftwareEngineering第二章软件质量评价武汉大学计算机学院软件工程课程组软件1思考?什么是好的软件?软件质量好坏如何评价?思考?什么是好的软件?2第二章 软件质量评价什么是好的软件?有何特点?软件评价的标准如何?什么是软件结构?什么是良软件结构?什么是模块化?模块设计时应遵循的标准是什么?第二章 软件质量评价什么是好的软件?有何特点?3一、软件质量评价标准有效可靠结构清晰用户角度:达到需求、界面友好、简单易学开发人员角度:良结构、易测试、易维护、可移植…文档齐全一、软件质量评价标准有效可靠4二、软件结构软件的各个组成部分之间的关系问题P同一个问题P的三种不同的软件结构二、软件结构软件的各个组成部分之间的关系问题P同一个问题P5基本概念块:可以独立命名和编址的单元扇出:直接由一个块所控制的块数扇入:直接调用它的上级块数目深度:控制的总层数宽度:跨度最宽层的跨度数MM1M2M3N1N2N3N4N31N32软件结构基本概念块:可以独立命名和编址的单元MM1M2M3N1N2N61.良软件结构具有层次性,无回路块调用的软件结构。…线性型树型半序型1.良软件结构具有层次性,无回路块调用的软件结构。…线性型7非良结构的调整网络结构AB合并循环节点良结构AB模块内部复杂性增加了非良结构的调整网络结构AB合并循环节点良结构AB模块内部82.模块化(modularity)模块(module):又称构件,是能够单独命名并独立地完成一定功能的程序语句的集合。模块化把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。“模块化”有助于复杂问题的求解2.模块化(modularity)模块(module):又9模块化的依据c(x):问题x的复杂程度E(x):解决问题x需要的工作量(时间)对于两个问题P1和P2 if C(P1)>C(P2) then E(P1)>E(P2)根据人们求解问题的经验,有规律:C(P1+P2)>C(P1)+C(P2) 则有E(P1+P2)>E(P1)+E(P2)即“分而治之”有助于复杂问题的求解。如果把软件无限细分,会出现什么样的情况?模块化的依据c(x):问题x的复杂程度如果把软件无限细分10块的划分与总工作量之间的关系接口成本最小成本区域总成本块成本成本(工作量)模块数M模块划分的合理性。模块两个定性的标准:内聚和耦合。块的划分与总工作量之间的关系接口成本最小成本区域总成本块成本11模块的重要特征抽象(abstraction)我们在考虑问题时,集中考虑和当前问题有关的方面,而忽略和当前问题无关的方面,这就是抽象。或者说抽象就是抽出事物的本质特性而暂时不考虑它们的细节。在对软件系统进行模块设计时,可以有不同的抽象层次。忽略细节,分层理解问题,自顶向下层层细化信息隐藏(informationhiding)细节隐藏可理解性修改副作用小错误副作用小模块的重要特征抽象(abstraction)12例:开发一个CAD软件,实现一个二维绘图系统的全部功能,供低级计算机辅助设计使用。抽象层次I
用问题环境的术语来描述这个软件该软件包括一个计算机绘图界面,向绘图员显示图形,以及一个数字化仪界面,用以代替绘图板和丁字尺。所有直线、折线、矩形、圆及曲线的描画、所有的几何计算、所有的剖面图和辅助视图都可以用这个CAD软件实现……模块化的抽象特征例:开发一个CAD软件,实现一个二维绘图系统的全部功能,供低13模块化的抽象特征抽象层次II
任务需求的描述,列出“What”而不是“How”CADSOFTWARETASKS:userinteractiontask;2-Ddrawingcreationtask;graphicsdisplaytask;drawingfilemanagementtask;END模块化的抽象特征抽象层次II14模块化的抽象特征抽象层次III
程序过程表示(以2-D绘图生成任务为例)
PROCEDURE2-DdrawingcreationREPEATUNTILE(drawingcreationtaskterminates)DOWHILE(digitizerinteractionoccurs)Digitizerinterfacetask;DETERMINEdrawingrequestCASELine:linedrawingtask;Rectangle:rectangledrawingtask;Circle:circledrawingtask;……END;DOWHILE(keyboardinteractionoccurs)keyboardinteractiontask;PROCESSanalysis/computationCASEView:auxiliaryviewtask;Section:crosssectioningtask;……END;……ENDREPETITION;ENDPROCEDURE.模块化的抽象特征抽象层次III153.模块独立性(Moduleindependence)好设计的关键: 每个模块完成一个相对独立的子功能,并且与其它模块间的接口简单。独立性的度量(Yourdon&Constantine,1978)
耦合(Coupling)—块间联系
内聚(Cohesion)—块内联系3.模块独立性(Moduleindependence)好16(1)耦合(Coupling)GreatdealofdependenceIndependent
HighlycoupledLooselycoupledUncoupledGoal:aslooseaspossible=asindependentaspossible
对一个软件结构内不同模块之间互连程度的度量
(1)耦合(Coupling)Greatdealofd17零耦合(uncoupling)彼此完全独立,这意味着模块间无任何连接,耦合程度最低UncoupledAB零耦合(uncoupling)彼此完全独立,这意味着模块间无18数据耦合(DataCoupling)一个模块访问另一个模块时,彼此间通过参数交换信息,而且交换的信息仅仅是数据ThemostdesirableABData数据耦合(DataCoupling)一个模块访问另一个模块19控制耦合(ControlCoupling)指一个模块调用另一个模块时,传递的信息中有控制信息(尽管有时这种控制信息以数据的形式出现)ABFlagF2FnF1…………Flag控制耦合增加了理解与编程及修改的复杂性。控制耦合(ControlCoupling)指一个模块调用另20公共环境耦合(CommonCoupling)两个或多个模块通过一个公共数据环境相互作用Global:V1V2A:……………………A1=V1+V2……………………B:……………………V1=B1……………………Global:V1V2A:……………………V1++……………………B:……………………V2=B1+V1……………………问题:复杂程度随耦合模块的个数增加而增加公共部分的数据存取无法控制公共部分的改动将影响所有调用它的模块,可维护性差公共环境耦合(CommonCoupling)两个或多个模块21内容耦合(ContentCoupling)一个模块访问另一个模块的内部数据一个模块不通过正常入口而转到另一个模块的内部两个模块有一部分程序代码重叠(只可能出现在汇编程序中)一个模块有多个入口
Theleastdesirable内容耦合(ContentCoupling)一个模块访问另一22内容耦合例1. A访问C的内部数据或不通过正常入口而转入C的内部。……ABCDA:……………………gotoC1……………………C:……………………C1:…………内容耦合例1. A访问C的内部数据或不通过正常入口而转入C的23内容耦合例2. 部分代码重叠 (常出现在汇 编程序中)BA例3. 一个模块有 多 个入口(功能)A:………………………………entry1:………………………………entry2:………………………………内容耦合例2. 部分代码重叠 (常出现在汇 编程序中)B24耦合度与软件结构类型耦合度模块独立性软件结构零耦合低高强弱好差数据耦合控制耦合公共环境耦合内容耦合原则:尽量使用数据耦合,少用控制耦合,限制公共环境耦合的范围,完全不用内容耦合。耦合度与软件结构类型耦合度模块独立性软件结构零耦合低强25思考题ABDCFE132456模块互连图模块接口描述编号输入输出1飞机类型状态标志2飞机零件清单3功能代码4飞机零件清单5零件编号零件制造商6零件编号零件名称已知模块A、E和F更新同一个数据库,请确定模块之间的耦合类型。思考题ABDCFE132456模块互连图模块接口描述编号输入26(2)内聚(Cohesion)Goal: ascohesiveaspossible!一个模块内各个元素彼此结合的紧密程度
理想内聚的模块只做一件事情模块内的高内聚往往意味着模块间的松耦合内聚更重要!(2)内聚(Cohesion)Goal: ascohes27偶然内聚(Coincidentalcohesion)Unrelatedfunctions,processes,ordataarefoundinthesamemodule(forconvenience)ABABC语句相同偶然内聚(Coincidentalcohesion)Unr28逻辑内聚(LogicalCohesion)LogicallyrelatedfunctionsordataareplacedinthesamemoduleA:Readinputsfromdiskfromtapefrom……逻辑内聚(LogicalCohesion)Logicall29XYZABC逻辑内聚XYZABCSXYZABC逻辑内聚XYZABCS30时间内聚(Temporalcohesion)ThefunctionsarerelatedonlybythetiminginvolvedinitialxInitialy这种模块在20世纪80年代的应用程序中使用较多。没有任何复用价值。时间内聚(Temporalcohesion)Thefun31过程内聚(Proceduralcohesion)Functionsaregroupedtogetherinamoduletoensureacertainorderofperformanceenterdatacheckdatamanipulatedata过程内聚(Proceduralcohesion)Funct32通信内聚(Communicationalcohesion)AllthefunctionsinamoduleoperateonorproducethesamedatasetX从文件file读出数据由数据产生日报表由数据产生单项产品报表通信内聚(Communicationalcohesion)33顺序内聚(Sequentialcohesion)TheoutputfromonepartofamoduleistheinputtothenextpartX输入系数求根打印方程的根顺序内聚(Sequentialcohesion)Theo34功能内聚(Functionalcohesion)EveryprocessingelementisessentialtotheperformanceofasinglefunctionX报表打印功能内聚(Functionalcohesion)Every35内聚度与软件结构软件结构模块独立性内聚度内聚评分差好弱强低偶然内聚0分逻辑内聚1分时间内聚3分中过程内聚5分通信内聚7分高顺序内聚9分功能内聚10分设计时力争做到高内聚!不要低内聚!内聚度与软件结构软件结构模块独立性内聚度内聚评分差弱低偶然内36三、软件度量度量(metrics)测量(measure)估算(estimation)软件度量的根本目的是为了管理的需要。利用度量来改进软件过程。
三、软件度量度量(metrics)软件度量的根本目的是为了37软件度量软件复杂性度量规模文本复杂性控制结构的复杂性软件可靠性度量系统故障率软件修复与软件有效性软件可靠性估算软件度量软件复杂性度量381.软件复杂性度量规模:程序代码的规模→软件复杂度文本复杂性控制结构的复杂性1.软件复杂性度量规模:程序代码的规模→软件复杂度39(1)规模度量(Size-OrientedMetrics)代码行(Linesofcode,LOC)度量LOC乐观值a一般值m悲观值bLOC的期望值(1)规模度量(Size-OrientedMetrics)40代码行(Linesofcode,LOC)生产率(LOCperperson-month)=代码行数/工作量Pl=L/E每行代码的平均成本($perLOC)=总成本/代码行数Cl=S/L代码出错率(ErrorsperkLOC)=总错误数/代码行数EQRl=Ne/L代码行(Linesofcode,LOC)41某软件项目记录项目工作量PM成本($)代码行kLOC文档页数Pd错误数Ne人数Maaa-012416800012.1365293ccc-046244000027.21224865fff-034331400020.21050646Pl=12.1kLOC/24PM=504LOC/PMCl=$168000/12.1kLOC=$13.88/LOCEQRl=29个/12.1Kloc=2.4个/kLOC某软件项目记录项目工作量成本代码行文档页数错误数人数aaa-42代码行数估算软件规模的特点优点:简单易行缺点:软件≠程序不能刻画算法的难易程度开发前或初期估算困难依赖于语言只适用于过程式语言,不适用于4GL代码行数估算软件规模的特点优点:简单易行43(2)文本复杂性度量程序语言符号长度N=N1+N2N1:程序中操作符个数 n1:程序中不同操作符个数N2:程序中操作数个数 n2:程序中不同操作数个数
估算公式 N=n1log2n1+n2log2n2程序量V=Nlog2(n1+n2)(2)文本复杂性度量程序语言符号长度N=N1+N44(3)控制结构的复杂性度量1976,T.J.McCabe基于程序拓扑结构的软件复杂性度量模型巡回秩数V(G)V(G)=e–n+2=边数–结点数+2可以证明:V(G)=有界或无界的封闭区域个数(3)控制结构的复杂性度量1976,T.J.McCab45程序控制结构的复杂性R1R2abcdeR3R1顺序结构R1R2选择结构R1R2While结构R1R2Repeat结构程序控制结构的复杂性R1R2abcdeR3R1顺序结构R1R462.软件可靠性度量软件的可靠性在某个给定时间间隔内,程序按照规格说明成功运行的概率2.软件可靠性度量软件的可靠性47软件修复与软件有效性有效性函数A(t)系统在t时刻正常运行的概率可靠性函数R(t)系统在[0,t]时间间隔正常运行的概率A=MTTF/(MTTF+MTTR)软件修复与软件有效性有效性函数A(t)48软件可靠性估算错误植入模型N:池塘中的鱼尾数Nt:植入的带标记的鱼尾数n:捞出的鱼尾数nt:捞出的带标记的鱼数软件可靠性估算错误植入模型49小结软件评价标准软件结构模块化模块独立性软件度量小结软件评价标准50思考题你认为评价软件好坏有哪些标准?在设计软件结构时应遵循哪些原则?某软件项目如果采用四代语言开发,LOC度量还有意义吗?为什么?一个程序能既正确又不可靠吗?试说明理由。思考题你认为评价软件好坏有哪些标准?51第二章软件质量评价武汉大学计算机学院软件工程课程组软件工程
SoftwareEngineering第二章软件质量评价武汉大学计算机学院软件工程课程组软件52思考?什么是好的软件?软件质量好坏如何评价?思考?什么是好的软件?53第二章 软件质量评价什么是好的软件?有何特点?软件评价的标准如何?什么是软件结构?什么是良软件结构?什么是模块化?模块设计时应遵循的标准是什么?第二章 软件质量评价什么是好的软件?有何特点?54一、软件质量评价标准有效可靠结构清晰用户角度:达到需求、界面友好、简单易学开发人员角度:良结构、易测试、易维护、可移植…文档齐全一、软件质量评价标准有效可靠55二、软件结构软件的各个组成部分之间的关系问题P同一个问题P的三种不同的软件结构二、软件结构软件的各个组成部分之间的关系问题P同一个问题P56基本概念块:可以独立命名和编址的单元扇出:直接由一个块所控制的块数扇入:直接调用它的上级块数目深度:控制的总层数宽度:跨度最宽层的跨度数MM1M2M3N1N2N3N4N31N32软件结构基本概念块:可以独立命名和编址的单元MM1M2M3N1N2N571.良软件结构具有层次性,无回路块调用的软件结构。…线性型树型半序型1.良软件结构具有层次性,无回路块调用的软件结构。…线性型58非良结构的调整网络结构AB合并循环节点良结构AB模块内部复杂性增加了非良结构的调整网络结构AB合并循环节点良结构AB模块内部592.模块化(modularity)模块(module):又称构件,是能够单独命名并独立地完成一定功能的程序语句的集合。模块化把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。“模块化”有助于复杂问题的求解2.模块化(modularity)模块(module):又60模块化的依据c(x):问题x的复杂程度E(x):解决问题x需要的工作量(时间)对于两个问题P1和P2 if C(P1)>C(P2) then E(P1)>E(P2)根据人们求解问题的经验,有规律:C(P1+P2)>C(P1)+C(P2) 则有E(P1+P2)>E(P1)+E(P2)即“分而治之”有助于复杂问题的求解。如果把软件无限细分,会出现什么样的情况?模块化的依据c(x):问题x的复杂程度如果把软件无限细分61块的划分与总工作量之间的关系接口成本最小成本区域总成本块成本成本(工作量)模块数M模块划分的合理性。模块两个定性的标准:内聚和耦合。块的划分与总工作量之间的关系接口成本最小成本区域总成本块成本62模块的重要特征抽象(abstraction)我们在考虑问题时,集中考虑和当前问题有关的方面,而忽略和当前问题无关的方面,这就是抽象。或者说抽象就是抽出事物的本质特性而暂时不考虑它们的细节。在对软件系统进行模块设计时,可以有不同的抽象层次。忽略细节,分层理解问题,自顶向下层层细化信息隐藏(informationhiding)细节隐藏可理解性修改副作用小错误副作用小模块的重要特征抽象(abstraction)63例:开发一个CAD软件,实现一个二维绘图系统的全部功能,供低级计算机辅助设计使用。抽象层次I
用问题环境的术语来描述这个软件该软件包括一个计算机绘图界面,向绘图员显示图形,以及一个数字化仪界面,用以代替绘图板和丁字尺。所有直线、折线、矩形、圆及曲线的描画、所有的几何计算、所有的剖面图和辅助视图都可以用这个CAD软件实现……模块化的抽象特征例:开发一个CAD软件,实现一个二维绘图系统的全部功能,供低64模块化的抽象特征抽象层次II
任务需求的描述,列出“What”而不是“How”CADSOFTWARETASKS:userinteractiontask;2-Ddrawingcreationtask;graphicsdisplaytask;drawingfilemanagementtask;END模块化的抽象特征抽象层次II65模块化的抽象特征抽象层次III
程序过程表示(以2-D绘图生成任务为例)
PROCEDURE2-DdrawingcreationREPEATUNTILE(drawingcreationtaskterminates)DOWHILE(digitizerinteractionoccurs)Digitizerinterfacetask;DETERMINEdrawingrequestCASELine:linedrawingtask;Rectangle:rectangledrawingtask;Circle:circledrawingtask;……END;DOWHILE(keyboardinteractionoccurs)keyboardinteractiontask;PROCESSanalysis/computationCASEView:auxiliaryviewtask;Section:crosssectioningtask;……END;……ENDREPETITION;ENDPROCEDURE.模块化的抽象特征抽象层次III663.模块独立性(Moduleindependence)好设计的关键: 每个模块完成一个相对独立的子功能,并且与其它模块间的接口简单。独立性的度量(Yourdon&Constantine,1978)
耦合(Coupling)—块间联系
内聚(Cohesion)—块内联系3.模块独立性(Moduleindependence)好67(1)耦合(Coupling)GreatdealofdependenceIndependent
HighlycoupledLooselycoupledUncoupledGoal:aslooseaspossible=asindependentaspossible
对一个软件结构内不同模块之间互连程度的度量
(1)耦合(Coupling)Greatdealofd68零耦合(uncoupling)彼此完全独立,这意味着模块间无任何连接,耦合程度最低UncoupledAB零耦合(uncoupling)彼此完全独立,这意味着模块间无69数据耦合(DataCoupling)一个模块访问另一个模块时,彼此间通过参数交换信息,而且交换的信息仅仅是数据ThemostdesirableABData数据耦合(DataCoupling)一个模块访问另一个模块70控制耦合(ControlCoupling)指一个模块调用另一个模块时,传递的信息中有控制信息(尽管有时这种控制信息以数据的形式出现)ABFlagF2FnF1…………Flag控制耦合增加了理解与编程及修改的复杂性。控制耦合(ControlCoupling)指一个模块调用另71公共环境耦合(CommonCoupling)两个或多个模块通过一个公共数据环境相互作用Global:V1V2A:……………………A1=V1+V2……………………B:……………………V1=B1……………………Global:V1V2A:……………………V1++……………………B:……………………V2=B1+V1……………………问题:复杂程度随耦合模块的个数增加而增加公共部分的数据存取无法控制公共部分的改动将影响所有调用它的模块,可维护性差公共环境耦合(CommonCoupling)两个或多个模块72内容耦合(ContentCoupling)一个模块访问另一个模块的内部数据一个模块不通过正常入口而转到另一个模块的内部两个模块有一部分程序代码重叠(只可能出现在汇编程序中)一个模块有多个入口
Theleastdesirable内容耦合(ContentCoupling)一个模块访问另一73内容耦合例1. A访问C的内部数据或不通过正常入口而转入C的内部。……ABCDA:……………………gotoC1……………………C:……………………C1:…………内容耦合例1. A访问C的内部数据或不通过正常入口而转入C的74内容耦合例2. 部分代码重叠 (常出现在汇 编程序中)BA例3. 一个模块有 多 个入口(功能)A:………………………………entry1:………………………………entry2:………………………………内容耦合例2. 部分代码重叠 (常出现在汇 编程序中)B75耦合度与软件结构类型耦合度模块独立性软件结构零耦合低高强弱好差数据耦合控制耦合公共环境耦合内容耦合原则:尽量使用数据耦合,少用控制耦合,限制公共环境耦合的范围,完全不用内容耦合。耦合度与软件结构类型耦合度模块独立性软件结构零耦合低强76思考题ABDCFE132456模块互连图模块接口描述编号输入输出1飞机类型状态标志2飞机零件清单3功能代码4飞机零件清单5零件编号零件制造商6零件编号零件名称已知模块A、E和F更新同一个数据库,请确定模块之间的耦合类型。思考题ABDCFE132456模块互连图模块接口描述编号输入77(2)内聚(Cohesion)Goal: ascohesiveaspossible!一个模块内各个元素彼此结合的紧密程度
理想内聚的模块只做一件事情模块内的高内聚往往意味着模块间的松耦合内聚更重要!(2)内聚(Cohesion)Goal: ascohes78偶然内聚(Coincidentalcohesion)Unrelatedfunctions,processes,ordataarefoundinthesamemodule(forconvenience)ABABC语句相同偶然内聚(Coincidentalcohesion)Unr79逻辑内聚(LogicalCohesion)LogicallyrelatedfunctionsordataareplacedinthesamemoduleA:Readinputsfromdiskfromtapefrom……逻辑内聚(LogicalCohesion)Logicall80XYZABC逻辑内聚XYZABCSXYZABC逻辑内聚XYZABCS81时间内聚(Temporalcohesion)ThefunctionsarerelatedonlybythetiminginvolvedinitialxInitialy这种模块在20世纪80年代的应用程序中使用较多。没有任何复用价值。时间内聚(Temporalcohesion)Thefun82过程内聚(Proceduralcohesion)Functionsaregroupedtogetherinamoduletoensureacertainorderofperformanceenterdatacheckdatamanipulatedata过程内聚(Proceduralcohesion)Funct83通信内聚(Communicationalcohesion)AllthefunctionsinamoduleoperateonorproducethesamedatasetX从文件file读出数据由数据产生日报表由数据产生单项产品报表通信内聚(Communicationalcohesion)84顺序内聚(Sequentialcohesion)TheoutputfromonepartofamoduleistheinputtothenextpartX输入系数求根打印方程的根顺序内聚(Sequentialcohesion)Theo85功能内聚(Functionalcohesion)EveryprocessingelementisessentialtotheperformanceofasinglefunctionX报表打印功能内聚(Functionalcohesion)Every86内聚度与软件结构软件结构模块独立性内聚度内聚评分差好弱强低偶然内聚0分逻辑内聚1分时间内聚3分中过程内聚5分通信内聚7分高顺序内聚9分功能内聚10分设计时力争做到高内聚!不要低内聚!内聚度与软件结构软件结构模块独立性内聚度内聚评分差弱低偶然内87三、软件度量度量(metrics)测量(measure)估算(estimation)软件度量的根本目的是为了管理的需要。利用度量来改进软件过程。
三、软件度量度量(metrics)软件度量的根本目的是为了88软件度量软件复杂性度量规模文本复杂性控制结构的复杂性软件可靠性度量系统故障率软件修复与软件有效性
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 科技创新企业如何构建高效的营销团队
- 《少年闰土》教学设计与反思
- 2025年租赁合同提前解除市场影响
- 二级建造师合作合同样本
- 互助市场拓展合作合同书
- 二手房屋购买合同诚意金约定
- 个人质押与抵押合同
- XX公司员工培训合同协议
- 产品设计与研发合作合同范例
- 个人借款合同格式样本
- 最高人民法院婚姻法司法解释(二)的理解与适用
- 关于医保应急预案
- 新人教版五年级上册数学应用题大全doc
- 商业综合体市场调研报告
- GB/T 42096-2022飞机耐火电缆性能要求
- 2022年版义务教育劳动课程标准学习培训解读课件笔记
- 2022年中国止血材料行业概览:发展现状对比分析研究报告(摘要版) -头豹
- 一起重新构想我们的未来:为教育打造新的社会契约
- GB/T 4214.2-2020家用和类似用途电器噪声测试方法真空吸尘器的特殊要求
- GB/T 22482-2008水文情报预报规范
- 蔬菜采购项目投标书
评论
0/150
提交评论