软件工程实用教程11-系统设计.ppt

上传人(卖家):三亚风情 文档编号:3390099 上传时间:2022-08-26 格式:PPT 页数:64 大小:4.71MB
下载 相关 举报
软件工程实用教程11-系统设计.ppt_第1页
第1页 / 共64页
软件工程实用教程11-系统设计.ppt_第2页
第2页 / 共64页
软件工程实用教程11-系统设计.ppt_第3页
第3页 / 共64页
软件工程实用教程11-系统设计.ppt_第4页
第4页 / 共64页
软件工程实用教程11-系统设计.ppt_第5页
第5页 / 共64页
点击查看更多>>
资源描述

1、第十一章系统设计第十一章系统设计任务任务1 1 创建体系结构创建体系结构什么是软件体系结构什么是软件体系结构框架模式及应用架构框架模式及应用架构任务任务2 2 创建动态模型创建动态模型什么是动态模型什么是动态模型健壮性分析健壮性分析序列图序列图协作图协作图状态图状态图活动图活动图选择正确的图选择正确的图2 2根据前面软件设计一章学习到的知识,我们知道项根据前面软件设计一章学习到的知识,我们知道项目进入到了系统设计阶段将意味着我们需要对系统目进入到了系统设计阶段将意味着我们需要对系统的内部组织形式及实现方式做以考虑,也就是说要的内部组织形式及实现方式做以考虑,也就是说要对具体如何搭建系统提出相应

2、的解决方案。对具体如何搭建系统提出相应的解决方案。资源管理系统的功能性需求已经明确,那么采用什资源管理系统的功能性需求已经明确,那么采用什么样的体系结构能够满足异地交互的需求,为广大么样的体系结构能够满足异地交互的需求,为广大教师提供方便图书交换的场所呢?教师提供方便图书交换的场所呢?3 3定义定义体系结构是一种重要决策,其中涉及软件系统的体系结构是一种重要决策,其中涉及软件系统的组织,对结构元素及其组成系统所籍接口的选择组织,对结构元素及其组成系统所籍接口的选择,这些元素特定与其相互协作的行为,这些结构,这些元素特定与其相互协作的行为,这些结构和行为元素到更大的子系统的组成,以及指导该和行为

3、元素到更大的子系统的组成,以及指导该组织结构(这些元素及其接口、协作和组成)的组织结构(这些元素及其接口、协作和组成)的体系结构风格。体系结构风格。构建软件结构的目的构建软件结构的目的重用:系统能够重用以前的代码和设计,从而提重用:系统能够重用以前的代码和设计,从而提高开发效率;高开发效率;扩展:在系统能够保持结构的稳定的前提下很容扩展:在系统能够保持结构的稳定的前提下很容易地扩充功能和提升性能;易地扩充功能和提升性能;简洁:好的架构一定易于理解,易于学习,易于简洁:好的架构一定易于理解,易于学习,易于维护,人们希望能够通过一个简洁的体系结构来维护,人们希望能够通过一个简洁的体系结构来把握系统

4、。把握系统。目标目标应用程序的分割是我们在细化阶段的主要任务和应用程序的分割是我们在细化阶段的主要任务和目标。系统的体系结构就是应用程序分割策略的目标。系统的体系结构就是应用程序分割策略的综合应用。综合应用。一般常用的分割策略一般常用的分割策略按功能进行划分按功能进行划分按系统的物理布局进行划分按系统的物理布局进行划分按软件层次划分按软件层次划分功能划分功能划分 将系统以子系统、功能模块的形式进行划分。将系统以子系统、功能模块的形式进行划分。层次划分层次划分 也称为按服务进行划分。也称为按服务进行划分。层是对模型中不同抽象层次上的逻辑结构进行分组的层是对模型中不同抽象层次上的逻辑结构进行分组的

5、一种特定方式。一种特定方式。通过分层,从逻辑上将子系统组织成为许多独立的、通过分层,从逻辑上将子系统组织成为许多独立的、职责相关的集合,而层间关系的形成要遵循一定的规职责相关的集合,而层间关系的形成要遵循一定的规则。则。“较低较低”的层是较低级别和一般性服务;的层是较低级别和一般性服务;“较高较高”的层则是与应用相关的。的层则是与应用相关的。协作和耦合是从协作和耦合是从“较高较高”层到层到“较低较低”层进行的,要层进行的,要避免从避免从“较低较低”层到层到“较高较高”层的耦合。层的耦合。功能划分与层次划分之间的关系功能划分与层次划分之间的关系 层次划分是对体系结构的横向分解,功能划分是层次划分

