大学协议书管理系统.doc_第1页
大学协议书管理系统.doc_第2页
大学协议书管理系统.doc_第3页
大学协议书管理系统.doc_第4页
大学协议书管理系统.doc_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

前 言随着毕业生的不断增加,手工管理协议书给管理者带来了不少麻烦,越来越多的管理者开始对自己的业务采用电脑管理,在应用之余,总希望有好的业务管理软件来帮助他们提高工作效率和管理水平。此管理系统就是根据吉林师范大学就业指导中心老师所提出的要求而开发出来的。本软件以其超强的适用性、灵活性和通用性,已在XXXX大学就业指导中心得到了应用。用户操作将会更简单、更直观、更方便。使用本系统,既可以大幅度提高就业指导部门本身的工作效率,也可及时与各个学院进行沟通使得就业工作制度化、科学化、效率化。 第一章 总体分析1.1开发背景在本系统开发之前,协议书的管理者总是需要在不同的软件之间进行数据的操作,必要时还需要进行不少的手工操作,还经常做大量的重复工作,这给管理者带来了许多不便,增加了很多不必要的开支。为了能够高效的管理协议书并且能够及时的加以统计特开发了此系统。1.2开发目标u 可以对学校所有已签约同学的协议书上相关信息进行浏览。u 可以通过数据导入模块来实现分工协作,提高数据录入效率。u 可以筛选出管理者所需的记录并能通过导出数据输出到Excell中进行打印等操作。u 可以对密码进行维护。u 通过前台和后台都可对数据进行管理。1.3开发工具本系统采用Visual Basic 6.0进行软件的开发。Visual Basic 6.0是Microsoft公司最新推出的可视化开发工具,中文化的环境容易操作,可视化的用户界面设计功能,是编程成为了一种享受。特别是,Visual Basic 6.0在数据库处理功能上有较大增强,能对多种数据库进行读写操作。另外它所提供的【可视化数据管理器】能帮助用户构造多种类型的数据库,同时提供了能自动生成SQL语句的功能和新的ActiveX数据对象ADO。Access操作简单,容易建立表和数据库。1.4可行性分析根据导出的系统逻辑模型出发,可探索出几种可供选择的系统实现方案,而即将要采用的这个实现方案我们可从以下六个方面来说明它的可行性:技术可行性使用Visual Basic6.0、Excell 11.0及Access 1997即能实现这个系统。经济可行性此系统运行后将节省了不少人力,从而省去了部分人的开支,而从长远来看两个月就可以将省下的钱与开发成本的钱相抵消。所以这个系统是符合经济可行性的。操作可行性系统拥有简单直观的操作界面,用户很容易便会使用。法律可行性此软件只在就业指导部门应用,且是合法开发,不对任何其它系统构成威胁,有益而无害。时间可行性经和客户交流,完全可在规定的时间内完成任务,从时间上来看是可行的,并且不会影响到正常的工作。组织与管理上的可行性由于各个模块组织的较好易于管理与维护。所以从组织与管理上来看是可行的。1.5需求分析通过调查,要求系统需要有以下功能: 由于操作人员的计算机知识普遍较差,要求有良好的人机界面; 由于该系统的使用对象多,要求有较好的权限管理; 原始数据修改简单方便,支持多条件修改 方便的数据查询,支持多条件查询; 在相应的权限下,删除数据方便简单,数据稳定性好; 数据计算自动完成,尽量减少人工干预;第二章 系统功能分析 本系统主要包括七个大的功能模块,分别是用户管理模块、系统登陆模块、数据录入模块、数据导入模块、数据导出模块、协议书统计模块、排序模块、密码更改模块、字段添加模块、帮助模块。各模块功能介绍如下:1.用户管理模块本模块主要实现对用户的管理,包括用户的添加和口令修改。用户的信息设计的也比较简单,只有用户名,密码,登陆时间三个字段。2.系统登陆模块 本模块实现了对用户进入本系统的验证,对非法用户,不能进入系统,这是和用户管理模块的信息相对应的。3.数据录入模块 本模块是整个系统的基础模块,可以添加新记录,也可以在此模块中上下查找各条记录并可对任意一条记录做修改操作。4.数据导入模块本模块也是整个系统的基础模块,为了实现数据录入的分工协作,可以多个人在不同的Excell或Access表中进行数据录入,然后通过此模块完成数据导入。此模块有助于对各个学院上报来的表格进行数据导入。大大提高了管理者的工作效率。5.数据导出模块本模块是本系统的特色模块,此模块可根据筛选结果对数据进行导出,最终将数据导出到大家所熟悉的环境Excel中,以便普通用户可在自己熟悉的环境中对表进行打印等操作。6.协议书统计模块本模块的功能主要是在对记录筛选后,对每个学院取走协议和上交的协议书的份数做一下统计,以便协议书的发放及派遣证的发放数量能更准确。7.帮助模块本模块主要包括对本系统的使用说明信息,版本信息以及制作人的基本信息。第三章 数据库设计3.1数据库技术数据库(Database),是按照数据结构来组织、存储和管理数据的仓库,是大量数据的存储区域。发展至今主要经过了层次模型、网状模型和关系模型三种类型。关系模型对数据库设计来说是比较理想的,它可以为各个相关的表建立一种联接,使它们之间保持一种关系。数据库的设计就是在已有信息的基础上,建立一种存储模式来存储数据并对其管理。通过数据库可以实现资源的共享,这只是数据库技术的一个方面,另外一个更重要的方面是数据的安全性和完整性。3.2逻辑结构设计 1)E-R图介绍逻辑结构设计我们采用大家熟悉的E-R模型来表示。它的组成元素有:实体、属性、联系。E-R模型用E-R图表示。实体是用户工作环境中所涉及的事务,属性是对实体特征的描述,联系是两个实体之间的一种关系。 实体用矩形框表示,实体名称标注在矩形框内。属性是实体的性质,用椭圆框表示,与实体之间用一条线相连,表的主码是关键属性,主码加下划线。用菱形表示实体间的联系,菱形框内写上联系名,用无向边把菱形分别与有关实体相连接,在无向边旁标上联系的类型。 2)数据库中使用的E-R图(注:凡是属性名或表名后面带括号的在数据库中都以括号内为准显示) (1)院别信息(YB)E-R图如图3-1 图3-1院别信息(YB)学院(XY)编号专业(ZY)(2)协议书基本信息(XYS)E-R图如图3-2图3-2编号单位性质取走人取走份数上交日期学生协议书基本信息性别姓名单位隶属部门专业院别签约单位上交份数上交人取走日期协议书号码备注人录入日期人年 度 (3)用户管理(Sys)E-R图如图3-3图3-3用户管理(Sys)密码(MM)用户名(YHM)4)筛选表(shaixuanlist)E-R图如图3-4筛选信息(shaixuanlist)列名(lie) 图3-45)总体E-R图如图3-5学 生筛选列表院别属于包含11图3-51n3.3物理结构设计 本系统在Access 2002-2003中建立了一个“xys”(协议书)库,其中包含有单位隶属部门(DWLSBM)、单位性质(DWXZ)、签约单位(QYDW)、取走协议书份数(QZXYSFS)、筛选表(ShaiXuanList)、上交协议书份数(SJXYSFS)、系统表(Sys)、协议书信息表(XYS)院别信息(YB)九个表。具体结构如下:1) 院别信息(YB)如表3-1 列名数据类型长度允许空约束默认值编号自动编号8N主键空格学院(XY)文本200Y空格专业(ZY)文本30Y空格表3-12)协议书基本信息结构如表3-2列名数据类型长度允许空约束默认值编号自动编号8N主键空格院别(YB)文本50Y空格专业(ZY)文本50Y空格姓名(XM)文本10Y空格性别文本2Y空格签约单位文本100Y空格单位隶属部门文本50Y空格单位性质数字8Y空格上交份数文本10Y空格上交人文本15Y空格上交日期数字8Y空格取走份数文本10Y空格取走人文本20Y空格取走日期文本20Y空格协议书号 码文本100Y空格备 注文本15Y空格年 度 文本10Y空格录入日期文本15Y空格表3-23) 用户表结构如表3-3列名数据类型长度允许空约束默认值用户名(YHM)文本50N主键空格密码(MM)文本50Y空格表3-34) 筛选表结构如表3-4列名数据类型长度允许空约束默认值列(lie)文本50Y空格表3-43.4数据库的安全性与完整性1数据库的完整性。数据库的完整性是指数据的正确性和相容性。数据库管理系统(DBMS)用一定的机制来检查数据库中的数据是否满足规定的条件完整性约束条件。数据库的完整性主要包括实体完整性、参照完整性、域完整性和用户自定义完整性四种。本系统的实体完整性是通过主键来实现的,参照完整性是通过后台数据库的关系图来实现的,域完整性是通过规则(Rule)和默认(Default)来实现的。这样看来似乎没有什么错误,可是当我们在前台用VB对系统操作时还会有错误,原因是我们在前台的操作中对数据库的修改不符合参照完整性。对此,我们使用VB中的ON ERROR GOTO -RESUME对错误进行捕获,若发现错误则撤消本次操作。2数据库的安全性。数据库的安全性是指对数据库中的数据进行保护,以防止不合法的使用所造成的数据泄漏、更改或破坏。在数据库系统中,大量的数据集中存放,而且为许多用户直接共享,是宝贵的信息资源,系统的安全保护措施就显得更为重要。本系统的安全性主要是指数据库的安全性。包括前台和后台的安全性,二者均采用用户登录的方法实现数据库的安全。在登录本系统时,设有登陆窗口,根据用户名鉴别该用户是否为合法用户,并对他的权限加以控制,来实现数据库的安全性。在登录数据库时,同样设有登陆窗口,系统根据输入密码的正确性来鉴别用户是否有权限,以此来限制对数据库所执行的操作。这是一种简单可行的方法,实现起来比较方便,但是功能并不比其它方法差。3.5数据库的连接 本系统的数据库连接主要是通过ADO连接的。下面简要介绍一下在 ADO连接中所使用到的一些常用对象和简单实例。 1 Connection 对象 Connection 对象为一个数据源的连接提供上下文,用来管理事务、执行命令、打开和关闭连接。它主要包括Close()、Open()、Execute()方法和ConnectionString属性。Open()方法的一般格式: Conncet.Open ConnectionString,Username,Password 这里Connect代表以前创建的Connection对象。ConnectionString是一字符串类型值,它提供了数据源连接字符串项目。ADO支持的连接字符串参数主要有: DataSource:连接数据源的名字。 USER:访问OLE DB数据源时所使用的用户名,如果是空串,则调用域管理安全性。 Password:访问OLE DB数据源时所使用的口令,如果是空串,则调用域管理安全性。 Filename:包含连接信息的文件的名字,这种文件的一个例子是流OLE DB 数据源对象。 如果使用了OLE DB数据提供者,你就可以使用ADO来访问ODBC数据通信源。并且你必须配置ODBC数据源。OLE DB ODBC数据源可以识别的连接字符串参数主要有: DSN:ODBC数据源的名字。 SERVER:ODBC数据源服务器的网络名。 UID:指定用户。如果是空串,则调用域管理安全性。 PWD:指定口令。如果是空串,则调用域管理安全性。Execute()方法的一般格式: Set record = connect.Execute(Command,NunRecords,Options) connect.Execute Command,NumRecords,Options Execute()方法返回一个Recordset 对象,其中connect标识符是一个有效的被打开的Connection对象的名字,record是Recordset类型的变量,Command参数是一个包含了实际数据操作的字符串,NumRecords参数用来保存受影响的记录个数,Options参数用来定义命令类型。2Recordset 对象 Recordset对象用来封装一组数据源记录。它可以用来存储执行查询、打开表操作或者是执行存储过程的得到的结果。它主要包括Open()、Close()、AddNew()、Delete()、Move()、Update()方法和BOF、Bookmark、EOF、Filter等属性。Open()方法的一般格式:Record.Open Recordsource,Connection,Cursor,Lock,Options其中Record是一个有效的Recordset对象。RecordSource参数是一个Variant类型的变量,指定了一个Command对象或者查询命令或存储过程,Cursor参数指定了Recordset对象所使用的游标类型,Lock参数指定了Recordset对象所使用的加锁类型,如果在调用Open()方法之前就知道RecordSource参数的内容就可以Options参数来优化查询。Bookmark属性:访问Bookmark属性,返回的是一个Variant型值,它是指向当前记录的索引。在Move()方法中使用书签可迅速得到当前记录。Filter属性:Filter属性用来过滤当前记录集中的记录。3使用ADO访问数据库实例Dim connect As ADODB.ConnectionDim record As ADODB.Recordsetconnect.Open “DataSource=DataName”,“xys”Set record=connect.Execute(“select * from XYS”)connect.Closerecord.Close执行以上语句后,便将XYS表中的所有记录集暂时保存到record中了。第四章 程序设计 在前一章已经对整个系统的功能进行了明确的划分,并详细研究了各个子模块的功能。本章的主要任务便是根据上一章对各个子模块功能的分析,在VB 6.0中来编写正确的容易理解、容易维护的代码。4.1登录模块编码设计 当运行系统时,首先出现的是登录窗口。要求输入用户名和密码,然后系统对密码进行检验,不正确则给出提示信息,正确便进入主窗体。密码是通过读取系统文件获得的,“登陆”按钮的代码如下:Private Sub Command1_Click() On Error Resume Next Dim Pwd As String strcn = Provider=Microsoft.Jet.OLEDB.4.0;Data Source= + App.Path + xys.mdb;Persist Security Info=False;Jet OLEDB:Database password=ycp rsdk strcn, select * from Sys where YHM=Admin Pwd = rs(MM).Value If Text1.Text = Pwd Then 密码正确进入系统 XYSND = Combo2.Text Unload Me MDIForm1.Show Else MsgBox 密码不正确,请重试!, , 提示 Exit Sub End IfEnd sub 执行这些条语句后,便将表中YHM=”Admin”所对应的“MM”中的信息存储到Pwd中了,并根据输入与Pwd中的值做比较,相同则登陆主窗体。4.2 密码修改模块编码设计 主要功能是对当前用户密码的修改。为了使密码确实是用户想输入的密码,系统提供了两个密码栏,对两次输入的密码进行检验,确保数据的准确。“确认”按钮代码如下:Private Sub Command1_Click() On Error Resume Next Dim Pwd As String rsdk strcn, select * from Sys where YHM=Admin Pwd = rs(MM).Value cn.Close If Text3.Text Pwd Then MsgBox 旧密码不正确!, , 提示 Exit Sub End If If Text1.Text Text2.Text Then MsgBox 两次输入的密码不一致!, , 提示 Exit Sub End If rsdk strcn, select * from Sys where YHM=Admin rs(MM).Value = Text1.Text rs.Update cn.Close MsgBox 密码修改成功!, , 提示End Sub4.3数据录入模块编码设计1.添加记录子模块 当有新同学取协议书时,我们要对他的签约信息添加到数据库中。在系统中部分内容可自动添加,减少了工作人员的工作量。当窗体加载时,便自动地将院别、专业、协议书上交日期及取走日期、备注等添加到相应控件中,用户可以自己选择。添加按钮是通过调用子函数AddData()来实现其添加功能的。函数AddData()代码如下:Private Sub AddData() 添加记录 On Error Resume Next Text1.Text = Option1.Value = True Combo3.Text = Combo4.Text = Combo5.Text = Text2.Text = Text3.Text = Text4.Text = Text5.Text = Text6.Text = DTPicker1.Value = Year(Now) & - & Month(Now) & - & Day(Now) DTPicker2.Value = Year(Now) & - & Month(Now) & - & Day(Now) DTPicker3.Value = Year(Now) & - & Month(Now) & - & Day(Now) Combo1.SetFocus Call ControlEnabled(True) Command1.Visible = False 添加按钮 Command3.Enabled = False 修改按钮 Command5.Enabled = True 取消按钮 Command6.Enabled = False 删除按钮 Command7.Enabled = False 上一记录 Command8.Enabled = False 下一记录End Sub 2.修改记录子模块 可以分别对各条记录进行修改并存储。修改功能的实现是通过修改按钮对子函数ModifyData()的调用实现的,子函数代码如下: Private Sub ModifyData() 修改记录 Call ControlEnabled(True) 控件可用 Command1.Enabled = False 添加按钮 Command3.Visible = False 修改按钮 Command5.Enabled = True 取消按钮 Command6.Enabled = False 删除按钮 Command7.Enabled = False 上一记录 Command8.Enabled = False 下一记录End Sub4.4数据导入模块编码设计 当遇到就业高峰的时候,一时之间会有很多人签协议,所以由一个人录入信息会造成大批人排队等待,严重影响办事效率。此模块主要是解决此问题。我们可以使多人在不同的电脑中录入信息,然后通过数据导入功能将记录导入到数据库中。导入的表既可以是Excel中也可以是Access中编辑的表。导入Access表是通过调用子函数ImportData()来实现的,代码如下:Private Sub ImportData() 导入数据(从ACCESS) On Error Resume Next Dim i As Long Dim j As Integer FROMEXCEL = False CommonDialog1.Filter = (*.mdb)|*.mdb CommonDialog1.ShowOpen If CommonDialog1.FileName = Then Exit Sub Unload Form4 Form4.Show 效果窗体End Sub4.5数据导出模块编码设计本模块是本系统的特色模块,它通过对Excess中单元格的控制完成了数据导出功能。导出到Excell中的数据可以随便的编辑和打印。“确定”按钮的代码如下:Private Sub Command1_Click() On Error Resume Next Dim i As Integer Dim j As Integer Dim t As Integer Dim c As Integer 输出到EXCEL中 Me.Caption = 正在导出数据. MDIForm1.Enabled = False Me.Enabled = False Command1.Enabled = False Set ex = CreateObject(excel.application) Set exwbook = ex.Workbooks.Open(App.Path & Print.xls) exwbook.Sheets(1).Select ex.Cells.Select ex.Selection.ClearContents ex.Cells(1, 1).Select 输出标题 j = 1 For i = 0 To Check1.Count - 1 If Check1(i).Value = 1 Then exwbook.Sheets(1).Cells(1, j).Value = Check1(i).Caption j = j + 1 End If Next i j = 1 If Form2.XXTJ Then rsdk strcn, Select * from XYS & Form2.XXTJ & AND ND= & XYSND & & PXTJ Else rsdk strcn, Select * from XYS & where ND= & XYSND & & PXTJ End If For i = 0 To rs.RecordCount - 1 For t = 0 To Check1.Count - 1 If Check1(t).Value = 1 Then exwbook.Sheets(1).Cells(i + 2, j).Value = rs.Fields(j) j = j + 1 End If Next t j = 1 c = c + 1 Me.Caption = 正在导出第 & c & 条数据 rs.MoveNext Next i Me.Caption = 导出到EXCEL MDIForm1.Enabled = True Me.Enabled = True Command1.Enabled = True ex.Visible = True Timer1.Enabled = TrueEnd Sub导入Excel表和上面代码类似,这里不再累述。运行窗口如图4-1。图4-1 4.6协议书统计模块编码设计 就业处是经常需要对协议书上交和取走份数进行统计的,本模块通过SQL中的count函数对相关表进行操作从而计算出上交份数和取走份数显示在文本框中。此部分代码较简单此处就不给出了,希望自己能够编写出来。4.7帮助模块程序设计 本模块主要包括版本信息以及制作人的相关信息。应用的都是对各个控件属性的设置。第五章 测试与维护5.1测试在开发软件系统的过程中,会遇到各式各样的问题,因此,在软件生存周期的每个阶段都不可避免地会产生错误。测试的目的就是对系统进行技术审查,纠正可能发生的错误。目前软件测试仍然是保证软件质量的关键步骤,它是对软件规格说明、设计和编码的最后复审。与开发过程类似,测试过程也必须分步骤进行,每个步骤在逻辑上是前一个步骤的继续。软件系统通常由若干个子系统组成,每个子系统又由许多模块组

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论