公共课成绩管理子系统

 

摘要…………………………………………………………………………… 2

引言…………………………………………………………………………… 2

一、问题提出………………………………………………………………… 2

二、可行性析……………………………………………………………… 3

三、需求分析………………………………………………………………… 3

四、总设计………………………………………………………………… 5

五、详细设计………………………………………………………………… 7

六、结论………………………………………………………………………17

七、致谢………………………………………………………………………17

参考文献………………………………………………………………………17

 

 

 

 

 

 

 

 

 

 

公共课成绩管理子系统

 

李璐

西南师范大学计算机与信息科学学院  重庆 400715

 

摘要:计算机公共课管理系统以网络为基础,利用.Net平台、SQL Server 2000数据库、支持ASP.net IIS服务器建构一个供多种用户使用的管理系统,与MyCollege.Net中的其它子系统结合,从这些子系统中获取系科、学生的基本信息,与本地数据库结合,在传统校园教学计划管理及学生成绩管理的基础上构建一个数字空间,实现教学计划、课程、教师信息、学生成绩的方便查询和管理,达到提高教育管理水平和效率的目的。

关键词:计算机公共课管理系统  ASP.net   SQL Server 2000

 

AbstractOn the basis of network, Computer Public Course Management System (CPCMS) combines with the other child systems of MyCollege.Net using the .net platformSQL Server 2000 data base and IIS server which surppot ASPsp.net ,.CPCMS gets departments information and basic students information from these child systems to connect with local data base . Foundation as traditional teaching plan management and score management ,CPCMS build a digital space to achieve convenient search and manage for the teaching planscoursesteachersscores .Having it , we can improve management efficiency.

 

引言

    MyCollege.Net系统的开发中,我主要参与应用子系统——计算机公共课成绩管理子系统的设计与实现。我在本子系统的开发中负责系统的总体设计和逻辑层的设计及实现。运用了.NET工具和B-S 结构,对这两种重要技术有了更深刻的理解和体会。运用了N层结构的数据访问层(DataAccess)和商务外观层(BusinessFacade)。对于.NETDAB技术有一部分的学习和运用。

一﹑问题提出  

一直以来,我校公共计算机部对计算机课程以及课程成绩的管理都是手工操作,由教师登记好学生的成绩,上交给教学秘书,再由教学秘书对这些成绩做整合调整,最后再发送给各班。这样既浪费人力,物力,又容易出错和不易保存,与当今高度发达的自动化严重脱节。由此,我们考虑编写一个公共课成绩管理系统来对此进行管理。

可行性分析

(一)技术可行性

公共课成绩管理系统主要是用于高校公共计算机教育部关于教学计划﹑课程﹑教师信息﹑成绩的查询和管理。通过使用Microsoft公司提供的VisualStudio.net工具以及SQL Server数据库可以实现对有关公共课的教学计划﹑课程等的网上查询和管理。

(二)经济可行性

     由于本系统只是作为我们的毕业设计,所以对它的经济可行性不做过多的

考虑。但它非常适合于高校的公共课管理,因为该系统实现了将管理和查询网络

化,极大地方便了管理员﹑教师﹑学生。

(三)操作可行性

     本系统的界面设计简单直观,易于理解。它使用的控件都是用户常用的或常见的,操作起来很容易上手。除此之外,该系统是在网络上发布,用户可以随时随地地对此进行访问。不需要特别的培训和讲解,用户便能使用该系统。

﹑需求分析

(一)功能描述

1.教学管理功能(公共计算机教育部使用)包括:

    新本学期所开设课程的录入与查询:例如在2004年上学期开设课程:C语言与Vfor

说明:所有的课程成绩均由三部分组成:平时成绩,上机成绩, 笔试成绩。所占的比重分别为:10%,10%,80%,在该系统中这三部分及其比重是固定不变的。

   对各系科的课程安排的录入与查询,课程安排即是该学期每个系科        

的选课课程、任课教师以及上课时间和上课地点。

说明:每一个院系中所有的不同专业所选的课程都是一样的。但是同一院系的学生不一定有同一个教师授课。

2.成绩管理的功能(教师使用)如下:

  录入成绩:既可以单个录入也可以批量录入,其中批量录入以成绩单为单位,每次从系统中调出一张成绩单,编辑完成后一次性提交。

成绩单:成绩单包括学期、院系、专业、课程、任课教师、学生成绩。

  查询成绩:单个查询(学生可使用),根据学生的学号或姓名查询出该学生的所有课程的成绩信息。

