课程计分系统的设计与实现课程计分模块(毕业设计)_第1页
课程计分系统的设计与实现课程计分模块(毕业设计)_第2页
课程计分系统的设计与实现课程计分模块(毕业设计)_第3页
课程计分系统的设计与实现课程计分模块(毕业设计)_第4页
课程计分系统的设计与实现课程计分模块(毕业设计)_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

1、本 科 毕 业 设 计题 目:课程计分系统的设计与实现课程计分 模块课程计分系统的设计与实现课程计分模块摘 要: 本论文主要是介绍关于课程计分系统的单个成绩汇总、成绩总的汇总、以及通知模块中的 短信通知和邮件通知模块的设计与实现。重点讨论使用Windows平台上的Microsoft Visual Studio 2021开发环境下的C#标准开发语言实现系统的方法,最后给出给出各模块的使用说明。关键词: 课程计分;通知模块;成绩汇总;C#Course scoring system design and implementation, curriculum module Abstract:Scori

2、ng system this paper mainly introduces about the course of a single results summary, a general summary of the achievement, and inform the SMS notification and email notification module module design and implementation. Focus on using Microsoft Visual Studio 2021 development environment on Windows pl

3、atform under the method of c # development language implementation system, finally gives instructions on the use of the module. Keywords: Course score; Notification module; Performance summary; C# 目 录一、可行性分析4一 背景分析4二 系统可行性分析4二、需求分析5一 功能模块需求5二系统运行环境规定6三 适用范围6三、概要设计8一模块接口函数介绍8二概要设计函数汇总10三数据库设计10四、详细设计

4、13一 程序系统的结构13二 程序模块设计说明21五、系统测试22一 测试方案22二 测试结果26六、操作使用说明29一软件特征描述29二安装与初始化29三运行说明29总结39参考文献40致 谢41一、可行性分析一 背景分析 现有的学校系统还只是简单的局限于学生选课,查成绩。老师上传成绩。而缺少对作业的整体管理,修改,上传,或者是在线完成作业。考勤的统计,实验的提交和当下比拟流行的对作业或者是实验,考试等的通知,开发扩展以及学生和老师的相互的在线交流等问题。在这个全民信息的网络时代,一个集体,或者单位的系统信息交流兴旺程度,网络教育的好与坏,往往直接影响着这个集体或者单位的办事效率,制约着其前

5、进的脚步。特别是对于学校,我们学习生活的各个角落,我们需要一套有效的网上学习管理系统为我们快节奏高效率的工作学习提供一种保障。二 系统可行性分析本系统所设计研究的CSS产品可以非常有效的协助教师对学生考勤、作业批改与计分、实验批改与计分、提交作业和实验报告提醒通知、考勤提醒通知;与此同时,还可以帮助学生在线提交作业、实验、查看信息,成绩。同时扩大系统使用的效率和应用范围,提供了非常高效率的 短信通知和邮件通知。让班长、学习委员不再为要经常通知学生作业,实验,考试而烦恼。让老师不再因为不能直接,有效的通知学生各种信息而烦恼,为更多的有这种需求的教师和广阔的学生提供必要和及时的效劳。因此,此课程计

6、分系统的实现开发出现了其必要性和可行性。相信随着契机的开展,高校网上作业提交系统会在未来的高校开展管理模式中占越来越重要的地位。这次的系统设计,不仅仅是对现行的校园网络系统功能的扩展,增加缺乏,补充更多的模块,完善不便之处。同时这也是一次知识稳固自己在所学大学知识的时机;是一次综合检验所学知识掌握情况的契机;是一次珍贵的实战经验。我的大学生活到底学到了什么,学得怎么样,这个毕业设计的系统设计就是检验的最好标准,毕其功于一役!二、需求分析 本计分系统系统用于协助教师对学生考勤、作业批改与计分、实验批改与计分、提交作业和实验报告提醒通知、考勤提醒通知;帮助学生在线提交作业、实验、查看信息。本人主要

