ImageVerifierCode 换一换
格式:DOCX , 页数:25 ,大小:361.83KB ,
资源ID:8257530      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8257530.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(软件工程学.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

软件工程学.docx

1、软件工程学目录第一章 软件工程学 1第二章可行性研究 4第三章需求分析 5第五章总体设计 5第六章详细设计 6第七章实现 7第八章维护 7第九章面相对象方法学 7第一章 软件工程学1. 什么是计算机软件?a) 计算机运行所需要的各种程序和数据的总称,包括操作系统,汇编程序,编译程序,数据库,文字编辑及维护使用手册等。软件是计算机系统的重要组成部分。b) 软件是计算机系统中与硬件相互依存的另一部分,它是包括程序、数据及其相关文档的完整集合。程序是按事先设计的功能和性能要求编写的指令序列;数据是使程序能正常操纵信息的数据结构;文档是与程序开发、维护和使用有关的图文材料。2. 软件发展的三个时代a)

2、 软件工程时代(70年代中期至今)b) 程序系统时代(60年代中期到70年代中期)c) 程序设计时代(60年代中期以前)3. 软件危机的介绍a) 定义:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题b) 表现:(1)对软件开发成本和进度的估计常常很不准确。(2)经常出现用户对“已完成的”软件系统功能不满意的现象。(3)软件产品的质量往往达不到要求。(4) 软件通常不可维护。(5) 软件通常没有适当的文档资料。(6) 软件成本在计算机系统总成本中所占的比例逐年上升。(7) 软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。4. 软件危机产生的原因及消除途径客观原

3、因(1)软件的规模过于庞大,结构异常复杂(2)逻辑产品的不可见性使得管理困难(3)软件独有的特点使开发研制人员对其了解不够,产生糊涂概念,采用了错误方法和技术主观原因(4)不重视需求分析与维护,只注重写程序,而软件不只是程序(5)软件开发技术落后(6)生产方式落后(7)开发工具落后消除途径软件工程化5. 消除“软件就是程序”的错误观念一个软件必须由一个完整的配置组成软件是程序、数据及相关文档的完整集合文档是开发、使用和维护程序所需要的图文资料软件=程序+数据+文档6. 软件工程的定义1) 概括地说,软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软

4、件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,用于经济地开发出高质量的软件并有效地维护它,这就是软件工程。2) 人们曾经给软件工程下过许多定义,下面给出两个典型的定义。7. 软件工程的基本原理1) 用分阶段的生命周期计划严格管理2) 坚持进行阶段评审3) 实行严格的产品控制4) 采用现代程序设计技术5) 结果应能清楚地审查6) 开发小组的人员应该少而精7) 承认不断改进软件工程实践的必要性8. 软件工程方法学通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学9. 软件工程方法学包含3个要素a) 方法是:完成软件开发的各项任务的技术方法;b) 工具是

5、:为运用方法而提供的自动的或半自动的软件工程支撑环境;c) 过程是:为了达到给定目标所实施的一系列步骤,就是什么时间做什么。10. 软件工程方法学包括传统方法学和面向对象方法学。1、传统方法学又称生命周期方法学或结构化范型它采用结构化技术(结构化分析、结构化设计和结构化实现) 来完成软件开发的各项任务结构化范型要么面向行为(即对数据的操作),要么面向数据2、面向对象方法学面向对象方法把数据和行为看成同等重要,它是一种以数据为主线,把数据和对数据的操作紧密地结合起来的方法面向对象方法学具有下述4个要点面向对象方法学对象+类+继承+用消息通信11. 软件生命周期12. 软件生命周期的各个时期a)

6、软件定义时期1.问题定义“要解决的问题是什么?”确定用户要求解决问题的性质、工程的目标和规模2. 可行性研究“对于上一个阶段所确定的问题有行得通的解决办法吗?”经济、技术、法律可行性、不同的方案3. 需求分析“为了解决这个问题,目标系统必须做什么”确定系统必须具有的功能和性能,系统要求的运行环境,并且预测系统发展的前景规格说明书(specification)b) 软件开发时期4. 总体设计(概要设计)“概括地说,应该怎样实现目标系统?”设计出实现目标系统的几种可能的方案。推荐一个最佳方案确定程序由哪些模块组成以及模块之间的关系5. 详细设计(模块设计)“应该怎样具体地实现这个系统呢?”设计出程

