




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章系统设计本章要点: 系统设计概述 系统设计 数据库设计 用户界面设计 基于RationalRose2003的UML建模第3章系统设计
3.1系统设计的目的和任务3.2系统总体设计3.4系统详细设计3.5经典例题讲解3.6应用Visio进行数据库建模结构化设计的任务在设计阶段,我们将集中研究系统的软件实现问题,即在分析模型的基础上形成实现环境下的设计模型。一般情况下,它通常包括系统总体设计和系统详细设计(或对象设计)两个层次。系统设计的目标是划分子系统并使子系统之间是高内聚低耦合的,从而提高软件的可理解性和可维护性。在软件需求分析阶段,已经搞清楚了软件“做什么”的问题,并把这些需求通过规格说明书描述了出来,这也是目标系统的逻辑模型。进入了设计阶段,要把软件“做什么”的逻辑模型变换为“怎么做”的物理模型,即着手实现软件的需求,并将设计的结果反映在“设计规格说明书”文档中。计算机科学与技术学院结构化设计的任务结构化设计方法把系统作为一系列数据流的转换,输入数据被转换为期望的输出值,通过模块化来完成自顶而下实现的文档化,作为一种评价标准在结构化设计中起指导性作用,并以数据流图为基础得到软件的模块结构。结构化设计方法尤其适用于变换型结构和事务型结构的目标系统,在结构化设计过程中从整个程序的结构出发,利用模块结构图,表述程序模块之间的关系。计算机科学与技术学院结构化设计工作内容和步骤计算机科学与技术学院结构化总体设计计算机科学与技术学院
系统总体设计是问题求解及建立解答的高级策略。系统总体设计的主要任务是将系统分解成易于管理的子系统,并构造系统的策略,诸如系统运行的软硬件平台、数据管理策略等,最终得到系统的体系结构设计模型。结构化总体设计的过程计算机科学与技术学院
1.设想供选择的方案
2.选取合理的方案
3.推荐最佳方案
为每个合理的方案准备以下的资料:(1)系统流程图;(2)组成系统的物理元素清单;(3)成本/效益分析;(4)实现系统的进度计划。
4.功能分解对系统流程图进一步细化,进行功能分解。
5.设计软件结构
6.数据库的设计
7.制订测试计划
8.书写文档
9.审查和复审总体布局计算机科学与技术学院系统的高层结构形式包括
(1)系统分解
(2)确定并发性
(3)处理器及任务分配。
(4)数据存储管理
(5)全局资源的处理
(6)选择软件控制机制
(7)人机交互接口设计设计原则计算机科学与技术学院1.模块化 模块是数据说明、可执行语句等程序对象的集合,包含四种属性:
(1)输入/输出 一个模块的输入/输出都是指同一个调用者。
(2)逻辑功能 指模块能够做什么事,表达了模块把输入转换成输出的功能,可以是单纯的输入/输出功能。
(3)运行程序 指模块如何用程序实现其逻辑功能。
(4)内部数据 指属于模块自己的数据。设计原则计算机科学与技术学院2.抽象抽取事物最基本的特性和行为,忽略非基本的细节。采用分层次抽象的办法可以控制软件开发过程的复杂性,有利于软件的可理解性和开发过程的管理。3.信息隐蔽信息隐蔽:采用封装技术,将程序模块的实现细节(过程或数据)隐藏起来,对于不需要这些信息的其它模块来说是不能访问的,使模块接口尽量简单。按照信息隐藏的原则,系统中的模块应设计成“黑箱”,模块外部只能使用模块接口说明给出的信息,如操作、数据类型等。设计原则计算机科学与技术学院4.模块独立性模块的耦合模块的内聚5.软件复用6.一致性整个软件系统(包括文档和程序)的各个模块均应使用一致的概念、符号和术语;程序内部接口应保持一致;软件与硬件接口应保持一致;系统规格说明与系统行为应保持一致;实现一致性需要良好的软件设计工具(如数据字典、数据库、文档自动生成与一致性检查工具等)、设计方法和编码风格的支持。总体设计的启发规则计算机科学与技术学院(1)改进软件结构,提高模块独立性设计出软件的初步结构以后,应该审查分析这个结构,通过模块分解或合并,力求降低耦合提高内聚。例如,多个模块公有的一个子功能可以独立成一个模块,由这些模块调用;有时可以通过分解或合并模块以减少控制信息的传递及对全局数据的引用,并且降低接口的复杂程度。(2)模块规模应该适中经验表明,一个模块的规模不应过大,最好能写在一页纸内(通常不超过60行语句)。有人从心理学角度研究得知,当一个模块包含的语句数超过30以后,模块的可理解程度迅速下降。过大的模块往往是由于分解不充分引入的,但是进一步分解必须符合问题结构,一般说来,分解后不应该降低模块独立性。过小的模块开销大于有效操作,而且模块数目过多将使系统接口复杂。对于过小的模块,特别是当只有一个模块调用它时,通常可以把它合并到上级模块中去。总体设计的启发规则计算机科学与技术学院(3)深度、宽度、扇出和扇入都应适当对于中等规模的程序,其深度约为10左右。如果深度过大,则应考虑结构中的某些模块是否过分简单了。一个模块直接控制的下层模块的个数称为该模块的扇出数。好的系统的平均扇出数通常是3~4,最多是5~9。扇出过大时可以适当增加中间层次的控制模块;扇出过小时可以把下级模块进一步分解成若干个子功能模块,或者合并到上级模块中去。当然这种分解或合并不能影响模块的独立性。(4)模块的作用域应该在控制域之内(5)力争降低模块接口的复杂程度总体设计的启发规则计算机科学与技术学院(6)设计单入口单出口的模块这条启发式规则表明在设计软件结构时不要使模块间出现内容耦合。当从顶部进入模块并且从底部退出来时,软件是比较容易理解的,因此也是比较容易维护的。(7)模块功能应该可以预测如果一个模块只完成一个单独的子功能,则呈现高内聚。但是,如果一个模块任意限制局部数据结构的大小,过分限制在控制流中可以做出的选择或者外部接口的模式,那么这种模块的功能就过分局限,使用范围也就过分狭窄了。在使用过程中将不可避免地需要修改功能过分局限的模块,以提高模块的灵活性,扩大它的使用范围;但是,在使用现场修改软件的代价是很高的。面向数据流的设计方法计算机科学与技术学院
变换流事物流变换分析事务分析软件模块结构的改进
面向数据流方法的设计过程计算机科学与技术学院变换流计算机科学与技术学院事物流计算机科学与技术学院变换型分析计算机科学与技术学院基本变换型问题数据流图及其结构图计算机科学与技术学院变换型问题结构图计算机科学与技术学院工资计算系统的一级分解计算机科学与技术学院完成二级分解后的工资计算系统软件结构计算机科学与技术学院进行了边界划分的事务型数据流图计算机科学与技术学院事务型系统的上层软件结构计算机科学与技术学院完整的事务型软件结构计算机科学与技术学院混合型问题数据流图及其结构图计算机科学与技术学院结构化总体设计的工具计算机科学与技术学院1.系统流程图2.HIPO图系统流程图的符号计算机科学与技术学院系统流程图举例计算机科学与技术学院该系统由人工操作,分为三个部分:报名处理(处理报名、生成报名表、运动项目册)、成绩处理(成绩录入、分类、统计、计算)、成绩发布与奖励(发布所有运动员比赛成绩、给破纪录运动员以及成绩前三名颁奖)。根据运动会委员会的要求,建立计算机管理的运动会信息系统,分析员经过仔细研究,推荐了一个新的系统方案,该系统方案如图所示。在系统流程图的每一个部件上标注了名称,部件之间用信息流向线表示出信息流动的方向。运动会系统流程图计算机科学与技术学院HIPO图计算机科学与技术学院HIPO(HierarchyPlusInput/Processing/Output)图是美国IBM公司70年代发展起来的表示软件系统结构的工具。它既可以描述软件总的模块层次结构——H图(层次图),又可以描述每个模块输入/输出数据、处理功能及模块调用的详细情况——IPO图。HIPO图以模块分解的层次性以及模块内部输入、处理、输出三大基本部分为基础建立的。它是表示软件系统结构的工具。HIPO图以模块分解的层次性以及模块内部输入、处理、输出三大基本部分为基础建立的。H图计算机科学与技术学院IPO表计算机科学与技术学院模块结构设计计算机科学与技术学院1.模块化
模块是数据说明、可执行语句等程序对象的集合,包含四种属性:(1)输入/输出一个模块的输入/输出都是指同一个调用者。(2)逻辑功能指模块能够做什么事,表达了模块把输入转换成输出的功能,可以是单纯的输入/输出功能。(3)运行程序指模块如何用程序实现其逻辑功能。(4)内部数据指属于模块自己的数据。模块结构设计计算机科学与技术学院模块化和软件成本的关系模块结构设计计算机科学与技术学院2.模块独立性模块独立性是软件系统中每个模块只涉及软件要求的具体子功能,与软件系统中其他的模块的接口是简单的。例如,如果一个模块只具有单一的功能,并且与其他的模块没有太多的联系,则称此模块具有模块独立性。模块独立的概念是模块化、抽象、信息隐蔽和局部化概念的直接结果。开发具有独立功能而且和其他模块之间没有过多的相互作用的模块,就可以做到模块独立。换句话说,这样设计软件结构,会使得每个模块完成一个相对独立的特定子功能,并且和其他模块之间的关系很简单。耦合性和内聚性是描述结构图中模块之间及内部的联系的两个定性指标,耦合性指的是模块和模块之间的联系,它描述模块之间的相对独立性;内聚性指的是在模块内部各部分之间的联系,它描述模块功能的相对强度。模块结构设计计算机科学与技术学院模块的耦合
模块结构设计计算机科学与技术学院非直接耦合如果两个模块中的每一个都能独立地工作而不需要另一个模块的存在,那么它们彼此完全独立,这表明模块间无任何连接,耦合程度最低。但是,在一个软件系统中不可能所有模块之间都没有任何连接,它们之间的联系完全通过对模块的控制和调用来实现。
模块结构设计计算机科学与技术学院(2)数据耦合如一个模块访问另一个模块,相互传递的信息以参数形式给出,并且传递的参数完全是数据元素,而不是控制元素,称这种关系为数据耦合。系统中至少必须存在这种耦合,因为只有当某些模块的输出数据作为另一些模块的输入数据时,系统才能完成有价值的功能。模块结构设计计算机科学与技术学院(3)标记耦合假如两个模块都要使用同一个数据结构的一部分,不是采用全程公共数据区共享,而是通过模块接口界面传递数据结构的一部分,这种耦合叫标记耦合。模块结构设计计算机科学与技术学院(4)控制耦合如果一个模块把控制数据传递到另一个模块,对其功能进行控制,即为控制耦合。控制信息可以看作是一个开关量,它传递了一个控制信息或状态的标志。控制信息不同于数据信息,数据信息一般通过处理过程处理被处理的数据,而控制信息则是控制处理过程中的某些参数。控制耦合是中等程度的耦合,它增加了系统的复杂程度。控制耦合往往是多余的,在把模块适当分解之后通常可以用数据耦合代替它。模块结构设计计算机科学与技术学院(5)外部耦合模块受到程序的外部环境约束时,就出现较高程度的耦合。如输入、输出把一个模块耦合到指定的设备、格式以及通信协议上,这就是外部耦合。外部耦合是必要的,但在一个程序结构内应限制在少数模块中。模块结构设计计算机科学与技术学院(6)公共环境耦合两个以上模块共用一个全局数据区时引起的耦合叫公共耦合。在一些高级语言中的公共数据是公共耦合。模块的公共耦合是因为两个或者两个以上模块共同引用了某一公共环境,耦合程度取决于这个公共环境接口的模块个数。在只有两个模块的情况下,公共耦合的耦合程度介于数据耦合和控制耦合之间。由于模块被公用数据结构束缚在一起,对个别模块的修改和再利用必然带来许多不方便。如果两个模块共享的数据很多,都通过参数传递可能很不方便,这时可以利用这种耦合。公共环境耦合的复杂程度随耦合的模块个数而变化,当耦合的模块个数增加时复杂程度显著增加。如果只有两个模块有公共环境,那么这种耦合有下述两种可能模块结构设计计算机科学与技术学院(6)公共环境耦合1)一个模块往公共环境送数据,另一个模块从公共环境取数据。这是数据耦合的一种比较松散的耦合形式。2)两个模块都既往公共环境送数据又从里面取数据,这种耦合比较紧密,介于数据耦合和控制耦合之间。如果两个模块共享的数据很多,都通过参数传递可能很不方便,这时可以利用公共环境耦合。模块结构设计计算机科学与技术学院(7)内容耦合一个模块访问另一个模块的内部数据。一个模块不通过正常入口而转到另一个模块的内部。两个模块有一部分程序代码重叠(只可能出现在汇编程序中)。一个模块有多个入口(这表明一个模块有几种功能)。模块结构设计计算机科学与技术学院七种耦合类型的关系:模块结构设计计算机科学与技术学院耦合性与模块属性的关系:模块结构设计计算机科学与技术学院模块内聚的指标:模块结构设计计算机科学与技术学院偶然内聚:如果一个模块完成一组任务,各个任务之间没有实质性联系,即使这些任务彼此间有关系,其关系也是很松散的,就叫做偶然内聚。有时在写完一个程序之后,发现一组语句在两处或多处出现,于是把这些语句作为一个模块以节省内存,这样出现了偶然内聚的模块。模块结构设计计算机科学与技术学院(2)逻辑内聚如果一个模块内部各组成部分的处理动作在逻辑上相似,但功能都彼此不同或无关,则称为逻辑内聚,一个进行读记录,一个进行写记录,而读写功能之间没有必然的联系。或者完成几个在逻辑上相互有关的任务的模块也可以具有逻辑内聚。例如,专门负责输出出错信息、用户帐单、统计报表等各类数据的模块具有逻辑内聚。这种模块不易修改,因为各项任务共用部分程序,修改其中的一项任务的完成过程将会影响其它任务的完成。一个逻辑内聚模块往往包括若干个逻辑相似的处理动作,使用时可以选用其中的一个或几个功能。在逻辑内聚的模块中,不同功能的部分混在一起,合用部分程序代码,即使局部功能的修改有时也会影响全局。因此,这类模块的修改也比较困难。模块结构设计计算机科学与技术学院(3)时间内聚如果一个模块内的各组成部分的处理动作和时间相关,则称为时间内聚。时间内聚模块的处理动作必须在特定的时间内完成。例如,程序设计中的初始化模块。完成几个必须在同一时间内进行的任务的模块也具有时间内聚。例如,负责紧急事故处理的模块,必须在同一时间内完成关闭文件、接通警铃、发出出错信息、保护各检测点的数据和进入故障处理程序等项任务,这种模块就具有时间聚合性。时间关系在一定程度上反映了程序的某些实质,所以时间内聚比逻辑内聚好一些。模块结构设计计算机科学与技术学院(4)通信内聚所有各成分都使用同一输入数据或产生同一输出数据的模块具有通信内聚(也可以称为信息内聚)。例如,利用同一数据生成各种不同形式报表的模块具有通信内聚。通信内聚模块具有多种功能,能完成多种任务。各个功能都在同一数据结构上操作,每一项功能只有一个惟一的入口点,如所示的是通信内聚模块的示意图。例如要完成两个工作,这两个处理动作都使用相同的输入数据:1)按“配件编号”查询数据存储,获得“单价”。2)按“配件编号”查询数据存储,获得“库存量”模块结构设计计算机科学与技术学院(5)过程内聚如果一个模块内部的各个组成部分的处理动作各不相同,彼此也没有联系,但他们都受同一个控制流支配,并由这个控制流决定他们的执行次序,则为过程内聚。使用程序流程图作为工具设计软件时,常常通过研究流程图确定模块的划分,这样得到的往往是过程内聚的模块。如图所示,通过循环体,计算两种累积数。模块结构设计计算机科学与技术学院(6)顺序内聚所有各成分都与同一个功能紧密相关、并且必须按顺序执行的模块具有顺序内聚。例如,由构造系数矩阵、求矩阵逆、解未知数等成分构成的求线性方程解的模块具有顺序内聚。通常,根据数据流图映射得到的程序结构图中的模块具有这种内聚。模块结构设计计算机科学与技术学院(7)功能内聚如果一个模块内部的所有各成分属于一个整体,完成一个单一功能的模块具有功能聚合性,功能内聚是最高程度的内聚。判断一个模块是不是功能内聚,只要看这个模块是“做什么”,是完成一个具体的任务,还是完成多任务。例如,如果将求解线性方程解的模块中的求矩阵逆的部分单独做成一个模块,则该模块具有功能聚合性。模块结构设计计算机科学与技术学院聚合性与模块属性的关系模块结构设计计算机科学与技术学院模块的分解和合并数据存储设计计算机科学与技术学院目前,常用的数据存储管理有三种方式:(1)数据文件:数据文件是由操作系统提供的存储形式,应用系统将数据按字节顺序存储,并定义如何以及何时检索数据。显然,数据文件形式给应用系统带来更多的灵活性,但是应用系统需要自己处理并发访问和数据恢复等问题。(2)关系数据库:在关系数据库中,数据是以表的形式存储在预先定义好的称为Schema的类型中。表的每一列表示一个属性,每一行将一个数据项表示成一个属性值的元组。关系数据库是一种成熟的技术,使用费用较高而且会产生性能上的瓶颈。(3)面向对象数据库:与关系数据库不同的是,面向对象数据库将对象和关系作为数据一起存储。它提供了继承和抽象数据类型,但其查询要比关系数据库慢。
结构化详细设计的任务计算机科学与技术学院系统详细设计的主要任务是细化分析和总体设计产生的模型,确定一些新的对象、对每一个子系统接口和类进行准确详细的说明。(1)算法设计:用图形、表格、语言等工具将每个模块处理过程的详细算法描述出来。(2)数据结构设计:对需求分析、总体设计确定的概念性的数据类型进行确切的定义。(3)物理设计:对数据库进行物理设计,即确定数据库的物理结构。(4)其他设计:根据软件系统的类型,还可能要进行如下设计:1)代码设计:为了提高数据的输入、分类、存储及检索等操作的效率,以及节约内存空间,对数据库中的某些数据项的值要进行代码设计。2)输入/输出格式设计。3)人机对话设计:对于一个实时系统,由于用户与计算机频繁对话,因此要进行对话方式、内容及格式的具体设计。结构化详细设计的任务计算机科学与技术学院(5)编写详细设计说明书:详细设计说明书有下列的主要内容:1)引言:包括编写目的、背景、定义、参考资料。2)程序系统的组织结构。3)程序1(标识符)设计说明:包括功能、性能、输入、输出、算法、流程逻辑、接口。4)程序2(标识符)设计说明。......5)程序N(标识符)设计说明。(6)评审:对处理过程的算法和数据库的物理结构都要进行评审。结构化详细设计的原则计算机科学与技术学院(1)结构化详细设计中的模块逻辑描述要清晰易读、正确可靠。(2)采用详细结构化设计方法,改善系统的控制结构,降低程序的复杂程度,从而提高程序的可读性、可测试性、可维护性。其基本内容可归纳为:1)程序语言中应尽量少的使用GOTO语句,以确保程序结构的独立性,最好仅在检测出错误时才使用GOTO语句,而且应该总是使用前向GOTO语句。2)使用单出口单入口的控制结构,确保程序的静态结构与动态执行情况一致。保证程序易理解。结构化详细设计的原则计算机科学与技术学院3)经典的结构化详细设计的程序代码模块应该仅仅包括顺序、选择和循环这3种基本控制结构进行连接,确保结构简单。常常还允许使用DO_UNTIL和DO_CASE两种控制结构。4)用自顶向下逐步求精方法完成程序设计。结构化程序设计的缺点是存储容量和运行时间增加10%~20%,但易读易维护性好。5)如果只允许使用顺序型、IF_THEN_ELSE型分支和DO_WHILE型循环这3种基本控制结构,则称为经典的结构程序设计。如果除了上述3种基本控制结构之外,还允许使用DO_CASE型多分支结构和DO_UNTIL型循环结构,则称为扩展的结构程序设计,如果再允许使用LEAVE(或BREAK)结构,则称为修正的结构程序设计。结构化详细设计工具计算机科学与技术学院1.程序流程图2.盒图(Nassi-Shneiderman图)3.PAD图4.判定表5.判定树6.PDL语言程序流程图的常用符号计算机科学与技术学院程序流程图的基本控制结构计算机科学与技术学院盒图的基本符号计算机科学与技术学院PAD图的基本控制结构计算机科学与技术学院用判定表表示计算行李费的算法计算机科学与技术学院例:航空行李托运费的算法按规定:行李重量不超过30公斤的行李可免费托运。重量超过30公斤时,对超运部分,头等舱国内乘客收4元/公斤;其它舱位国内乘客收6元/公斤;外国乘客收费为国内乘客的2倍;残疾乘客的收费为正常乘客的1/2。用判定表表示计算行李费的算法计算机科学与技术学院判定表用判定表表示计算行李费的算法计算机科学与技术学院判定树
PDL语言
计算机科学与技术学院过程设计语言(ProcessDesignLanguage,简称PDL),也称为伪码,它是一种用正文形式表示数据和处理过程的工具,用严格的关键字和外部语法来定义控制结构和数据结构。它包含了各种程序设计语言的控制结构和其它一些元素的速记符号,可以自由插入注释,并且可用常用词来替换表达式。一般来说,伪码的语法规则分为“外语法”和“内语法”。外语法应当符合一般程序设计语言常用语句的语法规则,而内语法是没有定义的,可以用英语(或汉语)中一些简洁的短语和通用的数学符号来描述程序应执行的功能。PDL是详细设计工具中较为方便、应用较普遍的一种工具。已有完善的自动化工具支持它的设计过程,能自动向编码转换。详细设计工具的选择计算机科学与技术学院(1)模块化(modularity):支持模块化软件的开发并提供描述接口的机制(例如直接表示小程序和块结构)。(2)整体简洁性(overallsimplicity):设计表示相对易学、易用、易读。(3)便于编辑(easeofediting):支持后续设计、测试乃至维护阶段对设计进行的修改。(4)机器可读性(machinereadability):计算机辅助软件工程(CASE)环境已被广泛接受,一种设计表示法若能直接输入并被CASE工具识别将带来极大便利。(5)可维护性(maintainability):过程设计表示应支持各种软件配置项的维护。详细设计工具的选择计算机科学与技术学院(6)强制结构化(structureenforcement):过程设计工具应能强制设计人员采用结构化构件,有助于产生好的设计。(7)自动产生报告(automaticProcessing):设计人员通过分析详细设计的结果往往能突发灵感,改进设计。若存在自动处理器,能产生有关设计的分析报告,必将增强设计人员在这方面的能力。(8)数据表示(datarepresentation):详细设计应具备表示局部与全局数据的能力。(9)逻辑验证(logicverification):能自动验证设计逻辑的正确性是软件测试追求的最高目标,设计表示愈易于逻辑验证,其可测试性愈强。(10)可编码能力(codetoability):—种设计表示,若能自然地转换为代码,则能减少开发费用,降低出错率。代码设计计算机科学与技术学院代码设计应该遵循以下基本原则:(1)唯一性:一个对象可能有多个名称,也可按不同的方式对它进行描述。但在一个编码体系中,一个对象只能赋予它唯一的代码。(2)合理性:代码结构与相应的分类体系相对应。(3)可扩充性:应留有充分的余地,以备将来不断扩充的需要。(4)简单性:结构尽可能简单,以减少各种差错。(5)适用性:代码尽可能反映对象的特点,以助记忆,便于填写。(6)规范性:国家有关编码标准是代码设计的重要依据,已有标准的必须遵循。在一个代码体系中,代码结构、类型、编写个是必须统一。(7)系统性:有一定的分组规则,从而在整个系统中具有通用性。用户界面设计原则计算机科学与技术学院(1)用户控制(2)界面一致性(3)界面容错性(4)界面美观性(5)界面可适应性用户交互方式计算机科学与技术学院(1)直接操作(2)菜单选择(3)命令(4)表格填写(5)自然语言信息显示计算机科学与技术学院通常,系统中的信息需要用不同的形式呈现给用户。在典型的MVC结构中,系统的业务信息被封装在模型对象中,每个模型对象可以有多个视图对象与之关联,每个视图都是模型的一种显示表示方式。开发人员进行用户界面设计时,应该选择最佳的方式来表示信息。一般情况下,信息的表示方式主要包括文本方式和图形方式,其中文本方式占据较少的屏幕空间,而图形方式所显示的内容比较直观。用户支持计算机科学与技术学院(1)错误信息(2)帮助系统Jackson程序设计方法计算机科学与技术学院Jackson方法设计步骤来计算机科学与技术学院(1)分析并确定输入数据和输出数据的逻辑结构,并用Jackson结构图
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 行业数据合规性-洞察及研究
- k-匿名与同态加密结合技术-洞察及研究
- 二零二五年度茶叶跨境电商销售合同
- 2025版ISO9001质量管理体系认证及持续改进计划合同
- 二零二五年度商务公寓租赁合同模板
- 2025版医疗器械研发与生产质量认证服务合同
- 2025版餐饮业信息化建设与系统服务合同
- 2025版餐饮合伙股权投资服务管理合同
- 二零二五年度智能仓储运输采购合同范本
- 二零二五年度防盗门产品智能化升级改造合同
- 仁爱版英语九年级(上)全册课文翻译(互译版)
- 2023年下半年浙江温州苍南县事业单位选调工作人员笔试参考题库(共500题)答案详解版
- (2023版)小学语文一年级上册电子课本
- 新华镇生活污水处理管网与新华农场管网并网项目环境影响报告表
- 互联网导论智慧树知到课后章节答案2023年下上海第二工业大学
- 工程物探-第五章电法勘探课件
- KSS编码说明电厂KKS编号
- 台区线损综合分析台区线损分类及计算方法
- 人民医院普外科临床技术操作规范2023版
- 【酒店管理系统的设计与开发(论文)】
- 举一反三- 三年级奥数 - 第37讲 面积计算
评论
0/150
提交评论