7、负责的是作业,实验,考勤等的通知模块局部,以及相信的成绩的汇总,评分标准的设定和实现。模块/子系统分解图课程计分系统课程配置模块通知模块教师主操作模块学生主操作模块管理员主操作模块用户认证模块信息模块选课模块图3.1 模块分解图本人主要负责的是教师模块中的成绩汇总,单个成绩汇总,以及通知模块。一 功能模块需求 本人负责计分系统的两个功能模块主要是:成绩汇总成绩汇总单个成绩汇总工具发送Email发送 短信成绩汇总CSS产品将提供一种方法,产生考勤结果、实验结果和作业结果的汇总报告。邮件通知CSS产品将提供一种方法,用于邮件通知学生考勤、作业提交、实验提交情况。 短信通知CSS产品将提供一种方法,

8、用于 短信通知学生考勤、作业提交、实验提交情况。二系统运行环境规定本系统的设计是采用界面与功能别离的思想,开发是在微软平台上完成的。界面开发使用Microsoft Visual Studio 2021实现,而在功能实现局部全部采用标准C#语言实现。界面局部与功能局部的接口通过DLL实现。而计分系统的的运行那么不仅仅局限于windows平台,可以在多个平台上运行操作。1 硬件及其他设备个人通用计算机PC,无特殊要求。2 支持软件支持软件:WEB浏览器IE6.0或更高版本,Firefox 1.0或更高版本,360 4.0或更高版本。操作系统:Linux/UNIX。Windows系列Windows

9、2000或者更高版本。开发平台:Windows系列应用Windows 2000或者更高版本VS2021集成环境测试系统:WEB效劳器Apache或Micresoft Internet Information Server三 适用范围课程计分系统是一个WEB应用程序,适用的用户群体包括:老师,学生,教务管理人员等。范围包括学校,以及一些类似学校的管理模式的企事业单位,都可以很好的协助其管理各种事务与信息。计分系统是一个基于Web的应用,允许多个用户同时支持一个或多个课程工程,即使这些用户分处在不同的地点,同时还允许老师与学生的在线交流。此系统不单单是学生选课,查询自己的成绩,老师提交成绩这么一个

10、简单的模式。它可以让教师管理课程配置,包括增加课程,修改课程等、在线批改实验报告和作业、在线考勤和其他与课程计分有关的信息,直接发信息或者是邮件提醒学生;同时,课程计分系统可以实现学生管理选课、提交实验报告、提交作业和其他与课程计分有关的信息,可以及时的收到老师发的短信通知作业或者是实验的提交时间,而不必担忧错过时间。三、概要设计模块/子系统分解课程计分系统的模块/子系统分解参考图界面模块课程配置模块通知模块教师主操作模块学生主操作模块管理员主操作模块用户认证模块信息模块选课模块图:模块分解本人主要负责的是教师模块中的成绩汇总,单个成绩汇总,以及通知模块。一模块接口函数介绍CSS-009:通知

11、模块目的:提供通知用户操作函数接口功能:提供邮箱通知接口提供 通知接口接口标识:CSS-003-INT-006接口原型:Void MarkSummary ( void )功能简述:该接口用于汇总所选课程的学生的所有考核项的成绩输入参数:无输出参数:无返回值:无备注:课程号从Session“c_id中获取,输出汇总信息保存于一Excel中接口标识:CSS-003-INT-007接口原型:void SingleMarkSummary ( void)功能简述:该接口用于汇总所选课程的学生的单个考核项的成绩输入参数:无输出参数:无返回值:无备注:课程号从Session“c_id中获取,考核项号从Ses

12、sion“e_id中获取,输出汇总信息保存于一Excel中通知模块对外提供的接口:接口标识:CSS-009-INT-001接口原型:void EmailNotice ( void )功能简述:该接口用于发送邮件通知学生输入参数:无输出参数:无返回值:无备注:课程号从Session“c_id中获取,学号从Session“s_id中获取接口标识:CSS-009-INT-002接口原型:void PhoneNotice (void )功能简述:该接口用于发送 短信通知学生输入参数:无输出参数:无返回值:无备注:课程号从Session“c_id中获取,学号从Session“s_id中获取二概要设计函数

13、汇总标识符名称类型CSS-003-INT-006Void MarkSummary ( void )函数接口CSS-003-INT-007void SingleMarkSummary ( void)函数接口CSS-009-INT-001void EmailNotice ( void )函数接口CSS-009-INT-002void PhoneNotice (void )函数接口三数据库设计数据库就是存放在表中的永久数据的集合。1 引用自:本次设计主要设计到的数据表包含有成绩项,邮箱和 号码项。数据库的设计要求用户群里中的,学生,老师和管理员的信息中必须含有邮箱, 号码这两列且不能为空。课程以及考