6、是对体系结构的横向分解,功能划分是对体系结构的纵向分解。它们之间的关系,如图对体系结构的纵向分解。它们之间的关系,如图所示。所示。物理布局划分物理布局划分 系统的逻辑分层分别系统的逻辑分层分别实现在不同的物理层实现在不同的物理层(物理机器)上,通(物理机器)上,通常将这种物理层次上常将这种物理层次上的划分称为客户端程的划分称为客户端程序和服务器端程序,序和服务器端程序,常见的架构描述为常见的架构描述为C/SC/S(如图所示)、(如图所示)、B/SB/S系系统。统。尽管功能模块的划分非常容易理解,但是正尽管功能模块的划分非常容易理解,但是正如我们前面分析的那样,要使应用程序的体如我们前面分析的那

7、样,要使应用程序的体系结构可扩展,更易于维护,就必须隔离出系结构可扩展,更易于维护,就必须隔离出应用程序的逻辑层,进行逻辑层次的划分,应用程序的逻辑层,进行逻辑层次的划分,从横向组织应用程序。从横向组织应用程序。应用程序的三个逻辑层应用程序的三个逻辑层表示服务表示服务业务服务业务服务数据服务数据服务各个逻辑层的范围和目标各个逻辑层的范围和目标 使用层有助于解决的问题使用层有助于解决的问题源码的变更波及整个系统;源码的变更波及整个系统;应用逻辑与用户界面交织在一起,无法复用于其应用逻辑与用户界面交织在一起,无法复用于其他不同界面或分布到其他处理结点之上;他不同界面或分布到其他处理结点之上;潜在的

8、一般性技术服务或业务逻辑与更特定于应潜在的一般性技术服务或业务逻辑与更特定于应用的逻辑交织在一起,无法被复用、分布到其他用的逻辑交织在一起,无法被复用、分布到其他结点或方便地使用不同实现进行替换;结点或方便地使用不同实现进行替换;不同关注领域之间高度耦合,难以为不同开发者不同关注领域之间高度耦合,难以为不同开发者清晰地界定和分配任务。清晰地界定和分配任务。框架是构建问题解决方案的基础结构。框架是构建问题解决方案的基础结构。在对象技术中,框架是一种复用技术,是反复出在对象技术中,框架是一种复用技术,是反复出现的组织模式和习惯用法,是对一系列体系结构现的组织模式和习惯用法,是对一系列体系结构的抽象

9、。框架模式的本质是一些特定的元素按照的抽象。框架模式的本质是一些特定的元素按照特定的方式组织成一个有利于上下文环境里的特特定的方式组织成一个有利于上下文环境里的特定问题的解决结构。定问题的解决结构。而应用框架是一项具体技术的应用。而应用框架是一项具体技术的应用。这种应用技术往往是对某一框架模式的实现。这种应用技术往往是对某一框架模式的实现。框架模式是思想,应用框架是对框架模式的具体框架模式是思想,应用框架是对框架模式的具体实现。实现。MVCMVC一个著名的体系框架模式(结构)是模型一个著名的体系框架模式(结构)是模型-视图视图-控控制器(制器(MVCMVC)框架,)框架,模型(模型(model

10、model)代表系统的模型层,)代表系统的模型层,视图(视图(viewview)是模型的展现层)是模型的展现层 ,控制器(控制器(controllercontroller)负责业务的流转。)负责业务的流转。是面向对象设计中使用分离关注点原则的一个经是面向对象设计中使用分离关注点原则的一个经典例子。典例子。MVCMVC强制编程者将应用类分为三组,它们分别特强制编程者将应用类分为三组,它们分别特化和继承自抽象类:模型、视图和控制器。化和继承自抽象类:模型、视图和控制器。MVCMVC框架示意图框架示意图 分离分离MVCMVC的观点有以下几点优势:的观点有以下几点优势:允许单独开发允许单独开发GUIG

