• 1.23 MB
  • 2022-05-17 13:39:49 发布

学生考勤管理系统论文.doc

  • 20页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
hou学生考勤管理系统毕业设计论文摘要:本系统阐述了考勤系统的设计开发的全过程,包括系统整体设计,各个功能模块划分,系统功能模块的设计与具体实现等部分。该系统侧重于学生考勤信息查询和数据库的维护,通过已编制好的程序,完成对用户的登录、考勤信息的添加、查询、统计、学生请假等,本系统使用VisualC#与数据库SQLServer2005编写完成,实现学生考勤信息的记录和管理,为教师的考勤工作提供信息。关键词:考勤管理;VisualC#;SQLServer2005StudentAttendanceManagementSystemDesignGraduateThesisWeiChunYanComputercollegeofcomputerscienceandtechnologyGrade2008Instructor:ShulanYingAbstract:Thesystemelaboratedattendancesystemdesignanddevelopmentprocess,includingthesystemoveralldesign,eachfunctionmodule,designofsystemfunctionmodulesandconcreterealizationandsoon.Thesystemfocusesonthestudentattendanceinformationqueryanddatabasemaintenance,throughtheprogram,tocompletetheuserlogin,attendanceinformationtoadd,query,statistics,studentsleave,thesystemusesVisualCandSQLServer2005database#completed,studentattendanceinformationrecordingandmanagement,fortheteacherworkattendanceinformation.Keywords:attendancemanagement;VisualC#;SQLServer2005 目录1引言12需求分析12.1可行性分析12.1.1技术可行性12.1.2经济可行性12.2功能分析12.3系统需求分析23系统设计33.1功能模块33.2系统功能模块设计33.3系统流程44数据库设计54.1数据库逻辑结构设计55详细设计85.1主要界面及代码实现85.1.1用户登陆界面85.1.2系统主界面105.1.3学生出勤信息管理界面125.1.4学生查询界面135.1.5学生基本资料管理界面145.1.6修改密码界面145.1.7查看成绩界面155.1.8查看个人出勤信息156测试与维护166.1测试的目标166.2测试方案166.2.1模块测试166.2.2集成测试176.2.3验收测试176.3设计测试方案176.4系统维护17结束语19致谢19参考文献20 1引言信息技术的迅猛发展,已经引起社会的深刻变革,信息时代的到来,迫切要求我们的学校管理进行变革。因此,信息化的考勤系统就在这种情况下变的越来越受欢迎,它给教师带来了更加高效处理考勤的方法,使得教学能够比较顺利的进行下去,不会再因为考勤等烦杂事务影响教学。学生考勤管理系统是一个C/S系统,它的出现,改变了教师手工登记考勤信息的管理方式,管理员及教师使用计算机对学生信息进行管理,具有着手工无法比拟的优点,例如:考勤统计查询方便快捷,数据存储量大,可靠性高等,便于教师掌握学生的出勤情况。学生考勤系统以方便、快捷等优点冲击着传统的考勤方式。也正是因为这些优点,使它更符合现代社会人们快节奏、高效率的生活方式。2需求分析2.1可行性分析2.1.1技术可行性学生考勤管理系统在目前的学校中使用还不普遍,但也有许多类似的成功案例:如教务管理系统、排课系统等。本系统采用VisualC#高级语言及SQLServer2005数据库技术综合开发。而这个系统尽管其在组织关系上存在着很大的复杂性,繁琐性,但是就整个系统的技术构成上来看,它还是属于一个数据库应用类的系统。其基本操作还是对存在数据库进行添加、删除、查找、修改等。所以就单纯的数据库应用来看,暂不存在太大的技术问题。2.1.2经济可行性本系统使用C/S架构设计,开发简单,使用度方便,不需要耗费大量的人力物力就能很快的开发出来,系统部署对软硬件要求不高,用户操作简单,几乎不需要对用户进行专业培训就可使用本系统,而同时又减少了数据的流通环节,不必要花费那么多的时间,也就是说最重要的是就是提高了效率,而又保证了各项数据的准确性,适应了当前的发展形式。2.2功能分析 为了解决人工操作在学生考勤中存在的不足,从学校管理人员能够更容易、更方便地使用计算机对学生进行管理,以实现无纸化操作的方面进行分析。学生考勤管理系统能够提供学生考勤的情况记录,方便地对学生考勤进行评定。学生考勤管理系统应实现以下功能。1.用户信息管理用户信息管理的基本功能是添加、修改、删除以及浏览用户信息。用户的具体属性包括用户帐号,用户密码。2.学生信息管理添加学生基本信息,包括学生学号、、性别、地址、所在班级等信息,修改学生基本信息,删除学生基本信息,查看学生基本信息。3.教师信息管理添加教师基本信息,包括教师工号、、性别、联系等信息,修改、删除、查看教师基本信息。4.学生考勤管理包括出勤管理,请假管理。它们可以实现对学生日常主要考勤情况的记录管理。教师能够把学生的考勤情况输入到相应的数据库,也可对其进行添加、修改、删除。5.学生查询主要完成对学生的各种考勤资料的统计包括总请假次数,迟到次数等,在查询中可以按学号查询。6.查看成绩学生查看所学课程的平时成绩的记录管理。2.3系统需求分析学生考勤管理系统是学校对考勤实行了信息化管理,考勤管理中主要涉及的管理任务有6个方面:学生基本信息管理、教师基本信息管理、考勤信息管理、请假信息管理、考勤查询浏览、查看成绩以及系统管理。管理员可以查询、添加、修改、删除学生及教师的基本信息;学生可以查询自己的出勤信息,根据所学课程查询自己的平时成绩;教师可以浏览、查询、添加、删除、修改学生考勤的基本信息等处理功能。各管理用计算机及管理软件用Windows环境下的平台,能灵活处理各种特殊情况,方便的修改各种基本信息,查询方便,管理安全,操作简便,能具有一定的安全性、协调性和完整性。3系统设计3.1功能模块 1.学生查询模块:主要完成对学生的各种考勤资料的统计包括总请假次数、迟到次数等,在查询中可以按学号查询。2.学生信息管理模块:主要完成对学生资料的管理,包括对学生的信息执行添加、修改和删除等基本操作。3.教师信息管理模块:主要完成对教师资料的管理,包括对教师的信息执行添加、修改和删除等基本操作。4.学生考勤管理模块:该模块包括出勤管理、请假管理。它们可以实现对学生日常主要考勤情况的记录管理。5.查看成绩:学生查看所学课程的平时成绩的记录管理。6.系统管理模块:进行用户信息管理(增加、删除、修改、查找用户)、密码修改、退出系统等操作。3.2系统功能模块设计经过调查分析,本系统功能模块如图3.1所示。 学生考勤管理系统学生教师管理员查看出勤信息查看成绩退出系统修改密码学生信息管理系统管理教师信息管理退出系统修改密码用户信息管理学生查询教师服务学生考勤管理学生请假管理学生出勤管理图3.1系统功能模块图3.3系统流程本系统分为三个用户:学生、教师、管理员。管理员:查询、添加、修改、删除学生及教师的基本信息。学生:查询出勤信息、查询平时成绩。教师:浏览、查询、添加、删除、修改学生考勤的基本信息等处理功能。用户以不同的身份登录,则进入不同的界面。用户登录进入主界面的流程图如图3.2所示。 YN身份验证主界面登录开始退出图3.2用户登录流程图4数据库设计4.1数据库逻辑结构设计数据库结构的设计在学生考勤管理系统中占有着很重要的地位。它的好坏将会直接影响到本系统的效率和实现的效果。根据系统的实际应用情况,本系统采用MirosoftSQLServer2005作为后台的数据库管理工具,以下是本系统数据库设计的具体情况。1.班级信息表Classes表Classes主要用来保存学生所在班级的信息,主要包括班级名称。表4.1班级信息表Classes列名数据类型长度允许空备注ClassIdvarchar10否班级编号,主键ClassNamevarchar50否班级名2.宿舍信息表Dorms表Dorms主要用来保存学生所在宿舍的信息,主要包括宿舍名。表4.2宿舍信息表Dorms 列名数据类型长度允许空备注DormIdvarchar10否宿舍编号,主键DormNamevarchar50否宿舍名3.教室信息表ClassRooms表ClassRooms用来保存教室信息。表4.3教室信息表ClassRooms列名数据类型长度允许空备注RoomIdvarchar10否教室编号,主键RoomNamevarchar50否教室名4.课程信息表Courses表Courses用来保存课程信息。表4.4课程信息表Courses列名数据类型长度允许空备注CourseIdvarchar10否课程编号,主键CourseNamevarchar50否课程名5.学生信息表Students表Students用来保存学生的基本资料信息。表4.5学生信息表Students列名数据类型长度允许空备注StuIdvarchar20否学号,主键StuNamevarchar10否学生StuPwdchar8否密码Sexchar2否性别Telephonevarchar20是联系DormIdvarchar10否宿舍编号,外键HomeAddressvarchar100是家庭住址HomePhonevarchar20是家庭ClassIdvarchar10否班级编号,外键6.教师信息表Teachers表Teachers用来保存教师基本资料的信息。 表4.6教师信息表Teachers列名数据类型长度允许空备注TeacherIdvarchar10否工号,主键TeacherNamevarchar10否教师TeacherPwdchar8否密码Sexchar2否性别Telephonevarchar20是联系7.用户信息表Users表Users用来保存系统管理员的基本信息。表4.7用户信息表Users列名数据类型长度允许空备注UserIdchar4否用户编号,主键UserNamevarchar10否用户名UserPwdchar8否密码8.出勤状态表AttendanceStatus表AttendanceStatus用来存储出勤的状态。表4.8出勤状态表AttendanceStatus列名数据类型长度允许空备注StatusIdchar2否出勤状态编号,主键StatusNamevarchar10否出勤状态名称9.学生出勤表StudentAttendances表StudentAttendances用来保存学生的出勤情况的信息。表4.9学生出勤表StudentAttendances列名数据类型长度允许空备注AttendanceIdint4否出勤编号,主键StuIdvarchar20否学号,外键CourseIdvarchar10否课程编号,外键SchoolYearvarchar10否学年Semestervarchar10否学期Weekvarchar20否周次 Weekdayvarchar10否星期SchoolTimevarchar20否上课时间StatusIdchar2否出勤状态编号,外键Memovarchar200是备注10.学生成绩表StudentScore表StudentScore用来存储学生平时成绩的信息。表4.10学生成绩表StudentScore列名数据类型长度允许空备注StuIdvarchar20否学号,外键StuNamevarchar10否学生Scoreint4否学生分数11.StudentsHoliday学生请假信息表表StudentsHoliday用来存储学生请假的信息。表4.11学生请假信息表StudentScore列名数据类型长度允许空备注StuIdvarchar20否学号,外键HolidayTimedatetime8否请假时间StartTimedatetime8否开始时间EndTimedatetime8否结束时间HolidayTypevarchar20否请假类型Reasonvarchar200否请假原因5详细设计5.1主要界面及代码实现5.1.1用户登陆界面用户登录界面,此界面主要用于用户进入主界面。此界面对用户设置了权限,当用户类型为学生,就进入学生主界面,当用户类型为教师,进入教师主界面,当用户类型为管理员,进入管理员主界面。其登录界面如图5.1所示。 图5.1用户登录界面根据用户类型,当用户输入登录帐号和登录密码,点击“登录“按钮,系统将进入不同用户的主界面,其功能实现主要代码如下:privatevoidbtnOK_Click(objectsender,EventArgse){intresult=-1;//查找结果if(ValidateInput())//调用自定义ValidateInput()方法,如果用户输入验证通过,则验证和密码是否正确{stringselectSql="";//根据选择的用户类型,分别设置查询用的sql语句if(cboUserType.Text.Trim()=="学生"){selectSql=string.Format("selectcount(*)fromStudentswhereStuId="{0}"andStuPwd="{1}"",txtLoginId.Text.Trim(),txtLoginPwd.Text.Trim());}elseif(cboUserType.Text.Trim()=="教师"){selectSql=string.Format("selectcount(*)fromTeacherswhereTeacherId="{0}"andTeacherPwd="{1}"",txtLoginId.Text.Trim(),txtLoginPwd.Text.Trim());}elseif(cboUserType.Text.Trim()=="系统管理员"){selectSql=string.Format("selectcount(*)fromUserswhereUserId="{0}"andUserPwd="{1}"",txtLoginId.Text.Trim(),txtLoginPwd.Text.Trim());}//调用了DBHelper类的executeScalar()方法result=Convert.ToInt32(DBHelper.executeScalar(selectSql));if(result==1)//和密码验证通过{//调用了类CommonInfo类的userId、userType对象CommonInfo.userId=txtLoginId.Text.Trim();//设置当前登录用户的CommonInfo.userType=cboUserType.Text.Trim();//设置当前登录用户的类型this.Hide(); frmMainmain=newfrmMain();main.Show();}else{MessageBox.Show("您输入的登录、登录密码或用户类型有误!","登录提示",MessageBoxButtons.OK,MessageBoxIcon.Error);}}}5.1.2系统主界面当用户登录成功之后则跳到该系统主界面,在本界面中将IsMdiContainern的属性设置为True,使它成为多文档父窗体,则其它子窗体禁止超出本窗体外围。主界面如图5.2所示。图5.2学生考勤管理系统主界面学生主界面的主要功能:1.点击菜单中“查看成绩”,打开本窗体,学生可查看所学课程对应的平时成绩。2.点击菜单中“学生服务”,展开面板,打开“查看个人出勤信息”窗体,学生可查看个人的出勤信息情况。3.修改密码:学生可修改自己的密码。4.退出系统:如果想终止该程序,点击该按钮即可。管理员界面的主要功能: 1.学生信息管理:学生的信息执行添加、修改和删除等基本操作。2.教师信息管理:教师的信息执行添加、修改和删除等基本操作。3.系统管理:增加、删除、修改用户、密码修改、退出系统等操作。教师界面的主要功能:1.教师服务:密码修改、退出系统。2.学生考勤管理:包括学生出勤信息录入,学生出勤管理,学生请假管理。实现对学生日常主要考勤情况的记录管理。3.学生查询:主要完成对学生的各种考勤资料的统计包括总请假次数,迟到次数等,在查询中可以按学号查询。5.1.3学生出勤信息管理界面当用户为教师进入教师界面,在界面中单击菜单“学生考勤管理—学生出勤信息管理”教师对学生的出勤进行考核后,将数据录入到学生出勤信息并写入到数据库。在“学生出勤信息管理”窗体中教师可以实现对学生日常主要考勤情况的记录管理。学生出勤信息录入如图5.3所示,学生出勤信息管理运行界面如图5.4所示。图5.3学生出勤信息录入界面 图5.4学生出勤信息管理界面学生出勤信息管理窗体主要功能:1.单击“学生出勤信息管理”窗体,可以显示全部学生考勤信息。2.教师可以对学生的考勤记录进行增加、删除、修改、查看以及查询等操作,5.1.4学生查询界面当用户为教师进入教师界面,在界面中单击窗体“学生查询”。其界面如图5.5所示。 图5.5学生查询界面学生查询主要功能:教师查看考勤的全部记录,也可按学号查询学生的出勤记录。其“查询按钮”关键代码为:privatevoidbtnQuery_Click(objectsender,EventArgse){if(this.cboCondition.Text==""){MessageBox.Show("请输入查询条件!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);this.cboCondition.Focus();return;}//设置过滤条件,也即指定DataView对象的RowFilter属性。try{//根据“查询条件组合框”中选择的项来决定按哪一列进行过滤switch(this.cboCondition.Text){case"学年":{//根据“查询值文本框”的值进行模糊查询dataView.RowFilter=String.Format("SchoolYearlike"%{0}%"",this.txtCondition.Text);break;}case"学期":{dataView.RowFilter=String.Format("Semesterlike"%{0}%"",this.txtCondition.Text);break;}case"课程名称":{dataView.RowFilter=String.Format("CourseNamelike"%{0}%"",this.txtCondition.Text);break;}case"学号":{dataView.RowFilter=String.Format("StuIdlike"%{0}%"",this.txtCondition.Text);break;}default:{//如果没有输入任何过滤条件,返回0条记录。dataView.RowFilter=String.Format("1=0");break;}}}catch(Exceptionex){MessageBox.Show(ex.Message,"提示",MessageBoxButtons.OK,MessageBoxIcon.Error);}}5.1.5学生基本资料管理界面当用户为管理员进入管理员界面,在界面中单击“学生基本资料管理”,管理员对学生的信息执行添加、修改和删除等基本操作。其界面如图5.6所示。 图5.6学生基本资料管理界面5.1.6修改密码界面当用户为管理员进入管理员界面,在界面中单击“密码修改”,管理员可以修改密码,当操作正确,系统将会提示密码修改成功,否则将重新输入。此界面与教师、学生的修改密码的实现方法相同。其界面如图5.7所示。图5.7修改密码界面5.1.7查看成绩界面 当用户为学生进入学生界面,在界面中单击“查看成绩”,学生可查看所学课程对应的平时成绩,并在数据视图中显示学生的学号、、成绩。其界面如图5.8所示。图5.8查看成绩界面5.1.8查看个人出勤信息当用户为学生进入学生界面,在界面中单击“查看个人出勤信息”,并在数据视图中显示该生对应的出勤信息(学年、学期、周次、星期、节次、课程名称、、出勤状态、备注(学生出勤情况的统计))。其界面如图5.9所示。图5.9查看个人出勤信息界面 6测试与维护6.1测试的目标1.测试的目的是为了发现程序中的错误而执行程序的过程。2.成功的测试是发现了到今为止尚未发现的错误的测试。6.2测试方案本系统开发过程进行的测试步骤如下:6.2.1模块测试也称单元测试,目的是保证每一个模块作为一个单元能正确运行,本测试所发现的往往是编码和详细设计的错误,主要评论模块的四个特点:1.模块接中。2.局部数据结构。3.重要的执行路径。4.出错处理通路。6.2.2集成测试对软件结构中较上层使用自顶而下的测试方法,而对软件结构中较下层,使用的是自底向上方法,两者结合,这是对模块较多时测试的一种折衷方法。6.2.3验收测试验收软件的有效性。目的是表明系统能够像预定的那样工作,验收测试一般使用黑盒测试法,验收测试有两种可能的结果。1.功能和特性与设计的要求有差距。2.功能和性能与设计要求一致,软件是可以接受的。6.3设计测试方案本系统中应用了如下测试方案:语句覆盖、判断覆盖;条件覆盖,逻辑覆盖等。用例名称:登录测试。 基本描述:用户通过登录拥有系统基本操作权限。测试方案:分别使用不同的登录方法时行登录,查看系统是否相应的错误和成功提示。1.用正确密码登录已存在帐号。2.用错误密码登录已存在帐号。3.用不存在帐号登录。4.帐号或密码为空。预期结果:1.每一组测试登录成功,进入主界面。2.每二组测试提示“您输入的登录、登录密码或用户类型有误,请重新输入”。3.每三组测试提示“帐号不存在!”。4.每四组测试提示“登录或登录密码不能为空!”。测试结果:和预期结果一样,通过测试状态,测试成功!6.4系统维护本系统为适应维护的需要,采用如下措施:1.软件配置程序源代码。2.开发过程文档齐全。3.源代码部的文档有详细说明、注释均可提高可维护性。4.尽量松散,高聚。结束语这是我借鉴开发的第一个系统,开发此系统也是对以前几年的学习进行一个全方面的检验。开发此系统的过程中,在同学及老师的大力支持与帮助下,发现自己还有诸多的不足之处。要编一个功能完善的系统,绝不是一件简单的事情,这需要长期的实践经验积累。因此,第一次开发这样的系统,千万不要把自己目标定的太高,根据自身的实力而定。 由于自身的知识肤浅,经验不足。因此,在该考勤管理系统的设计与功能实现方面还有诸多不足,比如实现的主要功能不多,模块过少,有些界面的代码过于繁杂,界面整体效果不够醒目等问题。但此次能认识到自己的不足,相信在今后的工作中,能根据工作的具体要求不断的修改、完善,争取使该系统慢慢趋向全面。致谢本次毕业设计是在舒兰英老师的悉心指导和热心帮助下完成的。她给我的设计和论文提出了很多宝贵的意见,并给我作了仔细的修改。在她的鼓励与耐心的指导下,我的设计和论文才能快速、保质量完成。在和舒老师的接触中,她给我以毫不保留的指导,促进了我对专业知识的巩固和提高,让我受益匪浅。然后还要感谢大学四年来所有的老师,为我打下博大精深的专业知识的基础,同时还要感谢所有的同学们,正是因为有了你们的支持和鼓励,此次毕业设计才会顺利完成。在此,衷心的谢谢您们!参考文献[1]晓非,冯冠.C#程序设计教程[M].北京:清华大学,2008.212-245.[2]王小科,吕双.C#程序设计标准教程[M].北京:人民邮电,2009.404-489.[3]周忠荣.数据库原理与应用[M].北京:清华大学,2003.342-450.[4]包锦阳.本科生毕业论文(设计)写作指导[Z].:大学,2004.12-59.[5]维杰,乾君.数据库原理与应用简明教程[M].北京:人民邮电,2007.23-110.[6]闫菲.软件工程[M].北京:清华大学,2003.90-160.袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