教务管理系统 毕业论文_第1页
教务管理系统 毕业论文_第2页
教务管理系统 毕业论文_第3页
教务管理系统 毕业论文_第4页
教务管理系统 毕业论文_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

1、 教务管理系统 毕业设计(论文)题 目: 教务管理系统的设计与实现 姓 名:学 号: 系 (院): 信息工程学院 专业班级: 计算机应用技术 指导老师: 牛庆丽 完成时间 教务管理系统摘 要 在中国随着教育体制的逐步完善,学校规模在不断的扩大,在校学生的增多以及在校老师数量的增加也加大了教务管理的难度,不管是教师信息、学生信息、查询起来非常麻烦,通过传统的数据管理方法很难对所有信息进行整合。然后长期以来学生管理工作一直是采用人工传统管理,效率低,保密性差。所以随着技术的发展,教务管理已经慢慢的由单纯的人工管理向与计算机结合的方向发展,对此我们需要开发一款基于计算机技术的教务管理系统。本系统以V

2、isual S2005和Microsoft SQL Server2000为主要开发平台,从用户的角度出发,对教师、学生进行全面的整合,对教务管理系统进行全面的分析。主要功能包括老师信息查询、学生信息查询、教师发布、添加修改学生成绩信息,以及学生查询课程安排。本系统是利用(c#)进行编写,界面清晰、明了,操作简单,方便实用。【关键字】: 教学管理系统、教务管理、SQL The educational administration management system Abstract In China with the education system gradually perfect, the

3、 school continued to expand in size, increasing the number and the teachers in the school students have also increased the difficulty of educational management, whether teachers information, student information, query up very troublesome, through the data management of traditional method is very dif

4、ficult to integrate all the information. And then a long time student management work has been using the traditional manual management, low efficiency, poor security. So with the development of technology, educational management has gradually formed by the combination of simple artificial management

5、 and computer development, we need to develop an educational administration system based on computer technology. This system with Visual S2005 and Microsoft SQL Server2000 as the main development platform, from the user's point of view, carries on the comprehensive integration of teachers, stude

6、nts, makes a comprehensive analysis of the educational administration management system. The main functions include the teacher information, student information query, add, modify the release of teachers and student achievement information, arrange students to query course. Key words : management in

7、formation system, educational administration management, , SQL 目 录中文摘要 英文摘要 教务管理系统2摘要2Abstract3目录4第一章 系统总概述61.1 系统的可行性分析61.1.1 系统需求分析61.1.2 可行性分析61.2 系统的模块及功能71.2.1 项目规划71.3 系统的开发目的7第二章 对系统的总流程剖析82.1 系统运行流程82.2 数据流程分析82.3 数据运行储存图:E-R图102.4 系统运行功能分析:功能流程层次图11第三章 系统思路设计123.1 系统模块组成分析123.1.1. 系统功能模块分析1

8、23.1.2. 软件结构分析133.2 数据库设计13 3.2.1. 本系统中所涉及到的主要实体共有四个数据表13第四章 系统所能实现的功能154.1 系统登陆界面模块剖析164.2 系统应用主界面剖析194.3 用户管理模块204.4 教师模块组成234.5 学生模块组成:254.6 成绩模块组成:26第五章 整体系统的测试295.1软件测试过程295.2系统的测试结果31第六章 系统总结31第七章 致 谢32第八章 参考文献32 第一章 系统总概述1.1 系统的可行性分析 背景:在中国随着教育体制的逐步完善,学校规模在不断的扩大,在校学生的增多以及在校老师数量的增加也加大了教务管理的难度,

9、不管是教师信息、学生信息、查询起来非常麻烦,通过传统的数据管理方法很难对所有信息进行整合。然后长期以来学生管理工作一直是采用人工传统管理,效率低,保密性差。所以随着技术的发展,教务管理已经慢慢的由单纯的人工管理向与计算机结合的方向发展,对此我们需要开发一款基于计算机技术的教务管理系统。 随着计算机应用在全世界的普遍推广,各大中专院校都逐渐实现了计算机化管理,实现了网络化管理。这个系统中我主要负责教务管理系统的界面设计、模块的开发及设计。1.1.1 系统需求分析通过实际调查、需求分析,系统需要具备:1界面简单明了,操作简单;2由于系统浏览人群较多,所以需要有安全权限进入;3数据库清晰易找,方便修

10、改、增加、删除;4信息查询方便,全面;1.1.2 可行性分析随着网络科技日趋进步,全国各地高校因为教师和学生数量不断增加,所以采用教务管理系统对学校事务进行管理,是非常有必要的也必定会给学校带来很大的方便,它以网络为平台,对学校各项事务进行各方面的管理,为用户提供充11足的信息和快捷的查询、修改手段,以成为日常教学工作中必不可少的管理软件。1.2 系统的模块及功能1.2.1 项目规划教务管理系统是一个防止非法用户进入的安全系统,所以要进入系统要有属于自己的口令,不管是老师还是学生都有属于自己的账号口令,也就是我们平时所说的账号密码,只有身份跟密码口令一致的情况下才可以进入。所以用户登录分为:系

11、统管理员模块、教师登录模块、学生登录模块,规划如下:系统管理员模块该模块的主要任务是维护系统的正常运行和安全性设置,包括:教师管理,学生管理,课程管理,排课管理。主要功能是对班级,老师,学生,课程的修改,只有管理员有权利进入。教师登录模块该模块的功能是实现老师对所管班级学生的管理工作,包括:查看课程安排,修改学生信息,发布学生成绩,以及修改添加学生成绩,这三个功能模块各自独立,完成学校的全部班级的管理。学生管理模块该模块的主要功能是实现对学生的个人信息的管理与查看,包括成绩查询,学生个人信息查询、档案查询以及课程安排,分为必修课表还有选修课表等功能,从而方便学校管理部门对学校的基本情况的快速查

12、询和了解。1.3 系统的开发目的教务管理系统的开发目的在于,缓解高校师资力量不断壮大的压力,是学校能够更好地管理教师、学生,使教师,学生信息更加明朗,随着教学体制的不断改革,尤其是学分制、选课制的展开和深入,教务日常管理工作日趋繁重、复杂。传统的手工操作方式,易发生数据丢失,统计错误,劳动强度高,且速度慢。32使用计算机可以高速,快捷地完成以上工作。在计算机联网后,数据在网上传递,可以实现数据共享,避免重复劳动,规范教学管理行为,从而提高了管理效率和水平。教务管理系统以计算机为工具,通过对教务管理所需的信息管理,把管理人员从繁琐的数据计算处理中解脱出来,使其有更多的精力从事教务管理政策的研究实

13、施,教学计划的制定执行和教学质量的监督检查,从而全面提高教学质量。第二章 对系统的总流程剖析2.1. 系统运行流程系统整体流程图如图21失败成功系统登录登录 教务管理系统数 据管 理成绩管理教师管理学籍管理进入 数据库进入图21 系统整体流程图2.2. 数据流程分析由于系统的数据模块较多,下面仅以学生成绩管理模块为例来进行展示。如图225学生成绩管理系统学籍管理部 学生情况管理员学生教师 查询 学生成绩教师图22教务管理系统0层数据流程图学生管理浏览者D1进入课程管理教务处D2进入转入成绩管理查询 返回老师 是D3统计分析管理图23教务管理系统1层数据流程图62.3. 数据运行储存图:E-R图

14、教务管理系统的E-R图,如图24 图24教务管理系统的E-R图 根据上面的E-R图,需要三个基本信息表:教师信息、学生信息、课程信息。其中,教师信息和学生信息实际上是从其它信息管理系统的数据表中直接读取。学生的选课信息需要用一个表来单独保存。由于每学期期末前都要进行选课,一次选课结束后要将这个表的内容及时保存到成绩单数据表中。使用本系统的不光是教务处的管理人员和教师,每个学生都需要登录到选课系统进行课程的选择。因此,需要对不同的登录人员进行密码认证和权限的限制,防止出现越权行为。用户名、密码和权限单独保存在一个数据表中。图2575学生课程成绩学习mn图25 学生关系图 教师与课程这两个实体之间

15、,是一对多联系;一位教师可以都多门课程,而一门课程对于学生成绩来说只能有一位教师(英语、高等数学有多位教师教,但对某个固定的学生来说只能有一位教师)。其E-R图,如下图26所示。 教师教学学生 图26实体关系教师与课程的E-R图组合到一起,得到最后的E-R图,有了E-R图,就可以设计数据库。下图27为数据模型图。实体模型数据模型学生教师教师课程学生 学习课程学习学习m联系nm数据库 图27 数据模型图2.4. 系统运行功能分析:功能流程层次图如图所示为系统流程层次图28所示教务管理系统身份验证操作界面重新登录退出考试管理排课管理信息管理信息查询 图28功能流程层次第三章 系统思路设计3.1.

16、系统模块组成分析3.1.1. 系统功能模块分析教师功能:完成对教师档案资料的添加、修改、删除和查询功能。 教师资料管理: 完成对教师档案资料的添加、修改、删除功能 教师资料查询: 完成对教师档案资料的查询功能 教师课表查询: 完成对教师任课课表信息的查询功能。学生功能:该功能模块式本系统的重点,也是难点。其由四个功能子模块组成: 学生档案管理:完成对学生档案资料的添加、修改、删除和查询功能。 学生选课管理:是对学生选择课程这一操作进行保存或删除管理。 学生成绩管理:是对学生所修课程成绩的管理,操作员可以输入或修改学生成绩。 学生信息查询:可以实现按“课程”、“班级”或“学生姓名”查询学生的成绩

17、或不及格学生的成绩。 学生课表查询:可以实现按“学号”、“班级”或“学生姓名”查询所有学生的课表。 3.1.2软件结构分析本系统在执行时,先根据不同的操作人员的需要来进行相应的模块,然后可以输入数据或者进行其它的查询或浏览等操作;总体来说,本系统属于一个事务型管理系统。如图3110权限识别身份验证用户登录成功失败根据权限不同,进入不同子系统,并执行相应操作。错误否结束操作,退出系统。是 图31 验证流程图 3.2. 数据库设计数据库采用了Microsoft推出的SQL SERVER 2000数据库,这是微软集成到Office中的一个桌面数据库,能够快速方便的和Office的其他套件综合使用。由

18、于SQL具有显著的简易性和有效性,大量的桌面数据库系统都采用SQL作为后台数据库。使用SQL的好处还在于,如果你的系统扩展到Client/Server模式的时候,可以使用Microsoft的数据库服务器软件SQL Server,此时,程序只需要简单的修改一下链接(ADO的数据源)就可以,这样,为程序的平滑扩展提供了非常有力的条件。3.2.1本系统中所涉及到的主要实体共有四个数据表allusers表:ID,用户名,密码,权限,添加时间10教师表:ID,用户名,密码,姓名,任教科目,电话,邮箱,QQ,身份证,性别,备注,添加时间学生表:ID,学号,密码,姓名,班级,教师,性别籍贯,电话,QQ,邮箱

19、,备注,添加时间学生成绩表:ID,学号,姓名,班级,教师,课程,成绩,添加时间各表的物理结构如下:Allusers表:教师表:学生表:0学生成绩表:第四章 系统所能实现的功能教务人员:通过学生信息管理模块来管理学生信息,如进行学生信息的添加、修改、删除等。 4.1系统登陆界面模块剖析本界面的主要功能是为了对系统进行安全性管理,本系统的用户名和密码保存在allusers表中,本系统根据不同的用户而设置了不同的权限,可以用hsg,hsg为用户名和密码来登陆本系统。系统主界面:实现本模块的主要代码如下所示:protected void Page_Load(object sender, EventAr

20、gs e) if (!IsPostBack) cx.Items.Add("管理员");2 cx.Items.Add("教师"); cx.Items.Add("学生"); protected void Image1_ServerClick(object sender, ImageClickEventArgs e) if (TextBox2.Text.ToString().Trim() = "" | TextBox1.Text.ToString().Trim() = "") Response.Wri

21、te("<script>javascript:alert('请输入完整');history.back();</script>"); Response.End(); string sql; sql = "" if (cx.SelectedItem.ToString().Trim() = "管理员") sql = "select * from allusers where username='" + TextBox1.Text.ToString().Trim() + &q

22、uot;' and pwd='" + TextBox2.Text.ToString().Trim() + "'" if (cx.SelectedItem.ToString().Trim() = "教师") sql = "select * from jiaoshi where yonghuming='" + TextBox1.Text.ToString().Trim() + "' and mima='" + TextBox2.Text.ToString().T

23、rim() + "'" if (cx.SelectedItem.ToString().Trim() = "学生") sql = "select * from xuesheng where xuehao='" + 312TextBox1.Text.ToString().Trim() + "' and mima='" + TextBox2.Text.ToString().Trim() + "'" DataSet result = new DataSet();

24、result = new Class1().hsggetdata(sql); / result = new TestOnline.Class1().hsggetdata(sql); if (result != null) if (result.Tables0.Rows.Count > 0) Session"username" = TextBox1.Text.ToString().Trim(); if (cx.SelectedItem.ToString().Trim() = "管理员") Session"role" = resul

25、t.Tables0.Rows0"cx".ToString().Trim(); else Session"role" = cx.SelectedItem.ToString().Trim(); Response.Redirect("main.aspx"); else Response.Write("<script>javascript:alert('对不起,用户名或密码不正确!');</script>"); 412 else Response.Write("<sc

26、ript>javascript:alert('对不起,系统错误,请不要越权操作!');</script>"); 513 4.1 系统应用主界面剖析本模块是本系统的应用界面,在本界面上集成了本系统的所有功能,共有7个功能菜单和19个子菜单(功能模块),从而实现了本系统从班级管理、档案管理、缴费管理、课程管理、成绩管理等系统的具体功能,同时,在系统管理模块中可以完成对本系统的安全性管理。该界面是个框架组成,包括上,中,下三个部份,其中中间又包括左右两部份,其代码如下所示:<!DOCTYPE html PUBLIC "-/W3C/DTD X

27、HTML 1.0 Frameset/EN" "/TR/xhtml1/DTD/xhtml1-frameset.dtd"><html xmlns="/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>教务管理系统</title></hea

28、d><frameset rows="127,*,11" frameborder="no" border="0" framespacing="0"> <frame src="top.aspx" name="topFrame" scrolling="No" noresize="noresize" 614id="topFrame" /> <frame src="center.a

29、sp" name="mainFrame" id="mainFrame" /> <frame src="down.aspx" name="bottomFrame" scrolling="No" noresize="noresize" id="bottomFrame" /></frameset><noframes><body></body></noframes></h

30、tml>4.2 用户管理模块本模块是本系统的安全性设置模块,根据学校不同部门以及不同使用人员对本系统的要求和需要,从而实行了分级管理,对用户的权限和类别进行了分类管理。该界面是添加用户的模块,其代码如下所示:protected void Page_Load(object sender, EventArgs e) if (Session"role".ToString().Trim() != "超级管理员") /判断session值,如果是超级管理员,则此页可用,如果不是,则给出对话框提示. Response.Write("<scrip

31、t>javascript:alert('对不起,您没有这个权限');history.back();</script>"); Response.End();815 protected void Button1_Click(object sender, EventArgs e) string sql; /sql语句意思为:向表allusers中插入新数据 sql = "insert into allusers(username,pwd) values('" + username.Text.ToString().Trim() +

32、 "','" + pwd1.Text.ToString().Trim() + "')" new Class1().hsgexucute(sql); /将sql语句执行一次,调用class1.cs中的hsgexecute函数 Response.Write("<script>javascript:alert('添加成功');</script>"); /执行成功,给出提示 该界面是管理系统中已有用户的模块,其代码如下所示:protected void Page_Load(obj

33、ect sender, EventArgs e) if (Session"role".ToString().Trim() != "超级管理员") Response.Write("<script>javascript:alert('对不起,您没有这个权限');history.back();</script>"); Response.End(); 916 if (!IsPostBack) string sql; sql = "select * from allusers order by

34、id desc" getdata(sql); private void getdata(string sql) DataSet result = new DataSet(); result = new Class1().hsggetdata(sql); if (result != null) if (result.Tables0.Rows.Count > 0) DataGrid1.DataSource = result.Tables0; DataGrid1.DataBind(); else DataGrid1.DataSource = null; DataGrid1.DataB

35、ind(); 10174.3 教师模块组成:因为本系统中有些功能模块具有相似之处,因此在本文只用此模块进行一个简单的说明。其它的相似模块的代码可能参阅本模块的设计思路。实现该模块的主要代码如下所示: string sql; string ngender; if (RadioButton1.Checked) ngender = "男" else ngender = "女" sql = "insert into jiaoshi(yonghuming,mima,xingming,renjiaokemu,dianhua,youxiang,QQ,shen

36、fenzhen1118g,xingbie,beizhu) values('" + yonghuming.Text.ToString().Trim() + "','" + mima.Text.ToString().Trim() + "','" + xingming.Text.ToString().Trim() + "','" + renjiaokemu.Text.ToString().Trim() + "','" + dianhua.T

37、ext.ToString().Trim() + "','" + youxiang.Text.ToString().Trim() + "','" + QQ.Text.ToString().Trim() + "','" + shenfenzheng.Text.ToString().Trim() + "','" + ngender + "','" + beizhu.Text.ToString().Trim() + &quo

38、t;') " int result; result = new Class1().hsgexucute(sql); if (result = 1) Response.Write("<script>javascript:alert('添加成功');</script>"); else Response.Write("<script>javascript:alert('系统错误,请检查数据库的连?);</script>"); 12194.4 学生模块组成:实现本模块的主要

39、代码如下所示:string sql; string ngender; if (RadioButton1.Checked) ngender = "男" else ngender = "女" sql = "insert into xuesheng(xuehao,mima,xingming,banji,jiaoshi,xingbie,jiguan,dianhua,QQ,youxiang,beizhu) values('" + xuehao.Text.ToString().Trim() + "','"

40、; + mima.Text.ToString().Trim() + "','" + xingming.Text.ToString().Trim() + "','" + banji.Text.ToString().Trim() + "','" + jiaoshi.SelectedItem.ToString().Trim() + "','" + ngender + "','" + 1320jiguan.Text.ToSt

41、ring().Trim() + "','" + dianhua.Text.ToString().Trim() + "','" + QQ.Text.ToString().Trim() + "','" + youxiang.Text.ToString().Trim() + "','" + beizhu.Text.ToString().Trim() + "') " int result; result = new Class1()

42、.hsgexucute(sql); if (result = 1) Response.Write("<script>javascript:alert('添加成功');</script>"); else Response.Write("<script>javascript:alert('系统错误,请检查数据库的连?);</script>"); 4.5 成绩模块组成:该模块是让教师添加学生成绩的模块,每个教师只能添加自己学生的成绩,实现本模块的主要代码如下所示:protected voi

43、d Page_Load(object sender, EventArgs e) if (!IsPostBack) 1421 xuehao.Items.Add("请选择"); string sql; sql = "select xuehao from xuesheng where jiaoshi='"+Session"username".ToString().Trim()+"' order by id desc" DataSet result = new DataSet(); result = new

44、 Class1().hsggetdata(sql); if (result != null) if (result.Tables0.Rows.Count > 0) int k = 0; for (k = 0; k < result.Tables0.Rows.Count; k+) xuehao.Items.Add(result.Tables0.Rowsk"xuehao".ToString().Trim(); protected void Button1_Click(object sender, EventArgs e) string sql; sql="

45、insert into xueshengchengji(xuehao,xingming,banji,jiaoshi,kecheng,chengji) values('"+xuehao.SelectedItem.ToString().Trim()+"','"+xingming.Text.ToString().Trim()+"','"+banji.Text.ToString().Trim()+"','"+jiaoshi.Text.ToString().Trim()+&quo

46、t;','"+kecheng.Text.ToString().Trim()+"','"+chengji.Text.ToString().Trim()+"') " int result; result = new Class1().hsgexucute(sql); if (result = 1)1522 Response.Write("<script>javascript:alert('添加成功');</script>"); else Respon

47、se.Write("<script>javascript:alert('系统错误,请检查数据库的连?);</script>"); protected void xuehao_SelectedIndexChanged(object sender, EventArgs e) string sql; sql = "select xingming,banji,jiaoshi from xuesheng where xuehao='"+xuehao.SelectedItem.ToString().Trim()+"&

48、#39;" DataSet result = new DataSet(); result = new Class1().hsggetdata(sql); if (result != null) if (result.Tables0.Rows.Count > 0) xingming.Text = result.Tables0.Rows0"xingming".ToString().Trim(); banji.Text = result.Tables0.Rows0"banji".ToString().Trim(); jiaoshi.Text =

49、 result.Tables0.Rows0"jiaoshi".ToString().Trim(); 1623第五章 整体系统的测试在这次的系统测试中,我们进行了系统的安全测试,包括安全权限的进入,不同的管理员的进入,后台数据库的修改,以及教务管理系统包含的各种功能是否能正常运行。软件的测试是软件工程过程的一个重要阶段,是在软件投入运行前,对软件需求分析、设计和编码各阶段产品的最终检查,是为了保证软件开发产品的正确性、完整性.,是软件质量保证的关键步骤,也是成功实现软件开发目标的重要保障,因此,系统完成后对其功能还有后台进行测试时非常有必要的。5.1. 软件测试过程软件测试依

50、据测试任务要求的类型可分为有效性测试和验证测试两种类型。有效性测试和验证测试。有效性测试以实现用户需求为根本点,确认软件的功能、性能和其他特性是否与用户的要求一致,内容包括:需求规格说明、用户文档、程序文档等的有效性确认。验证测试是检验软件开发个阶段,以阶段间的逻辑协调性、完备性和正确性。例如:需求分析是概要设计的依据,概要设计必须以满足需求为出发点和充分体现需求,使得阶段产品内容保持逻辑上的一致性和协调性。软件测试可应用多种测试方法来实现测试任务要求,墨盒测试和白盒测试是广泛使用的两种基本的测试方法。墨盒测试是功能、数据驱动测试或基于规格说明的测试。在不考虑程序内部结构和内部特性的情况下,测

51、试者依据该程序功能上的输入输出关系,或是程序的外部特性来设计和选择测试用例,推断程序编码的正确性。白盒测试是结构测试、逻辑驱动测试或基于程序的测试。测试者熟悉程序的内部结构,依据程序模块的内部结构来设计测试用例,检测程序代码的正确性。软件测试可运用多种不同的测试策略来实现,最常用的方式是自底向上分阶段进行,对不同开发阶段的产品采用不同的测试方法进行检测,从独立程序模块开始,然后进行程序测试、设计测试到确认测试,最终进行系统测试,共分四个阶段:单元测试、集成测试、确认测试和系统测试。单元测试是单独检测各模块,验证程序模块和详细设计是否一致,消除程序模块内部逻辑上和功能上的错误和缺陷。一般采用白盒

52、测试法。单元测试还检查模块界面的输入输出数据,判断模块是否符合设计要求、模块所涉及的局部数据结构的状况和改变、模块内部重要执行路径(包括出错处理路径)的正确性。 集成测试是将已测试的模块组装进行检测,对照软件设计检测和排除子系统或系统结构上的错误。一般采用墨盒测试法。集成测试的重点是:检测模块接口之间的连接,发现访问公共数据结构可能引起的模块间的干扰,全局数据结构的不一致,测试软件系统或字系统输入输出处理故障处理和容错等方面的能力。 确认测试要求是按规定需求,逐项进行有效测试。检测软件的功能和性能及其他特性是否与用户的要求一致;一般采用墨盒测试法。确认测试的基本事项有:功能确认(以用户需求规格说明为依据,检测系统需求规定功能的实现情况)

温馨提示

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

评论

0/150

提交评论