批量查询以成绩单为单位,每次查询出一张成绩单。         

  打印成绩:可以一次打印一张成绩单,也可以按要求批量打印。

  统计调整:对成绩单中的成绩进行统计,指出各个分数段的人数分布情况。因为有时学生的成绩整体上偏低,需要进行调整,一次系统可以按照用户设置的规则对成绩单中的成绩进行调整。

成绩调整规则:将成绩单中总分在某一分数段的学生成绩调整到另外一个分数段。例如将5060分的学生成绩全部调整到6065分之间。为了使调整过程尽可能合理,还可以对待调整分数段的学生成绩进行限制,例如设置其笔试成绩必须在50分以上,而平时成绩则可以适当放宽。

⑤ 每学期考试不及各的学生自动纳入新学期的教学计划中。

3.权限说明:

  管理员可使用功能:教师信息管理、系科显示、课程管理、教学计划管理、学生成绩查询;

  教师可使用成绩管理各项功能:对学生成绩的添、删除、修改、查询、分析、调整;

  学生可使用的功能:查询单个学生所有成绩。

4.系统数据更新功能:

        从MyCollege.Net下公共资源管理与共享子系统CResource中获取有关学生、系科、专业的基本信息,更新本地数据库,使本地数据库保存的数据与主系统基本数据保持同步。

(二)顶层数据流图

1.管理员可操作管理顶层数据流图:          

2.成绩管理顶层数据流图:

四、总体设计

系统整体功能模块如下:

1、统按功能划分模块,使用B-S结构,采用.Net平台,SQLSERVER数据库,IIS服务器(支持asp.net)作为开发工具。

2、用三层体系结构:数据访问层(DataAccess)、商务外观层(BusinessFacade)、表示层

3、数据访问层(DataAccess)负责数据库的处理,它仅仅对数据库中的数据进行添加删除修改,一般是直接建立在.NET平台上的ADO.NET层之上,可以对数据库进行灵活的操作,但是为了简化系统的开发,本系统中采用微软提供的一套工具Microsoft Data Application Block(简称DAB)

4、按对象划分模块,系统包含:针对教师信息的教师信息管理模块、针对教学计划的教学计划管理模块、针对课程的课程管理模块、针对院系的院系信息查询模块、针对成绩的成绩管理模块。其下各功能作为模块中一个功能函数。其中成绩管理将基本信息管理和成绩分析调整放置在一起,同时将单个学生成绩查询归于其中,由此可见按对象划分模块与按功能划分模块的差异之处。

5、按对象划分模块较之按功能划分模块优势在于:思路更清晰,与用户界面设计思想一致,便于思考和以后功能扩充,更好地实现低耦合和高内聚,便于维护和修改。

6、各功能函数之间没有控制耦合,独立性较好。存在公共环境耦合。着重在于数据库的处理上,对数据库处理技术要求较高。

7、借助Mycollege.NetUIA(统一身份认证子系统)完成对用户的身份验证和权限分配。

8、功能描述中的系统数据更新功能可有三种方案实现(可参考MyCollege.Net中公共数据资源的访问策略):

同步访问策略:本系统不设立专门的数据库来保存所需的公共数据资源。每当本系统需要使用公共数据资源(学生,院系信息)时,就通过网络调用中的WebService获取数据。(CResource子系统保存的是MyCllege.Net体系下的最新数据)。优点是本系统能获取到最新的数据,缺点是对网络的性能和可靠性要求比较高。

异步访问策略本地设置学生、院系基本信息存储,当需要使用的时候直接从本地数据库中访问。优点是实现简单,响应时间较短;缺点是管理员只能定期以主系统的基础信息来更新本地数据库,故本地数据库中保存的信息可能不是即时的信息。

缓存策略:本地也设置学生、院系基本信息存储,当需要信息的时候系统先视图从本地数据库中检索数据,如果命中就直接调用,如未命中,通过WebService获取最新的数据,同时采取一定的缓存策略将获取到的数据缓存到本地数据库中,以支持后面对于该数据的高速访问。优点是响应时间和数据即时度较为折中,缺点是实现较复杂。

在该系统中,将采用第二种方案,因为从CResource中只进行读操作,并不会修改公共数据资源,数据的同步性很容易维护。同时又可以降低对网络可靠性和速度的要求。

五、详细设计

(一) 权限认证

当用户进入系统时要登录,系统作出权限检测,对于不同的角色开放不同的功能。

1.   学生只能查询个人成绩,无需在本系统登录。

2.   教师登录后可获得成绩处理的各项功能操作权。

3.     管理员登录之后可获得除成绩调整之外的所有操作权。

(二)管理员使用的各项功能汇总

1.教师信息处理

2.系处理

3.课程处理

4.教学计划处理

5.成绩处理

 各个处理细化如下:

1、教师信息处理

