领域模型概念的可视化53课件_第1页
领域模型概念的可视化53课件_第2页
领域模型概念的可视化53课件_第3页
领域模型概念的可视化53课件_第4页
领域模型概念的可视化53课件_第5页
已阅读5页,还剩123页未读 继续免费阅读

下载本文档

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

文档简介

1、领域模型概念的可视化徐迎晓xuyingxiao126复旦大学软件学院领域模型概念的可视化徐迎晓outline什么是领域模型概念类识别和提取概念类创建领域模型步骤几个问题命名概念类or属性?属性与外键数量和单位添加Specification/ description相似概念问题Modeling the Unreal World不同视角的模型Processoutline什么是领域模型领域模型概念的可视化53课件领域模型概念的可视化53课件领域模型概念的可视化53课件什么是领域模型概念类识别和提取概念类创建领域模型步骤几个问题命名概念类or属性?属性与外键数量和单位添加Specification/

2、description相似概念问题Modeling the Unreal World不同视角的模型Process什么是领域模型Use cases:important requirements analysis artifact, but are not object-oriented.emphasize a process view of the domain.Domain modelThe most important artifact to create in OOAUse cases:领域模型domain model是概念类或问题领域中实际对象的可视化表达,又称为:概念模型concept

3、ual models领域对象模型domain object models分析对象模型analysis object models.领域模型domain model是概念类或问题领域中实际对什么是领域模型概念类识别和提取概念类创建领域模型步骤几个问题命名概念类or属性?属性与外键数量和单位添加Specification/ description相似概念问题Modeling the Unreal World不同视角的模型Process什么是领域模型概念模型领域模型显示问题领域中对建模者有意义的概念类 OOA中创建的最重要的制品 识别大量对象或概念类heart of OOA领域模型表达的是现实世界中

4、的概念类,而不是软件构件(不是软件类或带有职责的软件对象)识别概念类是问题域调查的一部分UML中的类图可以显示领域模型概念模型领域模型显示问题领域中对建模者有意义的概念类使用UML表示法,领域模型用一组不带操作的类图来表示,可显示:领域对象或概念类概念类之间的关联概念类的属性使用UML表示法,领域模型用一组不带操作的类图来表示,可显示可视化字典领域模型将领域中的单词、概念类可视化,并将其相互关联(比文字更容易阅读)领域模型显示了视图或抽象的一部分,而将建模者不感兴趣的细节忽略。创建领域模型同时有助于澄清领域中术语和词汇可视化字典可视化字典领域模型概念的可视化53课件领域模型概念的可视化53课件

5、领域模型概念的可视化53课件领域模型概念的可视化53课件领域模型概念的可视化53课件领域模型概念的可视化53课件不是软件设计领域模型是现实世界问题领域中事物的可视化,而不是软件构件的可视化不是软件制品如window, database不带有职责和方法不是软件设计领域模型是现实世界问题领域中事物的可视化,而不是领域模型显示现实世界的概念领域模型显示现实世界的概念领域模型避免软件制品或类领域模型避免软件制品或类领域模型概念的可视化53课件什么是领域模型概念类识别和提取概念类创建领域模型步骤几个问题命名概念类or属性?属性与外键数量和单位添加Specification/ description相似概

6、念问题Modeling the Unreal World不同视角的模型Process什么是领域模型创建领域模型步骤列出候选概念类在领域模型中画出候选概念类添加关系添加属性创建领域模型步骤列出候选概念类什么是领域模型概念类识别和提取概念类创建领域模型步骤几个问题命名概念类or属性?属性与外键数量和单位添加Specification/ description相似概念问题Modeling the Unreal World不同视角的模型Process什么是领域模型领域模型识别和提取概念类用概念类种类列表识别名词短语使用分析模式领域模型识别和提取概念类用概念类种类列表领域模型概念的可视化53课件使用概念

7、种类列表store and airline reservation domains.饥饿,恐高症使用概念种类列表store and airline rese 识别名词和名词短语识别名词和名词短语领域模型概念的可视化53课件it is another source of inspiration.Care:a mechanical noun-to-class mapping isnt possiblewords in natural languages are ambiguousit is recommended in combination with the Conceptual Class C

