版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《软件工程》
SoftwareEngineering2.1 软件生命周期模型概论2.2软件过程模型
2.2.2 原型模型 2.2.3 增量模型 2.2.4 迭代模型 2.2.5 螺旋模型第2章软件生命周期与开发模型 2.2.1 瀑布模型 2.2.6 喷泉模型 2.2.7 XP模型本章小结 2.2.8 其它模型 2.3各种模型之间的关系回顾克服软件危机的途径研究软件开发的本质,消除
错误的认识、概念和做法;研究先进的软件开发技术和方法,推广
使用成功的开发技术和方法;研制使用
软件工具和软件工程支持环境;加强软件管理。回顾“软件”是计算机系统中与硬件相互依存的另一部分。它包括程序、数据及其相关文档的完整集合.软件工程:软件工程指规范地应用各种工程的科学的和数学的原理与方法以经济地生产高质量的软件。软件工程—层次化技术质量焦点过程方法软件工程三要素:方法、工具、过程工具2.1 软件生命周期模型概论软件生命周期包含:软件定义、软件开发、软件运行维护三个时期。并可以细分为可行性研究、项目计划、需求分析、概要设计、详细设计、编码实现与单元测试、系统集成测试、系统确认验证、系统运行与维护等
几个阶段。根据软件的规模、种类、复杂的程度、软件开发组织的经验方法等,各阶段可合并、分解。2023/7/222.1.1 软件定义期1.任务立项与可行性分析
软件项目开始于立项,必须确定待开发软件系统的总目标,给出它的功能、性能、约束、接口以及可靠性等方面的要求;软件立项工作完成之后,需要对软件项目进行可行性分析,针对准备进行开发的软件项目进行风险性评估。
技术可行性、经济可行性和操作可行性2023/7/222.软件需求分析
软件定义期需要达到的目标,要求以用户需求为基本依据,从功能、性能、数据、操作等多个方面,对软件系统给出完整、准确、具体的描述,用于确定软件规格。
需求分析是软件定义到软件开发的最关键步骤。3.制定项目计划
针对项目的开展,从人员、组织、进度、资金、设备等多个方面合理规划。
2023/7/222.1.2 软件开发期1.概要设计
针对软件系统的结构设计,用于从总体上对软件的构造、接口、全局数据结构和数据环境等给出设计说明,形成“概要设计说明书”。2.详细设计
以概要设计为依据,用于确定软件结构中每个模块的内部细节,为编写程序提供最直接的依据。2023/7/223.编码和单元测试在基于软件工程的软件开发过程中,编码往往只是是一项语言转译工作,即把详细设计中的算法描述语言转译成某种适当的高级或者汇编语言。
单元测试用于检验每个基本模块在功能、算法与数据结构上是否符合设计要求。4.软件集成与测试
根据概要设计中的软件结构,把经过测试的模块,按照某种选定的集成策略将系统组装起来。在组装过程中,进行集成测试。
2023/7/225.软件发布与实施在完成对系统的集成与测试之后,接着就要对系统进行验收、发布与实施。2.1.3 软件运行与维护期软件的维护过程,也就是修正软件错误,完善软件功能,由此使软件不断进化升级的过程,以使系统更加持久地满足用户的需要。主要涉及三方面的任务:改正性维护、适应性维护和完善性维护。2023/7/22软件过程软件过程是“为了获得软件所需要完成的一系列任务的工作步骤”。软件过程定义了运用方法的顺序、各阶段应交付的文档资料、为保证软件质量所要采取的管理措施,以及标志软件开发各个阶段任务完成的结果形式。通常用使用生命周期模型来简洁地描述软件过程,也称为过程模型。
软件开发模型
软件开发模型是软件开发全部过程、活动和任务的结构框架。它能直观表达软件开发全过程,明确规定要完成的主要活动、任务和开发策略。软件开发模型也常称为: 软件过程模型 软件生存周期模型 软件工程范型软件开发模型(又称为软件生存周期模型)
—软件项目开发和维护的总体过程思路的框架。它指出了软件开发过程各阶段之间的关系和顺序,是软件开发过程的概括。它为软件开发过程提供原则和方法,并为软件工程管理提供里程碑和进度表。因此,软件开发模型也是软件工程的重要内容。2.2软件开发模型软件开发模型的几种类型:以软件需求完全确定为基础的瀑布模型;在开发初期仅给出基本需求的渐进式模型,如原型模型、螺旋模型、喷泉模型等;以形式化开发方法为基础的变换模型、基于四代技术的模型;基于知识的智能模型等等。在实际开发时,应根据项目的特点和现有的条件选取合适的模型,也可以把几种模型组合起来使用以便充分利用各模型的优点。§2.2软件过程模型典型的软件过程模型有:瀑布模型(waterfallmodel)原型模型(prototypingmodel)增量模型(incrementalmodel)演化模型(evolutionarymodel)螺旋模型(spiralmodel)喷泉模型(waterfountainmodel)基于构件的开发模型(component-baseddevelopmentmodel)形式方法模型(formalmethodsmodel)智能模型(IntelligentModel)2.2.1瀑布模型
瀑布模型(waterfallmodel)是由W.Royce于1970年提出来的。又称为软件生存周期模型。瀑布模型严格按照软件生存周期各个阶段来进行开发,上一阶段的输出即是下一阶段的输入,并强调每一阶段的严格性。它规定了各阶段的任务和应提交的成果及文档,每一阶段的任务完成后,都必须对其阶段性产品(主要是文档)进行评审,通过后才能开始下一阶段的工作。因此,它是一种以文档作为驱动的模型。(维护报告)可行性研究编码与测试需求分析软件设计项目计划运行与维护软件集成与发布开发时期运行时期计划时期(可行性分析报告)(项目开发计划书)(集成与验收报告)(源程序清单)(软件设计说明书)(需求规格说明书)传统的瀑布模型图
传统的瀑布模型过于理想化,事实上,人在工作过程中不可能不犯错误,评审也并不能保证发现所有错误,潜伏的错误将在后续阶段被陆续发现。在设计阶段可能发现规格说明文档中的错误,而设计上的缺陷或错误可能在实现过程中显现出来,在综合测试阶段将发现需求分析、设计或编码阶段的许多错误。发现错误就必须及时改正,因此,实际的瀑布模型是带“反馈环”的。(图中实线箭头表示开发过程,虚线箭头表示维护过程)。1)把生存期划分成明确的、严格的顺序阶段;2)只有在前阶段的阶段性产品完成后,才能开始下一阶段的工作;3)每一阶段都要配合生成相应的具体文档;4)每个阶段的结束都要经过严格的复审和确认。瀑布模型要点把生存期划分成明确的、严格的顺序阶段;只有在前阶段的阶段性产品完成后,才能开始下一阶段的工作;每一阶段都要配合生成相应的具体文档,它们类似于其它工程中的图纸资料,是下一阶段工作的依据,极为重要;每个阶段的结束都要经过一个h定性或定量的复审和确认。瀑布模型优点提供了软件开发的基本框架,有利于大型软件开发过程中人员的组织、管理,有利于软件开发方法和工具的研究与使用,因此,在软件工程中占有重要的地位。瀑布模型是软件工程中应用最广泛的过程模型。严格规定了每一阶段必须提交的文档。要求每一阶段交付之产品都必须经过质量保证小组的仔细审查。致命缺点是工作流程只能一个个台阶地往下流动,不可能倒着向上流动。只有做出精确的需求分析,才能取得预期的结果。由于各种客观、主观的原因,需求分析往往不很精确,常常给日后的开发带来隐患。项目开始阶段用户很难精确的提出产品需求,由于技术进步,用户对系统深入的理解,修改需求十分普遍。项目开发晚期才能得到程序的运行版本,这时修改软件需求和开发中的错误代价很大。瀑布模型缺点瀑布模型的适用范围1.在软件项目开发期间需求没有变化或很少变化2.开发者对应用领域很熟悉(例如,开发任务是扩充一个已存在的系统)3.低风险项目(例如,开发者对目标和开发环境非常熟悉)4.用户使用软件的环境很稳定5.用户提出需求以后,很少参与开发工作6.软件系统编程要求使用面向过程的程序设计语言2023/7/22瀑布模型的变形瀑布模型瀑布模型的变形:b模型
为了描述软件开发过程中可能的回溯,尤其是维护阶段往往要经历上述各个阶段。采用循环模型描述。需求分析设计编码测试运行评价计划循环模型循环模型瀑布模型的变形2.2.2原型模型原型模型(prototypingmodel)的基本框架是软件开发人员根据用户提出的软件基本需求快速开发一个原型/“样品”,以便向用户展示软件系统应有的部分或全部功能和性能,在征求用户对原型的评价意见后,进一步使需求精确化、完全化,并据此改进、完善原型,如此迭代,直到软件开发人员和用户都确认软件系统的需求并达成一致的理解为止。快速分析快速设计建造原型运行评价原型对原型修改完善产品样品(需求确认)开始停止使用原型的过程原型是软件的一个早期可运行的版本,它反映了最终系统的部分重要特性。原型化方法的基本思想是花费少量代价快速建立一个可运行的系统,使用户及早获得学习的机会,原型化方法又称快速原型法(Rapid
Prototyping)。强调的是软件开发人员与用户的不断交互,通过原型的演进不断适应用户任务改变的需求。1.快速分析快速确定软件系统的基本要求,确定原型所要体现的特征(界面,总体结构,功能,性能)2.构造原型在快速分析的基础上,根据基本规格说明,忽略细节,只考虑主要特征,快速构造一个可运行的系统。3.运行和评价原型用户试用原型并与开发者之间频繁交流,发现问题,目的是验证原型的正确性。4.修改与改进对原型进行修改,增删。快速分析快速设计建造原型运行评价原型修改完善原型产品样品(需求确认)开始停止使用原型的过程快速原型的用途有:1)模拟软件系统的人机界面和人机交互方式;2)开发一个工作原型,对软件系统中重要的或容易产生误解的功能和其他需求进行验证;3)用于导出更多更准确的用户需求;4)对没有把握的技术、方案等进行验证。原型的开发/构造软件原型(prototype)是可执行;强调“快速”和低成本。因而应尽量采用有效的软件工具和环境。例如采用软件重用技术、釆用基于构件的软件开发方法。或利用一个或几个类似的正在运行的软件向用户展示软件需求中的部分或全部功能。其初始版本和中间版本在运行效率方面可做出让步,以便尽快提供。用户测试运行原型建造/修改原型
听取用户意见?原型模型(RapidPrototypeModel)?原型的使用策略:废弃(throwaway)/抛弃式策略主要用于探索型和实验型原型的开发。这些原型关注于目标系统的某些特性,而不是全部特性,开发这些原型时通常不考虑与探索或实验目的无关的功能、质量、结构等因素,这种原型通常被废丢,然后根据探索或实验的结果用良好的结构和设计思想重新设计目标系统。追加(addon)策略;进化/演化型(evolutionary)主要用于演化型原型的开发。这种原型通常是实现了目标系统中已明确定义的特性的一个子集,通过对它的不断修改和扩充,逐步追加新的要求,最后使其演化成最终的目标系统。抛弃式原型模型的特点抛弃式原型模型建立原型的目的是,评价目标系统的某一个或某一些特性,以便更准确地确定需求,或者更严格地验证设计方案。使用完之后就把该原型系统抛弃掉,然后再重新构造正式的目标系统。抛弃式原型模型本质上仍属于瀑布模型,建立原型系统只不过是“需求分析”和“有效性验证”的一种辅助手段,需求分析阶段结束时原型系统的生存周期也就终止。用户测试运行原型建造/修改原型
听取用户意见抛弃式原型模型抛弃式原型模型需求分析软件维护(运行时期)抛弃式原型模型退役原型开发原型评价软件设计软件实现用户反馈抛弃式原型模型通常,用户试用原型系统之后会提出许多修改意见,开发人员按照用户的意见快速地修改原型系统,然后再次请用户试用……。一旦用户认为这个原型系统确实能做他们所需要的工作,开发人员便可据此书写规格说明文档,根据这份文档开发出的软件可以满足用户的真实需求。当快速原型的某个部分是利用软件工具由计算机自动生成的时候,可以把这部分用到最终的软件产品中。进化式原型模型:目标系统是对实验性原型不断扩充、完善送代的结果。每次迭代都要求再分析、再设计、再实现以及再测试评价。当认为问题求解基本满意时就可以交付系统的初始版本了。演化原型法的实施要求用户和开发人员在一个相当长的时期中对信息交流和系统修改持一种开放的态度。许多面向市场的软件产品采用所谓β版发布,就是施行演化原型法开发的一种策略。进化式原型模型建立原型系统修改原型符合用户需要的应用系统用户试用反馈意见进化式原型模型存在的问题:要求软件具有开放的结构是这种模型固有的困难。1、没有考虑软件的整体质量和长期的可维护性。2、大部分情况是不合适的操作算法被采用目的为了演示功能,不合适的开发工具被采用仅仅为了它的方便,还有不合适的操作系统被选择等等。3、由于达不到质量要求产品可能被抛弃,而采用新的模型重新设计。原型模型的适应场合原型模型比瀑布模型更符合人们认识事物的过程和规律,是一种较实用的开发框架。它适合于那些不能预先确切定义需求的软件系统的开发,更适合于那些项目组成员(包括分析员、设计员、程序员和用户)不能很好交流或通信有困难的情况。小型或中等规模的交互式系统,例如用户界面。2.2.3增量模型(incrementalmodel)增量模型也称为渐增模型。增量模型是一种非整体开发的模型。根据增量的方式和形式的不同,分为基于瀑布模型的渐增模型和基于原型的渐增模型。该模型具有较大的灵活性,适合于软件需求不明确、设计方案有一定风险的软件项目。增量模型和瀑布模型之间的本质区别是:瀑布模型属于整体开发模型,它规定在开始下一个阶段的工作之前,必须完成前一阶段的所有细节。而增量模型属于非整体开发模型,它推迟某些阶段或所有阶段中的细节,从而较早地产生工作软件。2.2.3增量模型增量模型(IncrementalModel)把软件描述、设计、实现活动分解成一系列相互有联系的增量构件的迭代开发,是瀑布模型顺序特征和快速原型模型迭代特征相结合的一种软件构件化的模型。增量式的开发过程,首先根据客户需要提供的服务的优先次序,确定一系列交付增量,每个增量提供系统功能的一个子集。随着开发过程的进展,每次迭代产生一个可发布的(可执行的)软件增量构件。 2023/7/22定义设计框架需求体系结构增量
1分析
设计
编码
测试
交付(核心产品)增量
2分析
设计
编码
测试
交付增量n分析
设计
编码
测试
交付最终软件系统2.2.4增量模型(incrementalmodel)增量进化模型(IncrementalModel)软件被作为一系列的增量构件来设计、实现、集成和测试,每一个构件是由多种相互作用的模块所形成的提供特定功能的代码片段构成第一个增量往往是实现基本需求的核心产品。核心产品交付用户使用后,经过评价形成下一个增量的开发计划,它包括对核心产品的修改和一些新功能的发布。这个过程在每个增量发布后不断重复,直到产生最终的完善产品。增量进化模型增量模型融合了线性顺序模型的基本成分(重复地应用)和原型实现的迭代特征。增量模型采用随着日程时间的进展而交错的线性序列。每一个线性序列产生软件的一个可发布的“增量”。第一个增量往往是核心的产品。客户对每一个增量的使用和评估,都做为下一个增量发布的新特征和功能。增量进化模型分析设计编码测试分析设计编码测试分析设计编码测试分析设计编码测试增量1增量2增量3增量n
增量1交付客户
增量2交付客户
增量3交付客户
增量n交付客户日历时间…..2.2.4 迭代模型2023/7/22在软件项目开发的实际工作中,针对瀑布模型的缺陷,人们提出了迭代模型(IterativeModel)。迭代包括产生产品发布(稳定、可执行的产品版本)的全部开发活动和要使用该发布必需的所有其他外围元素。
2.5.1 模型的阶段及核心流程1.模型的主要阶段(1)初始阶段(2)精化阶段(3)构建阶段(4)产品化阶段2023/7/222.模型的核心流程(1)业务建模(2)获取需求(3)分析设计(4)实施(5)测试(7)配置与变更管理(8)项目管理(9)环境2023/7/22模型的优缺点优点:在开发的早期或中期,用户需求可以变化。在迭代之初,不要求有一个近似的产品原型。模型的适用范围很广,几乎适用于所有软件项目的开发工作。缺点:迭代模型采取循环工作方式,每次循环都使工作产品更靠近目标产品,这要求项目组成员具备很高的技术水平,掌握先进的开发工具。否则会存在较大的技术和技能风险。2023/7/222.2.5螺旋模型螺旋模型(spiralmodel)是B.Boehm于1988年提出的。它综合了瀑布模型和原型模型的优点,即将两者结合,并加入了风险分析机制。进化(演化)软件过程模型2.2.5螺旋模型螺旋模型的应用1.四个组成部分,七个步骤[5]{余金山,软件开发过程及其模型}2.适用于大型软件的开发;能结合多种软件开发方法,如面向规格说明的,面向过程的和面向对象的。
螺旋模型螺旋模型将瀑布模型和增量模型结合起来,并加入了风险分析。螺旋模型将开发过程分为几个螺旋周期,每个螺旋周期可分为4个工作步骤:
1.确定目标、方案和限制条件;
2.评估方案、标识风险和解决风险;
3.开发确认产品;
4.评价开发工作,提出修正意见,制定下一步计划。
螺旋模型模型的特点:1.将开发过程组成一个逐步细化的螺旋周期,每经过一个周期,系统就得到进一步的细化完善。2.整个模型紧密围绕开发中的风险分析,推动软件产品向深层扩展和求精。3.强调持续的判断、确定和修改用户的任务目标,并按成本、效益来分析软件产品对任务目标的贡献。2023/7/22模型的优缺点
:
1.螺旋模型的优点(1)螺旋模型支持用户需求的动态变化(2)螺旋模型对可选方案和约束条件的强调(3)减少了过多测试或测试不足的情况所带来的风险。(4)螺旋模型中维护只是模型的一个周期,软件维护得到了重视。2023/7/222.螺旋模型的缺点(1)螺旋模型强调风险分析,但要求许多客户接受和相信这种分析并做出相应的反应是不容易的,因此这种模型往往适应于内部的大规模软件开发。(2)如果执行风险分析会大大影响项目的利润,那么进行风险分析便毫无意义,因此螺旋模型只适用于大规模软件项目。(3)过多的迭代次数会增加开发成本,延迟软件交付时间。2023/7/222.2.6喷泉模型(FountainModel)由B.H.Sollers和J.M.Edwards于1990年提出。喷泉模型对软件复用和生存期中多项开发活动的集成提供了支持,主要支持面向对象的开发方法。"喷泉"一词本身体现了迭代和无间隙特性。系统某个部分常常重复工作多次,相关功能在每次迭代中随之加入演进的系统。所谓无间隙是指在开发活动,即分析、设计和编码之间不存在明显的边界。2.2.6喷泉模型
它是以面向对象的软件开发方法为基础,以用户需求为动力,以对象来驱动的模型。图喷泉模型维护测试实现设计分析演化维护测试实现设计分析演化1.软件系统可维护性较好;2.各阶段相互重叠;3.整个模型是一个迭代的过程;4.模型具有增量开发特性,即能做到分析一点、设计一点、实现一点,测试一点,使相关功能随之加入到演化的系统中。5.模型是对象驱动的;6.该模型很自然地支持软部件的重用。2.2.6喷泉模型(FountainModel)2.2.7 XP模型2023/7/22XP模型(eXtremeProgrammingModel)极限编程模型,本来是敏捷企业文化现象,但是现在不少人将它当做一种软件开发模型。2.2.8其它模型可重用构件组装模型变换模型/形式化方法模型基于四代技术的模型基于知识的智能模型1、可重用构件组装模型使用重用技术的软件工程模型可重用部件组装模型(构件集成模型)/基于构件的开发模型构件(components):可重用的软件成份可复用性(Reusability)基于构件的开发模型利用已有的软件构件(包括组织内部开发的构件和现存商品化构件COTS)来构造应用系统。1、基于重用构件的开发模型基于组件的开发技术是使用可重用的组件或商业组件建立复杂的软件系统。组件选取优点具有相当多、相当突出的优点!被称为是解决软件危机的“银弹”。存在问题如何获取符合要求的软构件?构件的组装和修改?构件的版权、责任、……。2、变换模型/形式化方法模型变换模型(transformationalmodel)是基于形式化规格说明语言以及程序变换技术的软件系统开发模型,它主要用于软件的形式化开发方法。在软件需求分析确定以后,便用形式化的规格说明语言将其描述为“形式化软件规格说明”,然后对其进行一系列自动或半自动的变换,最终得到软件系统的目标程序。图变换模型形式化软件规格说明(M0)模型检查需求分析形式化软件设计说明(M1)(M2)目标程序(M)变换变换变换…2、变换模型/形式化方法模型形式化方法模型是采用形式化的数学方法将系统描述转换成可执行的程序。2、形式方法模型适用特别适合于那些对安全性、可靠性和保密性要求极高的软件系统,这些系统需要在投入运行前进行验证优点由于数学方法具有严密性和准确性,形式化方法开发过程所交付的软件系统具有较少的缺陷和较高的安全性缺点开发人员需要具备一定技能并经过特殊训练形式化描述和转换是一项费时费力的工作现实应用的系统大多数是交互性强的软件,但是这些系统难以用形式化方法进行描述3、基于四代技术的模型1981年R.Ross提出了第四代编程语言(即4GL),它是一种面向问题而非面向过程的语言。四代技术(4GT)是以第四代语言(4GL)为核心的软件开发技术。基于四代技术的模型是指用4GT工具将开发者做出的软件规格说明自动转换成程序代码。目前,支持4GT的软件开发工具已经有了一些,如屏幕生成器、报表生成器、数据库查询语言、代码生成系统等。图1-4-6基于四代技术的模型收集需求设计策略4GL实现测试维护获取需求需求分析具体描述优化程序调整验证维护知识库专家系统程序
也称为基于知识的软件开发模型,是知识工程与软件工程相结合的软件开发模型。其主要特点是必须建立知识库,并将模型本身、软件工程知识、特定领域知识放入知识库。具体描述可以使用形式功能规约,也可以使用知识处理语言描述等。其模型如图所示:图智能模型4、
基于知识的智能模型小结瀑布方法假设当线性序列完成之后就能够交付一个完善的系统。原型实现模型设计成帮助客户(或开发者)理解需求,它并不是交付一个最终的产品。演化模型是迭代的,它的特征是使软件工程师逐渐地开发逐步完善的软件版本。2.3 各种模型之间的关系2023/7/221. 瀑布模型与迭代模型
瀑布模型与迭代模型是两种最基本的开发模型,两者关系关联非常密切。
宏观上,迭代模型是动态模型,瀑布模型是静态模型。
微观上,迭代模型与瀑布模型都是动态模型。
二者的关系通俗讲:你中有我,我中有你。2.3 各种模型之间的关系2023/7/222. 瀑布模型与增量模型
瀑布模型与增量模型之间也存在着一定的关系。增量模型首先开发核心模块,之后再开发其他模块,这样一个一个地进行开发,直至所有模块开发完毕。然而,在开发每一模块时,开发者一般都采用瀑布模型,从需求、设计、编码、测试一个阶段接着一个阶段地实现。
所以增量模型中有瀑布模型思想,增量模型也体现了迭代思想,每增加一个模块就进行
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024广告发布合同范文
- 公共场所环境卫生承包合同
- 北京交通事故损害赔偿协议书撰写指南
- 2024年交通事故调解协议书范例
- 2024清洁工劳动合同书样本
- 商品采购协议
- 2024工程建设招标投标合同(履约银行保证书)新
- 舞蹈学校教师聘请协议书
- 2024《技术服务合同范本》
- 2024共事协议书样式
- 外墙面砖脱落维修施工方案完整
- 煤场机械车辆操作规程
- GB_T4897-2015刨花板(高清版)
- 地下水环境监测井施工设计方案(共10页)
- 围手术期重症监护
- 世界主要工业区
- 《中小学公共安全教育读本》教案
- 西南油气田对外合作项目基于PSC谈判经济评价
- 6_背景调查表
- 微生物限度方法学验证
- LNG新能源动力船舶制造项目建议书写作模板
评论
0/150
提交评论