第1章-软件工程概述课件.ppt

上传人(卖家):晟晟文业 文档编号:4382978 上传时间:2022-12-04 格式:PPT 页数:49 大小:876KB
下载 相关 举报
第1章-软件工程概述课件.ppt_第1页
第1页 / 共49页
第1章-软件工程概述课件.ppt_第2页
第2页 / 共49页
第1章-软件工程概述课件.ppt_第3页
第3页 / 共49页
第1章-软件工程概述课件.ppt_第4页
第4页 / 共49页
第1章-软件工程概述课件.ppt_第5页
第5页 / 共49页
点击查看更多>>
资源描述

1、第第 一一 章章第一章第一章 软件工程概述软件工程概述1.1.1 1.1.1 软件的概念软件的概念1.1.3 1.1.3 软件的分类软件的分类 1.1.2 1.1.2 软件的特点软件的特点1.2.1 1.2.1 软件生产的发展过程软件生产的发展过程1.2.2 1.2.2 软件危机软件危机 1.3.1 1.3.1 软件工程的概念、要素软件工程的概念、要素 1.3.2 1.3.2 软件工程过程软件工程过程生存周期生存周期 1.3.4 1.3.4 软件开发方法软件开发方法 1.3.3 1.3.3 软件开发模型软件开发模型1.3.5 1.3.5 软件过程管理软件过程管理 1.4.1 1.4.1 软件工

2、程的基本目标软件工程的基本目标 1.4.2 1.4.2 软件工程的原则软件工程的原则78 软件:软件:(“软件软件”一词是一词是2020世纪世纪6060年代才出现的)年代才出现的)是对计算任务的处理规则的描述;是对计算任务的处理规则的描述;是对计算任务的处理对象的描述;是对计算任务的处理对象的描述;是有关计算机程序功能、设计、编制与使用的是有关计算机程序功能、设计、编制与使用的文文 字资料和图形资料。字资料和图形资料。软件与硬件一起构成完整的计算机系统,它们相互依存、软件与硬件一起构成完整的计算机系统,它们相互依存、缺一不可缺一不可。9软件是一种特殊的产品,它具有下列特点:软件是一种特殊的产品

3、,它具有下列特点:(1)软件软件是一种逻辑产品是一种逻辑产品软件生产是一个知识化的脑力劳软件生产是一个知识化的脑力劳动过程(不同于一般产品的生产制造),还未完全摆脱手工开动过程(不同于一般产品的生产制造),还未完全摆脱手工开发方式,大部分产品是发方式,大部分产品是“定做定做”的。的。(2)软件的软件的质量和维护质量和维护与一般产品含义、地位不同与一般产品含义、地位不同软件产软件产品不会用坏,不存在磨损、消耗问题品不会用坏,不存在磨损、消耗问题(这也就意味着,只要软这也就意味着,只要软件有问题就与开发者有关系件有问题就与开发者有关系)(3)软件开发和运行软件开发和运行对系统环境有依赖性对系统环境

4、有依赖性不能摆脱软件、不能摆脱软件、硬件基础硬件基础 比如:比如:游戏软件对游戏软件对CPUCPU、内存、显卡的要求、内存、显卡的要求 事务管理软件从单机到事务管理软件从单机到C/SC/S、B/SB/S模式的变化模式的变化10软件是一种特殊的产品,它具有下列特点:软件是一种特殊的产品,它具有下列特点:(4)软件必须软件必须与实际应用紧密结合与实际应用紧密结合应满足应用需求应满足应用需求比如:比如:管理、计算、控制的具体业务知识游戏软件内容的专业化PS、实况足球、赛车 (5)软件开发软件开发风险大、费用高;风险大、费用高;系统成本中软件系统成本中软件比例急剧上比例急剧上升升需要大量复杂、高强度的

