1 引言
随着社会的迅猛发展,知识的获取与运用已变得越来越重要,而作为获取知识的重要辅助工具棗学习用品,是我们学习运用知识必要的手段。因此,学习用品管理作为高校一项日常管理工作对于其建设和发展起着至关重要的作用。以前都是人工进行操作。随着规模扩大,系部的学习用品管理工作量大大加重。随着计算机技术的飞速发展,学习用品管理者急切希望能够将大部分繁琐的工作交由计算机处理,以减轻人工的压力并提高工作效率,实现办公自动化。Microsoft.Net技术的推出,将计算带入了一个新时代。以.Net技术为平台建立的学习用品管理信息系统使得软件的运行与维护更加符合人性化要求,有较高的数据访问性能和访问安全性。
2 开发环境及实现技术
2.1 开发环境
硬件系统:Intel酷睿2 CPU 2.10GHz,内存2GB,320G硬盘,512MB显卡。
软件系统:Windows xp系统或更高版本,Visual Studio 2005编程工具和SQL Server 2005数据库
2.2 开发工具
Visual Studio.net工具主要包含一个非常大的代码库,可以在客户语言(如C#,本系统就是以此语言为基础进行编程开发)中通过面向对象编程技术(OOP)来使用这些代码。这个库分为不同的模块,这样就可以根据预想得到的结果来选择使用其中的各个部分。其主要组成部分如下:
一、包括五种正式的语言编译器(C#,Visual Basic,托管 C++,J#和Jscript 脚本语言等);
二、框架类库(Framework Class Library,FCL)由很多相关互联的类库组成,支持Windows应用程序.Web应用程度.Web服务和数据访问等的开发;
三、公共语言运行库(Common Language Runtime,CLR)是处于.NET核心Framework的面向对象的引擎,其将各种语言编译器生成的中间代码编译为执行应用程序所需要的原生码(native code)[1]。
SQL Server 2005是一个全面的数据库平台,使用集成的智能(BI)工具提供了企业级的数据管理。SQL Server 2005 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。
SQL Server 2005数据引擎是企业数据管理解决方案的核心。它结合了分析、报表、集成和通知功能。与 Microsoft Visual Studio、Microsoft Office System 以及新的开发工具包(包括 Business Intelligence Development Studio)的紧密集成使 SQL Server 2005 与众不同。无论是开发人员、数据库管理员、信息工作者还是决策者,SQL Server 2005 都可以提供创新的解决方案,帮助其从数据中更多地获益[2]。
3 系统设计
3.1 系统模块划分
模块划分本着以独立性为基础的原则和标准进行设计,主要考虑到以下几个方面:
一、 可以将原来的复杂问题简单化,使得复杂的多面性需求逐个得到满足;
二、可以独立到进行模块的编码和测试,能够灵活方便地对这些进程进行组织和安排;
三、通过对系统进行结构化分析和设计,可将系统模块化,其总体目标是以较少的代价获得高质量的产品.例如本系统中所应用的查询模块,便可以设计成一个通用的模块,从而比较充分地体现出模块化设计的优点;
四、通过模块的划分,把每个模块要解决的问题局限在有限的范围之内,处理一个模块的问题时不必考虑模块边界以外的问题,减少了出错的机会。即使出现了错误,在局部范围内也容易解决。
因此,将该系统分成以下几个功能模块,如图所示:
该系统包括入库、发放打印和查询维护三大部分.
一、入库模块包含用品档案模块,其下属功能有:
(1) 用品信息;
(2) 用品录入;
(3) 用品修改;
二、发放打印模块分为用品入库和发放价拨模块,其中用品入库又包含以下功能:
(1) 打印发放单;
(2) 价拨统计表;
(3) 用品验收单;
(4) 用品进库;
三、查询维护模块分为查询模块和维护模块,其中维护模块分为库存维护和单位维护模块,而查询模块包含有以下功能:
(1) 时间查询;
(2) 系别查询;
(3) 所欠查询;
(4) 用品查询;
通过三大模块的建立,可以实现以下功能:
(1) 管理员可以在第一时间准确及时将数据更新;
(2) 使得发放用品的操作流程更便捷快速,提高了工作效率;
(3) 减少了在发放过程中产生的误差;
(4) 管理员可以随时录入,删除和修改数据;
(5) 打印出的单据可以将变更的项目进行统一整理和储存;
(6) 查询模块可供除管理员以外的人员对相关用品进行查询处理。
3.2 程序结构设计
该系统在设计中,采用了三层体系结构,从下至上分别为:数据访问层(DAL层)、业务逻辑层(BLL层)、表示层(WEB层)。所谓三层体系结构,是在客户端与数据库之间加入了一个“中间层”,也叫组件层。三层体系的应用程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理。三个层次中,系统主要功能和业务逻辑都在业务逻辑层进行处理。这里简要介绍以下三层架构的主要功能:
表示层:位于最外层(最上层),离用户最近。用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面。
业务逻辑层:在体系架构中的位置很关键,它处于数据访问层与表示层中间,起到了数据交换中承上启下的作用。业务逻辑层的设计对于一个支持可扩展的架构尤为关键,因为它扮演了两个不同的角色。对于数据访问层而言,它是调用者;对于表示层而言,它却是被调用者。
数据访问层:有时也称为是持久层,其功能主要是负责数据库的访问,简单的说法就是实现对数据表的Select,Insert,Update,Delete的操作。
3.3 数据库设计
数据库的建立是整个数据库应用系统开发过程中一个重要环节,数据库结构设计的好坏将直接影响到系统的效率和功能的实现。它具体可分为两个部分:一是概念模型的分析,即E-R图的分析;二是逻辑模型的分析,即表与字段的分析。
数据库设计(Database Design)是指根据用户的需求,在某一具体的数据库管理系统上,设计数据库的结构和建立数据库的过程[3]。
按照一般数据库的设计过程,根据具体情况,该数据库可分为以下5个步骤:
一、需求分析:调查和分析高校对于该系统的实际需求,所用数据的种类、范围、数量以及它们在实际管理应用中的作用,形成用户需求规约,进行系统整体架构设计。
通过对系统功能的分析,学习用品管理信息系统需要包含以下数据库信息:
学习用品库信息:编号,名称,生产商,供应商,单位,数量,库存位置,单价,总价,备注;
打印库信息:编号,日期,总价,总数,名称,生产商,系别,单价;
入库信息:编号,名称,供应商,录入时间,单价,总价;
出库信息:编号,单价,名称,生产商,供应商,总价,出库日期,系别,单位;
部门信息:编号,部门名称,人数,系别,联系电话;
供应商信息:供应商名称,供应人名字,联系电话;
单位库信息:单位名称,使用情况;
管理人信息:批准人,经办人,发放人;
账户信息:用户名,真实名字,密码,编号;
二、概念设计:依据用户要求,通过对其中功能的分类、精简和概括,建立抽象的概念数据模型。这个概念模型应反映该系统各个功能项目的数据结构、数据流动情况、数据间的互相制约关系以及对数据储存、查询和加工的要求等。所建立的模型应避开数据库在计算机上的具体实现细节,用一种抽象的形式表示出来。
三、逻辑设计:主要工作是将现实世界的概念数据模型设计成数据库的一种逻辑模式,即适应于某种特定数据库管理系统所支持的逻辑数据模式。同时,可能还需为各种数据处理应用领域产生相应的逻辑子模式。这一步设计的结果就是所谓“逻辑数据库”。
四、物理设计:根据特定数据库管理系统所提供的多种存储结构和存取方法等依赖于具体计算机结构的各项物理设计措施,对具体的应用任务选定最合适的物理存储结构(包括文件类型、索引结构和数据的存放次序与位逻辑等)、存取方法和存取路径等.这一步设计的结果就是所谓“物理数据库”。
五、验证设计:在上述设计的基础上,收集数据并具体建立一个数据库,运行一些典型的应用任务来验证数据库设计的正确性和合理性。一般,一个大型数据库的设计过程往往需要经过多次循环反复。当设计的某步发现问题时,可能就需要返回到前面去进行修改。因此,在做上述数据库设计时就应考虑到今后修改设计的可能性和方便性。
4 系统的功能实现
4.1 学习用品管理信息系统功能的实现
系统设计中的模块划分已经对功能进行了整体的概括与分类,包括对结构构成的划分以及对功能的归类。
该系统分为三大模块,五大功能,十五个分支。按照功能模块划分的主要目的是为了方便在构造时,能够将不同功能进行分类处理,一方面可以在进行代码设计时能够有层次,条理清晰的了解其构造,另一方面在调试出现错误时不至于将这个系统重新分析,重新整理,而是仅仅只需在所调试的模块里进行具体修改、具体维护、具体操作。
首先是系统的登陆界面,该界面所显示的信息由用户名和密码,如果数据库中存有你的用户注册信息,当输入用户名和密码时,可以直接登录主界面,相反将出现用户名密码错误的显示。
4.2 入库模块的实现
入库模块部分包括用品档案这部分,而用品档案具体分以下功能:
一、用品查询
该功能主要是方便管理员在用品已经入库的基础上进行查询,了解当前所需要的信息,包括名称、安全库存、单位、单价、存放地址、总金额和备注。同时当发现系统没有存储该类用品需要添加时,即使将新类用品添加进数据库。
二、用品录入
该功能主要是新类的学习用品的录入环节,包括名称、位置、单位、库存、供应商、进价、定价和备注,管理人员可根据需要选择性的录入信息。此功能也包含在查询中的添加教材环节,可以灵活机动的方便管理人员进行信息录入。
三、用品修改
当录入的学习用品在进货或者发放后,需要对其信息进行即时更新以保证能够存储最准确的用品的信息,此时,用品修改开始显现其特有的功能,这里,修改信息包含:名称、单位、定价、位置、库存和备注,当需要查询已更新信息时,可通过查询来了解更新情况。
4.3 用品发放打印模块的实现
用品发放打印模块分为用品入库和发放价拨两大部分。
一、用品入库模块具体分为:
(1) 用品进库
此功能,主要是在将信息进行打印报表时能够以准确的格式打印出所需要的内容,包含:名称、单位、单价、现有数量、数量和供应商。
(2) 打印验收价值统计表
该功能主要是将新来的学习用品打印成验收单的形式,供管理员进行保管处理,如下图:
(3) 用品验收单和用品发放单
用品验收单主要用来提供给管理部门进行验收统计,而用品发放单主要面向对象是各系部,目的是将发放的学习用品进行验收签名,确认验收情况[4]。
用品验收单的代码形式如下:
namespace WForm.print
{
public partial class Studyyanshou : Form
{
public Studyyanshou()
{
InitializeComponent();
ReportDocument ReportDoc = new ReportDocument();
string reportpath = Application.StartupPath.ToString() + "\\report\\yanshoudan.rpt";
ReportDoc.Load(reportpath);
ReportDoc.SetDatabaseLogon("sa", "123456", @"WIN-VORN7JD93H1", "StudyManagement");
crystalReportViewer1.ReportSource = ReportDoc ;
}
private void Bookyanshou_Load(object sender, EventArgs e)
{
}
}
}
用品发放单的代码形式如下:
namespace WForm.fjd
{
partial class fafang
{
/// <summary>
/// 必需的设计器变量.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// 清理所有正在使用的资源.
/// </summary>
/// <param name="disposing">如果应释放托管资源,为true;否则为 false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows 窗体设计器生成的代码
private CrystalDecisions.Windows.Forms.CrystalReportViewer crystalReportViewer1;
private CrystalDecisions.CrystalReports.Engine.ReportDocument reportDocument1;
}
}
二、用品发放价拨功能为发放用品,其面向对象为系部,实现的功能是将发放的学习用品进行整理保存。
4.4 查询与维护模块的实现
一、查询模块分为时间查询、系别查询、所欠查询、用品查询,不同查询对应的功能也不同。时间查询可以查询在一定时间段内,学习用品的库存情况和信息;系别查询可以对已经发放的系部的验收情况进行查询了解;用品查询则是针对某一种学习用品的现有存储情况进行查询了解;所欠查询时对学习用品欠收情况进行编号查询。
二、维护模块分为库存维护和字典维护。
维护是当系统录入错误信息时可以进行修改和删除,例如录入时将用品存放的位置搞错,可以在此进行对应的修改。
维护模块实现五项功能:
(1) 用品单位管理,主要是将用品的单位进行添加和删除;
(2) 供应商管理,负责将用品的供应商的信息进行添加和储存,包括供应商名称(必填)、联系人、联系电话;
(3) 发放单位管理,负责添加储存系部的信息,包括系部名称、联系电话、联系人、人数;
(4) 人员管理,内含三部分:批准人、经办人、发放人,当有变化时负责对其进行更改;
(5) 账户管理,可供管理员对密码进行修改和加密,包含三项:原始密码、新密码和密码确认。
5 结束语
该系统实现了管理人员对学习用品入库、打印、出库、更改、查询和维护整个管理流程的科学化、规范化管理,使得高校后勤工作在正常运转的同时更加高效,实现了高校数字化校园建设的一大方面。但功能实现还不够完善,相比起正规化的软件办公系统缺乏其广泛适用性,今后还将对其功能进行添加完善。
参考文献:
[1] 周礼.C#和.NET 3.0第一步[M].北京:清华大学出版社,2009.
[2] 尹涛,张良智.管理信息系统[M].北京:高等教育出版社,2005.
[3] 贺利坚等.数据库技术与应用[M].北京:北京希望电子出版社,2002.
[4] 张跃廷,王小科,张宏宇.C#程序开发范例宝典[M].北京:人民邮电出版社,2007.
作者简介:高红霞(1978-),女,讲师,研究方向:计算机应用。