14、核项中包含成绩列。因为邮件的通知,短信的提醒等都必须有对应的邮箱, ,才可以准确无误的到达对方的邮箱、 上。同时, 号码的位数必须限定在11位上,必须是数字,邮箱必须拥有以下格式* 其中*代表任意字符它们的ER图如下:四、详细设计软件开发第二个步骤是详细设计,考虑设计每个模块所需的过程进行描述。 萨默维尔. 软件工程. 北京;机械工业出版社,2003.1.一 程序系统的结构成绩汇总成绩汇总单个成绩汇总工具发送Email发送 短信具体的各个模块的详细设计,流程图,关键代码如下:成绩汇总模块:CSS_003_FUN_006:Void MarkSummary ( void )功能:该接口用于汇总所选

15、课程的学生的所有考核项的成绩关键函数和代码如下:if (Session"user" = null | Session"user".ToString() = "") Response.Write("<script>alert('请你先登陆!');window.location.href ='login.aspx'</script>"); /首先判断代码是否登录成功,如果没有,那么跳转到登录界面。Excel.Application excel = useoffic

16、ecom.getExcel(); string path = Server.MapPath("课程相关") + "" + Session"t_name".ToString() + "_" + this.Hidden2.Value.ToString() + ".xls"/创立需要汇总的课程的文件名,以便在磁盘上生成对应的文件名。String abc112 = "select uploadpercent from norm where id='" + re0 + &quo

17、t;'"SqlConnection myConnection6 = DB.getConn();Double uploadpercent = DB.DodoExecuteScalar(myConnection6, abc112);uploadpercent = uploadpercent / 100; String abc113 = "select correctpercent from norm where id='" + re0 + "'"SqlConnection myConnection7 = DB.getConn

18、();Double correctpercent = DB.DodoExecuteScalar(myConnection7, abc113);correctpercent = correctpercent / 100;tring abc114 = "select type from norm where id='" + re0 + "'"SqlConnection myConnection8 = DB.getConn();ExecuteScalar(myConnection8, abc114);DataSet ds = new DataS

19、et();/得到汇总课程的每个考核项的所对应的比重,并根据想对应的额比重,计算每个考核项的分数 foreach (DataColumn col in table2.Columns) if (row"state".ToString() = "未交")excel.CellsrowIndex, colIndex = 0; elseexcel.CellsrowIndex, colIndex = rowcol.ColumnName.ToString(); break;/检查要汇总的考核项的提交情况excel.CellsrowIndex + 2, 1 = "

20、;平均分" excel.CellsrowIndex + 3, 1 = "=average(" + ccc2 + "3:" + ccc2 + rowIndex + ")"excel.CellsrowIndex + 2, 2 = "最高分"excel.CellsrowIndex + 3, 2 = "=max(" + ccc2 + "3:" + ccc2 + rowIndex + ")"excel.CellsrowIndex + 2, 3 = &quo

21、t;最低分"excel.CellsrowIndex + 3, 3 = "=min(" + ccc2 + "3:" + ccc2 + rowIndex + ")"excel.CellsrowIndex + 2, 4 = "及格人数"·····/根据汇总课程的考核项的分数,输出其他需要的信息,包括平均分,最高分等。具体流程图如下:图4.16 CSS_003_FUN_006流程图单个成绩汇总模块:CSS_003_FUN_007:void SingleMarkSu

22、mmary ( void)功能:该接口用于汇总所选课程的学生的单个考核项的成绩关键函数代码如下:代码的设计过程主要是创立要汇总的的文件名,然后创立需要汇总输出的信息的列,最后得到对应的列的读取相应的信息,输出到对应的列。包括学生的学号,课程的考核项的情况等。前几个月我在徽|亻言msdf003上也加了一个老中医来调理,请他配了1个月用量的方子,效過还真的很不错。以前我一次作2-3分钟,现在能到达20-25分钟了。 Excel.Application excel = useofficecom.getExcel();string path = Server.MapPath("课程相关&qu

23、ot;) + "" + Session"t_name".ToString() + "_" + this.Hidden4.Value.ToString() + "_" + this.Hidden2.Value.ToString() + ".xls"/得到所需要输入的课程信息,用来确定需要汇总后的文件的名字。String ccd2 = "select s_id as '学号', as '姓名', as '班