5、脑力劳动需要大量复杂、高强度的脑力劳动(高手高成本高手高成本)。美国。美国投入开发的软件只有不到投入开发的软件只有不到30%的成功率;的成功率;IBM OS/360 过百万条过百万条指令,上千人年,投资几亿美元效果不佳。指令,上千人年,投资几亿美元效果不佳。(6)相对于硬件,软件技术相对于硬件,软件技术发展缓慢发展缓慢不论是理论研究不论是理论研究还是开发普及方面还是开发普及方面(已成为制约计算机发展和应用的瓶颈已成为制约计算机发展和应用的瓶颈)11计算机软件可以从不同的角度进行分类:计算机软件可以从不同的角度进行分类:根据功能、规模、工作方式、服务对象、使用频率从应用领域可以分为:从应用领域可

6、以分为:操作系统、网络软件、数据库管理系统等实时软件、嵌入式软件、计算与工程软件、事务处理与管理软件 项目管理、编程与运行环境、媒体处理软件 12经历了三个阶段。(2020世纪世纪4040年代中年代中5050年代末)年代末)生产方式生产方式个体手工劳动;语言环境语言环境机器语言、汇编语言;开发方法开发方法追求编程技巧,追求程序运行效率,使得 程序难读、难懂、难修改;硬件特征硬件特征价格贵、容量小、可靠性差;软件特征软件特征仅有程序、程序设计概念,不重视程序设计方法。13 (2020世纪世纪5050年代末年代末6060年代末)年代末)生产方式生产方式作坊式的小集团合作生产;语言环境语言环境高级语

7、言;开发方法开发方法依靠个人技术,但已提出了结构化方法;硬件特征硬件特征速度、容量及工作可靠性有明显提高,价格降低,销售有爆炸性增长;软件特征软件特征程序员数量猛增,其他行业人员大量进入这个行业,由于缺乏训练,开发人员素质差。局部优化,维护困难、实际运行效果差,导致软件危机局部优化,维护困难、实际运行效果差,导致软件危机的产生。的产生。14 (20世纪70年代初现在)生产方式生产方式工程化的生产;使用数据库、开发工具、开发环境、网络、分布式、面向对象技术来开发软件;硬件特征硬件特征向超高速、大容量、微型化以及网络化方向发展;软件特征软件特征开发技术有很大进步,但是未能获得突破性进展,软件应用普

8、及、价格不断上升,没有完全摆脱软件危机。15 软件发展第二阶段(程序系统阶段程序系统阶段)的末期,由于计算机硬件技术的进步,计算机运行速度、容量和可靠性有显著的提高,生产成本显著下降,为计算机的广泛应用创造了条件。一些复杂的、大型的软件开发项目提出来了,但是,软件开发技术一直未能满足发展的要求。软件开发中遇到的问题因找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,导致了软件危机。软件危机:在计算机软件的开发和维护过程中所遇到的在计算机软件的开发和维护过程中所遇到的一系列严重问题。问题主要体现在两方面:一系列严重问题。问题主要体现在两方面:如何开发如何开发软件满软件满足用户的足用户的需求需求

9、,如何维护如何维护已有的软件已有的软件16 软件危机表现在以下几方面:(1)软件开发成本高、进度延迟成本高、进度延迟损害了开发者的信誉和委托方的利益 (2)软件不符合用户要求软件不符合用户要求用户对系统不满意,给合作双方带来损失。(3)软件可维护性差可维护性差错误难以改正,新功能难以增加 (4)软件工作不可靠工作不可靠影响系统正常工作,甚至造成重大事故 (5)没有文档资料没有文档资料给软件交流,系统的管理、维护造成困难。17 造成上述软件危机的原因概括起来有以下几方面:(1)社会对软件的需求急剧增加社会对软件的需求急剧增加社会的发展和科学技术的进步,使信息流动量和处理量大大增加,单靠人力无法完

10、成。计算机系统的价格大幅度降低和计算机系统的优点又大大刺激了计算机应用的普及。(2)软件本身的特点软件本身的特点(前面已介绍)并且并且软件规模越来越大(IBM 360 OS 第16版达到100万条指令,1973年美国阿波罗计划达到1千万条指令);结构越来越复杂。Windows 2000的开发是微软公司历史上最艰巨的任务之一的开发是微软公司历史上最艰巨的任务之一仅核心部门的的成员就有2500人,测试用的代码就有1000万行,测试中所用到的脚本程序就有6500种。18 (3)软件开发理念和手段与客观实际存在的差异软件开发理念和手段与客观实际存在的差异 对对软件本身软件本身的认识存在差异的认识存在差