8、ategory List technique.it is another source of inspir Some are candidate conceptual classesSome maybe ignored in this iteration (Accounting and commissions)Some may be attributes of conceptual classes.(Price) Some are candidate conceptual使用分析模式由专家创建并公开的部分领域模型Martin Fowler分析模式:可复用的对象模型 Analysis Patte

9、rns Reusable Object Models Addison Wesley/Pearson 机械工业出版社 中国电力出版社(影印版)使用分析模式由专家创建并公开的部分领域模型Martin Fowler的主要精品著作有重构改善既有代码的设计(Refactoring: Improving the Design of Existing Code)、UML精粹:标准对象建模语言简明指南(UML Distilled:A Brief Guide to the Standard Object Modeling)分析模式:可重用的对象模型(Analysis Patterns:Reusable Obje

10、ct Models) 规划极限编程(Planning Extreme Programming)企业应用架构模式(Patterns of Enterprise Application Architecture)等Martin Fowler的主要精品著作有领域模型概念的可视化53课件销售领域候选概念类销售领域候选概念类POS系统领域模型POS系统领域模型Group sizeYou should preferably be 5-7 persons in the group that identifies concepts. With a group of this size you get seve

11、ral perspectives and ways of thinking. And if the group is larger it can be difficult to agree on the concepts.The group should contain a mixture of persons, e. g. analysts, designers, programmers. There should be at least one domain expert in the groupOne person is the leader. His/her job is the ma

12、ke the group work dynamically. One should have clear objectives for each meeting! Disputes should be solved harmonically, so it is important that the leader is trusted by everyone.Group sizeYou should preferabA process for identifyingconcepts1. each person is assigned to search for concepts in diffe

13、rent places.2. the whole group meets and finds concept candidates using brainstorming. All possible concepts should be includes! All concepts are equally important!A process for identifyingconc3. When no more concepts are found, you have a good starting point for identifying the suitable concepts fo

14、r the problem area. Divide the concepts into three groups:1. Concepts which everybody thinks are important2. Concepts that fall outside the problem area, are more suitable as attributes, concepts with the same meaning etc.3. Concepts which fall in between these groups.4. Discuss the concepts in grou

15、p 3 which not everyone agrees on. These concepts should be treated consistently.3. When no more concepts are fPrinciples for brainstormingAll ideas are equally importantThink quickly, not too much consideration; think more laterLet everyone speak (Round-Robin Technique)A good mood can be an importan

16、t strengthPrinciples for brainstormingGood conceptsIt is important to point out that you probably havent found all appropriate concepts after looking for them the first time, if the problem area isnt very trivial!The more you work with the domain model,the better it gets. It can take several iterati

17、ons to reach a stable model.Good conceptsIt is important 领域模型添加关联领域模型添加关联领域模型概念的可视化53课件从前有座山,山上有座庙,庙里有个从前有座山,山上有座庙,庙里有个添加关联从常用关联列表中导出的关联-由此开始添加关联从常用关联列表中导出的关联-由此开始领域模型概念的可视化53课件领域模型概念的可视化53课件领域模型概念的可视化53课件领域模型概念的可视化53课件高优先级关联 A is a physical or logical part of B. A is physically or logically contain

