您好, 访客   登录/注册

教研室管理系统的分析、设计与实现

来源:用户上传      作者: 蒋 毅

  摘要: 教师工作量的统计一直是各级各类学校复杂而烦琐的具体工作,如使用传统的统计方法结果与实际值难免有所差别。文章对一具体的教研室管理系统进行了较为全面的分析和设计。
  关键词: 教研室 管理系统 分析 设计
  
  1.系统分析
  1.1现状及存在的问题
  在调研的过程中,发现一直以来教师的工作量都是通过记录在本子上的记录来计算的,记录之繁多,令统计工作变得复杂而繁琐,且统计结果也难免与实际值有所差别,为了克服这个困难,我们设计了“教师工作量统计系统”,该系统只要一一记录计算工作量的记录,系统会自动计算教师的工作量,而且该系统还具有查询功能,对教师和学生的一些情况进行方便的查询。
  1.2系统要求
  系统要求在进行详细的系统调研之后,我们把该系统的主要职能定位在可以对基本信息进行录入、删除和修改,对一些基本的和重要的信息进行查询,以及对一些重要的数据可以通过报表的形式打印出来,最重要的是该系统能自动并且精确地计算教师各部分的工作量,从根本上解决以前统计工作量遇到的种种问题。
  1.3系统设计目标
  教研室管理系统的设计目标为:
  (1)管理自动化,明显提高工作效率;
  (2)处理实时化,及时掌握第一手资料数据,并能快速、准确自动地生成所需的报表;
  (3)提供强大的数据智能查询功能,以提高工作的透明度;
  (4)系统模块化,为日后系统更新、扩展铺垫,具有良好的可扩展性;
  (5)系统使用安全、稳定、可靠,数据保密性高;
  (6)该系统有较强的统计功能,能对教师的工作量进行及时的统计。
  1.4系统功能
  我们设计的这个教研室管理系统主要的目标是使得对教师的一些基本情况,最主要的是对教师授课情况进行更好的管理和操作,能方便简单地计算教师的工作量,解决以往由手工操作带来的不方便和不精确导致的后果,而且利用计算机来管理数据,既方便又安全,查起来也很方便。具体的功能模块设计如下:
  (1)信息录入功能;
  (2)信息查询功能;
  (3)统计工作量报表的生成;
  (4)密码修改功能;
  (5)授课计划书的生成;
  (6)作员日志管理。
  1.5系统安全性
  为了增强数据安全性,系统要求采用大型数据库,以便保证系统启用以后不会出现数据丢失、死机等现象,并保证数据库的一致性、并发性和可移植性,而且要具有定期备份、数据恢复的功能。具体说明如下:
  (1)大型关系数据库本身都具有事务回滚、定期备份等功能,在开发后台选用大型关系数据库能够保证系统数据安全。
  (2)一个操作员只能对其本身进行密码修改。
  2.系统设计
  2.1系统总体设计
  
  (1)基本信息录入功能
  我们可以对教师的一些基本情况进行录入、删除、修改操作。在前台实现对数据库的管理,增强了数据的安全性,以及可读性,在友好的界面下对数据库进行管理。
  (2)基本信息的查询功能
  我们可以对一些基本以及较常用的信息进行操作,该系统提供了两种查询条件,一种是按教师的编号查询,因为一个教师对应一个编号,所以我采用了按编号查询,另一种查询条件是按日期查询,因为我们往往需要知道在哪一天知道自己做了些什么事情,所以按日期查询比较合理。
  (3)工作量统计
  这部分是继教师受课计划表之后的一个重要部分,该模块可以对教师的某一部分的工作量进行统计,且这个进行统计的过程是自动的,我们只需录入计算工作量的必要条件的值,系统就会自动计算该部分工作量的值。同时系统又可以及时地生成总的工作量,以便对教师的工作量有一个总的统计数据。而且该部分是以报表的形式生成,打印出来非常方便,而且这种报表也是期末对教师工作量总结时必备的资料。
  (4)教师授课计划表
  教师授课计划表是该系统的一个比较主要的一部分,它主要显示某位教师的上课计划以及具体的实施计划。里面含的信息量较多。
  (5)操作员日志管理
  这部分记录了操作员每次登入的时间、姓名、编号等一些基本信息,本模块还提供了按时间查询操作员登陆情况的功能。
  (6)密码修改
  您可以轻松修改你的密码,修改的密码在你下次登陆时自动生效,既安全又方便。
  2.2代码设计
  通过对数据库及彼此之间的联系进行分析,我们给每位老师安排了一个教师编号,每张表都是通过教师编号来联系,教师编号唯一代表一位教师,基于教师的数量,我们把教师编号设为四位数,从1000开始。往后依次加一。
  2.3界面设计
  由于以往对系统的设计一般都不注重界面的设计,所以显得不是很友好,我想友好漂亮的界面可以给人一种愉悦的感觉,操作起来也更易上手,所以对该系统的界面设计我没有一丝马虎,力求做到漂亮但不花哨,友好更易操作。
  2.4信息录入的实现
  (1)增加记录的源代码
  qryInfo->Active=false;
  qryInfo->Active=true; //打开Query控件
  qryInfo->Append;//设置为可增加
  qryInfo->FieldByName(教师编号)->AsString=Editl->Text;//把记录写入数据库
  qryInfo->FieldByName(教师姓名)->AsString=Edit2->Text;
  qryInfo->FieldByName(性别)->AsString=ComboBox1->Text;
  qryInfo->FieldByName(教师职称)->AsString=ComboBox2->Text;
  qryInfo->FieldByName(所属部门)->AsString=ComboBox3->Text;
  qryInfo->Post; //更新数据库
  qryInfo->Active=false;
  qryInfo->Active=true;
  (2)删除记录的源代码
  if(quyInfo->RecordCount>0)//如果数据库中对应的表中有记录话即删除
  quyInfo->Delete();
  (3)修改记录的源代码
  qryInfo->Edit(); //Query为可编辑
  qryInfo->FieldByName(教师编号)->AsString=Editl->Text;//把修改后的记录放入数据库
  qryInfo->FieldByName(教师姓名)->AsString=Edit2->Text;
  qryInfo->FieldByName(性别)->AsString=ComboBox1->Text;
  qryInfo->FieldByName(教师职称)->AsString=ComboBox2->Text;
  qryInfo->FieldByName(所属部门)->AsString=ComboBox3->Text;
  qryInfo->Post(); //更新数据库
  DBGrid1->Refresh();
  2.5信息查询的实现
  按教师编号的查询:
  DBGrid1->DataSource=DataSource1;
  ADOQuery1->Active=false;
  ADOQuery1->SQl->Clear();//打开该Query控件

  /*在Query控件中写入SQL语句,当Query控件打开后就可执行该语句。*/
  ADOQuery1->SQL->Add(“select distinct教师个人信息表。教师姓名,性别,教师职称,所属部门,课程名称from教师个人信息表,教师上课计划表where教师个人信息表。教师编号=教师上课计划表.教师编号AND教师个人信息表.教师编号=’”+Trim(Edit1->Text)+””);
  ADOQuery1->Active=true;
  我们可以通过ADOQuery控件,通过写SQL语句把两张表通过共同的字段联系起来了,同时它将实现查询功能,所以,where后面跟的就是查询条件。一旦该控件被打开,执行完该语句后我们就可以在界面中看到我们的查询结果。
  3.系统调试
  3.1程序调试
  程序调试的内容包括语法调试和逻辑检查,我们按照实际情况模拟了一些教师和学生信息作为主要测试数据对各个程序的语法和逻辑逐一进行了测试。通过程序调试,我们及时纠正了各个程序中存在的语法和逻辑错误,并加强了程序的错误和异常处理机制,保证了各个程序功能实现的质量。
  3.2子系统分调试
  在单个程序调试成功之后,我们对各个子系统进行了分调试,即将本系统按照信息录入功能、信息查询功能、统计工作量报表生成、密码修改功能、授课计划书的生成、操作员日志管理等六个功能模块划分成六个子系统,把一个子系统内的所有程序按次序串联起来调试。通过子系统调试,我们及时纠正了子系统中存在的数据存储异常,保证了子系统内部控制关系和数据内容的正确性,同时我们还测试了子系统的运转效率,保证了子系统运转的高效性。
  3.3系统总调试
  我们先对系统主控程序和子系统高度程序进行了调试,以保证主控程序的正常运转性和子系统调度中参数传送的正确性及其保密性。然后,将主控程序和各个子系统结合起来进行了调试,即对系统各种可能的使用形态及其组合在系统中的流通情况进行了可行性测试。在系统总调试时,我们主要采用系统模型法来进行测试,即通过编造最少量输入数据达到较全面检查系统的目的。通过系统总调试,本系统便可以运转了。
  教研室管理系统的成功开发实现了教师信息管理的自动化,明显地提高了工作效率和透明度,达到了信息处理实时化的目的,而且还提供了大量的数据查询功能,满足不同的查询需求,本系统为脱机操作,保证了系统使用的安全性、稳定性、可靠性和数据保密性。
  在本系统的开发过程中,我主要利用对一些程序实例的模拟运行对C++Builder5.0所提供的部分组件原理、功能及其使用方法作了较为详细的研究,并通过查阅相关资料的手段对ADO等先进技术进行了深入研究,将这些先进技术与C++Builder5.0所提供的组件融合到本系统的开发中去。同时,我还不断学习SQL Server大型数据库方面的知识,掌握了如何利用SQL Server提供的工具对数据库进行管理的方法。我觉得使用C++Builder5.0和SQL Server提供的强大功能开发分布式应用系统,其使用方便,开发周期短,系统的运行效率高、可靠性强。
  
  参考文献:
  [1]李智慧,秦成.C++Builder4.0从入门到精通.北京:清华大学出版社.
  [2]刘光.C++Builder程序设计导学.北京:清华大学出版社.


转载注明来源:https://www.xzbu.com/9/view-903427.htm