24、级' from selectcourse,class,student where c_id='" + Session"c_id" + "'and class.id=student.class and s_id=student.id"/得到需要输出的信息列,包括课程相关的的课程名,课程的考核项和学生的信息,包括学号,信命,班级等。SqlDataAdapter adapter2 = DB.DoDataAdapter(myConnection2, ccd2);DataSet ds2 = new DataSet();Excel.

25、Workbook xBook = useofficecom.getXBook(excel, path);excel.Cells1, 1 = "课程名称:"xcel.Cells1, 2 = this.Hidden4.Value.ToString();excel.Cells1, 3 = "考核项名:"excel.Cells1, 4 = this.Hidden2.Value.ToString();excel.Cells1, 5 = "教师姓名:"excel.Cells1, 6 = Session"t_name".ToSt

26、ring();excel.Cells1, 7 = "打印日期:"excel.Cells1, 8 = DateTime.Now.ToString("yyyy-MM-dd");/根据得到的信息,创立需要输出的列,包括课程名称,考核项名等并输出。String abc112 = "select uploadpercent from norm where id='" + re0 + "'"SqlConnection myConnection6 = DB.getConn();Double uploadperce

27、nt = DB.DodoExecuteScalar(myConnection6, abc112);uploadpercent = uploadpercent / 100;String abc113 = "select correctpercent from norm where id='" + re0 + "'"SqlConnection myConnection7 = DB.getConn();Double correctpercent = DB.DodoExecuteScalar(myConnection7, abc113);corr

28、ectpercent = correctpercent / 100;String abc114 = "select type from norm where id='" + re0 + "'"SqlConnection myConnection8 = DB.getConn();String type = DB.doExecuteScalar(myConnection8, abc114);DataSet ds = new DataSet();/根据上面输出的各个列,读取相应列所需要的数据,最后输出具体流程图如下: 图4.17 CSS_003