7、序的详细规格说明确定实现模块功能所需要的算法和数据结构6. 编码和单元测试写出正确的易理解、易维护的程序模块并仔细测试每个模块7. 综合测试集成测试和验收测试,现场测试或平行运行c) 软件维护时期8. 软件维护使系统持久地满足用户的需要维护工作分成以下四类改正性维护适应性维护完善性维护预防性维护13. 软件过程 软件过程是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤 软件过程定义了运用方法的顺序、文档资料、管理措施,各个阶段的里程碑 通常使用生命周期模型简洁地描述软件过程 生命周期模型规定了把生命周期划分成哪些阶段及各个阶段的执行顺序 也称为过程模型过程模型A

8、. 瀑布模型瀑布模型的特点 阶段间具有顺序性和依赖性 推迟实现的观点 清楚地区分逻辑设计与物理设计,尽可能推迟程序的物理实现 质量保证的观点(文档驱动) 每个阶段都必须完成规定的文档 每个阶段结束前都要对所完成的文档进行评审瀑布模型的优点 强迫开发人员采用规范方法; 每个阶段必须提交相应的文档; 每个阶段所交出的产品必须经过质量保证小组的验证。瀑布模型的缺点 完全依赖于书面的规格说明,可能导致最终开发出的软件产品不能真正满足用户的需要B. 快速原型模型快速原型是一个与产品子集功能上相同的工作模型 快速建立起来的可以在计算机上运行的程序 它所能完成的功能往往是最终产品能完成的功能的一个子集快速原

9、型模型的特点 快速原型的本质是“快速” 快速原型可以取代规格说明阶段,但不是设计阶段,容易适应需求的变化 有利于开发与培训的同步 开发费用低、开发周期短、维护容易且对用户更友好 客户与开发者对原型理解不同 准确的原型设计比较困难 不利于开发人员的创新C. 喷泉模型迭代是软件开发过程中普遍存在的一种内在属性。经验表明,软件过程各个阶段之间的迭代或一个阶段内各个工作步骤之间的迭代,在面向对象范型中比在结构化范型中更常见。D. Rational 统一过程(Rational Unified Process,RUP)最佳实践a) 迭代式开发b) 管理需求c) 使用基于构件的体系结构d) 可视化建模e)

10、验证软件质量f) 控制软件变更RUP 软件开发生命周期按内容划分9个核心工作流 业务建模、需求、分析与设计、实现、测试、部署、配置与变更管理、项目管理、环境按时间划分4个阶段1. 初始阶段:建立业务模型,定义最终产品视图,确定项目范围2. 精化阶段:设计并确定系统的体系结构,制定项目计划,确定资源需求3. 3构建阶段:开发出所有构件和应用程序,把它们集成客户需要的产品,并且测试所有功能4. 4移交阶段:把开发出的产品提交给用户使用14. 敏捷过程与极限编程A. 敏捷软件开发宣言a) 人和交互重于过程和工具b) 可以工作的软件胜过面面俱到的文档c) 客户合作重于合同谈判d) 随时响应变化胜过遵循

11、计划B. 从上述价值观中引出了下面12条原则1. 对我们而言,最重要的是通过尽早和不断交付有价值的软件满足客户需要。2. 我们欢迎需求的变化,即使在开发后期。敏捷过程能够驾驭变化,保持客户的竞争优势。3. 经常交付可以工作的软件,从几星期到几个月,时间尺度越短越好。4. 业务人员和开发者应该在整个项目过程中始终朝夕在一起工作。5. 围绕斗志高昂的人进行软件开发,给开发者提供适宜的环境,满足他们的需要,并相信他们能够完成任务。6. 在开发小组中最有效率也最有效果的信息传达方式是面对面的交谈。7. 可以工作的软件是进度的主要度量标准。8. 敏捷过程提倡可持续开发。出资人、开发人员和用户应该总是维持

12、不变的节奏。9. 对卓越技术与良好设计的不断追求将有助于提高敏捷性。10. 简单尽可能减少工作量的艺术至关重要。11. 最好的架构、需求和设计都源自自我组织的团队。12. 每隔一定时间,团队都要总结如何更有效率,然后相应地调整自己的行为。15. 几种模型优缺点比较:a) 瀑布模型历史悠久、广为人知,它的优势在于它是规范的、文档驱动的方法;这种模型的问题是,最终开发出的软件产品可能并不是用户真正需要的。b) 快速原型模型正是为了克服瀑布模型的缺点而提出来的。它通过快速构建起一个可在计算机上运行的原型系统,让用户试用原型并收集用户反馈意见的办法,获取用户的真实需求。c) 增量模型具有可在软件开发的

