基于C#技术的电大教材管理系统设计与分析

2012-04-12 04:54:09杨晓琴
山西广播电视大学学报 2012年4期
关键词:核算管理系统数据库

□杨晓琴

(太原广播电视大学,山西 太原 030002)

作为以开放的学习模式和多媒体教学技术为办学特点的成人高校,电大不仅面临着普通高校同样的问题,也存在着自身的特殊挑战。学生人数的攀升不仅使得涉及的专业广、班级多,而且专业和班级学生人数也分布不均匀,庞大的教材数量和种类也为电大的教材管理工作带来了更大的难题和挑战。仍用传统的手工方式来预定教材,难免会出现遗漏和统计失误的情况。在经过充分研究和设计后,结合电大教材管理的实际工作需求,设计开发了一套基于C#技术的电大教材管理系统,实现了电大教材管理工作的办公自动化和信息化。

一、系统设计

系统设计是在需求分析的基础上对实际需求和目标功能进行科学、完善的设计以实现系统开发的目的。结合电大教材管理工作中特殊的实际需求,实现教材入库、教材领用和教材核算等功能的信息化管理。下面分别从系统体系结构设计、系统业务流程分析、系统功能结构设计和系统数据库设计四个方面进行一一阐述。

系统体系结构设计。系统采用C/S体系架构,基于.Net开发平台。后台数据库使用主流的MSSQL Server 2005,PowerDesigner12作为数据库设计工具,前台采用C#开发语言进行编码,实现面向对象、跨平台的系统设计。

系统业务流程分析。传统的手工教材管理流程:根据中央电大培养计划、学期内的专业数、班级数和学生人数订购教材。教材发回后,对新教材做手工入库登记。待核收无误后,按班级为单位发放学生教材。教材发放时需对教材进行登记并人工填写教材发放表和领用人签字表。再手工进行教材的核算统计,即统计教材发放数量和财务结算查看其一致性。这种模式存在着明显的不足和缺陷,需要人工反复核对,不仅增加了工作量而且容易出错。教材的统计和核算工作也需要专人负责,增加了学校的人力成本。

优化的教材管理流程:在教材管理系统中的班级管理模块录入班级基础信息(如:班级名、年级、专业、系列、层次等基本信息),核定班级人数并指定班主任。在教材管理模块录入教材的基本信息(如:教材名称、出版社、单价、数量、折扣等基本信息),完成教材入库登记。维护教材类别并与班级信息相关联。指定班级领用教材的科目、数量、学期、单价等信息进行领用,并打印教材领用单。教材管理人员进行结算统计,完成教材发放的统计和存储功能,并打印教材核算单。

优化的教材管理流程不仅逻辑严谨、操作简单,而且避免了人工出错的问题。大大减轻了教材管理人员的劳动量和劳动强度,特别是系统可以自动实现教材的统计和财务核算工作,既节省了工作时间也提高了工作准确性。还自动保存历史教材的发放记录,实现对历史数据的统计、查询和对比,确保教材信息的完整性。

系统功能结构设计。对电大教材管理的实际需求分析后,参照优化后的新流程,提炼教材管理工作的核心和特点,将电大教材管理系统的主要功能大致分为教材管理、班级管理、学期管理、教材领用、教材核算、用户管理、系统管理等几个功能。各个功能模块详细设计介绍如下:

教材管理模块:该模块主要完成教材信息的入库、修改、删除、查询、刷新、过滤等功能。教材入库功能完成对教材的名称、编码、分类、单价、折扣、数量、出版社等基本信息的录入。教材修改功能是在教材信息不一致或有更新时,及时修改教材信息并确保教材信息的一致性。教材删除功能是在教材录入有误的情况下采取的有效措施以减少垃圾数据的产生。查询功能可按教材的各类查询条件进行精确或模糊查询,实现教材管理人员对教材的详细信息浏览。考虑到庞大的教材数据量给查询带来的不便,特别设计了使操作更为简单快捷的刷新和过滤功能。

班级管理模块:该模块主要实现班级信息的添加、删除、修改、查询、刷新、过滤等功能。班级信息的添加是完成对班级的编码、分类(如:省校本、省校专、中心本、中心专等)、名称、年级、专业、班主任等信息的录入。类似于教材管理模块,班级的修改、删除和查询功能是维护班级信息的补充和扩展。

