版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件体系结构(1)软件体系结构概述胡军副教授湖南大学SoftwareArchitecture目录课程简介1软件体系结构的定义和发展综述2软件体系结构的发展方向32授课教师简历胡军浙江大学计算机学院计算机科学与技术专业工学博士联合国大学软件研究所访问学者英国南安普顿大学电子与计算机学院访问学者主要研究方向为:多主体系统;人工智能;软件工程联系方式办公室:工会楼510or基地204Telmail:hujun111@QQ:478856953课程介绍教材及参考书张友生等编著,软件体系结构原理、方法与实践,清华大学出版社,2009。覃征等,软件体系结构(第二版),清华大学出版社,2008。Ericfreeman,etc著,HeadFirst设计模式(中文版),中国电力出版社,2007。ErichGamma等著,设计模式:可复用面向对象软件的基础,机械工业出版社,2000。4教材5教材6课程介绍课程目标掌握软件体系结构的概念、组成和相关领域国内外研究现状。明确软件体系结构划分标准、设计原则。学习软件体系结构构建模型、软件体系结构风格与模式、软件体系结构形式化描述方法、软件体系结构评估方法、加强学生的面向对象设计开发思想、理解设计模式的概念、掌握常用的设计模式的使用方法,并掌握在实际系统开发过程中分析、设计、应用软件体系结构思想的技能。7课程介绍课程安排(软件体系结构部分)第一讲:软件体系结构概述第二讲:软件体系结构风格与模式第三讲:软件体系结构描述语言第四讲:动态软件体系结构第五讲:基于体系结构的软件开发、分析与测试第六讲:软件体系结构评估第七讲:软件产品线体系结构第八讲:软件体系结构研究的展望8课程介绍课程安排(软件设计模式部分)第一讲:设计模式入门、策略模式第二讲:工厂方法和装饰者模式第三讲:模版方法和迭代器模式第四讲:组合和抽象工厂模式第五讲:生成器、单件、代理和中介模式第六讲:适配器、桥接、观察着和责任链模式第七讲:备忘录、MVC和命令模式第八讲:状态、解释器和外观模式第九讲:原型、访问者和享元模式9课程体系10软件体系结构与设计软件体系结构概念、描述软件体系结构风格和模式软件设计模式基于设计模式的软件设计基于软件体系结构的软件开发软件体系结构还有什么研究问题目录课程简介1软件体系结构的定义和发展综述2软件体系结构的发展方向311研究背景什么是软件软件一般认为由三部分组成:程序:在运行时,能提供所希望的功能和性能的指令集。数据结构:使程序能够正确运行的数据结构。文档:描述程序研制过程、方法及使用的文档。12研究背景软件的特点抽象性:逻辑实体,可记录,但看不到可复制性:与开发成本相比,复制成本很低无折旧受硬件制约未完全摆脱手工工艺开发费用高13研究背景计算机软件发展的三个时期早期时代(60年代中期之前)程序设计阶段硬件通用,软件专用;程序规模小,编写者和使用者为同一人(同组人)。第二代(60年代中期-70年代中期)
程序系统阶段出现“软件作坊”、产品软件;“个体化”开发方法。第三代(70年代中期之后)软件工程阶段软件开发成为一门新兴的工程学科——软件工程。14研究背景15程序设计程序系统软件工程软件范畴程序程序及说明书产品软件(项目软件)主要程序设计语言汇编及机器语言高级语言高级语言系统软件工作范围程序编写设计、测试软件生存期需求者程序设计者本人少数用户市场用户计算机软件发展的三个时期及特点研究背景16程序设计程序系统软件工程维护责任者程序设计者开发小组专职维护人员硬件特征价高、存储量小、稳定性差价低、速度、容量、稳定性明显提高向超高速、大容量、微型化发展软件特征完全不受重视软件技术的发展不满足需要,出现软件危机开发技术有进步,但未获得突破性进展,软件危机没有完全摆脱计算机软件发展的三个时期及特点研究背景我们需要的是软件符合质量要求!!软件需求是进行“质量”度量的基础,与需求不符就是质量不高。通常有一组“隐含需求(implicitrequirements)”是不被提及的(如对维护性的需求)。如果软件符合了明确的需求却没有满足隐含需求,软件质量仍然值得怀疑。17性能Performance可用性Usability可靠性Availability可扩展性Extensibility安全性Security功能性Functionality为什么需要软件体系结构
随着社会的巨大进步,计算机系统的整体发展,新技术的不断涌现,使计算机应用的需求迅速增加。而软件费用的增加,高可靠性能下降,维护工作量增大,出现了严重的“软件危机”。软件危机已经持续了三十多年,表现为:软件的产品质量难以保障软件的开发效率难以提高18为什么需要软件体系结构19软件失败SoftwareFailure最常见错误形式:变量取值超过允许范围用户使用软件超载(Overload)现代系统的复杂性往往集中于软件部分(complexity)代码正确,设计错误(DesignError)其他软件开发者不参与情况下操作系统以及硬件改变软件失败的原因2023/2/6研究背景解决问题的想法更好的管理(Bettermanagement)出众的团队组织(Differentteamorganizations)更好的语言和工具(Betterlanguages&tools)统一的编程规范(Uniformcodingconventions)
必须意识到:“软件”≠编程,它有自己的生命周期(lifecycle)。大型软件系统的开发与其它工程项目如建造桥梁、制造飞机、轮船等的开发是同理的。20研究背景21软件质量问题对经济的影响:美国NIST(国家商业标准和技术)报告,“由于软件bug的普遍存在,使美国经济每年损失$590.5亿美元”,而Standish组织的数据是每年2000亿美元改进软件质量已经成为取得高投资回报率的直接途径,质量低的公司只会被遗忘软件质量问题对生命安全的威胁:1963年,美国金星探测火箭飞行失败,造成经济损失达一千万美元,因为控制程序中的一个极小的错误,即将一逗号误写为一小数点!由于着陆系统的高度报警程序问题部分导致了1997年发生在关岛的韩国客机空难,228人遇难。1996年,欧洲耗资高达7亿美元的Ariane5火箭发射后解体爆炸,究其原因是惯性参考系统中的一个软件设计错误,并由于认为这个软件不会发生错误而缺乏充分的测试。......研究背景如果有什么东西可以在软件开发之前用于描述软件,并能进行质量分析,从而保证软件质量就好了~软件体系结构22软件体系结构起源23结构设计师:设计图纸管理人员:施工计划施工人员:建造建筑物软件体系结构思想来源于建筑业2023/2/6软件体系结构起源24建立模型2023/2/6软件体系结构起源25站点外表结构服务空间计划结构设计2023/2/6软件体系结构起源26最终的建筑2023/2/6鸟巢更多的建筑源自于体系结构设计27玛雅阿兹特克金字塔瑞士保险公司大楼2023/2/6如果建筑的复杂度还不够高,那么一个城市呢?282023/2/6软件体系结构的本意29对于大规模的,分布的,需要协作的,需要交互的,需要监测的,需要扩展的,需要演化的复杂软件系统的规划。2023/2/6软件体系结构发展简史程序设计语言的进化——抽象级别(Abstract
Level)30面向代码段面向问题空间面向机器面向机器
是一种针对如何直接操作机器指令来使用计算机资源的抽象级别。面向代码段将可复用的功能代码总结和包装以保证重用。如基本的数值计算,过程控制等。面向问题空间
是这样一种抽象级别。它直接将问题空间中的实体以及实体的关系表达出来。如利用“类”来表示物理世界的实物。软件体系结构发展简史软件开发的进化——关注点(Concern)311灵活使用机器使用的底层指令和数据(Primitiveinstructionsanddata)2提高开发效率、代码可读性、易维护性(Efficiencyandconvenience
incodereadingandmaintenance)3实现软件产品线式生产(Software
Product
Line)软件体系结构发展简史1960年代,软件危机爆发1968年,软件工程被提出NATOsoftwareengineeringconference1968年,软件体系结构思想被提出“TheStructureofthe‘THE’MultiprogrammingSystem”authoredbyEdsgerDijkstra(艾德勒戴克斯加,荷兰)1975年,软件体系结构思想被升华“Architectureisthecompleteanddetailedspecificationoftheuserinterface”
byFrederick
Brooks(弗兰德里克布鲁克斯,美国)32EdsgerDijkstraFrederickP.Brooks软件体系结构发展简史1972~1976年,现代软件开发思想被提出informationhidingandusageofinterface(Parnas,1972)structureseparation
(Parnas,
1974)therelationshipsbetweensoftwarestructureanditsquality(Parnas,1976)戴维帕纳斯,美国1991年,”SoftwareArchitecture”在正式文献中被使用SoftwareArchitecture:IntegratingProcessandTechnology
authoredWalkerE.RoyceandWinstonW.Royce沃克罗伊斯;温斯顿罗伊斯,美国33
DavidParnasWalkerE.Royce软件体系结构发展简史1993年,SoftwareArchitecture被定义,此定义成为软件体系结构研究的公认基础AnIntroductiontoSoftwareArchitectureauthoredbyDavidGarlanandMaryShaw20世纪90年代,软件体系结构描述语言(ADL)兴盛Darwin,Wright,C2,Rapide,MetaH,ACME,…20世纪90年代,软件体系结构评估方法兴起SAAM,ATAM,…2000年,IEEE1471-2000标准IEEERecommendedpracticeforarchitecturaldescriptionofsoftware-intensivesystems
34软件体系结构发展简史2000年,SoftwareArchitecture
Product
LineTheDesignandUseofSoftwareArchitectureauthoredbyBosch2003年,UML2.0发布2000年至今,动态软件体系结构π-ADL,LIME,dynamic
Wright,…
35一些经典的文献列表M.ShawandD.Garlan,“AnIntroductiontoSoftwareArchitecture,”V.AmbriolaandG.Tortora,eds.,AdvancesinSoftwareEngineeringandKnowledgeEngineering,vol.2,WorldScientificPublishing,1993,pp.1–39D.E.PerryandA.L.Wolf,“FoundationsfortheStudyofSoftwareArchitecture,”ACMSoftwareEng.Notes,vol.17,no.4,1992,pp.40–52.D.L.Parnas,“OntheCriteriatoBeUsedinDecomposingSystemsintoModules,”Comm.ACM,vol.15,no.12,1972,pp.1053–1058.D.L.Parnas,“OntheDesignandDevelopmentofProgramFamilies,”IEEETrans.SoftwareEng.,vol.2,no.1,1976,pp.1–9.D.L.Parnas,P.Clements,andD.M.Weiss,“TheModularStructureofComplexSystems,”IEEETrans.SoftwareEng.,vol.11,no.3,1985,pp.259–266.F.DeRemerandH.Kron,“Programming-in-the-LargeversusProgramming-in-the-Small,”Proc.Int’lConf.ReliableSoftware,ACMPress,1975,pp.114–121.
36一些经典的文献列表D.Soni,R.Nord,andC.Hofmeister,“SoftwareArchitectureinIndustrialApplications,”Proc.17thInt’lConf.SoftwareEng.(ICSE95),ACMPress,1995,pp.196–207.P.Kruchten,“The4+1ViewModelofArchitecture,”IEEESoftware,vol.12,no.6,1995,pp.45–50.B.W.Lampson,“HintsforComputerSystemDesign,”OperatingSystemsRev.,vol.15,no.5,1983,pp.33–48;reprintedinIEEESoftware,vol.1,no.1,1984,pp.11–28.J.A.Mills,“APragmaticViewoftheSystemArchitect,”Comm.ACM,vol.28,no.7,1985,pp.708–717.W.E.RoyceandW.Royce,“SoftwareArchitecture:IntegratingProcessandTechnology,”TRWQuest,vol.14,no.1,1991,pp.2–15.M.ShawandP.Clements,“AFieldGuidetoBoxology:PreliminaryClassificationofArchitecturalStylesforSoftwareSystems,”Proc.21stInt’lComputerSoftwareandApplicationsConf.(COMPSAC97),IEEECSPress,1997,pp.6–13.M.Shaw,“TheComing-of-AgeofSoftwareArchitectureResearch,”Proc.23rdInt’lConf.SoftwareEng.(ICSE01),IEEECSPress,2001,pp.656–664a.37软件体系结构发展简史38MaryShaw玛丽娋FrederickBrooks弗兰德里克布鲁克斯BarryBoehm拜瑞波姆CarlissBaldwin卡利斯鲍德温NSF2007ScienceofDesignPrincipalInvestigators'(PI)Meeting软件体系结构发展简史39萌芽期发展期成熟期2023/2/6软件体系结构发展简史402023/2/6那么……41什么是软件体系结构?汽车传动系统设计42Xbox
360使用的三核处理器设计43波音787设计44航空母舰设计概念图45操作系统体系结构(以Ubuntu
Linux为例)46软件体系结构Lightning
Framework47软件体系结构概述自NATO于1968年提出软件工程概念以来,软件工程界已经提出了一系列的理论、方法、语言和工具,解决了软件开发过程中的若干问题.但是,软件固有的复杂性、易变性和不可见性,使得软件开发周期长、代价高和质量低的问题依然存在.大量实践统计表明:大系统软件开发中70%的错误是由需求和软件设计阶段引入的;而且错误在系统中存在的时间愈长则愈难发现,解决这些错误的代价也愈高.为了提高软件需求和软件设计的质量,软件工程界提出了需求分析工程技术和各种软件建模技术.但是在需求与设计之间仍存在一条很难逾越的鸿沟,即缺乏能够反映做决策的中间过程,从而很难有效地将需求转换为相应的设计.为此,软件体系结构概念应运而生,并试图在软件需求与软件设计之间架起一座桥梁,着重解决软件系统的结构和需求向实现平坦地过渡的问题.48软件体系结构概述软件体系结构基本概念就体系结构的本意而言,它是指建立系统时的构造范型、构造风格和构造模式,软件体系结构对于软件系统的构造所起的是指导性的作用,它抛开了软件系统的功能细节,着重于讨论软件系统的总体框架。49开发了5年,投入资金达300多亿美元,历史上代码量最大,达到5000万行,仅核心工程师就有9000人团队的庞大软件开发项目基于软件体系结构的分析、评估、计划、组织、开发、测试软件体系结构概述对于一个软件开发单位来说,选择合适的体系结构是最重要的决策之一.良好的体系结构可以维系软件系统的完整性,使得开发和维护工作不至于杂乱无章;还可以简化软件系统复杂性,让众多的开发单位的软件工程师们能以并行方式开展工作.50软件体系结构概述软件体系结构基本概念广义而言,软件系统结构涉及多方面的内容:软件的成份及系统框架;软件成份的选择,各成分之间的相互作用,软件成份的进一步复合以及指导软件复合过程的总体模式;系统的功能、性能、设计以及从多种方案及选项中进行选择的决策。可见,软件体系结构更为关注的是系统结构及其成份,而方法论更关心系统的开发过程51软件体系结构概述Perry和Wolf根据软件生命周期各阶段相应的实体、属性、关系、主要产品和评估标准,将软件开发过程分为如下阶段:需求分析:主要根据用户的需求,决定软件的功能;体系结构设计:选择构件、构件间相互关系以及对它们的约束,并以此为框架,为详细设计奠定基础;详细设计:主要对系统进行模块化和描述各个构件间的详细接口、算法和数据结构类型等;实现:使用程序设计语言实现设计方案的要求。52软件体系结构概述软件体系结构研究与传统软件工程方法学的不同之处在于:所关心的问题不同描述的着眼点不同抽象层次不同53从不同角度看太阳软件体系结构的研究方法学院派测重于软件体系结构形式化理论研究。注重抽象、规约和演算。实践派将软件体系结构设计、描述与表示同传统的软件系统建模视为一体,以体系结构作为整个软件开发过程的核心。结合派试图将以上二者结合以来,将形式化理论应用于实际项目中。54软件体系结构定义长期以来,CMU-SEI在其网站上公开征集软件体系结构的定义至今已有百余种。最近较有影响力的定义有:
卡耐基梅隆大学Bass等人于2003年在软件构架实践一书中提出,软件体系结构为系统的结构(structureorstructures),包含软件元素、软件元素外部可见的属性以及这些软件元素之间的关系。55软件体系结构定义软件体系结构定义的发展演变IEEE610.12
,1990Vestal,1993Garlan,1993Gacek,1995Bosch,2000Perry,2000
IEEEStd1471-2000,200056软件体系结构定义IEEE610.12(1990年)软件工程标准词汇定义:SA={component,connector,environment,
principle}.体系结构是以构件、构件之间的关系、构件与环境之间的关系为内容的某一系统的基本组织结构,以及指导上述内容设计与演化的原理。57Honeywell实验室的Vestal在1993年提出了如下模型:SA={component,idioms/styles,commonpatternsofinteraction}.软件由构件组成,构件之间通过通用的互操作模式相连。体系结构风格描述了一种通用的设计模式,可满足特定系列的应用需求。58软件体系结构定义卡耐基梅隆大学的Garlan于1993年对软件体系结构做出了如下定义:
SA={Components,Connectors,Constraints}构件(Components)是功能单元,执行预定义的服务并且与其他构件交互。连接器(Connectors)定义交互协议与策略。约束(Constraints)定义了系统必须服从的规则。59软件体系结构定义而南加州大学的软件工程研究中心的Gacek于1995年,提出了如下的概念:SA={Components,Connections,Constraints,StakeholderNeeds,Rationale}60软件体系结构定义在此定义中,构件(component)与连接(connection)的设计将依照涉众(Stakeholder)的需求。涉众(Stakeholder)指参与软件系统项目的人员,包括项目经理,程序员,市场营销人员,消费者与使用者等。理念(Rationale)指权衡存在下的策略。该定义反映了对运行时结构的实际影响因素,是为了使软件体系结构研究能将学术与实际应用联系起来。61软件体系结构定义瑞典Blekinge技术学院的Bosch在2000年则对软件体系结构给出了如下的定义:Thearchitectureofasoftwaresystemisconcernedwiththetop-leveldecompositionofthesystemintoitsmaincomponents.
软件系统的体系结构是对系统从顶层分解为主要构件的考量。decomposition62软件体系结构定义在该定义中,软件体系结构被认为是系统结构的唯一部署,仅关注单一的静态结构。此外需要注意的是,这里的术语component的涵义有所不同,可以被认为是模块——基本的执行单元。63软件体系结构定义2000年Texas大学的Perry&Wolf模型如下:SA={elements,form,rational}.64软件体系结构定义该模型中,软件体系结构是由一组元素(elements)构成。这组元素分成3类:处理元素(processingelements)、数据元素(dataelements)和连接元素(connectingelements)。软件体系结构形式(form)是由专有特性(properties)和关系(relationship)组成。专有特性用于限制软件体系结构元素的选择,关系用于限制软件体系结构元素组合的拓扑结构。在多个体系结构方案中选择合适的体系结构方案往往基于一组准则(rational)。65软件体系结构定义同样在2000年发布的IEEEStd1471-2000,则对软件体系结构做出了如下定义:软件系统的基本组织,包含构件、构件之间、构件与环境之间的关系,以及相关的设计与演化原则等。不仅如此,该标准还对软件体系结构所涉及的相关概念做出了详细定义,例如需求者,架构师,系统涉众等等。66IEEEStd1471-2000中的若干概念获取者(acquirer):
Anorganizationthatprocuresasystem,softwareproduct,orsoftwareservicefromasupplier.(Theacquirercouldbeabuyer,customer,owner,user,orpurchaser.)软件系统或软件产品的接收方架构(architecting):
Theactivitiesofdefining,documenting,maintaining,improving,andcertifyingproperimplementationofanarchitecture.定义,编档,维护,改进和验证体系结构正确实现的一组活动67IEEEStd1471-2000中的若干概念架构师(architect):
Theperson,team,ororganizationresponsibleforsystemsarchitecture.负责软件系统体系结构的个人,团队或者组织体系结构描述(architecturaldescription):Acollectionofproductstodocumentanarchitecture.一组记录软件体系结构的文档体系结构(architecture):Thefundamentalorganizationofasystemembodiedinitscomponents,theirrelationshipstoeachother,andtotheenvironment,andtheprinciplesguidingitsdesignandevolution.软件系统中构件,构件之间的关系,构件与环境之间的关系,以及指导设计和演化的基本组织。68IEEEStd1471-2000中的若干概念生命周期模型(lifecyclemodel):Aframeworkcontainingtheprocesses,activities,andtasksinvolvedinthedevelopment,operation,andmaintenanceofasoftwareproduct,whichspansthelifeofthesystemfromthedefinitionofitsrequirementstotheterminationofitsuse.围绕整个软件开发过程进行的一组过程和活动,以周而复始的方式存在软件系统(system):Acollectionofcomponentsorganizedtoaccomplishaspecificfunctionorsetoffunctions.组织起来完成某些特定功能的一组构件69IEEEStd1471-2000中的若干概念系统涉众(systemstakeholder):Anindividual,team,ororganization(orclassesthereof)withinterestsin,orconcernsrelativeto,asystem.系统利益相关者视图(view):
Arepresentationofawholesystemfromtheperspectiveofarelatedsetofconcerns.整个系统某个特定角度的表示70如何理解软件体系结构71体系结构模型视图2023/2/6软件体系结构视角72DecompositionPerspectiveRuntimePerspective构件/连接器视图73实现视图742023/2/6部署视图752023/2/6行为视图76SequenceDiagram(UML)2023/2/6行为视图77ActivityDiagram(UML)2023/2/6行为视图78State
Diagram
(UML)2023/2/6用例视图792023/2/6软件体系结构的意义体系结构是风险承担者进行交流的手段软件体系结构代表了系统的公共的高层次的抽象。这样,系统的大部分有关人员(即使不是全部)能把它作为建立一个互相理解的基础,形成统一认识,互相交流。体系结构提供了一种共同语言来表达各种关注和协商,进而对大型复杂系统能进行理智的管理。这对项目最终的质量和使用有极大的影响。80软件体系结构的意义体系结构是早期设计决策的体现软件体系结构明确了对系统实现的约束条件软件体系结构决定了开发和维护组织的组织结构软件体系结构制约着系统的质量属性通过研究软件体系结构可能预测软件的质量软件体系结构使推理和控制更改更简单软件体系结构有助于循序渐进的原型设计软件体系结构可以作为培训的基础81软件体系结构的意义软件体系结构是可传递和可重用的模型软件体系结构级的重用意味着体系结构的决策能在具有相似需求的多个系统中发生影响,这比代码级的重用要有更大的好处。82软件产品生产线软件工厂是一个以计算机为依托,并由计算机控制的程序编制环境,程序的制作、检查和使用都应当在此环境中,并运用其中的工具来实现。建设软件工厂是软件工程化生产的大趋势。其实现依赖于对体系结构、模型、方法、工具的研究。83软件产品线84软件生命周期(SoftwareLifeCycle)软件生命周期软件从开发启动启动开始到被放弃为止的过程85要经过若干迭代的过程软件体系结构建模软件体系结构建模的种类结构模型框架模型动态模型过程模型功能模型
86软件体系结构建模软件体系结构建模的种类结构模型这是一个最直观、最普遍的建模方法。这种方法以体系结构的构件、连接件和其他概念来刻画结构,并力图通过结构来反映系统的重要语义内容,包括系统的配置、约束、隐含的假设条件、风格、性质等。研究结构模型的核心是体系结构描述语言。87软件体系结构建模软件体系结构建模的种类框架模型框架模型与结构模型类似,但它不太侧重描述结构的细节而更侧重于整体的结构。框架模型主要以一些特殊的问题为目标建立只针对和适应该问题的结构。
88软件体系结构建模软件体系结构建模的种类动态模型动态模型是对结构或框架模型的补充,研究系统的“大颗粒”的行为性质。例如,描述系统的重新配置或
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 浙江省衢州市2023-2024学年五年级上学期期末科学考试试题
- 广西壮族自治区考试录用公务员(公共基础知识)真题汇编1
- 关于成立化工公司策划书
- 2018年6月15日吉林省公务员考试面试真题
- 河北省公务员面试模拟117
- 浙江申论2001年真题
- 海南省申论模拟32
- 2009年6月15日招警面试真题
- 网络买卖合同纠纷撤销协议书
- 河南申论模拟159
- 有效市场假说
- 喉痹(咽炎)中医护理方案
- DBJ33_T 1268-2022 工程建设工法编制标准
- 感染病例慢性病毒EB感染
- 信息技术学科师徒结对师傅计划
- 目视检测规范
- 综合组教研活动记录【精选文档】
- 上册文字表达式-符号表达式-化学式
- 《优美的人物动态》教学设计
- 精选范文--防高温施工、防汛防台风专项监理实施细则
- 2022年铁路货运员考试题库(汇总版)
评论
0/150
提交评论