29、_FUN_007流程图邮件提醒模块详细设计:CSS_009_FUN_001:void EmailNotice ( void )功能:该接口用于发送邮件通知学生关键函数和代码如下:首先设置好要发件人和收件人的信息,然后设置邮件的内容,最后设置所使用的STMP主机,再发送。mm.From = new MailAddress("XXXXXqq ", "课程计分系统");/发件人包括发件人的邮箱和发件人的名字mm.To.Add(new MailAddress(type);/收件人(可以发送给多个用户)mm.Subject = "系统通知"/邮

30、件的主题mm.Body = "您好!您的" + type3 + "课程" + "中的" + type2 + "指标尚未提交,请及时提交"/邮件的正文 SmtpClient sc = new SmtpClient();sc.Host = "smtp.qq "/设置SMTP主机的名称或IP地址string User = "1103721897qq "/string PassWord = "kiralacus" /设置用于验证发件人身份的凭据sc.Credent

31、ials = new System.Net.NetworkCredential(User, PassWord);/sc.Send(mm); /发送具体的流程图如下:图4.33 CSS_009_FUN_001流程图 短信提醒模块:CSS_009_FUN_002:void PhoneNotice (void )功能:该接口用于发送 短信通知学生关键函数和代码如下: 短息提醒功能的一开始设计时利用飞信的接口来到达短息发送提醒的效果。但是由于要和运营商的接口相匹配,而且无论是收件人还是发件人都必须是开通飞信,互相为好友才可以发送。研究发现,使用移动的139邮箱,每次邮件到达的时候都会有短信提醒,而且效

32、率极高。利用这个特点可以把复杂的问题简单化为使用邮件发送,也就是本质上和邮箱发送的代码是相同的,却可以到达短信提醒的目的。mm.From = new MailAddress("XXXXXXXqq ", "课程计分系统");/发件人包括发件人的邮箱和发件人的名字type += "139 "/把发送的目标主机改为139主机mm.To.Add(new MailAddress(type);/收件人(可以发送给多个用户)mm.Subject = "系统通知"/邮件的主题mm.Body = "您好!您的"

33、+ type3 + "课程" + "中的" + type2 + "指标尚未提交,请及时提交"/邮件的正文 SmtpClient sc = new SmtpClient();sc.Host = "smtp.qq "/设置SMTP主机的名称或IP地址string User = "1103721897qq "/string PassWord = "kiralacus" /设置用于验证发件人身份的凭据sc.Credentials = new System.Net.NetworkCre

34、dential(User, PassWord);/sc.Send(mm); /发送具体的流程图如下:图4.34 CSS_009_FUN_002流程图详细设计汇总表4.1 详细设计列表标识符名称类型CSS-003-FUN-006Void MarkSummary ( void )函数接口CSS-003-FUN-007void SingleMarkSummary ( void)函数接口CSS-009-FUN-001void EmailNotice ( void )函数接口CSS-009-FUN-002void PhoneNotice (void )函数接口所有的XML代码都由工具自动生成。XML的一

35、个特性是:永久保存组件。这个特性很重要,因为只有在窗体设计器能够存储以及获取文件时,它才有用。 引用自:Christian Ho1m. C#软件工程开发全程剖析. 北京;清华大学出版社,2003.8 第434页二 程序模块设计说明Email邮件通知教师用户登录系统,进入到主操作界面后,选择了“工具菜单中的“Email邮件通知菜单项之后,系统显示界面。界面应提示用户是否确定发邮件通知未完成课程考核项的用户;教师用户可以选择确定或取消;Email邮件通知的首要条件是学生用户根本信息里有登记用户的Email地址,如果未登记,那么不能到达该功能。 短信通知教师用户登录系统,进入到主操作界面后,选择了“

36、工具菜单中的“ 短信通知菜单项之后,系统显示界面。界面应提示用户是否确定发 短信通知未完成课程考核项的用户;教师用户可以选择确定或取消; 短信的首要条件是学生用户根本信息里有登记用户的 号码,如果未登记,那么不能到达该功能。成绩汇总 教师用户登录系统,选择了“成绩汇总菜单中的“成绩汇总菜单项之后,系统将显示一个列表,供用户选择所要汇总的课程,用户选择后,系统将提示用户是否确定进行该操作;用户可以选择确定或取消;当用户选择确定后,系统将计算所选课程的所有考核项的比重之和,假设不等于100%,那么弹出一表格供用户修改;汇总项将把对应课程的所有课程考核指标成绩记录汇总与一个excel文件中输出到操作

37、系统,应产生界面供用户选择保存的位置;用户可以选择保存位置或取消保存;对应的excel文件名将以课程名自动生成。单个成绩汇总 教师用户登录系统,选择了“成绩汇总菜单中的“单个成绩汇总菜单项之后,系统将显示一个列表,供用户选择所要汇总的课程,用户选择后,系统将显示一个列表,用于显示所选择课程的所有考核项,当用户选择一个考核项后,系统将提示用户是否确定进行该操作;用户可以选择确定或取消;汇总项将把对应课程的单个课程考核指标成绩记录汇总与一个excel文件中输出到操作系统,应产生界面供用户选择保存的位置;用户可以选择保存位置或取消保存;对应的excel文件名将以课程名+课程考核项自动生成。五、系统测

38、试一 测试方案我们为什么要测试?因为我们要对质量或可接受性进行判断,以及发现问题。 短信提醒:预期效果:短信能成功到达 邮箱通知:预期效果:邮箱能收到邮件提醒单个成绩汇总:预期效果:成功生成单个成绩总成绩汇总:预期效果:成功生成汇总成绩二 测试结果单个成绩汇总:成功在对应的文件夹下面生成相应的文件成绩汇总:成功在对应的文件夹下面生成相应的文件里面内容:邮件提醒:成功接收邮件短信提醒:成功接收信息六、操作使用说明一软件特征描述 软件的特点:软件是一种实体逻辑,而不是具体的。因此,它具有抽象性。 引用自: 本系统支持多个运行平台,包括Windows系列,Linux/UNIX等。主导的平台微软的Windows平台为主。选择以Windows平台作为主导,主要是考虑到了Windows平台上的应用,无论是在开发上,还是在技术成熟度方面,都一直保持者领先的地位。在现今,甚至将来很长的一段时间都会长期占领者中国的市场。现在许许多多的学校,企业和单位都是以微软平台作为首选方案。在用户允许的条件下,在客户端计算机上推荐使用以下浏览器:IE6.0或更高版本,Firefox 1.0或更高版本,谷歌4.0或者更高版本,360 4.0或更高版本等,用户

温馨提示

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

评论

0/150

提交评论