11、异软件技术的发展过程层次上个人活动与整个项目的关系规范、现代化对软件产品的认识软件的特点与维护 对软件的对软件的服务对象服务对象认识不足认识不足 存在问题 以开发者为中心 实际应该是 用户需求用户需求+专业知识专业知识+开发者深刻理解开发者深刻理解(很多游戏开发者本身就是游戏人)19 对软件开发对软件开发缺乏科学管理缺乏科学管理 现代软件开发过程是一个复杂的系统工程,具有明显的工程特现代软件开发过程是一个复杂的系统工程,具有明显的工程特征和较高的技术含量。征和较高的技术含量。一般管理方法不适于软件开发一般管理方法不适于软件开发。时间人数一般情况 交流 开发人数时间或成本合计软件开发中人数与时间

12、的关系 开发人员的数量与开发时间是不能简单替换的开发人员的数量与开发时间是不能简单替换的20 软件开发手段落后软件开发手段落后 软件开发工具过于原始,往往只是辅助性的、单方面的。尤其在软件的分析、设计阶段缺少有效的工具。(经验之谈:时间宁可长一点,人员宁可少一点摘自Brooks定律)寻找解决软件危机途径的过程就是软件工程形成的过程。软件工程正是从管理、技术21软件工程软件工程以计算机软件生产为;:以工程化的原理和方法对软件进行规划、定义、开发和维护;:以较少的投入,最快的时间生产出高质量的软件。22背景:背景:大量经验教训和其他产业的工程化生产的启示大量经验教训和其他产业的工程化生产的启示“软

13、件工程”的概念在1968年年北大西洋公约组织的一次会议上首先提出 以计算机软件为对象,采用工程化的原理、技术和方法以计算机软件为对象,采用工程化的原理、技术和方法开发和维护软件。使开发的产品具有较高的质量、成本合理、开发和维护软件。使开发的产品具有较高的质量、成本合理、满足用户需求。满足用户需求。集技术、管理于一体的综合性、实践性学科集技术、管理于一体的综合性、实践性学科 软件工程的主要思想软件工程的主要思想是强调软件开发过程中应用工程是强调软件开发过程中应用工程化原则的重要性。化原则的重要性。23软件工程的软件工程的三要素三要素:方法、工具和过程方法、工具和过程 方法方法为软件开发提供了开发

14、、维护的实现技术;为软件开发提供了开发、维护的实现技术;工具工具为方法的实施提供支撑环境;为方法的实施提供支撑环境;过程过程是获得高质量软件的任务框架、要求和里程碑是获得高质量软件的任务框架、要求和里程碑。软件产品与其他工程中的产品既有相似的一面,软件产品与其他工程中的产品既有相似的一面,也有重大的差别。因此对软件工程的认识既要借鉴也有重大的差别。因此对软件工程的认识既要借鉴传统工程的知识、方法和技术,又要充分注意软件传统工程的知识、方法和技术,又要充分注意软件自身的特殊性。自身的特殊性。24从时间的角度对软件开发和维护的复杂问题进行分解从时间的角度对软件开发和维护的复杂问题进行分解。定义定义

15、从形成概念开始,经过开发、使用和维护直到退役从形成概念开始,经过开发、使用和维护直到退役的漫长周期(划分为若干个阶段)。的漫长周期(划分为若干个阶段)。生命周期的划分原则生命周期的划分原则 各阶段的任务应尽可能相对独立;各阶段的任务应尽可能相对独立;同一阶段各项任务的性质尽可能相同。同一阶段各项任务的性质尽可能相同。划分生命周期的优点划分生命周期的优点 有利于软件开发工程的组织和管理有利于软件开发工程的组织和管理降低了整个软件开发过程的困难程度降低了整个软件开发过程的困难程度对每个阶段都可选用最优的管理方法对每个阶段都可选用最优的管理方法 保证软件质量、提高生产效率25 软件开发软件开发 根据