功能描述: 供管理员对于教师信息的添加、删除、显示,因为系统只使用了教师的名字并没有保存教师的电话等其它信息所以在该模块中并没有对教师提供修改的功能。

数据流图:

   

      

数据字典:

存储    名字:教师信息存储

属性:数据库中表

描述:存储教师基本信息,供教师信息的添加、删除、显示处理访问

内容(定义见数据库设计):教师姓名、教师ID

        位置:数据库

处理

1    名字:教师信息添加

功能描述:接收教师添加信息,访问修改数据库中“教师信息存储”表,添加入教师信息

输入数据流:教师添加信息(教师姓名)

输出数据流:添加信息(教师姓名、教师ID(自动生成ID号))

2    名字:教师信息删除

功能描述:接受删除命令信息,访问修改数据库中“教师信息存储”表,删除相应教师信息

输入数据流:删除选择

输出数据流:教师ID

3           名字:显示教师信息

功能描述:接受显示命令,访问数据库中“教师信息存储”表,返回教师信息

输入数据流:显示命令

输出数据流:教师信息(所有教师信息:教师编号,教师姓名)

2、院系处理

   功能描述: 供管理员查询全校院信息,查询院中个系

   数据流图:

                

数据字典:

      存储1  名字:院(Department)存储

              属性:数据库中表

              描述:存储全校所有院信息,为处理“2.1显示所有院”提供数据源

              内容(详见数据库设计):院ID,院名

              位置:数据库

      存储2   名字:系(Major)存储

              属性:数据库中表

              描述:存储全校个院中系信息,为处理“2.2显示院中所有系”提供数据源

              内容:(详见数据库设计):系ID,系名,院ID

              位置:数据库

   处理1   名字:2.1显示所有院

             功能描述:接受显示院命令,访问存储“院(Department)存储”,显示所有院名

             输入数据流:院查询命令、院信息数据流(院名)

             输出数据流:院查询命令信息

处理2   名字:2.2显示院中所有系

功能描述:接受显示系命令信息,访问存储“系(Major)存储”,显示所选院中所有系名

输入数据流:系查询信息(院选择)、系信息数据流(本院中所有系名)

输出数据流:院ID

 3、课程处理

功能描述: 供管理员对全校所有课程的增加、删除、显示。

数据流图:

                   

 

   数据字典:(与教师信息处理相似,略)

 4、教学计划处理:

   功能描述:供管理员配置各院系课程安排,实现教学计划的添加、删除、显示。

   数据流图:

              

   数据字典:(与教师信息处理相似,略)

5、成绩处理

   见成绩处理模块

(三)教师使用功能(主要针对成绩管理)

1.    学生成绩基本处理

2.    学生成绩调整处理

功能细化如下:

1、成绩基本处理

功能描述:单个学生单门成绩(平时成绩、上机成绩、笔试成绩)的添加、删除、编辑更新;(可供教师、管理员使用)

一门课所有学生的成绩(平时成绩、上机成绩、笔试成绩、总成绩)查询显示;(可供教师、管理员使用)

单个学生所有成绩的查询显示(可供学生、教师、管理员使用)。

数据流图:

                  

简要数据字典:

存储

名字:成绩存储

        内容:学生ID、教学计划ID、平时成绩、上机成绩、笔试成绩、总成绩、调整标识

        描述:存储学生成绩信息,由学生ID和教学计划ID可确定一个学生单门成绩,

              是所有有关成绩处理的数据源。有调整标识,方便成绩恢复操作的可行检查。(详见数据库设计)

数据流

    添加信息:学号、所属教学计划ID、平时成绩、上机成绩、笔试成绩

    删除信息:学号、所属教学计划ID

更新信息:学号、所属教学计划ID、平时成绩、上机成绩、笔试成绩

2、成绩调整处理

功能描述:分析:返回各个分数段人数;

              调整:定义分数(平时成绩、上机成绩、笔试成绩、总成绩)范围,对此分数范围内学生成绩按要求调整

              恢复:对某老师任的某门课所有学生成绩检测是否进行过调整,调整过的成绩恢复到原始成绩。(根据数据库中的平时成绩、上机成绩、笔试成绩,将总成绩恢复到原始成绩)

    数据流图:

  

数据字典:

数据流

调整信息:各项成绩(平时成绩、上机成绩、笔试成绩、总成绩)的分数上、下限和调整幅度

恢复计算:根据平时成绩、上机成绩、笔试成绩各个部分的比重重新计算数据库中每一项的总成绩。计算公式为:总分=平时成绩×0.1+上机成绩×0.1+笔试成绩×0.8

根据功能,设计各类及函数如下:

(一)教师信息管理类public class Teachers

1、教师信息添加函数public int AddTeacher(string teacherName)