13、早期阶段使投资获得明显回报和较易维护的优点,但是,要求软件具有开放的结构是使用这种模型时固有的困难。d) 风险驱动的螺旋模型适用于内部开发的大型软件项目,但是,只有在开发人员具有风险分析和排除风险的经验及专门知识时,使用这种模型才会获得成功。e) 喷泉模型较好地体现了面向对象软件开发过程无缝迭代的特性,是典型的面向对象的软件过程模型之一f) RUP是一个具有突出优点的软件过程模型以极限编程XP为代表的敏捷过程,具有对变化和不确定性的更快速更敏捷的反应特性,因此能够较好适应商业竞争环境下对小型项目提出的有限资源和有限开发时间的约束。第二章可行性研究16. 可行性研究的目的a) 目的不是要解决问题

14、,而是确定问题是否值得去解决b) 用最小的代价在尽可能短的时间内确定问题是否能够解决17. 数据流图a) 数据流图(DFD)是一种图形化技术,它以图形的方式描绘信息流和数据在系统中的流动和被处理的逻辑过程b) 数据流图描绘系统的逻辑模型,图中无具体的物理元素,只是描绘信息在系统中流动和处理的情况第三章需求分析18. 需求分析的任务a) 需求分析i. 需求分析是软件定义时期的最后一个阶段,它的基本任务是准确地回答“系统必须做什么?”这个问题。ii. 需求分析的任务还不是确定系统怎样完成它的工作,而仅仅是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。iii. 在需求分

15、析阶段结束之前,系统分析员应该写出软件需求规格说明书,以书面形式准确地描述软件需求。iv. 在分析软件需求和书写软件需求规格说明书的过程中,分析员和用户都起着关键的、必不可少的作用。b) 需求分析的具体任务a) 确定对系统的综合要求i. 功能需求、性能需求、可靠性和可用性需求、出错处理需求、接口需求、约束、逆向需求、扩展需求b) 分析系统的数据要求c) 导出系统的逻辑模型d) 修正系统开发计划c) 需求分析的步骤1. 需求获取:问题识别2. 需求提炼:分析建模(导出软件逻辑模型)3. 需求描述:编写4. 需求验证:需求分析评审d) 需求分析规格说明书a) 系统规格说明:b) 系统概貌功能要求性

16、能要求运行要求c) 可能增加的要求 DFD IPOd) 数据要求:e) DD Hierarchy 或Warnier Diagramf) 用户系统描述g) 初步用户手册:从用户的观点考虑系统h) 系统功能、性能使用与步骤等i) 修正的开发计划:j) 成本估计资源使用计划进度计划19. 实体-联系图(E-R图)a) 为了把用户的数据要求清楚、准确地描述出来,系统分析员通常建立一个概念性的数据模型(也称为信息模型)。数据模型中包含3种相互关联的信息:数据对象、数据对象的属性及数据对象彼此间相互连接的关系。b) 通常,使用实体-联系图(entity-relationship diagram)来建立数据

17、模型。可以把实体-联系图简称为ER图,相应地可把用ER图描绘的数据模型称为ER模型。第五章总体设计20. 总体设计a) 总体设计阶段两个任务:i. 划分出组成系统的物理元素程序、文件、数据库、人工过程和文档等等,但每个物理元素仍然处于黑盒子级,这些黑盒子里的具体内容将在详细设计时设计。ii. 设计软件的结构-要确定系统中每个程序是由哪些模块组成的,以及这些模块相互间的关系。b) 总体设计过程1. 设想供选择的方案2. 选取合理的方案3. 推荐最佳方案4. 功能分解5. 设计软件结构6. 设计数据库7. 制定测试计划8. 书写文档9. 审查和复审21. 设计原理a) 模块化1、什么是模块?具有输

18、入输出、逻辑功能、运行程序和内部数据这四种属性的一个程序。它是单独命名的而且可以通过名字来访问。b) 抽象1、什么是抽象?抽象是认识复杂现象过程中使用的思维工具,即抽象事物本质的共同特性而暂不考虑它的细节,不考虑其他因素。2、软件工程中的抽象:软件工程过程中的每一步都可以看作是对软件解决方法抽象层次的一次细化。在可行性研究(即系统定义)阶段,软件作为整个计算机系统的一个元素(完整部件)。在需求分析阶段,软件解决方案使用问题环境中的术语来描述。从概要设计到详细设计阶段抽象层次逐步降低,将面向问题的术语和面向实现的术语结合起来描述解决方法。最低层抽象层次,是产生源代码,用可以直接实现的方法叙述问题