16、需求说明的要求,逐步生成软件 生命周期的划分生命周期的划分软件定义软件定义 确定软件系统的工程需要Do right things.Do things right.软件维护软件维护 使用、维护正确地做事情做正确的事情26软件定义软件定义 软件开发软件开发软件维护软件维护生命周期细分为六个阶段生命周期细分为六个阶段问题的定义及规划需求分析软件设计程序编码软件测试运行维护27(1)问题定义及规划)问题定义及规划问题定义问题定义“要解决的问题是什么问题是什么”可行性研究可行性研究探讨解决问题的可能方案,对定义的问题做出客观的评价,就问题的解决从技术、实施以及经济的角度做出是否可行的明确结论可行性研究报

17、告 能不能干,值不值得干能不能干,值不值得干若可行,须制定出开发项目的实施计划实施计划(初步安排初步安排)28不是具体地解决问题,而是准确地确定“软件系统必须系统必须做什么做什么”?确定软件系统必须具备哪些功能。系统分析员要和用户讨论、交流,充分、准确、全面地理解用户情况,从中分析出用户要求的功能和性能。要给出软件需求说明书软件需求说明书(需求定义)(2)需求分析)需求分析 即即“做什么做什么”29概要设计概要设计 把各项需求转换成软件的体系结构(结构中每一组成部分都是意义明确的模块,每个模块都和某些需求相对应)详细设计详细设计 对每个模块要完成的工作进行具体的描述,为源程序编写打下基础概要设

18、计和详细设计都要编写设计说明书设计说明书,提交评审(3 3)软件设计软件设计 即即“怎么做怎么做”30(4)编码)编码 即即“写代码写代码”把软件设计转换成计算机可以接受的程序代码,即写成以某一种特定程序设计语言表示的“源程序清单”写出的程序应当是结构良好、清晰易读的,且与设计相一致(5)测试)测试(覆盖整个设计过程)查找、纠正系统存在的语法、接口、功能各类问题,保证软件达到预定的要求(6)维护)维护延续软件的使用寿命 改进系统、预防问题、改正错误、适应变化 (软件维护是软件生存周期中时间最长的阶段,可以持续几年甚至几十年)31有关概念有关概念 模型模型是为了理解事物而对事物作出的一种抽象,它

19、忽略了不必要的细节。软件开发模型软件开发模型在软件生存周期基础上构造出的由软件开发全过程中的活动和任务组成的结构框架。反映了软件开发中各种活动的组织衔接方式是软件项目开发工作的基础规定了软件开发、维护中所需的过程、活动和任务常见模型常见模型:瀑布模型瀑布模型(线性模型);原型模型原型模型(样机模型);螺旋模型螺旋模型。32软件开发软件维护软件定义(目标与范围说明书)(可行性论证报告)(维护报告)(测试报告)(程序)(系统设计文档)(需求规格说明书)瀑布模型瀑布模型反馈33 它规定了由前至后、相互衔接的固定次序,如同瀑布流它规定了由前至后、相互衔接的固定次序,如同瀑布流水,逐级下落。瀑布模型为软

