监狱管理系统论文
2010届本科生毕业设计
分类号2010届本科生毕业设计
题目:_______________________
作 者 姓 名:
学 号:
系(院)、专业: 软件工程系
指导教师姓名:
指导教师职称:
2010 年 月 日
注:请认真填写的姓名及学号信息,并要求与学院规定的一致
摘 要:监狱进出管理系统主要实现对监狱中罪犯的详细资料和进监出监的管理。本系统的开发平台是Visual C++ 6.0,采用C/S体系结构。数据库服务器采用Microsoft SQL Server,访问数据库的方式采用当前很流行的ADO(ActiveX Data Objects)。本文就需求分析、设计思想、具体方案等各个方面详细地介绍了本系统的开发过程。
关键词:管理信息系统;监狱进出管理系统;C/S模式;进出管理;软件开发;SQL Server;Visual C++ 。
引言
计算机技术的广泛应用,管理信息系统MIS(Management Information System)的迅速发展,正在改变着我们的生活。使用计算机管理监狱中各种资料和罪犯的进出,是社会发展的必然。这套监狱进出管理系统能够有效地减轻监狱工作人员的工作强度,提高他们的工作效率,使监狱管理变得安全可靠。当罪犯在外出劳动的过程中潜逃时,系统可以及时地调出他的基本信息和相貌特征,从而为武警缉捕罪犯提供了有利的时机。
1. 需求分析
除实现信息管理外,本系统最重要、最核心的功能是实现监狱进出管理。监狱中有罪犯、干警、武警及工作人员若干,白天罪犯在干警的看守下外出劳动,傍晚回狱。按照监狱的管理制度,每个干警负责提取约20个罪犯,在出监狱门时由监狱工作人员登记每个干警所提取的罪犯人数和身份;傍晚回狱时,监狱工作人员逐一核对每个干警所提取的罪犯,看人数和身份是否和离狱时一致。如果发现不一致,例如干警A所带的罪犯少了一个,则要追究干警A的责任。在这种情况下,工作人员应迅速查出逃脱罪犯的基本资料,获得该罪犯的相貌特征,出动武警并及时通知临近各单位封锁四周,从而有效地缉拿逃犯。
2. 功能简介
为实现上述目的,这套监狱进出管理系统应完成的功能主要有以下几点:
• 为系统管理员提供对一般用户的管理,包括为用户分配初始密码,设置和修改用户的权 限等。
• 当用户登录时实现对用户的身份的确认,用户可以修改自己的密码。
• 用户进行的所有操作都记录在操作日志中。
• 实现对罪犯信息和干警信息的管理,包括信息的录入、修改、删除、查询以及数据库的备份等。
• 实现罪犯的进出管理。在罪犯外出劳动时登记干警和罪犯的人数和身份。在回狱时对干警和罪犯的人数和身份进行核对。
3. 设计思想
• 系统采用C/S体系结构,Client(客户机)负责显示用户界面、与用户进行交互;Server(服务器)则用于提供数据服务。C/S体系结构兴起于90年代,具有很好的交互性,相对于主机环境而言,它的管理能力有了大大的提高。这种结构能充分利用系统资源,合理分布系统负载,显著地减少网络上数据的流量并提高整个系统的运行性能,保证系统数据的安全性、一致性和保密性。
• 采用Visual C++的开发环境。就开发一个软件而言,VB、Delphi、PowerBuilder等可以完成这个任务,而且开发的速度会更快。选择VC是因为它有独特的优势。VC是当今1
开发Windows应用程序最全面、最强大的开发包。它不仅支持面向对象的程序设计技术,而且提供了内容丰富、功能强大的基本类库MFC。它最大限度地提高了编码效率,支持多线程编程以及组件的开发,支持多种高性能的数据访问技术。应该说VC编出来的程序具有相当高的稳定性和安全性。
• 数据库服务器采用Microsoft SQL Server 2000。目前常用的数据库有Access、SQL Server、Oracle等,考虑到本系统的数据量,就选用了SQL Server。
• 数据库访问方式采用ADO。VC提供了多种数据访问方式,例如MFC ODBC、ODBC API、OLE DB、ADO、DAO、RDO等。ADO是微软公司专门为开发C/S体系结构的应用程序而设计的,它具备了DAO和RDO的双重优点。ADO是OLE DB的高级接口,它可以访问任何兼容ODBC和OLE DB的数据库,这就使得程序具有相当高的通用性。此外,ADO能使前端与数据源之间的通信量达到最小,从而访问的速度比较快。
• 系统采用模块化设计方法,便于系统的开发、修改和维护。
• 界面尽量直观、方便、实用。
• 程序代码标准化,确保软件的可维护性和实用性。
4. 设计方案
4.1 模块划分
图1 模块划分
该系统共分为7个模块,其结构图如上图所示。各模块的功能如下:
① 系统模块:本系统的使用者有两类:系统管理员和一般用户。该模块共分为三部分:
用户管理部分、密码修改部分、操作日志部分。其中用户管理部分是为系统管理员服务的,系统管理员可以在这里管理一般用户的各种信息,例如为用户分配用户名、密码和设置权限等。密码修改部分是为一般用户服务的,一般用户可以在这里修改 2
他自己的密码。管理操作日志部分是为二者服务的,但一般用户只能浏览操作日志的内容,没有权限对其操作。
② 登录模块:用于系统管理员和一般用户进入该系统时进行身份验证。如果用户连续
三次输入密码有误,系统会提示用户下次再来并自动关闭登录窗口。
③ 罪犯信息管理模块:用于对罪犯的各种信息进行管理,包括信息输入、信息修改以
及离狱管理。在离狱管理部分中,是根据监狱的管理制度,对不同的离狱情况有不同的处理方式。
④ 干警信息管理模块:功能与前一模块类似,用于对干警的各种信息进行管理,包括
信息输入、信息修改以及信息删除。
⑤ 信息查询模块:用于查询罪犯和干警的各种信息。用户可以自由选择查询条件。 ⑥ 帮助模块:解决用户在操作过程中遇到的各种问题。
⑦ 进出管理模块:实现罪犯在离狱回狱时进行身份验证。
4.2 数据库设计
在需求分析的基础上,经过对狱中人员流动的认真分析,理清各实体之间的关系后,我们建立了以下数据库的基本表。
⑴ 用户信息表 userinfo ⑵ 操作日志表 log
⑶ 罪犯基本信息表 cbaseinfo ⑷ 罪犯罪行信息表 ccrimeinfo
⑸ 罪犯刑期信息表 ctimeinfo ⑹ 罪犯减刑信息表 cdivertinfo
⑺ 罪犯前科信息 crecordinfo ⑻ 罪犯性格特征表 ccharacinfo
⑼ 罪犯体检信息表 cbodyexinfo ⑽ 罪犯相貌特征表 clookinfo
⑾ 干警信息表 pbaseinfo ⑿ 监狱进出管理表 pinoutmanage
5. 运行环境
● 服务器端
硬件环境:Pentium III 733EB或以上,内存128M或以上,硬盘容量至少40G
软件环境:数据库服务器为Microsoft SQL Server
● 客户端
硬件环境:Pentium III 733EB或以上,内存128M或以上,硬盘容量至少10G
软件环境:操作系统为Windows 2000 Server 或 Windows NT 、Windows XP等
● 所需其他设备
条形码打印机一台;专用防水条码;条码红光扫描仪一台
6. 具体实现
6.1 建立项目文件
打开Visual C++ 6.0,新建一个MFC AppWizard [exe]类型的基于对话框的应用程序,工程的名字命名为“prison”,系统自动创建了程序框架,包括资源和项目文件。以后就可以在此项目文件中添加各模块的文件,便于管理。
6.2 建立与数据源的连接
首先在SQL Server 2000中根据需求分析建立4.2中的各表,SQL服务器名为CGX,数据库名为prison。ADO与SQL Server的连接可以通过预设的DSN连接。在“控制面板”里面“ODBC数据源”中添加数据源,把此系统的数据源名称设为PrisonMIS,在测试数据源连接成功之后,还要在CPrisonApp::InitInstance()添加如下代码:
try
3
{
ADOConn.CreateInstance(__uuidof(Connection));
ADOConn->Open("DSN=PrisonMIS","sa","",-1);
}
catch(_com_error&e)
{
CString err;
err.Format("%s", (char*)(e.Description()));
AfxMessageBox(err);
}
6.3 设计各模块
本系统共7个模块,其中进出管理模块是核心模块。这部分的主要功能是实现罪犯在进狱出狱时提供身份验证,从而判断罪犯在劳动过程中是否逃脱。
1. 运行界面
图2 进出管理模块的运行界面
2.编程思路
进出管理不仅是对罪犯的管理,也是对干警的管理。界面中有干警信息和罪犯信息两部分。界面中列表控件用于显示罪犯的相貌特征。
罪犯外出劳动时,“进狱出狱”单选按钮选择“出狱”,首先输入干警编号,系统自动显示出此干警的一些基本信息以及他(她)所提取的罪犯的相貌特征。每输入一个罪犯编号、单击“确认”按钮后, “罪犯相貌特征”列表控件会自动增加一行,同时向数据库的进出管理表写入一条记录,表示此罪犯已被此干警提取走。当单选按钮选择“进狱”时,同样首先输入干警编号,系统自动显示出此干警的一些基本信息以及他(她)所提取的罪犯的相貌特征。每输入一个罪犯编号、单击“确认”按钮后, “罪犯相貌特征”列表控件会自动减少一行,同时删除数据库的进出管理表的相应记录,表示此罪犯已平安回 4
狱。如果某个干警所带的所有罪犯的编号都输入完毕,而其列表控件仍然保留一项,表示此干警所带的罪犯有一个逃跑了。
3.程序流程图设计
图8-2是【确认】按钮单击消息处理函数OnMakesure()的程序流程图。图8-3是刷新函数RefreshData()的程序流程图。此函数被OnMakesure()调用。
图3 函数OnMakesure()的程序流程图
5
图4 函数RefreshData()的程序流程图
OnMakesure()和RefreshData()函数的程序流程图已在前面给出,程序不难编写,在此就不列出源代码了。
6.4 局域网的搭建
本系统C/S模式,客户端放在监狱的大门旁。网络应用绝大部分都可分为以下四个层次:表现层、事务层、数据逻辑层和数据存储层。C/S模式是一种两层或三层结构的系统。我们采用的是两层结构的系统。在两层C/S模式中,表现层和事务层都放在客户端,数据逻辑层和数据存储层则置于服务器端。服务器为多个客户应用程序管理数据,而客户程序发送、请求和分析从服务器接收的数据,是一种“肥客户机(Fat Client)”、“瘦服务器”的模式。网络搭建如图5所示:
图5 C/S模式下的局域网拓扑结构图
6
7. 安全性措施
系统安全:系统尽量与因特网隔离,避免网络病毒的感染和黒客的攻击。
数据安全:①系统提供数据库备份功能。②对用户分配不同的权限,③系统的数据库只有系统管理员才可以进入。
8. 结束语
监狱进出管理系统能够有效地对监狱的各种事务特别是对罪犯的进出进行管理,具有广阔的发展前景。目前我们所做的工作还远远不够,今后比较好的研究方向有:指纹识别、图像识别、罪犯信件管理等。
参考文献
【1】 《Visual C++ 6.0数据库系统开发实例导航》 李闽溟 吴继刚 周学明 编著 人民邮电出版社
【2】 《Visual C++ 6.0实例教程》 门槛创作室 编著 电子工业出版社
【3】 《Visual C++.NET 数据访问开发技术》 李博轩 等编著 国防工业出版社
【4】 《Visual C++.NET 入门与进阶》 冉林仓 尹建民 主编 清华大学出版社
【5】 《数据库原理及应用》 李大友 主编 清华大学出版社
【6】 《Windows 程序设计》 [美] Charles Petzold 著 北京博彦科技发展有限公司 译 北京大学出版社
【7】 《Visual C++ 6.0 技术内幕》 [美]David J.Kruglinski, Scot Wingo ,George Shepherd著 希望图书创作
室 译 北京希望电子出版社
【8】 徐晓霞,贝雨蓉。B/S模式与C/S模式之比较。延边大学学报(自然科学版),2002,2
The Designment and Realization of Prison In/Out Management System
Li Yanshe Wang Zhong Cao Gengxin
(Communication Engineering Department, Sichuan University, chengdu, 610065)
Abstract:The prison in/out management system mostly achieves the purpose of managing criminals’ particular information and coming in or coming out from prison. Visual C++ is used as the tool of developing this system.C/S mode is adopted in this system. Microsoft SQL Server is used as database sever, and the mode of calling database is ADO(ActiveX Data Objects) which is very popular currently. The whole process has been introduced by this paper particularly on its demand analyses, develop principium, and concrete scheme.
Keywords: manage information system; the prison in/out management system; C/S mode; in or out management; software development; SQL Server; Visual C++.
7
常用网址收藏
8