学期管理模块:该模块主要实现学期信息的添加、删除、修改、查询、刷新、过滤等功能。学期管理虽然相对于教材管理和班级管理比较简单,但是功能全面。

教材领用模块:教材领用是电大教材管理系统的核心。该模块主要是将班级与班级应领用的教材进行一一对应。首先选定班级,通过班级的类别属性与教材的类别属性关联,系统自动将不是同一类别的教材过滤掉,以保证操作的准确性。在一一对应的过程中指定数量、预定数、实领数、学期等信息。领用完成后,可打印教材领用单。因教材信息量大,直接影响操作人员的查找教材的速度。本模块提供了拼音首字母过滤功能以实现快速定位教材的目的。高级检索功能可根据教材的不同条件,选择采用精确或模糊查询的方式快速定位。

教材核算模块:教材核算是电大教材管理系统的最终目标。该模块主要完成已领教材的库存盘点和财务核算功能。系统自动根据教材领用情况生成库存数量和领用数量,对两种数据统计后,生成统计报表并打印教材核算单。

用户管理模块:该模块主要实现用户信息的添加、删除、修改、查询、刷新、过滤等功能,并对登录用户的授权和模块定义。本系统包含两种权限用户:普通用户和超级用户。超级用户即系统管理员为最高权限。只有系统管理员才有用户管理和系统管理的权限。普通用户是最低用户,只能使用系统中的基本功能,不能实现对人员权限的分配。

系统管理模块:该模块主要实现系统模块的定义、用户界面排版、自定义功能设置、系统参数设置、数据备份与恢复等功能。本模块设计灵活,功能扩展性强。其中,增加和删除模块无需修改代码只需前台操作即可实现。

系统数据库设计。数据库(Data Base,简称DB)是在数据库管理系统(DBMS)的统一管理下,将具有较少冗余、较高的独立性,支持多用户共享,并且相互有联系的文件集合。本系统数据库设计遵循三级结构、二级映射的组织形式。不同数据存放在不同的信息表中,结构设计以系统实体为对象,表与表之间的关联通过外键和中间表的形式来建立,最大限度地减少数据冗余,提高系统查询速度。在需求分析的基础上,经过调查分析和数据提取后,教材管理系统所需存储和处理的数据主要划分为教材信息、班级信息、出库信息、学期信息和用户信息等几种数据。在保证关系规范化的前提下,进行数据库结构和二维表结构的设计,实现减少存储数据的冗余度。由以上原则建立的主要数据库表有:教材信息表(BookList):教材系统号、教材名称、教材代码、拼音码、单价、数量、总额、备注、出版商等字段;班级信息表(ClassList):班级系统号、班级名称、班级代码、拼音码、年级、班主任、专业、类别等字段;出库表(ClassUseBooks):班级系统号、教材系统号、班级代码、教材代码、学期、领用数量、领用人、领用时间、备注等字段;学期信息表(XueQiList):学期代码、学期名、拼音码等字段;用户信息表(Userinfo):用户名、用户编码、用户密码、校验码、权限等字段。

二、系统中的核心问题和解决方法

统计报表的准确性问题。教材领用单和教材核算单是电大教材管理系统最终的呈现方式。报表的准确性直接关系着教材的正确领用和财务的正确核算。为此,本系统采用第三方控件Developer Express.NET中的报表控件“XtraReports”,直接和实时更新的数据库数据进行绑定。核心代码如下:

xrTableCell4.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[]

{new DevExpress.XtraReports.UI.XRBinding("Text",this.dsClassUseBook1,"ClassUseBook.iOrderNum","")});

快速查询方法的实现。查询功能贯穿在整个系统的多个功能模块,如何在海量数据中快速定位是本系统面临的一个难题。为此,在多个操作界面特设置过滤功能按钮,输入拼音码的首字母即可实现快速定位所需的信息。同时,使用用户自定义控件“TextBoxFilter”实现过滤功能。核心代码如下:

string filter="("+columnName+"like'"+strText+"%')";

dvFilter.RowFilter=filter;

数据一致性问题。教材和班级信息不断更新,如何保证教材库的更新与教材领用、教材核算之间的一致性问题也是本系统面临的又一个难题。通过保存时校验库存和数据库增加触发器同步数据的方式保证数据一致性。触发器语句如下:

update a set iNum=iNum-iUseNum from BookList a join inserted b on a.iBookId=b.iBookId