20、件开发提供了一种有效的管理水,逐级下落。瀑布模型为软件开发提供了一种有效的管理模型。根据这一模式制定开发计划,进行成本预算,组织开模型。根据这一模式制定开发计划,进行成本预算,组织开发力量,以项目的发力量,以项目的阶段评审阶段评审和和文档控制文档控制为手段对整个开发过为手段对整个开发过程进行指导。程进行指导。基本特点基本特点 是一种理想化的、文档驱动的模型是一种理想化的、文档驱动的模型 通过文档连接软通过文档连接软件开发过程的各个阶段(件开发过程的各个阶段(阶段间具有顺序性和依赖性阶段间具有顺序性和依赖性)适合于功能和性能明确、完整、无较大变化的软件开发适合于功能和性能明确、完整、无较大变化的

21、软件开发 局限性:局限性:缺乏灵活性,缺乏灵活性,特别是无法解决软件需求不明确或不准确特别是无法解决软件需求不明确或不准确的问题。的问题。34 渐增式模型渐增式模型实质就是分段的线性模型实质就是分段的线性模型 瀑布模型是一种整体开发模型。在开发过程中,用户看瀑布模型是一种整体开发模型。在开发过程中,用户看不到软件是什么样子,只有开发完成后,整个软件才全部展不到软件是什么样子,只有开发完成后,整个软件才全部展现现在用户面前。现现在用户面前。增量模型是一种非整体开发的模型。软件在该模型中是增量模型是一种非整体开发的模型。软件在该模型中是“逐渐逐渐”开发出来的开发出来的 开发出一部分(或者先开发一个

22、开发出一部分(或者先开发一个“原型原型”软件),软件),展示展示给用户,给用户,然后根据用户的反馈信息增添、提炼原型。每然后根据用户的反馈信息增添、提炼原型。每“渐渐近近”一次都更加深入和详细。模型的每个周期都产生一个原一次都更加深入和详细。模型的每个周期都产生一个原型,经过若干个周期循环后,系统就建成了。型,经过若干个周期循环后,系统就建成了。这种循序渐进的方法,对减少由于软件需求把握不准确这种循序渐进的方法,对减少由于软件需求把握不准确给软件开发造成的风险有显著的效果。给软件开发造成的风险有显著的效果。3536 螺旋模型将瀑布模型与增量模型结合起来,加入了两种螺旋模型将瀑布模型与增量模型结

23、合起来,加入了两种模型均忽略了的模型均忽略了的风险分析风险分析。过程的实现过程的实现按照按照“制定计划,风险分析,实施工程,制定计划,风险分析,实施工程,客户评价客户评价”四个步骤循环实施。在实施过程中加入了风险分四个步骤循环实施。在实施过程中加入了风险分析,提高了风险识别和规避的能力。析,提高了风险识别和规避的能力。制定计划制定计划确定目标,选定实施方案,明确开发限制条件确定目标,选定实施方案,明确开发限制条件 风险分析风险分析分析所选方案,识别风险,通过原型消除风险分析所选方案,识别风险,通过原型消除风险 开发实施开发实施即实施软件开发即实施软件开发 用户评估用户评估评价开发工作,提出修改

24、意见,评价开发工作,提出修改意见,建立下一个周建立下一个周期的计划期的计划37螺旋模型示意图螺旋模型示意图38 对于实际的软件开发,由于问题的复杂性,一般一种模对于实际的软件开发,由于问题的复杂性,一般一种模型很难符合要求。通常把几种模型组合在一起,配套使用,型很难符合要求。通常把几种模型组合在一起,配套使用,形成了组合模型。这种把模型组合的方法,允许一个项目沿形成了组合模型。这种把模型组合的方法,允许一个项目沿着最有效的路径发展,从而容易达到降低软件开发成本、缩着最有效的路径发展,从而容易达到降低软件开发成本、缩短软件开发时间、提高软件产品质量的目的。短软件开发时间、提高软件产品质量的目的。

25、3940用户概念支持需求分析专家系统需求分析概要设计详细设计编码测试维护支持设计专家系统支持测试专家系统支持维护专家系统41模型检查软件需求形式化说明(M0)(M2)软件设计形式化说明(M)程序(Mn)变换变换变换421、结构化方法、结构化方法 结构化分析和设计技术结构化分析和设计技术SADT(Structured Analysis and Design Technique)是一种是一种面向数据流面向数据流的开发方法。该的开发方法。该方法简单实用,技术成熟,应用较广。方法简单实用,技术成熟,应用较广。2、Jackson方法方法 这是一种这是一种面向数据结构面向数据结构的开发方法。的开发方法。在

26、许多应用领域,数据结构对软件设计的影响很大,不仅在许多应用领域,数据结构对软件设计的影响很大,不仅影响软件结构的设计,还影响软件过程的设计。影响软件结构的设计,还影响软件过程的设计。3、面向对象(、面向对象(Object Oriented)方法)方法 从从80年代初以来,面向对象技术在计算机软件开发技术年代初以来,面向对象技术在计算机软件开发技术研究和应用领域中十分活跃研究和应用领域中十分活跃(面向对象的开发方法的详细介绍见面向对象的开发方法的详细介绍见第第 5 章章)43软件工程过程软件开发过程中为实现开发目标而完成的一系列软件工程活动。关键部分关键部分是软件开发和维护中的管理和支持能力。管

27、理和支持能力。在对项目的目标、资源、工作量了解的前提下,制定制定科学的开发计划科学的开发计划实施实施有效的具体措施有效的具体措施进行进行完善的质量控制完善的质量控制掌握掌握合理的开发进度合理的开发进度 一个好的管理是成功的基础,一个好的管理是成功的基础,一个差的或者是不当的管理势必导致过程的失败。一个差的或者是不当的管理势必导致过程的失败。(详细介绍见第第 9、10 章章)44 在不同阶段对各类人在不同阶段对各类人员的需求量不同。员的需求量不同。为什么?为什么?45给定给定成本成本、工期工期(生产率)的前提下(生产率)的前提下 达到要求的软件功能,达到要求的软件功能,取得较好的软件性能,取得较

28、好的软件性能,开发的软件易于移植、可靠、有效、可重用。开发的软件易于移植、可靠、有效、可重用。诸多的因素中,质量是软件需求方最关心的问题,而生诸多的因素中,质量是软件需求方最关心的问题,而生产率是软件供应方最关心的问题;好的产率是软件供应方最关心的问题;好的可以同可以同时时。生产率(成本、工期)生产率(成本、工期)质量(功能、性能、可用质量(功能、性能、可用)46 虽然软件工程属于工程科学的范畴,但软件设计与一虽然软件工程属于工程科学的范畴,但软件设计与一般的工程设计还是有较大的区别般的工程设计还是有较大的区别软件是不可见的、抽象的、复杂的逻辑实体软件是不可见的、抽象的、复杂的逻辑实体 软件开

29、发应遵守的软件开发应遵守的方法和原则方法和原则:抽象、抽象、局部化与信息隐蔽、局部化与信息隐蔽、模块化、模块化、一致性、完整性和可验证性一致性、完整性和可验证性。47v局部化与信息隐藏局部化与信息隐藏局局 部部 化化:集中有关的、相同目的的软件要素集中有关的、相同目的的软件要素信息隐藏信息隐藏:把模块的数据及及其操作封装起来把模块的数据及及其操作封装起来通过规定的接口交流信息,屏蔽细节,避免相互影响通过规定的接口交流信息,屏蔽细节,避免相互影响v 抽象(分解)抽象(分解)抽象抽象就是透过现象深入里层,抽取出本质的过程和方法。就是透过现象深入里层,抽取出本质的过程和方法。分解分解是分析解决复杂问

30、题的重要手段和基本原则。是分析解决复杂问题的重要手段和基本原则。抽象与分解相辅相成抽象与分解相辅相成48v 一致性一致性开发过程标准化,使软件产品设计有共同遵循的结构、开发过程标准化,使软件产品设计有共同遵循的结构、规则规则系统接口、符号术语、规格说明系统接口、符号术语、规格说明等的一致性等的一致性v 完全性和可验证性完全性和可验证性 完全、充分地实现系统所需的功能,而且完全、充分地实现系统所需的功能,而且“坚固坚固”v 模块化模块化 软件模块化软件模块化:是指把软件系统划分为若干个逻辑上独立:是指把软件系统划分为若干个逻辑上独立的模块,每个模块完成独立的子功能的模块,每个模块完成独立的子功能

31、 模块独立模块独立:一个模块的工作不依赖于其他模块的存在:一个模块的工作不依赖于其他模块的存在 49一个软件项目的开发中,要采用一种生存周期模型,往一个软件项目的开发中,要采用一种生存周期模型,往往要按照某种开发方法,往要按照某种开发方法,使用相应的工具系统进行。使用相应的工具系统进行。结构化方法可使用瀑布模型、增量模型和螺旋模型结构化方法可使用瀑布模型、增量模型和螺旋模型进行开发;进行开发;Jackson方法可使用瀑布模型、增量模型进行开发;方法可使用瀑布模型、增量模型进行开发;面向对象的开发方法一般是采用喷泉模型,也可用面向对象的开发方法一般是采用喷泉模型,也可用瀑布瀑布模型、模型、增量模型进行开发。增量模型进行开发。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(第1章-软件工程概述课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|