11、UI、业务数据和模型层逻辑。增加了程、业务数据和模型层逻辑。增加了程序可维护性,可复用性、可扩展性。序可维护性,可复用性、可扩展性。替换或者移植到一个不同的替换或者移植到一个不同的GUIGUI,而不需要对模型进行,而不需要对模型进行根本性的改变。根本性的改变。改造和重新设计模型,同时保持用户改造和重新设计模型,同时保持用户GUIGUI的表示形式。的表示形式。允许相同模型状态上的多视图。允许相同模型状态上的多视图。改变改变GUIGUI对用户事件的响应方式,而不改变对用户事件的响应方式,而不改变GUIGUI的表示的表示方式(一个视图控制器甚至在运行时改变)。方式(一个视图控制器甚至在运行时改变)。

12、使模型没有使模型没有GUIGUI也能执行(例如,用于测试或用于批量也能执行(例如,用于测试或用于批量处理)。处理)。StrutsStruts是一个具体的是一个具体的“WebWeb应用框架应用框架”,它能比较完善,它能比较完善地实现地实现MVCMVC模式的模式的WebWeb应用。应用。StrutsStruts的实现的实现控制控制(Controller)(Controller)ActionServletActionServlet。模型模型(Model):(Model):一般是以一般是以JavaBeanJavaBean的形式存在。大致分三类:的形式存在。大致分三类:ActionBean(Action

13、Bean(亦称亦称Action)Action)、FormBean(FormBean(亦称亦称ActionForm)ActionForm)、JavaBean JavaBean 或或EJBEJB。视图(视图(ViewView)strutsstruts提供自定义的提供自定义的JSP JSP 标记,如标记,如 HtmlHtml、BeanBean、LogicLogic、TemplateTemplate等,构建等,构建JSPJSP,完成视图,完成视图 。构建过程分为三个阶段:构建过程分为三个阶段:物理结构的选择(初步体系结构)物理结构的选择(初步体系结构)逻辑结构的确定逻辑结构的确定实现结构的确定实现结构

14、的确定制定初步体系结构制定初步体系结构根据用户的需求我们要选取一种合适的系统体系根据用户的需求我们要选取一种合适的系统体系结构,一种适用的系统体系决定了系统的框架。结构,一种适用的系统体系决定了系统的框架。对于用户来讲,他们并不关心功能具体如何实现对于用户来讲,他们并不关心功能具体如何实现,只关心使用的方便及其实用性,但对于系统设,只关心使用的方便及其实用性,但对于系统设计人员及程序人员来说,却要知道系统到底是什计人员及程序人员来说,却要知道系统到底是什么样的系统,所以系统初步架构的选取是系统设么样的系统,所以系统初步架构的选取是系统设计第一步。计第一步。体系结构的选取可参考关键问题:体系结构

15、的选取可参考关键问题:是单机还是客户机是单机还是客户机/服务器系统?服务器系统?是常规应用开发还是底层开发(是否有单片机系是常规应用开发还是底层开发(是否有单片机系统)?统)?客户机最大点数是多少?客户机最大点数是多少?是否提供给第三方是否提供给第三方APIAPI接口?接口?网络(或数据通信)是什么连接方式?网络(或数据通信)是什么连接方式?客户机是胖客机还是瘦客户机?客户机是胖客机还是瘦客户机?数据文件的保存方式(文本、本地数据库、大型数据文件的保存方式(文本、本地数据库、大型数据库)?数据库)?逻辑结构的划分逻辑结构的划分体系结构中的层表示在系统中垂直方向的划分,体系结构中的层表示在系统中

16、垂直方向的划分,而分区则表示对层在水平方向上进行划分。形成而分区则表示对层在水平方向上进行划分。形成相对平行的子系统。相对平行的子系统。信息系统逻辑结构中常见的层信息系统逻辑结构中常见的层 执行体系结构执行体系结构 我们把特定于应用程序而选择的技术、产品和体我们把特定于应用程序而选择的技术、产品和体系结构的集合,称为应用程序的执行体系结构。系结构的集合,称为应用程序的执行体系结构。MSMSMSMS项目的项目的部分逻辑层视图部分逻辑层视图 前面我们通过对体系结构的搭建,初步形成了资前面我们通过对体系结构的搭建,初步形成了资源管理系统整体的组织形式。但是,如果想描述源管理系统整体的组织形式。但是,

17、如果想描述系统内部具体的运作形式,并且能够有效指导我系统内部具体的运作形式,并且能够有效指导我们进行编码,我们还需要添加一些动态元素来描们进行编码,我们还需要添加一些动态元素来描述系统内部是如何响应外部发出的请求的。那么述系统内部是如何响应外部发出的请求的。那么,大家想一想看,可以通过构建什么样的模型帮,大家想一想看,可以通过构建什么样的模型帮助我们形成图助我们形成图12-112-1所示的程度,最终帮助我们完所示的程度,最终帮助我们完成代码编写的工作呢?成代码编写的工作呢?3131定义定义有助于设计逻辑、代码行为或方法体。有助于设计逻辑、代码行为或方法体。UMLUML中提供的动态模型包括序列图

18、、协作图、状中提供的动态模型包括序列图、协作图、状态图和活动图。态图和活动图。动态模型的分类动态模型的分类序列图序列图交互图之一,是最常用的动态模型。以时间为中心,其重交互图之一,是最常用的动态模型。以时间为中心,其重点是对象之间消息的线性流动。点是对象之间消息的线性流动。项目细化阶段对用例路径的建模。项目细化阶段对用例路径的建模。协作图协作图交互图之一,和序列图解释的信息是相同的,但它强调的交互图之一,和序列图解释的信息是相同的,但它强调的是单个对象及其发送和接收的消息。协作图以对象为中心是单个对象及其发送和接收的消息。协作图以对象为中心。协作图提供的视角表现了一个对象的繁忙程度。如果一个协

19、作图提供的视角表现了一个对象的繁忙程度。如果一个对象处于繁忙状态,则其生命周期值得关注,可以利用状对象处于繁忙状态,则其生命周期值得关注,可以利用状态图作进一步分析。态图作进一步分析。状态图状态图对一个类的生命周期进行建模,它追踪了一个对象从诞生对一个类的生命周期进行建模,它追踪了一个对象从诞生到消亡的全过程。到消亡的全过程。它对一个对象可以处于的状态进行建模,包括对象转换到它对一个对象可以处于的状态进行建模,包括对象转换到新状态或处于某个特定时的时间和与实践相关联的动作和新状态或处于某个特定时的时间和与实践相关联的动作和活动。活动。通常具有实时嵌入式性质的应用程序所用的类中,使用状通常具有实

20、时嵌入式性质的应用程序所用的类中,使用状态图的比例高一些。态图的比例高一些。活动图活动图对一个复杂的步骤进行建模,它还可以用来对用例路径的对一个复杂的步骤进行建模,它还可以用来对用例路径的步骤进行建模。它最接近传统意义的程序流程图。步骤进行建模。它最接近传统意义的程序流程图。何为健壮性分析何为健壮性分析健壮性分析将动态模型和静态模型关联起来。健壮性分析将动态模型和静态模型关联起来。在在UMLUML中,健壮性分析采用健壮图来表示。中,健壮性分析采用健壮图来表示。健壮图健壮图在在UMLUML中,健壮图是一个类图。中,健壮图是一个类图。在类图上,使用三种图标来表示三种不同的对象在类图上,使用三种图标

21、来表示三种不同的对象。边界对象边界对象(类类)参与者使用它来同系统交互。参与者使用它来同系统交互。通常,边界对象用作屏蔽和媒介,隔离了如何取通常,边界对象用作屏蔽和媒介,隔离了如何取得应用程序提供的服务的大部分交互细节。得应用程序提供的服务的大部分交互细节。位于系统与外界的交界处,包括所有的窗体、报位于系统与外界的交界处,包括所有的窗体、报表、系统硬件接口、与其他系统的接口。表、系统硬件接口、与其他系统的接口。识别边界类的简单途径就是注意系统中的参与者识别边界类的简单途径就是注意系统中的参与者。每个参与者都需要与系统建立接口每个参与者都需要与系统建立接口实体对象实体对象(类类)通常是来自领域模

22、型的对象。通常是来自领域模型的对象。它们用来保存持久性的应用程序实体的有关信息它们用来保存持久性的应用程序实体的有关信息,并提供用于驱动应用程序中大多数交互所需的,并提供用于驱动应用程序中大多数交互所需的服务。服务。实体对象通常提供一些非常具体的服务。实体对象通常提供一些非常具体的服务。存储和检索实体属性存储和检索实体属性创建和删除实体创建和删除实体提供随着实体的改变有可能改变的行为提供随着实体的改变有可能改变的行为控制对象控制对象(类类)对应用领域中的活动进行协调,即将边界对象和对应用领域中的活动进行协调,即将边界对象和实体对象关联起来。实体对象关联起来。每一个用例中通常有一个控制类,它控制

23、用例中每一个用例中通常有一个控制类,它控制用例中的事件顺序。的事件顺序。通常,控制类可以扮演以下几种角色。通常,控制类可以扮演以下几种角色。与事物相关的行为与事物相关的行为特定于一个或少量用例(或用例中的路径)的一个控制序特定于一个或少量用例(或用例中的路径)的一个控制序列列将实体对象与边界对象分离的服务将实体对象与边界对象分离的服务健壮性分析的要素健壮性分析的要素帮助确保用例文本的正确性帮助确保用例文本的正确性是后续工作的基础是后续工作的基础可帮助发现对象可帮助发现对象是系统的初步设计是系统的初步设计健壮图的图例健壮图的图例-查看最近订单查看最近订单健壮性图的使用规则健壮性图的使用规则参与者

24、只同边界对象交互参与者只同边界对象交互边界对象只能同控制器和参与者交互边界对象只能同控制器和参与者交互实体对象只能同控制器交互实体对象只能同控制器交互控制器可同边界对象、实体对象以及其他控制器控制器可同边界对象、实体对象以及其他控制器交互,但不能同参与者进行交互交互,但不能同参与者进行交互用例:登录基本流程:基本流程:1.用户在登录页面上输入其用户ID和密码,然后单击“登录”按钮。2.系统根据永久性账号数据对登录信息进行验证。3.系统显示欢迎页面。分支流程:分支流程:1.a如果用户单击登录页面上的“注册”按钮,系统将调用注册用户用注册用户用例例。2.a如果身份验证失败,系统将在一个单独的对话框

25、中显示对该用户的提示语。顾客单击OK按钮后,系统返回到登录页面。用例UC2.1:添加藏书基本流程:1.藏书者登记新购买图书的信息,包括书名、作者、译者、出版社、购买时间(系统自动给出录入时间)、价格、对图书的推荐信息、喜爱程度(默认情况下为3星,最高等级为5级,最低等级为1级),数量(默认为1本,极个别情况会出现多本重复书籍)、类别(方便管理,可自己设定归类名称)。2.系统进行输入信息的有效性检查。3.系统根据图书名称进行重复图书检查。4.存储图书信息,并提示存储成功。5.系统重新显示初始添加藏书界面,用户可以进行下一本图书的录入过程。分支流程:1.a 如果藏书者录入信息有误。1 系统提示藏书

26、者此信息。2 返回刚才的添加藏书界面,界面保持原来填写数据。3.a 如果图书名称发生重复,系统将提示此信息,并给出相应图书列表,用户可以查阅图书的详细信息,同时要求用户对此情况进行处理。1 如果确认图书录入重复,则系统放弃对当前图书信息的存储。2 如果只是同名不同书,则用户确认此情况后,系统对当前录入的图书信息进行保存。为用例设计其序列图目的为用例设计其序列图目的识别设计类或子系统,其实例需要去执行用例的识别设计类或子系统,其实例需要去执行用例的事件流事件流把用例的行为分布到有交互作用的设计对象或所把用例的行为分布到有交互作用的设计对象或所参与的子系统参与的子系统定义对设计对象或子系统及其接口

27、的操作需求定义对设计对象或子系统及其接口的操作需求为用例捕获实现性需求为用例捕获实现性需求注意注意除非在两个类之间定义了关联,否则这两个类的除非在两个类之间定义了关联,否则这两个类的对象之间是无法发送消息的。对象之间是无法发送消息的。如果一个用例路径需要在两个对象之间通信,而如果一个用例路径需要在两个对象之间通信,而对应的两个类之间不存在相应的关联,那么类图对应的两个类之间不存在相应的关联,那么类图就是不正确的。就是不正确的。用例文本的序列图用例文本的序列图根据用例模板中的内容画出根据用例模板中的内容画出“添加新书添加新书”用例的用例的序列图序列图协作图与序列图所揭示的信息是相同的,但协作图与

28、序列图所揭示的信息是相同的,但它强调的是单个的对象及其发送的消息。它强调的是单个的对象及其发送的消息。协作图以对象实例为中心。协作图以对象实例为中心。协作图提供的视角表现了一个对象的繁忙程协作图提供的视角表现了一个对象的繁忙程度。如果一个对象处于繁忙状态,则其生命度。如果一个对象处于繁忙状态,则其生命周期值得关注,可以利用状态图作进一步分周期值得关注,可以利用状态图作进一步分析。析。对一个类的生命周期进行建模,它追踪了一对一个类的生命周期进行建模,它追踪了一个对象从诞生到消亡的全过程。个对象从诞生到消亡的全过程。当所建模的类呈现出值得关注的和复杂的动当所建模的类呈现出值得关注的和复杂的动态行为

29、时,状态图才是有价值的。态行为时,状态图才是有价值的。状态建模的步骤状态建模的步骤识别状态识别状态选择使用该类的任意用例的主路径选择使用该类的任意用例的主路径该路径的上下文环境加入到状态图中该路径的上下文环境加入到状态图中选择同一个用例中的另一条路径或一个不同的用选择同一个用例中的另一条路径或一个不同的用例,直至无法继续获取信息为止例,直至无法继续获取信息为止状态图对类建模的作用状态图对类建模的作用许多事件最终都会导致对类操作的建模。许多事件最终都会导致对类操作的建模。所有的工作(动作和活动)最终都会导致对类操所有的工作(动作和活动)最终都会导致对类操作进行建模。许多操作都是私有的。作进行建模

30、。许多操作都是私有的。向其他对象发送的所有消息都会导致在目标类中向其他对象发送的所有消息都会导致在目标类中定义一个操作。定义一个操作。任何识别出来的状态变量都会成为所建模类的成任何识别出来的状态变量都会成为所建模类的成员变量。员变量。对一个复杂操作中的步骤进行建模对一个复杂操作中的步骤进行建模可用来对用例路径的步骤进行建模可用来对用例路径的步骤进行建模活动图的内容主要集中在流程进行什么内容活动图的内容主要集中在流程进行什么内容,而不是如何进行,而不是如何进行序列图序列图该图用于大多数的动态建模活动,因为它附属于用例路该图用于大多数的动态建模活动,因为它附属于用例路径。其最大的作用就是建立了应用

31、程序中类的操作签名径。其最大的作用就是建立了应用程序中类的操作签名协作图协作图当应用程序中包含复杂的程序对话框,无法很好地反映当应用程序中包含复杂的程序对话框,无法很好地反映到序列图中时,可采用协作图到序列图中时,可采用协作图状态图状态图这种图只对呈现出值得关注和复杂的动态行为的类有用这种图只对呈现出值得关注和复杂的动态行为的类有用活动图活动图这种图可以清楚地描述一个复杂的工作流程这种图可以清楚地描述一个复杂的工作流程OwnerBookInfo+ISDN+bookTitle+author+translator+press+price+totalNum+shareState+bookType+f

32、avorLevel+introduce+isDublicate()+getBookInfo()+updateBooInfo()SharePlan+startingTime+shareDays:int+remark+getSharePlan()+addSharePlan()collect0.*1.*PickerBookItem+bookID+state+addItemBook()+getBookList()+updateState()1.*1BorrowingRecord+pickTime+returnTime+satepicking1.*1borrowing1.*1RemandList+receiver+contextPickingBaskectBookService+saveBookInfo()UserMaintainServ+regist()UserInfo+name+e-mail+password+saveUser()了解了解软件体系结构模式软件体系结构模式理解理解体系结构的搭建过程体系结构的搭建过程绘制状态图绘制状态图绘制活动图绘制活动图绘制协作图绘制协作图掌握掌握健壮性分析健壮性分析绘制序列图绘制序列图6464

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

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

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


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

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


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