软件工程2课件_第1页
软件工程2课件_第2页
软件工程2课件_第3页
软件工程2课件_第4页
软件工程2课件_第5页
已阅读5页,还剩105页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件工程导论,赵洋河北农业大学信息科学与技术学院zyang2005,授课内容第二篇软件开发方法,第三章软件的生存周期第四章软件的可行性分析第五章软件的需求分析第六章软件的设计工程第七章软件编码与测试第八章软件维护,第三章软件的生存周期,软件定义3.1.1软件定义3.1.2软件的可行性研究3.1.3软件的需求分析软件开发3.2.1软件的概要设计3.2.2软件的详细设计3.2.3软件的实现3.2.4软件测试软件的使用和维护,3.1软件定义,软件的开发过程从定义开始,经过开发、使用和维护,直到最终退役的全过程称为软件生存周期。,3.1软件定义,软件生存周期阶段的划分,验收测试,组装测试,实现,详细设计,概要设计,开发过程,使用与维护,退役,使用与维护过程,需求分析,定义过程,可行性研究,3.1软件定义,软件定义的基本任务是确定软件系统的工程需求,也就是要搞清“做什么”。软件定义过程可通过软件系统的可行性研究和需求分析两个阶段来完成。,3.1.2软件的可行性研究,确定用户要求解决的项目的性质、目标和规模。可行性研究包括:经济可行性、技术可行性、操作可行性、法律可行性、不同的方案。确定软件元素的作用范围,并对软件进行成本估算,制定进度安排,最后提交软件计划。,3.1.3软件需求分析,确定系统必须具有的功能和性能,系统要求的运行环境,并且预测系统发展的前景。需求分析可以划分成四个方面的工作:问题的认识评价和综合需求规格说明书(SRS)复审面向数据流的分析方法是需求分析的主要方法,其中最典型的就是结构化方法(简称SA方法)。,3.2软件开发,软件开发的基本过程是软件开发人员按照需求规格说明的要求,由抽象到具体,直到生成程序,并进行全面的测试,最后生产软件产品。软件开发过程由概要设计、详细设计、实现(即编码与单元测试)、组装测试、验收测试共5个阶段组成。,3.2.1软件的概要设计,软件概要设计的任务数据设计体系结构设计接口设计过程设计总体设计的基本任务是确定模块分解、各模块功能和模块间接口,设计全局数据结构。,3.2.1软件的概要设计,著名的软件设计方法逐步精化-自顶向下设计方法面向数据的设计方法,面向数据流的设计方法面向对象的设计阶段性成果:概要设计说明书;数据库或数据结构说明书;组装测试计划等文档。,3.2.2软件的详细设计,详细设计各模块的实现细节和局部数据结构详细设计工具图形工具流程图、N-S图、判定表、判定树、问题分析图列表工具HIPO(HierarchyplusInput,Process,Output)语言工具PDL(ProgramDesignLanguage),3.2.3软件的实施,把软件设计转换成计算机可以接受的程序代码。选择易学、使用方便的编程语言,以利于减少出错的概率和提高软件的可靠性。编程风格是在不影响软件性能的前提下,有效地组织和编写程序,提高软件的易读性、易测试性和易维护性。,3.2.4软件测试,软件测试的目标是尽可能多地发现错误,一次成功的测试是发现至今没有发现的错误。测试不仅要对软件内部逻辑进行测试,还要对其外部功能进行测试。测试在软件生命期中横跨两个阶段:程序员在编写出每个模块之后进行的必要的测试,即单元测试。专门的测试人员对系统进行的各种综合测试。,3.3软件的使用和维护,任务:通过各种维护活动使软件系统持久地满足用户的需求。每项维护活动实质上都是一次压缩和简化了的软件定义和软件开发过程。都要经历提出维护要求、分析维护要求、提出维护方案、审批维护方案、确定维护计划、修改软件设计、修改程序、测试程序、评审、验收等步骤。,3.3软件的使用和维护,维护是软件的开发工作完成以后在用户使用期间对软件所做的补充、修改和增加工作。维护工作分成以下四类:纠错性维护适应性维护改善性维护预防性维护,3.3软件的使用和维护,软件的易理解性、易测试性和易修改性是决定软件易维护性的基本因素。,第四章软件的可行性分析,4.1可行性分析的任务4.2可行性分析的步骤4.3成本/效益分析4.4可行性分析报告,4.1可行性分析的任务,可行性分析的目的:开发一个基于计算机的系统通常都受到资源(人力、财力、设备等)和时间上的限制,可行性分析主要从经济、技术、法律等方面分析所给出的解决方案是否可行,能否在规定的资源和时间的约束下完成。可行性分析的任务包括:经济可行性技术可行性(风险、资源、技术)法律可行性操作可行性,4.2可行性分析的步骤,确定项目规模和目标研究正在运行的系统建立新系统的高层逻辑模型导出和评价各种方案推荐可行的方案编写可行性分析报告,4.2可行性分析的步骤,可行性分析的结论可以立即开始进行。需要推迟到某些条件(例如资金、人力、设备等)落实之后才能开始进行。需要对开发目标进行某些修改之后才能开始进行因为某种原因(如,技术不成熟、经济上不合算等)不能进行。,4.3成本/效益分析,成本主要包括:购置硬件、软件(如数据库管理系统、第三方开发的构件等)和设备(如传感器等)的费用。系统的开发费用。系统安装、运行和维护费用。人员培训费用。,4.3成本/效益分析,经济效益可增加的收入。可节省的运行费用。人员工资、物资消耗、节约时间等。社会效益指使用基于计算机的系统后对社会产生的影响(如提高了办事效益,使用户满意等)。通常社会效益只能定性地估计。,4.3成本/效益分析,经济效益的度量货币的时间价值投资回收期纯收入投资回收率,4.3成本/效益分析,例如:修改一个已有的库存清单系统,使它每天送给采购员一份订货报表,修改已有的库存清单程序并且编写产生报表的程序,估计共需5,000元;系统修改后能及时定货将消除零件短缺问题,估计因此每年可节省2,500元。假设年利率为12%。提问:几年能够收回投资?(2年?)五年后,纯收入是多少?(7500元?),4.3成本/效益分析,通常用利率的形式表示货币的时间价值现在的P元钱在n年之后的价值F=p(1+i)nn年后的F元钱现在的价值P=F/(1+i)n,4.3成本/效益分析,投资回收期:是使累计的经济效益等于最初投资所需要的时间。显然投资回收期越短,就能越快地获得利润,因此这项工程也就越值得投资。例如:修改库存清单系统两年后可以节省4225.12元,比最初的投资(5,000元)还少774.88元,第三年将再节省1,779.45元。774.88/1779.45=0.44,因此投资回收期是2.44年,4.3成本/效益分析,纯收入:整个生命周期内系统的累计经济效益(折合成现在值)与投资之差。相当于比较投资开发一个软件系统和把钱存在银行(或贷给其他企业)这两种方案的优劣。例如:上述修改库存清单系统,工程5年的纯收入预计是9011.94-5,000=4011.94元,4.3成本/效益分析,投资回收率的计算公式:P=F1/(1+j)+F2/(1+j)2+Fn/(1+j)n其中:P是现在的投资额;Fi是第i年年底的效益(i=1,2,n);n是系统的使用寿命;j是投资回收率。将投资回收率与年利率比较,是衡量工程的经济效益的最重要的参考数据。例如:上述修改库存清单系统工程的投资回收率是41%42%。,4.5可行性分析报告,可行性研究报告(GB8567-88)引言;可行性研究的前提;对现有系统的分析;所建议的系统;可选择的其他系统方案;投资及效益分析;社会因素方面的可行性;结论。,第五章软件的需求分析,需求分析概述;功能与非功能需求;需求的获取;需求的描述;需求分析的方法;结构化分析方法;,5.1需求分析概述,需求工程理解问题的需求是软件工程师所面对的最困难的任务之一。在RalphYoung关于“有效性需求实践”一书中所言。这是最恐怖的噩梦:一个客户走进你的办公室,然后说:“我知道你认为你理解我说的是什么,但你并不理解的是我所说的并不是我想要的。”我们努力从客户那里引导出需求,但是难以理解获取的信息。采用混乱的方式记录需求。,5.1需求分析概述,连接设计和构造的桥梁构建一个软件系统最困难的部分是确定构建什么。其他部分工作不会像这部分工作一样,在出错之后会如此严重地影响随后实现的系统,并且在以后修补竟会如此的困难。FredBrooks,5.1需求分析概述,目的弄清楚到底需要系统“做什么”的问题。需求分析要求开发人员准确理解客户的需求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转化到相应的形式功能规约(需求规格说明)的过程。,5.1需求分析概述,需求分析的地位需求分析虽处于软件开发的初期阶段,但它对于整个软件开发过程以及产品质量至关重要。,5.1需求分析概述,需求分析的任务:刻画软件的功能和性能,确定软件与其他系统元素的接口,并建立软件必须满足的约束。问题识别;评价和综合;建模;规格说明;评审;,5.1需求分析概述,需求通过执行七个不同的活动来完成:起始:客户和开发人员初步的交流和合作;导出:范围问题、理解问题、易变问题;精化:形成分析模型,信息域、功能域、行为域;协商:需求工程师通过协商调解冲突;规格说明:描述功能和性能,以及系统开发约束;确认:正式的技术评审机制;管理:在项目进展中标示、控制和跟踪需求以及变更,5.1需求分析概述,分析员:系统工程师、主系统设计员;有掌握抽象概念,并能把其整理为逻辑划分和根据每一逻辑划分综合为解的能力;有从冲突或混惑中吸取恰当事实的能力;有弄清用户环境的能力;有把硬件和软件系统应用于用户环境的能力;有较好的用书面和口头形式进行沟通的能力;有从“树木见森林”的能力;,5.1需求分析概述,问题域:对问题的正确识别和评价与理解,很大程度上取决于能否获取恰当的信息。用户提供的信息与早期其它人提出的需求说明相矛盾;功能和性能与其它系统元素所给的限制相矛盾;随着时间的推移,对项目的理解发生变化;,5.1需求分析概述,我们应当收集什么样的信息?应当怎样对它们进行表示?谁能提供各种原始信息?采用什么样的技术和工具才能方便地收集信息?如何避免信息之间的不一致性?怎样察觉出现了遗漏?,5.1需求分析概述,沟通技术1谁是这个项目的真正需求者?谁使用这项解?一个成功的解将带来什么样的经济效益?为了这个解,你还需要其它资源吗?你怎样表述一个成功的解能产生一个好的输出?这样的解要解决一些什么样的问题?你能否描述或显示一下这样的解使用什么环境?,5.1需求分析概述,沟通技术2这种方式的解对特殊的性能问题或限制将有哪些影响?你是真正回答这些问题的人吗?你的回答能否代表决策者?我提出的问题是否贴近你要解决的问题?我的问题是否太多?这里还有其他人可以提供其它方面的信息吗?这里还有什么事情是我应该知道的?,5.1需求分析概述,沟通技术(应用规范技术)会议由中立部门主持,开发人员和用户双方都参加;确定准备和参加的原则;提出一个正规的议事日程,包括所有观点;一位主持人;一张确定的日程表;工作目标是确定问题,提出解的各种元素,协商不同方法,定义一个初步解的需求集。,5.2功能与非功能需求,功能需求:描绘系统应该提供的服务、如何对输入做出反映以及系统在特定条件下的行为的描述。,5.2功能与非功能需求,非功能需求:从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求,例如响应时间、数据精度、可靠性、开发过程的标准等。系统应在20秒之内响应所有的请求。系统每周7天、每天24小时都可以使用。对于一个没有经验的用户而言,经过两个小时的培训就可以使用系统的所有功能。,5.2功能与非功能需求,图1-3主要的非功能需求,5.3需求的获取,需求的获取需解决的三个问题:需求的来源需求获取的方法需求获取的内容,5.3需求的获取,5.3需求的获取,部门的名称、人员数量和结构。部门发展或变化简单介绍。部门的主要任务。业务处理流程。业务处理流程中涉及那些专业领域的知识。工作需要的审批流程是什么?主要算法描述。那些业务需要实时处理。那些业务需要交互操作。部门各岗位的职责。,5.3需求的获取,部门接收哪些部门或外界的信息?信息内容和格式要求是什么?部门产生哪些信息?部门产生的信息送到哪些其他部门?格式要求是什么?对信息的输入和输出方式有要求吗?输入输出设备是什么?数据要求实时备份吗?备份的设备是什么?时间策略?业务处理有高峰期吗?高峰时间是什么时候?业务量有多少?,5.3需求的获取,现有的哪些设备要继续使用?对产品的运行环境有要求吗?对界面风格和操作方式有要求吗?在系统运行过程中允许停机吗?操作方式要根据操作环境和使用人员素质分类吗需要的操作权限有哪些?需要记录系统操作运行日志吗?用户有能力进行系统维护吗?需要分布式处理吗?,5.4需求的描述,无二义性(例子:需求描述1)不同的人员对需求的理解应该是一致的。一般情况下,描述需求都使用自然语言,因此容易引起需求理解的二义性。完整性(例子:需求描述2)不能遗漏任何必要的需求;每一项需求要完成的任务必须要描述清楚,以便开发人员明白实现这项需求的所有信息,用户能够审查这项需求描述的正确性,5.4需求的描述,正确性每项需求都必须准确地反映用户要完成的任务。可行性每一个成功的软件系统其解决方案都应该是可行的,可行性体现在技术、经济、操作可行性。必要性每项需求都应该是客户所需要的,开发人员不要自作主张添加需求。,5.4需求的描述,划分优先级为每项需求按重要程度分配一个优先级,有助于项目管理者解决冲突、安排阶段性交付,在必要时作出功能取舍,以最小的费用获得产品最大的功能。正常需求;期望需求;令人兴奋的需求;,5.4需求的描述,可验证性指定非功能需求的度量。理论上,非功能需求能够量化,从而使其验证更为可观。但在实际过程中,对需求描述的量化通常是很困难的。例如:系统目标:”系统很好用,即使对于一个没有经验的用户,而且应该使用户错误降到最少”。可验证的非功能需求:“对一个没有经验的用户来说,经过2小时的培训应该能够使用系统的所有功能。在这样的培训之后,一个有经验的用户每天的出错平均数不应超过2次”。,5.4需求的描述,“发现任何不友好且带有未知任务的或者有可能在5分钟内飞入空中禁区的飞行物时,要拉响警报”。上述需求描述的是:说明针对军事系统中空中禁区受到入侵时的报警事件。讨论:请问以下情况会拉响警报吗?Case1:友好的且带未知任务且5分钟内飞入。Case2:友好的且任务明确5分钟内飞入的。,5.4需求的描述,分析:设A-”不友好的”,B-未知任务,C-5分钟之内飞入,则有AandBorC。,5.4需求的描述,5.4需求的描述,5.4需求的描述,5.5需求分析的方法,自然语言(非形式化方法)图形化的符号(半形式化方法)数据流图UML语言实体关系图等数学描述(形式化方法)基于状态机或集合数学概念描述系统模型,如Z语言、Petri网等。,5.5需求分析的方法,分析模型是一组模型,是系统的第一个技术标示,系统描述,分析模型,设计模型,分析模型在系统描述和设计模型之间建立桥梁,描述客户需要什么;为软件设计奠定基础;定义在软件完成后可以被确认的一组需求。,5.5需求分析的方法,构建分析模型应遵循的原则:模型应关注在问题域或业务域内可见的需求,抽象的级别应相对高些;分析模型的每个元素都应该能增加对软件需求的整体理解;关于基础结构和其它非功能模型应推迟到设计阶段再考虑;最小化整个系统内的关联;确认分析模型为所有共利益者都带来价值;尽可能保持模型简洁。,5.5需求分析的方法,域分析的输入和输出,域分析:,领域知识的来源,域分析模型,域分析,技术资料已有的应用专家建议当前/未来的需求,类的分类复用标准功能模型域的语言,分析模型,5.5需求分析的方法,分析建模的元素,基于场景的元素用例文本用例图活动图泳道图,面向信息流的元素数据流图控制流图处理说明,基于类的元素类图包图CRC模型协作图,行为元素状态图顺序图,5.6结构化分析方法,结构化分析(StructuredAnalysis)像所有的软件分析方法一样,是一种确定模型的活动。结构化分析方法是一种面向数据流进行需求分析的方法。SA方法使用专用的符合,来描绘信息(数据和控制)流、内容和结构模型,划分系统的功能和行为,以及对其他在确定模型时不可缺少部分的描述。数据流图用于功能建模;实体关系图用于数据建模;状态迁移图用于行为建模。,5.6结构化分析方法,数据流程图:(DataFlowDiagram:DFD)舍去了具体组织机构、信息载体、物资、材料等,单从流动过程来考查实际业务的数据处理模式。业务流程图:(TransactionFlowDiagram,TFD)就是用一些规定的符号及连线来表示某个具体业务处理过程。,5.6结构化分析方法,系统数据流程分析的基础是数据或资料的收集和分析。收集原系统全部输入单据、输出报表和数据存储介质的典型格式;弄清各环节上的处理方法和计算方法;上述各种单据、报表、帐本的制作单位、报送单位、存放地点、发生频度、发生高峰时间及发生量;上述各种单据、报表、帐本的各项数据的类型、长度、取值范围、精度等。重要程度和保密程度。,5.6结构化分析方法,单证、报表,5.6结构化分析方法,外部项。用外部项描述系统的数据来源和去处,它是系统之外的实体或工作环节。系统开发不能改变这些外部项本身的结构和固有属性。加工。又称数据的处理逻辑,表示系统对数据进行处理的逻辑功能。数据存储:数据存储是仅仅是逻辑意义上的数据存储环节,即管理信息系统在对数据的处理过程中,有些环节需要把一些中间数据或结果数据保存下来。数据存储并不包含使用什么具体物理介质和技术手段的信息。数据流。数据流是指是各加工环节进行输入、处理和输出的数据集合。,5.6结构化分析方法,T,A,B,*,C,数据A和B同时输入才能变换为C,T,A,B,*,C,数据A变换成B和C,T,A,B,+,C,数据A或B,或A和B同时输入才能变换为C,5.6结构化分析方法,T,A,B,+,C,数据A变换成B或C,或B和C,T,A,B,+,C,数据A变换成B或C,T,A,B,+,C,数据A或B,但A和B不能同时输入,变换为C,5.6结构化分析方法,数据流图的基本组成及符号,5.6结构化分析方法,实例1汽车配件销售系统顾客发订单给销售部门,销售部门经过订单检查,把不合格的订单反馈给顾客。对合格订单,通过核对库存记录,缺货订单通过缺货统计,向采购部门发出缺货通知,并登记缺货记录。对于可供货订单,登记用户档案,开出备货单,通知仓库备货。同时保存订单数据,一段时间后进行销售统计。,5.6结构化分析方法,5.6结构化分析方法,5.6结构化分析方法,5.6结构化分析方法,为了确定系统的边界,在系统调查的基础上,绘出最高层的数据流图又称“关联图”。这一步活动的目标,是明确所描述的系统与各外部实体的信息交互联系。然后确定系统的几个主要的综合性的逻辑功能,绘制数据流图的顶层图,又称TOP图。TOP图主要反映系统的总的实现目标。数据流图分解细化第三层,就可以清楚表达了数据流程关系,最底层的数据流图表示了所有“具体”的数据加工功能和输入输出关系。,5.6结构化分析方法,汽车配件销售业务的系统关联图为了简化问题,把关联图一分为二,即把公司的业务分为销售业务子系统和采购业务子系统。,5.6结构化分析方法,第二步:获得销售子系统第一层图,5.6结构化分析方法,第三步:获得销售子系统第二层图,5.6结构化分析方法,绘制数据流图的技巧:记住一个准则:“数据流”一定是和“加工”有关联的。一个数据流不是流入“加工”的就必然是从“加工”流出的。系统输出的数据流是由哪些数据元素组成的?每个数据元素又是从哪里来的?对这些问题的回答,迫使我们必须从数据流图的输出端开始,沿数据流的方向回溯。既然它们是系统的输出,显然不是从外面输入到系统中来的就是通过加工产生出来的。沿数据流图从输出端向输入端回溯,一定能够找出每个数据元素的来源。如果确认某个数据流是由某个加工产生的,就可以从用户那里调查分析得到该加工的逻辑算法。,5.6结构化分析方法,绘制数据流图的技巧:编号规则。在绘制数据流图的过程中,外部项、处理逻辑、数据流和数据存储都应加以命名和编号,因为数据流图是按分层分解的形式描述的,所以对于处理逻辑、数据流和数据存储最适用的编号方法是用“层序号”。命名规则。对数据流、处理(逻辑)功能、数据存储及外部项的命名是否恰当,直接影响数据流图的可理解性。下面是在命名时,应该注意的地方:对数据流(或数据存储)的命名:一般使用名词。对处理逻辑的命名,除了子系统级的逻辑功能可以使用名词以外,原则上,其他功能逻辑习惯使用动宾结构的短语命名。,5.6结构化分析方法,数据流图只反映数据流向、数据加工和逻辑意义上的数据存储,不反映任何数据处理的技术过程、处理方式和时间顺序,也不反映判断与控制条件等技术问题。难以在数据流图上标识出数据流、数据存储、加工和外部项的详细内容,这些内容有待利用数据词典加以补充描述。,5.6结构化分析方法,数据字典:在系统分析中的作用是给数据流图上每个成分以定义和说明,其描述的主要内容有:数据流、数据元素、数据存储、加工、外部项等关于系统的详细信息。在数据字典中,仅定义数据的静态特征,具体包括:(1)数据项的名称、编号、别名和简述;(2)数据项的长度;(3)数据项的取值范围和取值含义;(4)与它有关的数据结构等。,5.6结构化分析方法,数据字典条目类型一:数据流数据流是数据的流动情况的说明,是处理逻辑的输入和输出,由一个或一组固定的数据项组成。包括:数据流的名称;数据流的来源;数据流的去处;数据流的组成;数据流的流通量;,5.6结构化分析方法,数据流,5.6结构化分析方法,数据字典条目类型二:数据元素,5.6结构化分析方法,数据字典条目类型三:数据存储,5.6结构化分析方法,数据字典条目类型四:外部项,5.6结构化分析方法,数据字典条目类型五:加工逻辑,5.6结构化分析方法,数据结构的定义,5.6结构化分析方法,5.6结构化分析方法,“基本加工”在数据流图中只有一个简单的名字,其详细的加工逻辑则需要用到特殊的工具加以分析与表达,常用工具有:(1)自然语言的文字叙述;(2)结构化语言;(3)策略树;(4)策略表;(5)数学公式。,5.6结构化分析方法,某公司为员工投保,投保策略使用自然语言描述为:如果申请者的年龄在21岁以下,要额外收费;如果申请者是21岁以上、26岁以下的女性,适用于A类保险;如果申请者是26岁以下的已婚男性,或者是26岁以上的男性,适用于B类保险;如果申请者是21岁以下的女性,或是21岁到26岁之间的单身男性,适用于C类保险。除此之外的其他申请者,都适用于A类保险。,5.6结构化分析方法,策略树:,5.6结构化分析方法,提取问题中的条件:年龄、性别、婚姻。标出条件的取值:为方便绘制判定表,这里用符号代替条件取值。,5.6结构化分析方法,计算条件组合情况:年龄状态数性别状态数婚姻状态数=322=12。提取可能采取的动作或措施:包括A类保险、B类保险、C类保险和额外收费。制作判定表。,5.6结构化分析方法,5.6结构化分析方法,5.7案例SafeHome住宅监视系统,通过Internet访问摄像头监视功能。选择将要查看的摄像头。提供所有摄像头的缩略图。在计算机的窗口中显示摄像头试图。控制某个特定摄像头的镜头转动和缩放。可选择地记录摄像头的输出。回放摄像头的输出。,5.7案例SafeHome住宅监视系统,描述性用例:参与者(房主)如果我位于远方,我可以使用任何计算机上合适的浏览器软件登录SafeHome。输入我的用户ID和密码,一旦确认,我可以访问已经安装的SafeHome系统的所有功能。为取得某个摄像头视图,从显示的主功能按钮中选择“监视”,然后选择“选取摄像头”,将会显示房间的平面设计图,再选择

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论