18、ed in/on B. A is recorded in B.高优先级关联 A is a physical or log关联指南集中于需要保存一定时间的关系(Need to know关联)提取概念类比识别关联更重要,主要时间应放在识别概念类太多的关联会使领域模型更混乱耗时,而效果递减避免显示冗余或可导出的关联关联指南集中于需要保存一定时间的关系(Need to kno角色Each end of an association is called a role.Roles may optionally have:name ftp 2multiplicity expressionNavigabili

19、ty(导航)角色Each end of an association iMultiplicityMultiplicity The multiplicity value communicates(表明) how many instances can be validly associated with another, at a particular moment, rather than over a span of time.一夫一妻制旧车任一时刻只能被一个经销商进货,但一段时间内可能反复被进货The multiplicity value communiThe multiplicity va

20、lue is dependent on our interest as a modeler and software developer现实中,Item可以不存储在任何Store中(如已卖出),但软件中,Item总与一个Store相联系The multiplicity value is depeNaming AssociationsTypeName-VerbPhrase-TypeName formatverb phrase creates a sequence that is readable and meaningful in the model context.start with a c

21、apital letterassociation represents a classifier of links between instances; in the UML两种常用格式Paid-byPaidByNaming AssociationsTypeName-Vdefault direction to read an association name is left to right or top to bottomnot a UML default, but a common convention.default direction to read an a Multiple Ass

22、ociations Between Two TypesMultiple Associations Between Domain Modeling期间,association只是对现实世界的分析,不意味着需要实现实现关联最常用的方法:使用属性Domain Modeling期间,association只Unforgettable Relationships in the StoreUnforgettable Relationships inApplying the Category of Associations ChecklistApplying the Category of Assoc领域模

23、型概念的可视化53课件领域模型概念的可视化53课件添加关联添加关联领域模型概念的可视化53课件识别名词和名词短语识别名词和名词短语领域模型概念的可视化53课件领域模型添加属性领域模型添加属性领域模型概念的可视化53课件属性属性Attribute of Salea receipt (which reports the information of a sale) normally includes a date and time, and management wants to know the dates and times of sales for a variety of reasons.

24、 Consequently, the Sale conceptual class needs a date and time attribute.Attribute of Salea receipt (wh领域模型概念的可视化53课件Multiplicity From SalesLineItem to ItemMultiplicity From SalesLineIte领域模型概念的可视化53课件领域模型概念的可视化53课件添加属性添加属性ExerciseMake a class diagram that captures the following:A company consists of

25、 departments and employees. A department has responsibility for zero, one or more projects. A company has: name, address and telephone. A department has name. A project has name. An employee has name, address, a social security number (SSN) and is participating in zero, one or more projects.Let the

26、class diagram show: classes with attributes, relations (with role names) between the classes and multiplicity for the relations. ExerciseMake a class diagram t A bank has customers with different status. The bank offers different services depending on the status of a customer. A customer can have se

27、veral accounts and several loans. For each customer the system must know his/her income for the last 12 months. Each customer has a collection of other customers which serve as his/her associates. An associate can be warrantor ( 担保人) for a loan and can also upgrade the status of a customer. Each loa

28、n in the bank is associated with the house that it is used for. A house loan may need a warrantor. A customer may also use another house already in his/her possession as a security抵押品 for a loan. In that case, information about the address, taxvalue etc. for the security house is needed. The custome

29、r must also always specify the same information for the house which the loan concerns. Only customers of the bank may have a loan. Customers with payment complaints during the last three years cannot get loans.A bank has customers with diff领域模型概念的可视化53课件领域模型概念的可视化53课件领域模型概念的可视化53课件领域模型概念的可视化53课件领域模型

30、概念的可视化53课件领域模型概念的可视化53课件 什么是领域模型概念类识别和提取概念类创建领域模型步骤几个问题命名概念类or属性?属性与外键数量和单位添加Specification/ description相似概念问题Modeling the Unreal World不同视角的模型Process 什么是领域模型agile modeling approach, the purpose of creating a domain model is to quickly understand and communicate a rough approximation of the key concep

31、ts. agile models are usually discarded shortly after creation agile modeling approach, the pSketching a Class Diagram Tool?Sketching a Class Diagram 命名mapmaker strategyalso named the Use the Domain Vocabulary strategy命名mapmaker strategy用关联 or 属性?用关联 or 属性?属性简单数据类型关联复杂数据类型属性简单数据类型属性某种数据类型,只关心值,不必要区分不

32、同实体Primitive data typenumber, string, boolean, date, or time non-primitive data type(also known as value objects, a non-primitive class, Data Type Classes)概念类需要区分不同实体属性某种数据类型,只关心值,不必要区分不同实体概念类or属性常见错误: 将应该作为概念类的当做属性-规则:若在现实世界中我们不把X当作数字或文本,则X可能是概念类而不是属性概念类or属性常见错误: 将应该作为概念类的当做属性 If in doubt, make it

33、a separate concept. Attributes should be fairly rare in a domain model.领域模型概念的可视化53课件属性与外键属性与外键 undesirable because its purpose is to relate the Cashier to a Register object. undesirable Betterrelate types with an association, not with an attribute.There are many ways to relate objectsforeign keys b

34、eing onedefer how to implement the relation until designto avoid design creep(creep, not anticipated near the start)Better数量与单位数量与单位Most numeric quantities should not be represented as plain numbers.price or velocity 速度These are quantities with associated units,Most numeric quantities should Solutio

35、n( In the general case,)represent Quantity as a distinct conceptual class, with an associated Unit Solution( In the general caseQuantities are considered data types (unique identity of instances is not important)it is acceptable to collapse their illustration into the attribute section of the class

36、boxQuantities are considered data解决相似概念A thing that records sales and payments,Register登记簿:a book that logged sales and payments.cash register:收银机Acquire a generalized meaning over time. POST: point-of-sale terminal.In computerese, a terminal is any end-point device in a system, such as a client PC,

37、 a wireless networked PDA, and so forth.解决相似概念A thing that records sal领域模型概念的可视化53课件Modeling the Unreal Worldsome candidate conceptual classes related to a telecom-munication switch: Message, Connection, Port, Dialog, Route, Protocol.Modeling the Unreal Worldsome添加Specification/ descriptionthe need

38、for specification conceptual classes is common in many domain models.添加Specification/ descriptionth领域模型概念的可视化53课件规则:使用Specification/ description的场合当需要对Item或服务进行描述(独立于这些条目或服务当前存在的任何具体例子)时删除实例会导致有用信息丢失时(这些信息和被删除的东西不恰当地关联在一起了)要减少信息冗余规则:使用Specification/ descriptiocommon in sales , product, and manufactu

39、ring Domainsa ProductSpecification (or ItemSpecification, ProductDescription .) conceptual class records information about itemsdoes not represent an Item, it represents a description of information about itemsit is common to state that an XSpecification Describes an Xcommon in sales , product, and又

40、一例(服务)电信套餐PackageDescription rates per minute wireless Internet content cost实际卖出去的套餐gold package sold to XXX on Jan. 1, 2047 at $55 per month又一例(服务)电信套餐又一例(服务)航班失事,则取消所有航班(service),所有Flight对象删除。则各个number的航班目的地信息全部丢失,应该把number部分提取出来又一例(服务)航班失事,则取消所有航班(service),所领域模型概念的可视化53课件同一种图可用于不同视角的模型Essential o

41、r conceptual perspective现实世界Specification perspective独立于语言的软件世界Implementation perspective具体语言实现同一种图可用于不同视角的模型Essential or con领域模型概念的可视化53课件解决语义鸿沟-用相同的名称representational gap or semantic gap解决语义鸿沟-用相同的名称Classgeneral term representing either a real-world thing (a conceptual class) or software thing (a

42、software class).Class Conceptual classreal-world concept or thingA conceptual or essential perspectiveThe UP Domain Model contains conceptual classes. Conceptual class Software classa class representing a specification or implementation perspective of a software component, regardless of the process

43、or method. Design classa member of the UP Design Modela synonym for software classeither a specification or implementation perspective, as desired by the modeler. Software classImplementation classa class implemented in an object-oriented language such as Java.Implementation classReport ObjectsInclu

44、de Receipt in the Model?No-In general, showing a report of other information in a domain model is not useful since all its information is derived from other sources;Yes-A receipt has a special role in terms of the business rules.赋予持有者退货的权利(return bought items)本次迭代未考虑退货,因而不包括Receipt,处理Handle Returns的

45、迭代中再考虑Report ObjectsInclude Receipt领域模型和UP初始-no细化-主要在此创建,当需要理解值得注意的概念,并映射到部分设计工作的类中熟练者每次迭代只需几小时来开发领域模型,若是用预定义的分析模式,还将更快领域模型和UP初始-noThe UP Business Object Model vs. Domain ModelBusiness Object ModelThe UP BOM serves as an abstraction of how business workers and business entities need to be related an

46、d how they need to collaborate in order to perform the business. RUP用几种不同的图表示 (class, activity, and sequence)显示整个企业如何运作若做整个企业的business process engineering最有用The UP Business Object Model v Domain ModelBOM的一个子集,更常创建You can choose to develop an incomplete business object model, focusing on explaining t

47、hings and products important to a domain. . This is often referred to as a domain model. RUP Domain ModelgPdLaI6F3C0y)v&s#pXmUiRfNcK9H5E2B+x(u$rZoWkThQeMbJ7G4D1z-w*t!qYmVjSgOdLaI6F3B0y)v%s#pXlUiQfNcK8H5E2A+x*u$rZnWkThPeMaJ7G4C1z-w&t!qYmVjNcK9H5E2B+x(u$rZoWkThQeMbJ7G4D1z-w*t!qYmVjSgOdLaI6F3B0y)v%s#pX

48、lUiQfNcK8H5E2A+x(u$rZnWkThPeMbJ7G4C1z-w&t!qYmVjRgOdL9I6F3B0y(v%s#oXlUiQfNbK8H5D2A+x*u$qZnWkShPeMaJ7F4C1z)w&t!pYmUjRgOcL9I6E3B0y(v%r#oXlTiQfNbK8G5D2A-x*u$qZnVkShPdMaJ7F4C0z)w&s!pYmUjRfOcL9H6E3B+y(u%r#oWlTiQeNbJ8G5D1A-x*t$qZnVkSgPdMaI7F4C0z)v&s!pXmUjRfOcK9H6E2B+y(u%rZoWlThQeNbJ8G4D1A-w*t$qYnVjSgPdLaI7

49、F3C0y)v&s#pXmUiRfOcK9H5E2B+x(u%rZoWkThQeMbJ8G4D1z-w*t!qYnVjSgOdLaI6F3C0y)v%s#pXlUiRfNcK8H5E2A+x(u$rZnWkThPeMbJ7G4C1z-w&t!qYmVjSgOdL9I6F3B0y)v%s#oXlUiQfNcK8H5D2A+x*u$rZnWkShPeMaJ7G4C1z)w&t!pYmVjRgOcL9I6E3B0y(v%r#oXlTiQfNbK8H5D2A-x*u$qZnWkShPdMaJ7F4C1z)w&s!pYmUjRgOcL9H6E3B+y(v%r#oWlTiQeNbK8G5D1A-x*t$q

50、ZnVkSgPdMaI7F4C0z)v&s!pXmUjRfOcL9H6E2B+y(u%r#oWlThQeNbJ8G5D1A-w*t$qYnVkSgPdLaI7F3C0z)v&s#pXmUiRfOcK9H5E2B+x(u%rZoWkThQeMbJ8G4D1A-w*t!qYnVjSgPdLaI6F3C0y)v&s#pXlUiRfNcK9H5E2A+x(u$rZoWkThPeMbJ7G4D1z-w&t!qYmVjSgOdL9I6F3B0y)v%s#pXlUiQfNcK8H5E2A+x*u$rZnWkThPeMaJ7G4C1z-w&t!pYmVjRgOdL9I6E3B0y(v%s#oXlTiQfNbK

51、8H5D2A-x*u$qZnWkShPdMaJ7F4C1z)w&t!pYmUjRgOcL9I6E3B+y(v%r#oXlTiQeNbK8G5D2A-x*t$qZnVkShPdMaI7F4C0z)w&s!pXmUjRfOcL9H6E2B+y(u%r#oWlTiQeNbJ8G5D1A-x*t$qYnVkSgPdMaI7F3C0z)v&s!pXmUiRfOcK9H6E2B+x(u%rZoWlThQeMbJ8G4D1A-w*t!qYnVjSgPdLaI6F3C0y)v&s#pXmUiRfNcK9H5E2B+x(u$rZoWkThQeMbJ7G4D1z-w*t!qYmVjSgOdLaI6F3B0y)v%

52、s#pXlUiQfNcK8H5E2A+x*u$rZnWkThPeMbJ7G4C1z-w&t!qYmVjRgOdL9I6F3B0y(v%s#oXlUiQfNbK8H5D2A+x*u$qZnWkShPeMaJ7F4C1z)w&t!pYmUjRgOcL9I6E3B0y(v%r#oXlTiQfNbK8G5D2A-x*u$qZnVkShPdMaJ7F4C0z)w&s!pYmUjRfOcL9H6E3B+y(u%r#oWlTiQeNbJ8G5D1A-!pYmVjRgOcL9I6E3B0y(v%r#oXlTiQfNbK8G5D2A-x*u$qZnVkShPdMaJ7F4C0z)w&s!pYmUjRfOcL9H

53、6E3B+y(u%r#oWlTiQeNbK8G5D1A-x*t$qZnVkSgPdMaI7F4C0z)v&s!pXmUjRfOcK9H6E2B+y(u%rZoWlThQeNbJ8G4D1A-w*t$qYnVjSgPdLaI7F3C0y)v&s#pXmUiRfOcK9H5E2B+x(u%rZoWkThQeMbJ8G4D1z-w*t!qYnVjSgOdLaI6F3C0y)v%s#pXlUiRfNcK8H5E2A+x(u$rZnWkThPeMbJ7G4D1z-w&t!qYmVjSgOdL9I6F3B0y)v%s#oXlUiQfNcK8H5D2A+x*u$rZnWkShPeMaJ7G4C1z)w&t!

54、pYmVjRgOcL9I6E3B0y(v%s#oXlTiQfNbK8H5D2A-x*u$qZnWkShPdMaJ7F4C1z)w&s!pYmUjRgOcL9H6E3B+y(v%r#oWlTiQeNbK8G5D1A-x*t$qZnVkSgPdMaI7F4C0z)w&s!pXmUjRfOcL9H6E2B+y(u%r#oWlThQeNbJ8G5D1A-w*t$qYnVkSgPdLaI7F3C0z)v&s#pXmUiRfOcK9H5E2B+x(u%rZoWlThQeMbJ8G4D1A-w*t!qYnVjSgPdLaI6F3C0y)v&s#pXlUiRfNcK9H5E2A+x(u$rZoWkThPeMb

55、F3C0z)v&s#pXmUiRfOcK9H6E2B+x(u%rZoWlThQeMbJ8G4D1A-w*t!qYnVjSgPdLaI6F3C0y)v&s#pXlUiRfNcK9H5E2A+x(u$rZoWkThPeMbJ7G4D1zoXlTiQeNbK8G5D2A-x*t$qZnVkShPdMaI7F4C0z)w&s!pXmUjRfOcL9H6E2B+y(u%r#oWlThQeNbJ8G5D1A-x*t$qYnVkSgPdMaI7F3C0z)v&s!pXmUiRfOcK9H6E2B+x(u%rZoWlThQeMbJ8G4D1A&s!pXmUjRfOcL9H6E3B+y(u%r#oWlTiQeN

56、bJ8G5D1A-x*t$qYnVkSgPdMaI7F3C0z)v&s!pXmUiRfOcK9H6E2B+x(u%rZoWlThQeMbJ8G4D1A-w*t!qYnVjSgPdLaI7F3C0y)v&s#pXmUiRJ8G5D1A-x*t$qYnVkSgPdMaI7F3C0z)v&s!pXmUiRfOcK9H6E2B+x(u%rZoWlThQeNbJ8G4D1A-w*t$qYnVjSgPdLaI7F3C0y)v&s#pXmUiRfNcK9H5E2B+x(u$rZoWkThQeMbJ7C0z)v&s!pXmUiRfOcK9H6E2B+y(u%rZoWlThQeNbJ8G4D1A-w*t$qYnVjSgPdLaI7F3C0y)v&s#pXmUiRfNcK9H5E2B+x(u$rZoWkThQeMbJ7G4D1z-w*t!qYnVjSgOdLa2B+y(u%rZoWlThQeNbJ8G4D1A-w*t$qYnVjSgPdLaI7F3C0y)v&s#pXmUiRfNcK9H5E2B+x(u$rZoWkThQeMbJ8G4D1z-w*t!qYnVjSgK9H6E2B+y(u%rZoWlThQeNbJ8G4D1A-w*t$qYnVjSgPdLaI7F3C0y)v&s#pXmUi

温馨提示

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

评论

0/150

提交评论