系统安全性问题。信息化建设最大的问题之一就是系统安全问题,系统安全涉及权限分配和数据完整,直接关系系统开发的成败。首先通过角色的不同分配不同的权限。然后在系统访问数据库时采用加密字符串的形式,而不是以明码的方式保存,即保证数据库的安全性,又增加系统安全系数。加密函数如下:

StringBuilder strB=new StringBuilder(32);

int value=WinApiDll.dtEncode32(inStr,strB);

三、系统特点

界面简单友好,操作简便流畅。系统界面友好、符合操作习惯。过滤和模糊查询功能降低了工作难度。拼音码首字母过滤的查询方式简化了录入操作,如:在教材和班级列表中,输入第一个汉字的首字母即可轻松定位,操作方便快捷。检索记忆功能保证选择界面排在前面的部分始终默认为使用次数最多的选项。

功能全面,系统稳定。系统严格按照教材管理人员的实际需求,结合当前信息技术元素开发完成教材管理系统,功能简单全面,经多次测试验证后,系统已正式上线运行稳定。

支持多用户同时工作。不同于单机版管理系统,系统是基于MSSQLServer数据库技术,不限制用户数量,多个终端同时进行工作,相互之间不会受到影响。

灵活性强和支持功能延伸。遵循公认开发规范和定义规定,在系统开发过程中定义多个接口文档,为系统的进一步功能延伸提供支持。数据库设计和系统设计均采用面向对象设计模式,将电大教材系统中的各种实体作为系统的处理对象,实现系统的灵活性和可重用性。

支持自动更新。系统部署比较繁琐是C/S体系架构的主要缺陷,自动更新的实现解决了数据变动时需对每一个客户端程序进行更新的缺陷。在客户端系统登录时,自动校验版本情况,一旦有新版本程序登记,将自动下载新版本至客户端,并覆盖旧版本系统以增强系统实时更新的能力。

四、主要技术

基于C/S的体系架构。在计算机应用普及的今天,客户端PC机的性能大大增强,单机处理能力强大,分担服务器的负荷,降低对服务器的性能要求,甚至在小型系统和小型局域网内,一台PC机即可作为一台服务器使用。C/S体系架构的优点是客户端响应速度快,安全性高。教材管理系统是使用范围较小,客户端数量少的小型应用系统,对服务器的要求不高。因此,采用C/S体系架构是开发本系统的首要选择。

采用当前主流开发软件技术。本系统是基于Microsoft的.Net开发平台、FrameWork2.0为.Net框架、采用当前流行的C#开发语言进行编码、Visual Studio 2005为开发工具。后台数据库使用主流的MSSQLServer2005和Sybase公司出品的世界知名软件PowerDesigner12作为数据库设计工具。

随着校园信息化的迅猛迅速,基于C#技术的电大教材管理系统为电大的教材管理工作乃至整个教学工作的顺利开展提供了有效的保障,也为电大信息化建设提供了一个新的发展模式。目前,教材管理系统在我校已运行将至两年,系统运行稳定,效果显著,具有可扩展性,实现了教材管理的信息化。

[1]杨开英.数据库系统概论[M].武汉:武汉理工大学出版社,2003.

[2]李俊平.Delphi程序设计与软件项目开发[M].北京:清华大学出版社,2007.

[3]高玉兰.试论高职教材《建设工程法规》的改革与探索[J].山西广播电视大学学报,2011,(4).

[4]马宏伟,田丽,徐进.校园网络环境下学生管理信息系统的设计与实现[J].山东建筑工程学院学报,2001,(4).

[5]朱如龙.SQL Server数据库应用系统开发技术[M].北京:机械工业出版社,2004.

猜你喜欢
核算管理系统数据库
基于James的院内邮件管理系统的实现
2020年河北省国民经济核算
会计集中核算制下的内部审计工作
基于LED联动显示的违停管理系统
海盾压载水管理系统
中国船检(2017年3期)2017-05-18 11:33:08
数据库
财经(2017年2期)2017-03-10 14:35:35
数据库
财经(2016年15期)2016-06-03 07:38:02
数据库
财经(2016年3期)2016-03-07 07:44:46
数据库
财经(2016年6期)2016-02-24 07:41:51
2014年GDP首破60万亿
当代贵州(2015年5期)2015-12-07 09:09:57