功能:添加教师信息(教师名)到数据表TTeachers

2、教师信息删除函数public int RemoveTeacher(int teacherID)

     功能:根据参数teacherID删除相应的教师信息行

3、教师信息显示函数public DataSet ListAllTeachers()

     功能:显示数据表TTeachers中所有教师信息

(二)院系处理类public class DeptMajors

1、院信息查询函数public DataSet ListAllDepts()

     功能:显示数据表TDepts中所有院信息

2、系信息查询public DataSet ListAllMajorsInDept(int deptID)

功能:根据deptID查询显示TMajors表中所有DeptID=@DeptID的系信息

(三)课程管理类public class Courses

  1、课程添加函数public int AddCourse(string courseName)

     功能:添加课程信息(课程名)到数据表TCourses

  2、课程删除函数public int RemoveCourse(int courseID)

     功能:根据courseID从数据表TCourses中删除相应的课程项

3、课程显示函数public DataSet ListAllCourses()

      功能:显示数据表TCourses中所有课程信息

(四)教学计划管理类public class TeachingPlanSystem

1、教学计划添加函数public bool AddTeachingPlan(int deptID,string term,int grade,int courseID,int teacherID)

     功能:添加教学计划到数据表TTeachingPlans

2、教学计划删除函数public bool RemoveTeachingPlan(int teachingPlanID)

     功能:根据teachingPlanID从数据表TTeachingPlans中删除相应的的数据行

3、教学计划显示函数public DataSet ListTeachingPlans()

     功能:从视图VTeachingPlans中显示教学计划信息

(五)成绩管理类

1、单科所有学生成绩显示函数public DataSet ListScores(int teachingPlanID)

     功能:根据teachingPlanID从视图VScores中查询,列出其所有学生成绩

2、单科单个学生成绩添加函数public bool AddScore(string sNumber,int teachingPlanID,float daily,float practise,float written)

功能:添加学生成绩行到数据表TScores中,各数据项值如参数所示

3、单科单个学生成绩删除函数public bool RemoveScore(string sNumber,int teachingPlanID)

     功能:根据sNumbe teachingPlanID从数据表TScores中删除相应数据行

4、单科单个学生成绩更新函数public bool UpdateScore(string sNumber,int teachingPlanID,float daily,float practise,float written)

      功能:根据sNumbe teachingPlanID修改相应数据行中的daily, practise written

5、单个学生所有成绩查询函数public DataSet GetScores(string sNumber)

     功能:根据学号sNumber从视图VScores查询相应数据行,返回其所有课程成绩

6、成绩分析函数public int AnalyzeScores(int teachingPlanID,float low,float high)

      功能:从TScore表中查询返回所有此teachingPlanID中总成绩在lowhigh之间的学生人数

7、成绩调整函数public int AdjustScores(int teachingPlanID,float d1,float d2,float p1,float p2,float w1,float w2,float t1,float t2,float t1new,float t2new)

     各个参数代表:float d1平时成绩下限,float d2平时成绩上限,float p1上机成绩下限,float p2上机成绩上限,float w1笔试成绩下限,float w2笔试成绩上限,float t1总成绩下限,float t2总成绩上限,float t1new修改后总分区间的下限,float t2new修改后总分区间的上限

功能:根据各参数限定的范围和调整要求修改成绩,同时被修改的置修改标识项Adjusted

8、成绩恢复函数public void RecoverScores(int teachingPlanID)

    功能:检查各行修改标识项Adjusted,如经修改,将其恢复到原始数据

(详见系统编码)

数据访问层(DataAccess)负责数据库的处理,建立在DABMicrosoft Data Application Block)层上,直接调用DAB提供的函数,由DAB函数完成对ADO.NET的调用。

六、结论

通过设计和实现本系统,我对.NET有了一定认识,对于面向对象和N层结构有了一次运用实践经验,锻炼了小组开发的相互协调能力,感受到小组成员之间的开发中的相互切磋和帮助的重要性,从组长身上学到了很多实际开发经验,对于软件工程的技术有了一次较之前更为具体深入的运用。

七、致谢

本次毕业设计能够顺利完成离不开我们指导老 师邹显春 老师的指导和帮助, 卢心红 老师、 陈武 老师、 闻晓 老师、 李运刚 老师在此过程中也给予了极大的帮助,对他们的帮助表示衷心的感谢。还有小组所有成员对我的大力支持,在此对他们表示衷心的感谢!

参考文献:

[1] 邵维忠,杨芙清.面向对象的系统设计.清华大学出版社

[2] 吴炜煜.面向对象分析设计与编程.清华大学出版社.

[3] 郭胜.C#.NET程序设计.清华大学出版社.

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值