基于ASP.NET MVC的人才信息管理系统的设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于 MVC的人才信息管理系统的设计与实现
张才千;李想
【摘要】依据人才信息管理工作的需求,采用组件开发的思想,利用微软 MVC框架,完成了人才信息管理系统的设计实现工作.该系统具有较好的可扩展性、可维护性,对于促进人才管理工作的信息化具有一定的实践价值.
【期刊名称】《开封大学学报》
【年(卷),期】2014(028)004
【总页数】4页(P93-96)
【关键词】 MVC;人才信息管理系统;MVC模式
【作者】张才千;李想
【作者单位】开封大学信息工程学院,河南开封475004;开封大学学报编辑部,河南
开封475004
【正文语种】中文
【中图分类】TP311.52
0 引言
人才管理是政府管理工作的重点之一.传统管理模式下的人才管理不仅需耗费大量
人力、物力,且准确度和效率都不高.可以说,传统的管理模式难以满足当前人才
管理工作的要求.随着信息技术的发展,我国各级政府部门信息化进程不断加快,
其中就包括人才管理的信息化建设.实践表明,信息化是人才管理的必然趋势.本文
从现代人才管理工作的需要出发,利用微软 MVC组件,开发出了基于
该设计模式的人才信息管理系统.实际应用表明,该系统能够满足现代人才管理工
作的需要,它不但实现了人才管理的网络化、自动化,而且具备数据分析、报表等功能,具有较强的可扩展性和可维护性,有着一定的推广价值.
1 MVC
MVC是微软官方提供的以MVC模式为基础的 Web应用程序(Web Application)框架,它由Castle的MonoRail而来,最新版本是 MVC 5.1.
1.1 MVC模式
MVC(Model View Controller,模型-视图-控制器)是1979年提出的,起初是用
于软件的一种架构模式.模型-视图-控制器(MVC)是Xerox PARC在上个世纪80年代为编程语言Smalltalk-80发明的一种软件设计模式[1].其各部分含义如下:Model(模型)是指应用程序核心(比如数据库记录列表),是应用程序中用于处理应
用程序数据逻辑的部分.通常,模型对象负责在数据库中存取数据.
View(视图)显示用户交互界面(UI),用户交互界面显示来自于模型的数据.视图从模
型处获得数据,控制器控制视图的更新.视图时不进行任何业务逻辑的处理,它只
作为一种输出数据的方式而存在[2].
Controller(控制器)控制用户的交互,和Model(模型)一起工作,满足用户的请求,最终选择一个View(视图)来显示用户交互界面.例如,用户提交一个查询请求,控
制器接收该查询请求,将请求的内容传递给模型处理,并选择符合要求的视图,将模型的处理结果呈现给用户[3].
MVC分层有助于复杂的应用程序管理,因为这样做,用户可以在一个时间点上关注一个方面.例如,用户可以在不依赖业务逻辑的情况下专注于视图设计.同时,MVC分层也让应用程序的测试更加容易.
MVC分层也简化了分组开发.不同的开发人员可同时开发视图、控制器逻辑和业务逻辑.
1.2 MVC的优势
MVC主要具备以下特色:
1)分离任务(输入逻辑,业务逻辑和显示逻辑),易于测试和默认支持测试驱动开发(TDD).
2)拥有可扩展的简便的框架.采用 MVC框架可更轻松地移植和定制功能.
3)强大的UrlRouting机制可让用户更方便地建立容易理解和可搜索的Url,为SEO提供更好的支持.
4)可以使用现有的页面标记、用户控件、模板页.
5)对现有的程序给予支持,可以使用窗体认证和Windows认证、url认证、组管理和规则、输出、数据缓存、session、profile、health monitoring、
配置管理系统、provider architecture等.
2 基于 MVC的系统设计
2.1 系统体系结构设计
按照MVC分层设计和组件化思想,根据MVC基本分层,将整个系统分为视图层、控制器、模型,同时考虑系统的扩展性,层与层之间设置标准的接口,使之进行耦合,并使数据访问功能独立出来.整个系统体系结构如图1所示.
图1 系统体系结构
2.2 系统功能模块设计
系统具有系统登录、报表管理、系统管理、数据维护、机构岗位设置、人才信息设置、绩效考核管理、数据分析等8个功能模块.
系统登录:对系统的栏目菜单及功能模块采用系统用户角色的方法进行安全性控制,用户所能浏览的网站栏目及所能操作的功能模块由其所属的用户角色限定,可由系
统管理员进行调整.另外,其他用户权限也由系统管理员设定.因此,管理员用户必
须首先以预先分配的登录账号及密码登录.本系统不是开放性系统,系统其他用户
由系统管理员决定是否允许产生,不能自由注册.
系统管理:管理员登录成功后,就可以进行系统管理操作.该系统包含数据定义、
用户管理、用户权限管理、XML数据管理、系统日志等功能.其中,数据定义主要用来对系统用到的基础数据进行定义,如专业定义、学历层次定义等;用户管理主要用来进行系统用户的增、删、改、查操作;用户权限管理主要用来对用户进行授权;XML数据管理主要用于定义该系统和其他系统或数据源交换数据的基本格式;系统日志主要是显示对一些敏感操作的记录.
人才信息设置:该功能模块主要用来实现拔尖人才基本信息、科研信息的录入工作. 数据分析:该功能模块主要用来实现人才信息的专业分析、职称分析、学历分析、科研分析、论文分析等工作,通过报表的形式,为用户提供直观形象的分析结果. 数据维护:该功能模块主要用于实现数据的备份和恢复.
报表管理:该功能模块主要用于实现人才信息和数据分析的打印输出.
2.3 安全设计
信息管理系统的安全性是信息管理中不容忽视的一个因素.在本系统中,主要采用
数据加密技术和访问控制技术来增强系统的安全性.
(1)关键数据的加密.对用户口令、人才数据、系统配置等需要加密的文件,我们采
用随机长度、随机密钥相结合的方法进行加密.
(2)管理员授权认证.对于那些不能让普通用户使用的操作,如用户管理,人才信息
统计、分析等,系统规定,只有那些具备相应权限的用户提供正确的用户名和口令才可使用.
3 系统实现
3.1 视图层实现
视图层主要提供用户交互界面.本系统的界面就是Web页面,页面设计采用CSS+DIV的方式实现,这个界面以简洁、易用为基本实现原则.图2是我们开发的开封市拔尖人才管理系统主界面实现的截图.限于篇幅,这里对其他界面实现不再一一说明.
图2 系统实现主界面
3.2 控制层实现
控制层是整个系统功能实现的核心,它负责系统业务逻辑的实现,完成视图层、模式层的调用.这里采用继承 MVC中的控制器类的方法来实现.以系统登录功能为例,其核心实现代码如下:
[post]
public ActionResult Login(LogOnModel model,string returnUrl)
{
if (ModelState.IsValid){
MembershipService=new AccountMembershipService();
if (MembershipService.ValidateUser (erName,model.Password)) { try{
AdminUser.FromUsername(erName).Login(model.Password);
if (!String.IsNullOrEmpty(returnUrl)){
return Redirect(returnUrl);
}else{
return RedirectToAction("Index","Admin");
}
} catch (BusinessExceptionBase e) {
ModelState.AddModelError("",e.Message);
}
} else {
ModelState.AddModelError("","用户名或密码无效");
}
}
return View(model);
}
3.3 模式层实现
模式层主要负责数据的表示和交互.这里主要有两个方面的工作:一方面是控制层
和视图层之间的数据传递.对此, MVC提供了很好的支持,只要设计好
相应模式类,并在视图层做好相关配置,系统就可以自动将视图层接收的数据封装成对象交给控制层处理,也可以将封装好数据的模式对象通过控制层直接传递给视图层,实现数据的自动显示和传递,这大大提高了开发效率.例如,在系统登录模块,我们只要设计好用户登录的模式类LogOnModel,在视图层中指定该模式,在用户单击登录按钮后就可以自动将输入的用户名和密码信息封装成LogOnModel类对象传递给控制层的控制器,用其中的Login方法进行处理,程序员可以直接使用该对象进行登录验证.另一方面是用户和数据库的交互.数据库是
整个信息管理系统的数据中心,平时需要对其进行大量的读写操作.在本系统中采
用ORM的思想对数据访问过程进行了封装,完全实现了数据访问过程的对象化,这样既可以提高开发效率,又可以使系统具有更好的扩展性.
4 总结
利用信息技术实现人才管理的信息化,从而提高人才管理工作的效率,促进人才管理水平的提高,这是当前人才管理工作的必然要求.本文采用 MVC框架,采用组件开发的思想,设计实现了一个人才信息管理系统.该系统除能满足人才管
理日常业务工作基本需要外,还提供了数据分析、报表管理等功能.就整个系统来说,界面设计简洁,使用便捷,对于人才管理信息化建设具有一定的实际意义. 参考文献:
[1] 涂刚,李建,刘华清,等 MVC的研究[J].软件工程师,2010,(8):54-57.
[2] 林庆,朱翠苗,郑广成,等.基于ASP. NET 的MVC 设计模式的研究[J].计算机工程与设计,2008,29(1):167-169.
[3] Sanderson S. Pro MVC Framewo- rk[M].Berkeley:Apress,2009.。