19、的解决方法。c) 逐步求精1、什么是逐步求精逐步求精是人类解决复杂问题时采用的基本方法,也是许多软件工程技术(例如,规格说明技术,设计和实现技术)的基础。可以把逐步求精定义为:“为了能集中精力解决主要问题而尽量推迟对问题细节的考虑。” 2、逐步求精的重要性是因为人类的认知过程遵守Miller法则:一个人在任何时候都只能把注意力集中在(72)个知识块上d) 信息隐藏和局部化1、信息隐藏“为了得到最好的一组模块,应该怎样分解软件呢?”信息隐藏原理:应该这样设计和确定模块,使得一个模块内包含的信息(过程和数据)对于不需要这些信息的模块来说,是不能访问的。2、局部化局部化:把一些关系密切的软件元素物理

20、地放得彼此靠近 局部化有助于实现信息隐藏 信息隐蔽和局部化的优点 减少错误的传播第六章详细设计 22. 模块独立 模块独立的概念是模块化、抽象、信息隐藏和局部化概念的直接结果 每个模块完成一个相对独立的子功能,并且与其它模块间的接口简单 模块独立性的重要性 有效的模块化(即具有独立的模块)的软件比较容易开发出来 独立的模块比较容易测试和维护 模块独立性的衡量标准 模块内聚(Cohesion):模块内各元素交互的程度 模块耦合(Coupling):模块间交互程度23. 软件测试a) 软件测试的目标(1) 测试是为了发现程序中的错误而执行程序的过程;(2) 好的测试方案是极可能发现迄今为止尚未发现

21、的错误的测试方案;(3) 成功的测试是发现了至今为止尚未发现的错误的测试。b) Alpha 测试和Beta测试a) Alpha测试是由用户在开发环境下进行的测试,也可以是开发机构内部的用户在模拟实际操作环境下进行的测试。开发者坐在用户旁边,这是在开发者受控的环境下进行的测试。由开发者随时记录下错误情况和使用中的问题。b) Beta测试是由软件的多个用户在一个或多个用户的实际使用环境下进行的测试。开发者通常不在测试现场,这是在开发者无法控制的环境下进行的测试。由用户记录下遇到的所有问题,定期向开发者报告。beta测试是一模拟真实的使用环境从而发现缺陷的一种测试c) 白盒测试也称结构测试或逻辑驱动

22、测试,是针对被测单元内部是如何进行工作的测试。它根据程序的控制结构设计测试用例,主要用于软件或程序验证。 白盒测试法检查程序内部逻辑结构,对所有逻辑路径进行测试,是一种穷举路径的测试方法。d) 黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用,在测试时,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。面向对象方法学概述名词解释:1软件生命周

23、期模型软件生存周期模型:是描述软件开发过程中各种活动如何执行的模型。软件生存周期主要模型:瀑布模型、增量模型、螺旋模型、喷泉模型、变换模型和基于知识的模型等2.模块独立性模块独立性指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。模块独立的概念是模块化、抽象、信息隐蔽和局部化概念的直接结果。3.软件的可维护性软件可维护性指软件能够被理解、校正、适应及增强功能的容易程度。4.软件工程软件工程指用科学知识和技术原理来定义、开发、维护软件的一门学科。或者说,软件工程就是运用工程学的基本原理和方法来组织管理软件的生产、研究、开发、管理、维护的过程、方法和技术。5.数据字典字据

24、字典:简称,就是用来定义数据流图中的各个成分具体含义的,它以一种准确的无二义性的说明方式为系统的分析设计及维护提供了有关元素的一致的定义和详细的描述。6、静态测试静态测试是采用人工检测和计算机辅助静态分析的方法对程序进行检测。7、面向对象:面向对象OO=类+对象+继承+通信8、需求分析需求分析是指:开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的形式主义功能规约(需求规格说明)的过程。9、软件危机软件危机(SoftwareCrisis)是计算机软件在它的开发和维护过程中所遇到的一系列严重问题。概括地说,主要包含两方面的问题:

