管理系统中计算机的应用课件第八章 系统实施.ppt_第1页
管理系统中计算机的应用课件第八章 系统实施.ppt_第2页
管理系统中计算机的应用课件第八章 系统实施.ppt_第3页
管理系统中计算机的应用课件第八章 系统实施.ppt_第4页
管理系统中计算机的应用课件第八章 系统实施.ppt_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

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

文档简介

第八章 系统实施 n系统实施阶段是将新系统付诸实现的过程。本章主要包括系统实 施的准备工作、程序模块的设计、应用系统的设计、系统测试、系统 切换五部分内容。通过本章的学习要求同学们了解系统阶段在系统开 发中的作用,领会系统实施阶段的主要活动内容,了解程序设计的方 法、工具和质量要求,掌握程序模块(对象)的设计方法和步骤,能 够创建完整的简单应用系统,并且能够掌握程序调试与系统测试的方 法、步骤,领会系统切换的任务和基本方法。 n本章是历年考试的重点章节之一,从历年考题的分布情况可以看 出,程序模块的设计和系统测试这两大部分内容是本章的重点。另外 系统实施的准备工作和系统切换的方式这两部分内容,历年也曾以不 同的题型出现过。本章有结合应用的程序题,历年考试的分值在5-15 分左右。 n系统实施阶段是将新系统付诸实现的过程。它 的主要活动是根据系统设计所提供的控制结构图 、数据库设计、系统配置方案及详细设计资料, 编制和调试程序,调试系统、进行系统切换等工 作,将技术设计转化为物理实际系统。 n系统实施的意义是真正生产应用软件,并将之 投入运行的阶段,系统实施是系统开发的重要阶 段。 8.l 系统实施的准备工作 1.建立系统平台 包括购置和安装必要的计算机和通信硬件设备、软件系 统。所需硬件设备包括主机、外部设备、辅助设备(如稳压电 源、空气调节装置) 、机房设施。通信设备等。 2.培训管理人员和操作人员 首先,对新系统的用户,即各类管理人员要进行培训。 培训内容包括两方面:一方面是关于先进管理思想和方法的 教育;另一方面是面向业务的培训,使管理者学会新系统的 应用方法。 n(2006.10,单选26)购置计算机软硬件设备 和网络系统,应该在( ) A.系统分析阶段之前 B.系统分析阶段之后 C.系统实施工作之前 D.系统实施工作之后 3.基础数据的准备 企业中有许多基础数据,要把它们转存到计算机存储器 中。 4.管理流程重组 由于计算机的应用,管理人员的工作内容和工作方式也 发生了很大变化。因此,必须根据系统设计的要求,重新规 定系统业务流程、信息流向,改革组织机构,划定各管理职 能部门的职责范围。 n(2007.10,单选25)实施信息系统开发,除了 人员培训和数据准备外,最重要的是工作是( ) A。购置计算机 B。购置软件 C。业务流程重组 D。配置网络环境 8.2 程序模块的设计 n在系统实施阶段,最重要的任务就是程 序设计。在传统的结构化程序设计方法中 ,程序设计就是处理过程的设计;而在面 向对象的程序设计方法中,程序设计却主 要指对象的设计。 8.2.1 程序设计的概述 1.程序设计的任务 程序设计的任务,就是根据系统设计说明书中关于模块的详细描述和 处理过程的描述,选择合适的计算机语言来编制程序的工作。 (2005.4,简答46)简述程序设计工作的依据和 任务。 (2002.10,简答36)程序设计的任务是( ) A.画出程序框图 B.绘制N-S图 C.编写实现系统功能的源程序 D.写出程序任务书 2.程序设计的质量要求 随着计算机硬件技术的飞速发展,人们对程序设计的质量要求发生 了变化。过去强调程序的正确性、高效率和短小精悍,以适应设备资源 有限的计算机系统;现在则更加强调程序的正确性、可维护性、可靠性 和可理解性。 n1963年,美国飞往火星的火箭因为一个软件错误而爆炸。 n1967年8月23日,原苏联”结盟一号”载人宇宙飞船也因软件错误烧毁。 (2005.4,单选16)最基本的程序设计要求是( ) A.正确性 B.可维护性 C.可靠性 D. 可理解性 3.良好的编程习惯 编制程序需要熟悉所使用的语言,具有尽可能 丰富的编程经验;但是更加重要的是要具有系统的 观点,采用结构化设计思想和工具,自上而下统筹 考虑,避免编程时变量随意增减,变量类型随机指 定,无法兼容时再任意转换等。 8.2.2 结构化程序设计 n结构化程序设计主要用于面向过程的编程方式 ,为了克服程序编制中的随意性,避免错误的出 现,现代程序的编写都遵照“结构化程序设计”的 方法。其基本原则是自顶而下、逐步求精。结构 化程序方法提出了顺序、选择和循环三种基本程 序结构,任何一个程序都可以用这三种结构装配 起来。 n(2004.10,单选34)结构化程序设计主要用于 ( ) A.面向应用的编程方式 B.面向过程的编程方式 C.面向对象的编程方式 D.面向数据的编程方式 1.顺序结构 n顺序执行,就是按照程序语句行的自然顺序,一条语句 接一条语句地执行程序。顺序结构十分简单,它只是一种 编写和执行程序的协议、规则,并不需要用专门的结构语 句来支持。 n例: open database student.dbc use 学生 brows last last brows use close database n(2006.04,单选35)在结构化程序设计中,不需要 专门的语句来控制的是( ) A.选择结构 B.循环结构 C.顺序结构 D.层次结构 2.判断选择结构 n在用程序解决实际问题时,常常需要对问题 的给定条件做出判断,以便选择不同的解决 方法,这就必须使用判断选择(分支) 结构来 编制程序。判断选择结构有相应的结构语句 。 (1) 简单判断选择 a) IFENDIF 功能:若情况为.T.,则执行语句行序列。 语法:IF 条件表达式 语句行序列 ENDIF 例1 set talk off &关闭命令执行时的对话开关 clear input to a input to b input to c z=b2-4*a*c if z=0 x1=(-b+sqrt(z)/(2*a) x2=(-b-sqrt(z)/(2*a) ? x1,x2 endif set talk on return (1) 简单判断选择 b) IFELSEENDIF 功能:若情况为.T.,执行语句行序列1,否则执 行语句行序列2。 语法:IF 条件表达式 语句行序列1 ELSE 语句行序列2 ENDIF 例2:从数据表中查找某人,要求判断 是否有此人 Set defa to G:课件信息管理系统中的计算机应用第 九章案例 open database student.dbc use 学生 accept “输入查找人姓名“ to name locate for xm=name if found() display off xm,zc else wait “查无此人“ window at 20,10 timeout 5 endif use close all (2)多分支结构 往往在判断选择时,可能会有多个不同的条件,满足任何 一个条件就能完成其中一个指定的任务。编制这种程序时 最好使用多选择结构语句。 语法: DO CASE CASE 条件1 语句行序列1 CASE 条件2 语句行序列2 CASE 条件n 语句行序列n OTHERWISE 语句行序列n+1 ENDCASE 例3:给指定姓名的教师调工资 open database GDZC.dbc use 教职工信息 accept “输入教师姓名“ to name locate for 姓名=name if found() do case case 职称=“教授“ replace 基本工资 with 基本工资*(1+0.1) case 年龄45 replace 基本工资 with 基本工资*(1+0.07) otherwise replace 基本工资 with 基本工资*(1+0.05) endcase else ? “查无此人“ endif use close all n3.循环结构 在一个大程序段中,常常会重复使用某一段 相同的或类似的程序段。在编制程序时,不必重 复编写这个程序段,可以用重复结构来替代它。 重复结构也叫循环结构。系统提供了建立三种重 复结构。 (1) DOWHILEENDDO 功能:只要条件成立,重复执行语句行序列。 语法:DO WHILE 条件表达式 语句行序列 ENDDO 相关函数:DO WHILE.ENDDO,FOR.ENDFOR,IF.ENDIF,IIF(),SCAN .ENDSCAN 例4 给所有教师调工资 set defa to G:课件信息管理系统中的计算机应用第九章案例 open database GDZC.dbc use 教职工信息 list goto top do while .not. eof() do case case 职称=“教授“ replace 基本工资 with 基本工资*(1+0.1) case 职称=“副教授“ replace 基本工资 with 基本工资*(1+0.09) otherwise replace 基本工资 with 基本工资*(1+0.08) endcase skip enddo list close all (2) FORNEXT 功能:重复执行FORNEXT之间的语句行序列。 语法:FOR 变量=初始值 TO 终值 STEP 步长 语句行序列 LOOP EXIT ENDFOR |NEXT 循环变量被赋初值后,如果循环变量没有超过终值,则 执行语句行序列;循环变量递增(递增值为步长),如果没有 超过终值,继续执行循环;否则,结束循环。 例5 编写一个输出乘法九九表的程序 SET TALK OFF &不输出某些VFP命令的响应信息。 CLEAR &清除屏幕内容 FOR x=1 TO 9 &外循环开始 FOR y=1 TO 9 &内循环开始 z=x*y &I*J赋给P z1=str(z,2) ? str(x,1)+“ X “ +str(y,1)+“ =“+z1+“ “ ENDFOR &内循环结束 ? ENDFOR &外循环结束 SET TALK ON &恢复默认输出某些VFP命令的响应信息 (3) SCANENDSCAN 功能:在当前表中,针对每个符合指定条件的记录执行所指 定的语句。 SCAN NOOPTIMIZE Scope FOR 逻辑表达式1 WHILE 逻辑表达式2 语句组 LOOP EXIT ENDSCAN SCAN语句是一个循环次数由数据表中记录个数决定的特 殊的循环,每次执行完循环体内的语句组后,表中当前记录 指针自动向下移一个记录,重复执行循环体内语句,直到到 表文件尾。 Use student Accept “” to Name Scan for xm=Name . endscan (4) LOOP 功能:所有的循环指令其内都可加入LOOP与EXIT命令 ,以控制循环的特别流程。 语法:LOOP LOOP指令会略过循环体中LOOP到NEXT之间的其它语句行 序列。 (5) EXIT 功能:所有的循环指令其内都可加入LOOP与EXIT命令 ,以控制循环的特别流程。 语法:EXIT EXIT指令会跳出循环到NEXT下的语句。 n(2006.10,单选25)在Visual FoxPro的循环结 构中,循环嵌套的最多层数是( ) A.不限 B.128 C.2756 D.384 8.2.3 程序的调试 n程序设计完成之后,很少有一次运行成功的, 尤其是复杂程序,包含的缺陷可能更多,程序设 计者必须经过多次调试,不断地发现并修正其中 的错误,证实正确无误以后才能投入使用。一个 大的应用系统可以先对各模块分调,然后再连调 和总调。 n1.程序错误的分类 总结程序中出现的错误,一般可分为语法错误、系统错 误和逻辑错误三类。 语法错误,因程序设计人员对程序设计语言的理解不够 ,或程序设计基本功不扎实造成的结果。 系统错误,由于计算机硬件、软件引起的错误,比如计 算机硬件故障;病毒感染等。对于系统错误,主要是靠经验 和对硬件的了解,通过分析判断排除。 逻辑错误,指那些虽然不违反系统规则,但是却不合逻 辑或不合题目语义的错误。这些错误系统一般很难自行检测 出来。 (2007.10,单选27)在程序设计中,最难检测的错误是( ) A.语句错误 B.语法错误 C.逻辑错误 D.系统错误 (2005.4,单选19)若发现程序中缺少一条出口语句,则这种错误属于( ) A.系统错误 B.语法错误 C.逻辑错误 D.输入错误 n2.调试器的构成 (1)打开调试器 (2)各窗口功能 跟踪窗口、监视窗口、局部窗口、调用堆栈窗口,调试输出窗口 (2006.04,单选34)在Visual FoxPro的程序调试器中,显示当前程 序名或过程名的窗口是( ) A.局部窗口 B.监视窗口 C.调用堆栈窗口 D.调试输出窗口 3.调试器窗口的菜单 窗口的工具栏中主要提供了几个对应功能的按钮: 运行、单步、单步跟踪、运行到光标处、继续执行、跳出 8.2.4 面向对象程序设计 n面向对象程序设计的最大特征是强调构成事物的每一个对象,描 述的是每个对象的属性与方法。而对于响应每个事件的程序,一般 不再独立构成一个文件,而被封装在每个具体的对象之中。 n对于一个应用系统,面向过程的程序设计方法考虑的是问题的语 句,而面向对象的程序设计方法考虑的是构成系统的每个对象。所 谓程序设计,实际上是对象的设计。 n1. 概念 (1) 对象(Object)。一般来说,现实世界中可以独立存在的。能 够被区分的一切实体(事物) 都是对象。在 VFP中所研究的对象,只 是现实世界中实体或概念在计算机中的一种抽象的模型化的表示。 这种抽象事物中是封装了数据和操作的对象,通过定义属性和操作 来描述其特征和功能,通过定义接口来描述其地位及与其他对象的 相互关系,从而形成一个动态的对象模型。 (2) 类(Class) 类是一组对象的属性和行为特征的抽象描述,或者说是具有共同属性、 共同操作性质的对象的集合。 Visual FoxPro系统提供了29个基本的类(基类),分为容器类和控件类两种。 基类只考虑通用特征与功能,用户可以从基类中派生出许多子类。子类往往是在 继承基类的基础上,又增加一些新的特性与功能构成。子类也像基类一样可以派 生出对象。类的基本特性是封装性、继承性和多态性。 容器类(Containers):产生的对象可以容纳其他对象,并允许访问所包含的对象 。如表单。 控件类(Control):产生的对象不能容纳其他对象。比如文本框。 (2006.04,名词解释题45)容器类(在Visual FoxPro 中): 答案:容器类是类的一种,产生的对象可以容纳其他对象,并允许访问所包含的对 象。 n(3) 属性(Attribute) 属性就是对象的特性,是对象外观及行为的特 征。对象的属性可以在建立对象时由其所属的类(或 子类) 继承,也可以在对象创建或运行时进行修改与 设置。 (4) 事件 (Event) 事件是对象可以识别和响应的行为与操作。 它一般由用户或系统来触发。 VFP中事件是固 定的,用户不能再创建新的事件。 (5) 方法 (Method) 方法是对象所具有的功能。因为一种功能必 然是由一个过程来支持。所以过程也可以说就是 一段程序(有时也叫方法程序)。 n(2005.10,单选30;2004.10,单选36) 对象可以识别和响应的行为与操作称为( ) A.类 B.属性 C.方法 D.事件 n2.面向对象程序设计的特点 面向对象程序设计方法是一种支持模块化设计和软件重用的编程方 法。它把程序设计的主要活动集中在建立对象和对象之间的联系上。面 向对象程序设计的基本思想是封装性和可扩展性。 (l) 封装性。面向对象程序设计中,数据结构及算法全部被封装在 对象中。对象的数据结构描述了对象的状态;对象的操作是它的行为。 (2) 可扩展性。可扩展性体现为继承和行为扩展两个方面。对象之 间具有层次关系,下一层的对象是上一层对象的子对象,上一层对象就 是下一层对象的父对象。 面向对象的程序设计的行为扩展,是指任何一个对象,除了可以继 承父对象的数据和操作外,也可以随时为自己增加属性和方法程序。 通过这种封装和继承的特性,引出了面向对象设计的另一个重要特 性-多态性。所谓多态,就是在程序中同名但是具体功能不同的方法可 以共存。实现多态有两种办法,那就是“覆盖“和“重载“。 n(2007.10,简答40,简述面向对象程序设计 的特点) n3.类的设计和使用 用户可以通过基类派生出对象及子类,也 可以利用子类派生出对象或子类。把特殊需要 的属性、方法和事件定义在该子类中,从而创 建出用户的自定义类。 n举例: 创建“关闭”按钮对象 将按钮应用于表单 8.3 应用系统的设计 n建立完整的以数据库为核心的计算机应用系统, 是系统实施阶段的最终目的。一个完整的计算机应 用系统,一般应当具有以下一些不同模块。 主程序、系统菜单、系统登录界面、数据库、 数据输入界面、数据输出界面、数据维护功能、数 据检索功能、帮助功能和项目文件。 n8.3.1 主控程序设计 系统主控程序简称为主程序,是用来设置应 用系统的操作环境、控制和调用用户初始界面、 启动事件循环的最高一级的程序。同时在结束系 统运行时,也负责关闭应用系统,结束事件循环 ,恢复 VFP系统初始环境的工作。 8.3.2 项目管理器 n为了便于管理和使用数据表、数据库、视图等对象,可以使用 VFP的项目文 件,它提供了对于任务中所有文件的管理和维护功能。创建项目文件的工具是 VFP系统提供的项目管理器。 项目管理器是开发及管理应用系统人员的工作平台。这里所说的“项目”是相 关文件、数据及对象的集合。项目管理器有以下几种功能: (1) 采用“目录树” 结构对资源信息进行集中管理。 (2) 以其集成环境为用户提供了快捷访问系统设计工具的窗口,在项目管理 器窗口,有多种功能按钮,可以根据需求创建、修改、增加和删除资源文件。 (3) 支持建立数据字典,用以存储各数据表间的关系。 (4) 用简单面向对象的方法,将其系统资源编译成可独立运行的.APP或.EXE 文件。 n编译并连接生成一个应用程序文件(.APP)或可执行文件(.EXE)。应用程 序文件(.APP)必须在VF的环境中才能运行。而可执行文件(.EXE)则可以脱 离VF系统,直接在Windows桌面上运行。 8.4 系统测试 n系统测试是保证系统质量的关键,是对整个系 统开发过程,包括系统分析、系统设计和实施的 最终审查。 8.4.1 系统测试的对象和目的 n1.系统测试的对象 系统测试的对象是整个应用软件系统。由于 “程序+文档软件”,所以系统测试的对象包括 需求分析、系统总体设计、详细设计各阶段的文 档以及源程序。 n2.系统测试的目的 应用软件系统测试的目的是努力发现软件中的错误,并 改正错误。测试中可能发现的错误按其性质可分为以下几类 : (1) 功能错误。由于处理功能说明不够完整或不够确切 ,致使编程时对功能有误解而产生的错误。 (2) 系统错误。指与外部接口错误、子程序调用错误、 参数使用错误等。 (3) 过程错误。主要指算术运算错误、逻辑错误等。 (4) 数据错误。指数据结构、实体、属性错误,参数与 控制数据混淆等。 (5) 编程错误。指语法错误、程序逻辑错误、编程书写 错误等。 (2007.04,单选27,2005.10,单选28)在系统测试 时发现的算术运算错误属于( ) A.功能错误 B.过程错误 C.数据错误 D.语法错误 (2004.4,单选29)系统测试的目标是( ) A.发现和排除系统的所有错误 B.证明系统无错误 C.测试系统是否满足用户需求 D.尽可能发现和排除系统的错误 8.4.2 系统测试的基本原则与方法 n1.系统测试的基本原则 系统测试应遵循以下基本原则: (1) 成立测试小组,测试小组应与开发组分立。即测试工作应避 免由原开发组人员承担。 (2) 精心设计测试用例。一个测试用例必须由两个部分组成: 对系统的输入数据描述; 由这些输入数据经系统处理,预期的测试正确结果。 (3) 进行回归测试。对于测试中发现错误的软件,经修正后,要 用原来的测试用例再进行测试称为回归测试。利用回归测试,一方面 验证原有错误是否确实修正了;另一方面能够发现因修改而可能引入 的新错误。 (4) 集中测试出错多的模块。一个模块已发现的错误越多,则其 中存在错误的概率也就越大。在进行深入测试时,要集中测试那些出 错多的模块。 n(2002.10,简答题50)简术系统测试的基本 原则。 n(2003.10,简答题50)简述测试用例的内容 。 n(2007.04,名词解释35;2005.10,名词解 释42)回归测试 n2.系统测试的方法 软件产品测试,常用以下两种方法: (l) 黑盒法。又称为功能测试,在完全不考虑程 序的内部结构和特性的情况下,测试软件的外部特 征。从程序的输入和输出特性上测试其是否满足设 定的功能。 (2) 白盒法。又称为结构测试,按照程序的内部 结构和处理逻辑来设计测试用例,对软件的逻辑路 径及过程进行测试,检查它与设计是否相符。 n(2007.4,简答题40)简述系统测试应遵循的 基本原则和方法 n(2005.10,简答题49)简述黑盒测试法 n答:又称为功能测试,将软件看作不透明盒子,在 完全不考虑程序的内部结构和特性的情况下,测试 软件的外部特征。从程序的输入和输出特性上测试 其是否满足设定的功能。 8.4.3 系统测试过程 n系统测试过程可分为四个步骤: 1.单元测试(模块分调) 每个模块可以作为一个单独的测试单元,而且也比较容易 设计测试用例。单元测试中所发现的错误,往往是编程和详细 设计的错误。 2.子系统测试(模块联调) 子系统测试是将经过单元测试的模块放在一起形成一个子 系统来测试。子系统测试的目的是测试模块间接口的正确性。 3.系统测试 系统测试是将经过测试的子系统装配成一个完整的系统来 测试。在这个测试中发现的错误有设计和编程的错误,也有需 求分析中的错误。 n4. 验收测试 验收测试是将系统作为单一的实体进行测试,测试内容与系统测试基本相同,但是验 收测试是在用户参与下进行的,它的目的是由用户来测试软件能否满足用户的需求。 模块与程序的调试,主要采用白盒法,而在子系统测试、系统测试过程中主要采用黑 盒法。 n(2007.10,单选30,2007.04,单选33)在信息系统开发的测试阶段,必须要用户参 与的是( ) A.单元测试 B.子系统测试 C.验收测试 D. 系统测试 (2004.4,简答题50)简述系统测试的主要方法和步骤。 答:主要方法是白盒法、黑盒法 主要步骤是:单元测试子系统测试系统测试验收测试(根据情况加以说明) n8.5 系统切换 系统切换就是指老系统停止使用、新系统开 始运行的过程。系统切换的任务就是保证新、老 系统进行平稳而可靠的交接,最后使整个新系统 能正式交付使用。 n8.5.1 系统切换的方式 1.直接切换 在确定新系统运行准确无误后,用新系统直接替换老系 统,终止老系统运行,中间没有过渡阶段。这种方式节省人 员和设备费用,但风险大,很有可能出现意想不到的问题。 因此,这种方式不能用于重要的系统。 2.平行切换 这种方式安排了一段新、老系统平行运行的时期。平行 运行时间视业务内容及系统运行状况而定,直到新系统正常 运行有保证时,才停止旧系统运行。其优点是可以进行两系 统的对比,发现和改正新系统的问题,风险小,安全,可靠 ;缺点是耗费人力和设备。 3.试点后直接切换 某些系统有一些相同部分,例如系统中包括有多个销售 点、多个仓库等。切换时先选择一个销售点或仓库作试点, 试点成功后,其他部分可同时直接切换。这种方式风险较小 ,试点的部分可用来示范和培训其他部分的工作人员。 4.逐步切换 它的特点是分期分批地进行切换。既避免了直接切换的 风险性,又避免了平行切换时费用大的问题。但是,需要很 好地处理新、老系统之间的接口。在系统切换过程中,要根 据出现的问题进行修改、调试,因此它也是新系统不断完善 的过程。 n(2006.10,单选27)系统切换工作属于系统开发的( ) A.系统分析阶段 B.系统实施阶段 C.系统设计阶段 D.系统维护阶段 (2005.4,单选25)在系统切换时,风险小、安全可靠,但人力和设 备消耗较大的方式是( ) A.直接切换 B.平行切换 C.试点后直接切换 D.逐步切换 n(2004.10,简答50)简述平行切换的优缺点。 n答:这种方式安排了一段新、老系统平行运行的时

温馨提示

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

评论

0/150

提交评论