基于.NET三层架构的高校学生电子档案管理系统的设计与实现*
2014-08-08陈翠红
陈翠红
(安徽工商职业学院,安徽合肥231131)
1 高校学生档案管理现状分析
高校学生档案管理是高校教学管理中重要的工作环节.随着高校信息化建设步伐的加快,发达地区高校已采用电子档案管理模式,但也有一些地区高校依然采用传统的纸质档案管理模式,浪费了大量的人力、财力.电子档案管理系统的开发既能提高高校学生档案管理效率,又能节省大量的人力、物力.而目前在用的电子档案管理系统有些是采用两层架构开发模式,在维护、二次开发等方面都存在问题.考虑软件复用性和软件构件化,用三层架构可实现软件设计的“高内聚,低耦合”..NET是现代软件开发主流平台之一,而在.NET平台中三层架构已经在软件开发中成为一种流行的开发模式,对于应用需求灵活的系统比较适合,为系统的可扩展性和可移植性提供了保障.实践证明,多层架构开发模式是较好的软件开发途径.
笔者结合高校学生档案管理现状,应用.NET三层架构技术,深入分析高校学生电子档案管理系统,严格按照软件工程的思路,从需求分析,概要设计,详细设计等方面给出关键问题解决方案.
2.NET框架
.NET平台是微软多个开发团队努力研发的成果,是微软公司发布的新一代系统、服务和编程平台,.NET Framework是微软为开发应用程序而创建的一个新环境,提供了跨编程语言的统一编程环境,大大简化高度分布式Internet环境中的应用程序开发,使得应用程序的平台独立性成为可能.主要包括公共语言运行库(CLR)和.NET Framework类库组件.
(1)公共语言运行库(CLR).CLR是.NET Framework的基础,是.NET Framework运行时的环境,CLR提供核心服务.一方面,可以被用户看作是一个在执行时管理内存、执行线程、执行代码、代码安全验证、编译及其他系统服务的代理;另一方面,CLR还对严格的类型安全、可确保安全性和可靠性的其他形式的代码准确性做了强制实施.
(2).NET框架类库..NET框架类库是面向对象的综合性的可重用类型集合,它是.NET的另一个主要组建.诸如文件访问、字符串管理、数据库连接等常见的编程任务,用户可以在.NET框架类库的支持下完成.此外,类库也支持类似Windows窗体应用程序、控制台应用程序、ASP.NET应用程序等多种开发方案的类型.
(3)ADO.NET.ADO.NET提供对SQL SERVER等数据源以及通过OLE DB和XML公开的数据源的一致访问.可以使用ADO.NET来完成应用程序连接数据源、检索、操作和更新数据操作.ADO.NET包括.NET框架数据提供程序以及数据库和执行数据操作命令的组建.以特殊方式向用户公开以实现用户的直接处理.
3 三层架构
三层架构的主体思想把不同功能的代码放到不同层的项目中,自下而上分别为:数据访问层(DAL)、业务逻辑层(BLL)和表示层(UI),各层之间相互依赖、相互协作来实现软件的各项功能[1].表示层(UI)主要是提供给用户交互操作界面,为用户提供显示数据和接受用户输入数据界面;业务逻辑层(BLL)是表示层和数据访问层(DAL)的中间通讯桥梁,主要负责数据的传递和处理;数据访问层(DAL)主要执行从数据库获取数据或向数据库发送数据,在分布式应用程序结构中,通常使用ADO.NET数据适配器和SQL服务器的存储过程来实现[2].
4 基于.NET三层架构的高校学生电子档案管理系统分析
4.1 高校学生电子档案管理系统功能需求分析
高校学生电子档案管理系统,根据对部分高校学生档案管理的实际情况调研,通过分析,可分为学生、教师、辅导员和管理员角色.在本系统中,学生能够查看自己的基本信息、各学期成绩信息和在校期间所受奖惩情况;教师可查看自己所授课程的信息,上传本课程的成绩信息;辅导员能够查看本班所有学生的基本信息,能够根据所需的条件下载本班学生信息和本班学生的成绩信息及奖学金名单,还能上传本班学生本学期所受的奖惩情况;管理员除具有管理学生、教师、辅导员、班级等基本信息权限,还需具备上传初始信息,数据备份等权限.系统分为4个功能模块,分别为:学生功能模块、教师功能模块、辅导员功能模块、管理员功能模块.如图1所示.
图1 系统角色分析
通过对各角色的功能分析,具体需完成如图2所示的系统功能.
图2 系统功能结构图
4.2 高校学生电子档案管理系统数据库设计
根据对高校学生电子档案管理系统的功能需求分析,利用数据库概念结构自底向上的设计方法,结合概念模型中最著名的实体-联系法即E-R图来分析数据结构.E-R图包括三种基本因素即实体、属性和联系,一般用“菱形框”表示联系,用“椭圆框”表示实体的属性,“方框”表示实体.如图3所示:
图3 E-R图的表示
把有联系的实体(方框)通过联系(菱形框)连接起来,注明联系方式,再把实体的属性(椭圆框)连到相应实体上是E-R图的常规画法.
本系统中主要包括学生,班级,辅导员,专业,系部,课程,教师,学期,成绩,奖惩,奖学金,管理员等实体.下面以学生,班级,教师,课程等实体为例构造E-R图例,如图4,图5所示,其他实体画法类似.
图4 学生与班级E-R图例
图5 教师与课程E-R图例
通过对实体的E-R图分析,将E-R图转换成具体的数据库管理系统(DBMS)支持的数据模型,形成数据库逻辑模式,本系统采用关系型数据库管理系统(DBMS),即把E-R图转换成二维表结构描述的实体,用外键表示实体之间的关系.本系统的数据库逻辑结构设计如下.
学生(学号,姓名,考生号,性别,出生日期,身份证号,民族,政治面貌,专业编号,班级编号,银行卡号,宿舍号,宿舍人数,家庭住址,家庭联系方式,个人联系方式,QQ号,电子邮箱,照片,休学或退学,备注,密码);班级(班级编号,班级名称,辅导员编号,系部编号,专业编号,班级人数);辅导员(辅导员编号,姓名,性别,密码);专业(专业编号,专业名称);系部(系部编号,系部名称);课程(课程编号,课程名称,教师编号,课程描述);教师(教师编号,姓名,性别,密码);任课表(教师编号,课程编号,班级编号,学期编号);学期(学期编号,学期名称);成绩(课程编号,学号,教师编号,成绩,学期编号);奖惩(学号,奖惩名称,学期编号);奖学金(学号,奖学金名称,学期编号);管理员(编号,用户名,密码).
4.3 高校学生电子档案管理系统实现关键问题解决方案
通过上述对高校学生电子档案管理系统的功能需求分析和数据库设计,下文讨论该系统详细设计阶段的关键问题解决方案.
(1)DIV+CSS技术实现表示层(UI)的网页布局.表示层(UI)需要向用户呈现数据显示和输入的交互界面,网页布局技术选择是否恰当直接影响系统的运行及维护效率.传统网页布局中多采用表格布局和框架布局.表格布局因多层嵌套导致浏览速度比较慢,而框架布局不能对网页元素做具体定位,且部分浏览器不支持框架结构.本系统在表示层(UI)实现时采用结构和外观分离的DIV+CSS布局技术,将网页内容区块放置DIV,而外观样式在CSS中实现,真正实现了结构、表现的分离,提高了网页界面的下载速度和网页效率,确保了高校学生电子档案管理系统维护和修改效率[3],具体布局的流程在此不做赘述.
(2)三层架构中实体类的构造.为避免表示层(UI)、业务逻辑层(BLL)和数据访问层(DAL)之间大量参数传递的繁琐性,引入实体对象类层是非常有必要的.三层架构中合理运用实体类以封装的实体对象作为参数传递替代繁琐的大量变量参数传递.在表示层(UI)将用户输入的数据封装到实体类对象中,在表示层(UI)实例化一个实体类对象,将用户输入的各个值赋给实体类对象的各个属性.在业务逻辑层(BLL)主要负责在数据访问层(DAL)和表示层(UI)之间传递实体对象,并对实体对象中封装的数据进行处理.数据访问层(DAL)根据数据存取需要将实体类对象进行解析并将解析后的数据存入数据库,或者从数据库取出记录并通过解析并封装到实体类对象.
根据该系统底层数据库构造情况,在实体类层构造学生、班级、辅导员、专业、课程、教师、学期、成绩、奖惩、奖学金、管理员实体类,并在表示层(UI)、业务逻辑层(BLL)和数据访问层(DAL)添加对实体类层的引用.
(3)AJAX技术的灵活运用.在现代软件发展中,用户体验是衡量软件质量的很重要的指标之一,为增强用户体验,提高系统响应速度,在管理员添加学生,班级,辅导员,教师,课程等功能中采用AJAX异步通信技术.普通的B/S架构的应用程序浏览器和服务器的通信是同步的,客户端发送HTTP请求时,服务器根据请求进行业务逻辑处理,从数据库提取数据并生成完整的HTML界面返回到客户端,即使是一个简单的数据提取,服务器都需要生成HTML页面,而一般的B/S网站应用程序不能像桌面应用程序那样快速反应,影响了系统速度,降低了用户体验,采用AJAX异步通信,当客户端向服务器发送HTTP请求时,将需要的参数整合成XML文件并发送到服务器端,服务器端对文件进行解析,并将参数传到后台处理,最后以XML文件的形式返回到客户端,客户端实现快速、实时、局部更新,很大程度上提高了系统速度,增强了用户体验[4].
5 结束语
基于.NET平台三层架构的高校学生电子档案管理系统采用当前主流软件开发平台,并运用多层架构对系统进行研发,采用“分而治之”的思想,有利于系统的开发、维护、部署和扩展,保证了系统的高效性.
[1]温倩雯,周斌,何坚.基于.NET平台的三层架构的改进设计[J].现代计算机,2013(06):75-80.
[2]徐亚峰,蒋晓峰.基于.NET平台的交互高校信息系统的设计与实现[J].软件,2013(34):7-9.
[3]刘丹,倪晓红.基于DIV+CSS的网页布局模式[J].沧州师范学报,2012(09):74-77.
[4]纪根宁.基于.NET的Ajax技术研究与实现[J].水力采煤与管道运输,2013(3):16-20.