25、如何开发软件,怎样满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。10、软件生存周期软件生存周期:一个软件从提出开发要求开始直到该软件报废为止的整个时期。软件生存周期包括:可行性分析和项目开发计划、需求分析、概要设计、详细设计、编码、测试、维护等。简答题:1软件生存周期有哪几个阶段?可行性研究需求分析总体设计详细设计编码测试维护2白盒测试法有哪些逻辑覆盖标准?语句覆盖判定覆盖条件覆盖判定条件覆盖条件组合覆盖点覆盖、边覆盖、路径覆盖3软件的维护有哪4种类型?校正性维护适应性维护完善性维护预防性维护。4软件成分的重用有哪3个级别?:代码重用设计结果重用分析结果重用5设计任务管理子系统有哪

26、7个任务?确定事件驱动型任务确定时钟驱动任务确定优先任务确定关键任务确定协调任务尽量减少任务数确定资源需求6类构件的重用包括哪3种方式?:实例重用继承重用多态重用7提高可重用性的7条准则是哪些?提高方法的内聚减小方法的规模保持方法的一致性把策略与实现分开全面覆盖尽量不使用合局信息利用继承机制8提高可扩充性的4条准则是哪些?封装实现策略不要用一个方法遍历多条关联链避免使用多分支语句精心确定公有方法9提高健壮性的4条准则是哪些?预防用户的操作错误检查参数的合法性不要预先确定限制条件先测试后优化10列举PDL语言的优点与缺点有哪些?PDL语言的优点:可以作为注释插在源程序中间;可以使用普通的正文编辑

27、程序或文字处理系统,很方便完成PDL的书写和编辑工作;可以利用已有的自动处理程序自动由PDL生成程序源代码。PDL语言的缺点:不如图形工具直观。描述复杂的条件组合与动作之间的对应关系时,不如判定表和判定树时简单。11.如何改进软件设计、提高软件质量?(1)提高模块的独立性。(2)模块规模应该适中。(3)适当选择深度、宽度、扇出和扇入。(4)模块的作用域应该在控制域之内。(5)力争降低模块接口的复杂程度。(6)设计单入口单出口的模块。(7)模块功能应该可以预测。12.以G.J.Myers的观点,简述对软件测试的目的。软件测试是(1)为了发现错误而执行程序的过程;(2)一个好的用例能够发现至今尚未

28、发现的错误的测试。(3)一个成功的测试是发现至今尚未发现的错误的测试。13.软件质量保证应做好哪几方面的工作?(1)采用技术手段和工具。(2)组织正式技术评审(3)加强软件测试(4)推行软件工程规范(标准)。(5)对软件的变更进行控制(6)对软件质量进行度量。14.下列模块的内聚类型是什么?再把它们按内聚的大小由小到大排列。(1)使用同一数据来源产生两种报告(2)求一元二次方程的根(3)计算最高成绩和平均成绩(4)系统初始化处理【1】通信内聚,功能内聚,逻辑内聚,时间内聚【2】(3)-(4)-(1)-(2)15.什么是黑盒测试法?常用的黑盒测试方法有哪些?将程序当成是黑盒子以设计中的功能为标准

29、在程序的接口出进行测试看它能否达到功能要求。常见方法:等价类划分、边界值分析、因果图、错误推测。16.选择程序设计语言应考虑哪些因素?项目的应用领域,是选择语言的关键因素。软件开发方法:选择语言有时依赖该因素。软件执行环境:对软件生产率、错误率和软件质量有影响。算法和数据结构的复杂性。软件开发人员的知识。与开发人员的知识水平和心理因素有关,有时对语言选择有影响。17.什么是模块耦合性,有哪些类型?耦合性:也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。耦合性种类:数据耦合、标记耦合、控制耦合、公共耦合、内容耦合18.软件

30、维护有哪些内容?:a、校正性维护b、适应性维护c、完善性维护d、预防性维护19.简述软件测试的任务、目的与类型。答:软件测试是一个为了寻找软件错误而运行程序的过程。目的就是为了发现软件中的错误。一个好的测试用例是指很可能找到迄今为止尚未发现的错误的用例。一个成功的测试是指揭示了迄今为止尚未发现的错误的测试。软件测试主要分为白盒测试和黑盒测试两大类。20.简述软件工程目标和面临的主要问题。答:软件工程的目标是应用计算机科学、数学及管理科学等原理开发软件的工程。它采用经过实践验证的工程的原则、方法,以提高质量,降低成本。但是目前的软件开发面临着许多问题:(1)对软件开发成本和进度的估计常常很不准 确。(2)用户常对“已完成的”软件系统不满意。(3)软件产品的质量往往靠不住。 (4) 软件常常很难维护。(5)软件常常缺乏适当的文档资料。(6)软件

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1