版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1Chapter8DesignConceptsSoftwareEngineering:APractitioner’sApproach,7/e
byRogerS.Pressman1Chapter8DesignConceptsSoftw2DesignGoodsoftwaredesignshouldexhibit:Firmness(稳定性):Aprogramshouldnothaveanybugsthatinhibititsfunction.Commodity(适用性):Aprogramshouldbesuitableforthepurposesforwhichitwasintended.Delight(令人愉快):
Theexperienceofusingtheprogramshouldbepleasurableone.2DesignGoodsoftwaredesignsh3AnalysisModel=>DesignModel3AnalysisModel=>DesignMode43CharactersofDesignQualitythedesignmustimplementalloftheexplicit(明确的)requirementscontainedintheanalysismodel,anditmustaccommodatealloftheimplicit(隐含的)requirementsdesiredbythecustomer.thedesignmustbeareadable,understandableguideforthosewhogeneratecodeandforthosewhotestandsubsequentlysupportthesoftware.thedesignshouldprovideacompletepicture(全貌)ofthesoftware,addressingthedata,functional,andbehavioraldomainsfromanimplementationperspective.43CharactersofDesignQualit5QualityGuidelinesAdesignshouldexhibitanarchitecturethat(1)hasbeencreatedusingrecognizablearchitecturalstylesorpatterns,(2)iscomposedofcomponentsthatexhibitgooddesigncharacteristicsand(3)canbeimplementedinanevolutionaryfashionAdesignshouldbemodular;thatis,thesoftwareshouldbelogicallypartitionedintoelementsorsubsystemsAdesignshouldcontainrepresentationsofdata,architecture,interfaces,andcomponents.Adesignshouldleadtodatastructuresthatareappropriatefortheclassestobeimplemented.Adesignshouldleadtocomponentsthatexhibitindependentfunctionalcharacteristics.Adesignshouldleadtointerfacesthatreducethecomplexityofconnectionsbetweencomponentsandwiththeexternalenvironment.Adesignshouldbederivedusingarepeatablemethodthatisdrivenbyinformationobtainedduringsoftwarerequirementsanalysis.Adesignshouldberepresentedusinganotationthateffectivelycommunicatesitsmeaning.5QualityGuidelinesAdesignsh6DesignPrinciplesThedesignshouldbetraceabletotheanalysismodel.Thedesignshouldnotreinvent(彻底改造)thewheel.Thedesignshould“minimizethedistance”betweenthesoftwareandtheproblemasitexistsintherealworld.Thedesignshouldexhibituniformityandintegration.Thedesignshouldbestructuredtoaccommodatechange.Thedesignshouldbeassessedforqualityasitisbeingcreated,notafterthefact.Thedesignshouldbereviewedtominimizeconceptual(semantic)errors.Designisnotcoding,codingisnotdesign.FromDavis[DAV95]6DesignPrinciplesThedesigns7FundamentalConceptsAbstraction—data,procedureArchitecture(架构)—theoverallstructureofthesoftwarePatterns—conveys(承载)theessence(精髓)ofaprovendesignsolutionModularity—compartmentalization(划分)ofdataandfunctionInformationhiding—controlledinterfacesFunctionalindependence—single-mindedfunctionandlowcouplingAspects—amechanismforunderstandinghowglobalrequirementsaffectdesignRefactoring(重构)—areorganizationtechniquethatsimplifiesthedesignDesignClasses—providedesigndetailthatwillenableanalysisclassestobeimplemented7FundamentalConceptsAbstracti8DataAbstractiondoorimplementedasadatastructuremanufacturermodelnumbertypeswingdirectioninsertslightsweightopeningmechanism8DataAbstractiondoorimplement9ProceduralAbstractionopenimplementedwitha"knowledge"oftheobjectthatisassociatedwithenterdetailsofenteralgorithm9ProceduralAbstractionopenimp10Architecture“Theoverallstructureofthesoftwareandthewaysinwhichthatstructureprovidesconceptualintegrityforasystem.”Structuralproperties.
Thisaspectofthearchitecturaldesignrepresentationdefinesthecomponentsofasystem(e.g.,modules,objects)andthemannerinwhichthosecomponentsarepackagedandinteractwithoneanother.Forexample,objectsencapsulatebothdataandtheprocessingthatmanipulatesthedata.Extra-functionalproperties.Thearchitecturaldesigndescriptionshouldaddresshowthedesignarchitectureachievesrequirementsforperformance,capacity,reliability,security,adaptability,andothersystemcharacteristics.Families(族)ofrelatedsystems.Thearchitecturaldesignshoulddrawuponrepeatablepatternsthatarecommonlyencounteredinthedesignoffamiliesofsimilarsystems.Thedesignshouldhavetheabilitytoreusearchitecturalbuildingblocks.10Architecture“Theoverallstr11ArchitectureInthesimplestform,architectureisthestructureororganizationofprogramcomponents(modules),themannerinwhichthesecomponentsinteract,andthestructureofdatathatareusedbythecomponents.Inabroadersense,componentscanbegeneralizedtorepresentmajorsystemelementsandtheirinteractions.11ArchitectureInthesimplest12Modularity"modularityisthesingleattributeofsoftwarethatallowsaprogramtobeintellectuallymanageable".Monolithic(整块庞大的)software(i.e.,alargeprogramcomposedofasinglemodule)cannotbeeasilygrasped()byasoftwareengineer.Thenumberofcontrolpaths,spanofreference(引用跨度),numberofvariables,andoverallcomplexitywouldmakeunderstandingclosetoimpossible.Inalmostallinstances,youshouldbreakthedesignintomanymodules,hopingtomakeunderstandingeasierandasaconsequence,reducethecostrequiredtobuildthesoftware.12Modularity"modularityisthe13Modularity:numberofmodulesWhatisthe"right"numberofmodulesforaspecificsoftwaredesign?optimalnumberofmodulescostofsoftwarenumberofmodulesmoduleintegrationcostmoduledevelopmentcost13Modularity:numberofmodule14WhyInformationHiding?reducesthelikelihoodof“sideeffects”limitstheglobalimpactoflocaldesigndecisionsemphasizescommunicationthroughinterfacesdiscouragestheuseofglobaldataleadstoencapsulation—anattributeofhighqualitydesignresultsinhigherqualitysoftware14WhyInformationHiding?reduc15InformationHidingmoduleinterface"secret"•algorithm•datastructure•detailsofexternalinterface•resourceallocationpolicyclientsaspecificdesigndecision15InformationHidingmoduleinte16SizingModules:TwoViews16SizingModules:TwoViews17FunctionalIndependenceFunctionalindependenceisachievedbydevelopingmoduleswith"single-minded"functionandan"aversion"toexcessiveinteractionwithothermodules.Cohesion(内聚性)isanindicationoftherelativefunctionalstrengthofamodule.Acohesivemoduleperformsasingletask,requiringlittleinteractionwithothercomponentsinotherpartsofaprogram.Statedsimply,acohesivemoduleshould(ideally)dojustonething.Coupling(耦合性)isanindicationoftherelativeinterdependenceamongmodules.Couplingdependsontheinterfacecomplexitybetweenmodules,thepointatwhichentryorreferenceismadetoamodule,andwhatdatapassacrosstheinterface.17FunctionalIndependenceFunct18AspectAnaspectisarepresentationofacross-cuttingconcern.(横切关注点:利用“横切”技术,剖开封装的对象内部,将那些影响多个类的公共行为封装成一个可重用对象,称为Aspect)。ConsidertworequirementsAandB.BcrosscutsAifasoftwaredecompositionhasbeenchoseninwhichAcannotbesatisfiedwithouttakingB.AOP(AspectOrientedProgramming)是OOP的补充和完善。如:业务处理的主要流程是核心关注点,与之关系不大的部分是横切关注点,如权限认证、日志、事务处理等,可以将核心关注点和横切关注点分离开来。18AspectAnaspectisareprese19显示更新的需求:无论图元何时移动、移动到哪里,都要通知屏幕管理器(Display)其位置发生了改变。Aspect-Example19显示更新的需求:无论图元何时移动、移动到哪里,都要通知屏20采用OOP,典型做法是在每个移动图元的操作代码中,插入一段通知Display其位置发生改变的代码,即:调用Display.update()。ClassLine{privatePoint_p1,_p2;PointgetP1(){return_p1;}PointgetP2(){return_p2;}voidsetP1(Pointp1){ this._p1=p1;
Display.update();}voidsetP2(Pointp2){ this._p2=p2;
Display.update();}}ClassPoint{privateint_x1,_x2;intgetX(){return_x1;}intgetY(){return_x2;}voidsetX(intx1){ this._x1=x1;
Display.update();}voidsetY(intx2){ this._x2=x2;
Display.update();}}Aspect-Example20采用OOP,典型做法是在每个移动图元的操作代码中,21AspectDisplayUpdating{Pointcutmove():call(voidLine.setP1(Point))||call(voidLine.setP2(Point))||call(voidPoint.setX(int))||call(voidPoint.setY(int));after()returning:move(){
Display.update();}}ClassLine{
privatePoint_p1,_p2;
PointgetP1(){return_p1;}
PointgetP2(){return_p2;}
voidsetP1(Pointp1){
this._p1=p1;
}
voidsetP2(Pointp2){
this._p2=p2;
}
}
ClassPoint{
privateint_x1,_x2;
intgetX(){return_x1;}
intgetY(){return_x2;}
voidsetX(intx1){
this._x1=x1;
}
voidsetY(intx2){
this._x2=x2;
}
}
采用AOP,典型做法是在将所有移动图元的代码封装成一个Aspect:DisplayUpdating{}。Aspect-Example21AspectDisplayUpdating{Class22Aspect—AnExampleConsidertworequirementsfortheSafeHomeAWebApp.RequirementAisdescribedviatheuse-caseAccesscamerasurveillanceviatheInternet.
Adesignrefinementwouldfocusonthosemodulesthatwouldenablearegisteredusertoaccessvideofromcamerasplacedthroughoutaspace.RequirementBisagenericsecurityrequirementthatstatesthataregisteredusermustbevalidatedpriortousing
SafeHomeA.ThisrequirementisapplicableforallfunctionsthatareavailabletoregisteredSafeHomeusers.Asdesignrefinementoccurs,A*isadesignrepresentationforrequirementAandB*isadesignrepresentationforrequirementB.Therefore,A*andB*arerepresentationsofconcerns,andB*cross-cutsA*.Anaspectisarepresentationofacross-cuttingconcern.Therefore,thedesignrepresentation,B*,oftherequirement,aregisteredusermustbevalidatedpriortousing
SafeHomeA,isanaspectoftheSafeHomeWebApp.22Aspect—AnExampleConsidertw23RefactoringRefactoringistheprocessofchangingasoftwaresysteminsuchawaythatitdoesnotaltertheexternalbehaviorofthecode[design]yetimprovesitsinternalstructure.Whensoftwareisrefactored,theexistingdesignisexaminedforredundancyunuseddesignelementsinefficientorunnecessaryalgorithmspoorlyconstructedorinappropriatedatastructuresanyotherdesignfailurethatcanbecorrectedtoyieldabetterdesign.23RefactoringRefactoringisth24TheDesignModel24TheDesignModel25DesignModelElementsDataelementsDatamodel-->datastructuresDatamodel-->databasearchitectureArchitecturalelementsApplicationdomainAnalysisclasses,theirrelationships,collaborationsandbehaviorsaretransformedintodesignrealizationsInterfaceelementsComponentelementsDeploymentelements25DesignModelElementsDatael26ArchitecturalElementsThearchitecturalmodelisderivedfromthreesources:informationabouttheapplicationdomainforthesoftwaretobebuilt;specificrequirementsmodelelementssuchasdataflowdiagramsoranalysisclasses,theirrelationshipsandcollaborations.theavailabilityofarchitecturalpatterns.26ArchitecturalElementsThear27InterfaceElementsuserinterfaceexternalinterfacestoothersystems,devices.-includecheckinganddefinitiveinformationabouttheinformationissentorreceived(3)internalinterfacesbetweenvariousdesigncomponents.
-aninterfaceisasetofoperationsthatdescribessomepartofthebehaviorofaclassandprovidesaccesstotheseoperations.
27InterfaceElementsuserinter28InterfaceElements28InterfaceElements29ComponentElementscomponent-leveldesigndefinesdatastructuresforalllocaldataobjectsandalgorithmicdetailforallprocessingthatoccurswithinacomponentandaninterfacethatallowsaccesstoallcomponentoperations.29ComponentElementscomponent-30DeploymentElementsIndicatehowsoftwarefunctionalityandsubsystemswillbeallocatedwithinthephysicalcomputingenvironment30DeploymentElementsIndicate31Chapter8DesignConceptsSoftwareEngineering:APractitioner’sApproach,7/e
byRogerS.Pressman1Chapter8DesignConceptsSoftw32DesignGoodsoftwaredesignshouldexhibit:Firmness(稳定性):Aprogramshouldnothaveanybugsthatinhibititsfunction.Commodity(适用性):Aprogramshouldbesuitableforthepurposesforwhichitwasintended.Delight(令人愉快):
Theexperienceofusingtheprogramshouldbepleasurableone.2DesignGoodsoftwaredesignsh33AnalysisModel=>DesignModel3AnalysisModel=>DesignMode343CharactersofDesignQualitythedesignmustimplementalloftheexplicit(明确的)requirementscontainedintheanalysismodel,anditmustaccommodatealloftheimplicit(隐含的)requirementsdesiredbythecustomer.thedesignmustbeareadable,understandableguideforthosewhogeneratecodeandforthosewhotestandsubsequentlysupportthesoftware.thedesignshouldprovideacompletepicture(全貌)ofthesoftware,addressingthedata,functional,andbehavioraldomainsfromanimplementationperspective.43CharactersofDesignQualit35QualityGuidelinesAdesignshouldexhibitanarchitecturethat(1)hasbeencreatedusingrecognizablearchitecturalstylesorpatterns,(2)iscomposedofcomponentsthatexhibitgooddesigncharacteristicsand(3)canbeimplementedinanevolutionaryfashionAdesignshouldbemodular;thatis,thesoftwareshouldbelogicallypartitionedintoelementsorsubsystemsAdesignshouldcontainrepresentationsofdata,architecture,interfaces,andcomponents.Adesignshouldleadtodatastructuresthatareappropriatefortheclassestobeimplemented.Adesignshouldleadtocomponentsthatexhibitindependentfunctionalcharacteristics.Adesignshouldleadtointerfacesthatreducethecomplexityofconnectionsbetweencomponentsandwiththeexternalenvironment.Adesignshouldbederivedusingarepeatablemethodthatisdrivenbyinformationobtainedduringsoftwarerequirementsanalysis.Adesignshouldberepresentedusinganotationthateffectivelycommunicatesitsmeaning.5QualityGuidelinesAdesignsh36DesignPrinciplesThedesignshouldbetraceabletotheanalysismodel.Thedesignshouldnotreinvent(彻底改造)thewheel.Thedesignshould“minimizethedistance”betweenthesoftwareandtheproblemasitexistsintherealworld.Thedesignshouldexhibituniformityandintegration.Thedesignshouldbestructuredtoaccommodatechange.Thedesignshouldbeassessedforqualityasitisbeingcreated,notafterthefact.Thedesignshouldbereviewedtominimizeconceptual(semantic)errors.Designisnotcoding,codingisnotdesign.FromDavis[DAV95]6DesignPrinciplesThedesigns37FundamentalConceptsAbstraction—data,procedureArchitecture(架构)—theoverallstructureofthesoftwarePatterns—conveys(承载)theessence(精髓)ofaprovendesignsolutionModularity—compartmentalization(划分)ofdataandfunctionInformationhiding—controlledinterfacesFunctionalindependence—single-mindedfunctionandlowcouplingAspects—amechanismforunderstandinghowglobalrequirementsaffectdesignRefactoring(重构)—areorganizationtechniquethatsimplifiesthedesignDesignClasses—providedesigndetailthatwillenableanalysisclassestobeimplemented7FundamentalConceptsAbstracti38DataAbstractiondoorimplementedasadatastructuremanufacturermodelnumbertypeswingdirectioninsertslightsweightopeningmechanism8DataAbstractiondoorimplement39ProceduralAbstractionopenimplementedwitha"knowledge"oftheobjectthatisassociatedwithenterdetailsofenteralgorithm9ProceduralAbstractionopenimp40Architecture“Theoverallstructureofthesoftwareandthewaysinwhichthatstructureprovidesconceptualintegrityforasystem.”Structuralproperties.
Thisaspectofthearchitecturaldesignrepresentationdefinesthecomponentsofasystem(e.g.,modules,objects)andthemannerinwhichthosecomponentsarepackagedandinteractwithoneanother.Forexample,objectsencapsulatebothdataandtheprocessingthatmanipulatesthedata.Extra-functionalproperties.Thearchitecturaldesigndescriptionshouldaddresshowthedesignarchitectureachievesrequirementsforperformance,capacity,reliability,security,adaptability,andothersystemcharacteristics.Families(族)ofrelatedsystems.Thearchitecturaldesignshoulddrawuponrepeatablepatternsthatarecommonlyencounteredinthedesignoffamiliesofsimilarsystems.Thedesignshouldhavetheabilitytoreusearchitecturalbuildingblocks.10Architecture“Theoverallstr41ArchitectureInthesimplestform,architectureisthestructureororganizationofprogramcomponents(modules),themannerinwhichthesecomponentsinteract,andthestructureofdatathatareusedbythecomponents.Inabroadersense,componentscanbegeneralizedtorepresentmajorsystemelementsandtheirinteractions.11ArchitectureInthesimplest42Modularity"modularityisthesingleattributeofsoftwarethatallowsaprogramtobeintellectuallymanageable".Monolithic(整块庞大的)software(i.e.,alargeprogramcomposedofasinglemodule)cannotbeeasilygrasped()byasoftwareengineer.Thenumberofcontrolpaths,spanofreference(引用跨度),numberofvariables,andoverallcomplexitywouldmakeunderstandingclosetoimpossible.Inalmostallinstances,youshouldbreakthedesignintomanymodules,hopingtomakeunderstandingeasierandasaconsequence,reducethecostrequiredtobuildthesoftware.12Modularity"modularityisthe43Modularity:numberofmodulesWhatisthe"right"numberofmodulesforaspecificsoftwaredesign?optimalnumberofmodulescostofsoftwarenumberofmodulesmoduleintegrationcostmoduledevelopmentcost13Modularity:numberofmodule44WhyInformationHiding?reducesthelikelihoodof“sideeffects”limitstheglobalimpactoflocaldesigndecisionsemphasizescommunicationthroughinterfacesdiscouragestheuseofglobaldataleadstoencapsulation—anattributeofhighqualitydesignresultsinhigherqualitysoftware14WhyInformationHiding?reduc45InformationHidingmoduleinterface"secret"•algorithm•datastructure•detailsofexternalinterface•resourceallocationpolicyclientsaspecificdesigndecision15InformationHidingmoduleinte46SizingModules:TwoViews16SizingModules:TwoViews47FunctionalIndependenceFunctionalindependenceisachievedbydevelopingmoduleswith"single-minded"functionandan"aversion"toexcessiveinteractionwithothermodules.Cohesion(内聚性)isanindicationoftherelativefunctionalstrengthofamodule.Acohesivemoduleperformsasingletask,requiringlittleinteractionwithothercomponentsinotherpartsofaprogram.Statedsimply,acohesivemoduleshould(ideally)dojustonething.Coupling(耦合性)isanindicationoftherelativeinterdependenceamongmodules.Couplingdependsontheinterfacecomplexitybetweenmodules,thepointatwhichentryorreferenceismadetoamodule,andwhatdatapassacrosstheinterface.17FunctionalIndependenceFunct48AspectAnaspectisarepresentationofacross-cuttingconcern.(横切关注点:利用“横切”技术,剖开封装的对象内部,将那些影响多个类的公共行为封装成一个可重用对象,称为Aspect)。ConsidertworequirementsAandB.BcrosscutsAifasoftwaredecompositionhasbeenchoseninwhichAcannotbesatisfiedwithouttakingB.AOP(AspectOrientedProgramming)是OOP的补充和完善。如:业务处理的主要流程是核心关注点,与之关系不大的部分是横切关注点,如权限认证、日志、事务处理等,可以将核心关注点和横切关注点分离开来。18AspectAnaspectisareprese49显示更新的需求:无论图元何时移动、移动到哪里,都要通知屏幕管理器(Display)其位置发生了改变。Aspect-Example19显示更新的需求:无论图元何时移动、移动到哪里,都要通知屏50采用OOP,典型做法是在每个移动图元的操作代码中,插入一段通知Display其位置发生改变的代码,即:调用Display.update()。ClassLine{privatePoint_p1,_p2;PointgetP1(){return_p1;}PointgetP2(){return_p2;}voidsetP1(Pointp1){ this._p1=p1;
Display.update();}voidsetP2(Pointp2){ this._p2=p2;
Display.update();}}ClassPoint{privateint_x1,_x2;intgetX(){return_x1;}intgetY(){return_x2;}voidsetX(intx1){ this._x1=x1;
Display.update();}voidsetY(intx2){ this._x2=x2;
Display.update();}}Aspect-Example20采用OOP,典型做法是在每个移动图元的操作代码中,51AspectDisplayUpdating{Pointcutmove():call(voidLine.setP1(Point))||call(voidLine.setP2(Point))||call(voidPoint.setX(int))||call(voidPoint.setY(int));after()returning:move(){
Display.update();}}ClassLine{
privatePoint_p1,_p2;
PointgetP1(){return_p1;}
PointgetP2(){return_p2;}
voidsetP1(Pointp1){
this._p1=p1;
}
voidsetP2(Pointp2){
this._p2=p2;
}
}
ClassPoint{
privateint_x1,_x2;
intgetX(){return_x1;}
intgetY(){return_x2;}
voidsetX(intx1){
this._x1=x1;
}
voidsetY(intx2){
this._x2=x2;
}
}
采用AOP,典型做法是在将所有移动图元的代码封装成一个Aspect:DisplayUpdating{}。Aspect-Example21AspectDisplayUpdating{Class52Aspect—AnExampleConsidertworequirementsfortheSafeHomeAWebApp.RequirementAisdescribedviatheuse-caseAccesscamerasurveillanceviatheInternet.
Adesignrefinementwouldfocusonthosemodulesthatwouldenablearegisteredusertoaccessvideofromcamerasplacedthroughoutaspace.RequirementBisagenericsecurityrequirementthatstatesthataregisteredusermustbevalidatedpriortousing
SafeHomeA.ThisrequirementisapplicableforallfunctionsthatareavailabletoregisteredSafeHomeusers.Asdesignrefinementoccurs,A*isadesignrepresentationforrequirementAandB*isadesignrepresentationforrequirementB
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 IEC 60092:2025 SER EN-FR Electrical installations in ships - ALL PARTS
- 新疆维吾尔自治区乌鲁木齐市米东区三校联考 2024-2025学年 高二上学期期末考试 化学试题(含答案)
- 陕西省汉中市宁强县2024-2025学年八年级上学期1月期末考试生物试卷(含答案)
- 年产1万吨全谷物(蒸谷米)深加工项目可行性研究报告写作模板-申批备案
- 安徽省安庆市怀宁县2024-2025学年高二上学期1月期末考试化学试题(含答案)
- 化学-山东省潍坊市、临沂市2024-2025学年度2025届高三上学期期末质量检测试题和答案
- 2025年度卓尔系智慧城市建设合作协议3篇
- 2025年度出租车承包运营服务质量评价合同3篇
- 2024牙科医疗信息管理系统合同
- 2024高端制造设备进口合同
- 领导学 课件全套 孙健 第1-9章 领导要素- 领导力开发
- 2024-2025学年七年级上学期语文期末考前押题卷(统编版2024+含答案)
- 土建定额培训课件
- ISO 56001-2024《创新管理体系-要求》专业解读与应用实践指导材料之13:“6策划-6.2创新目标及其实现的策划”(雷泽佳编制-2025B0)
- 2024年保护环境的建议书范文(33篇)
- 退休人员公益活动合作合同
- 四年级数学(四则混合运算带括号)计算题专项练习与答案
- 急诊创伤疼痛护理
- 2022年期货从业资格《期货基础知识》考试题库(含典型题)
- 浙江省湖州市2023-2024学年高二上学期期末调研测试数学试题 含解析
- 浙江省杭州市萧山区2023-2024学年高二上学期1月期末考试物理试题(含答案)
评论
0/150
提交评论