2.2 学生管理信息系统功能模块简介 系统的功能模块包括学生管理模块和系统管理模块。学生信息管理模块是可以对学生进行查询、录入、修改、删除等操作,动态了解各学生基本信息。系统管理模块是让个系统管理负责人进行系统数据的添加,修改,删除,查询,统计等工作,提高了工作效率。 copyright paper51.com 2.3 系统具体功能描述 http://www.paper51.com 2.3.1 学生信息管理模块功能 内容来自www.paper51.com 登陆界面如下图所示: copyright paper51.com
内容来自www.paper51.com 输入正确用户名和密码,点击“登陆”即可进入。 http://www.paper51.com 学生成绩查询界面如下图所示: copyright paper51.com
copyright paper51.com 选定条件后点击查找按钮进行查找即可。 copyright paper51.com
系统主菜单界面图如下: copyright paper51.com copyright paper51.com 点击左侧对应的链接即可访问相应的功能页面。 http://www.paper51.com
paper51.com 学生基本信息录入,按照要求填写好学生的各项基本资料 http://www.paper51.com 点击“录入”即可。 http://www.paper51.com
2.3.2 系统管理模块功能 paper51.com 公告管理:输入标题和内容点击“发布”即可。 paper51.com
内容来自论文无忧网 www.paper51.com 班级管理:选择年级和专业后可以进行班级的添加。 paper51.com
内容来自论文无忧网 www.paper51.com 专业开设情况查阅: http://www.paper51.com copyright paper51.com 课程管理:进行课程的添加、修改和删除等操作。 copyright paper51.com
paper51.com 用户管理:用户权限、密码修改和用户删除、添加等 http://www.paper51.com copyright paper51.com 2.4 学生信息管理系统性能需求 copyright paper51.com 由于学生信息管理系统包含有太多信息,因此,在系统设计的时候除了注重用户的需求,还要保证系统的安全性和可靠性。不同的用户拥有不同的权限,永远最高权限的管理员才能添加,更新,修改,删除数据,只有一般权限的用户(学生)只能读取,浏览信息,保证了系统的安全性。并在保证安全性和可靠性的前提下尽量满足系统的高效性。 paper51.com 2.5 学生管理信息系统的分析和概要设计 paper51.com 2.5.1 学生管理信息系统分析 http://www.paper51.com
根据实际情况,使用快速原型法(Rapid Prototyping)即以少量代价快速地构造一个可执行的软件系统模型。这样,可以较快地确定需求,然后采用循环进化的开发方式,对系统模型作连续的精化,将系统需具备的性质逐渐增加上去,直到所有的功能全部满足。 paper51.com 快速原型法也称为面向对象方法是近年来针对结构程序设计(SA—SD—SP)的缺陷提出的设计新途径,是适应当前计算机技术的进步及对软件需求的极大增长而出现的。是一种快速、灵活、交互式的软件开发方法学。其核心是用交互的、快速建立起来的原型取代了形式的、僵硬的(不易修改的)大快的规格说明[7]。 内容来自论文无忧网 www.paper51.com 所谓的快速原型是快速建立起来的可以在计算机上运行的程序,它所能完成的功能往往是最终系统能完成的功能的一个子集。如下图所示(图中的实线箭头表示开发过程,虚线箭头表示维护过程),快速原型模型的第一步是快速建立一个能反映基本需求的原型模型,并让其在计算机上能试运行,通过实践来了解目标系统的概貌。 copyright paper51.com 图4 快速原型模型 copyright paper51.com 从上图可以看出,快速原型模型是不带反馈环的,这正是这种过程模型的主要优点:系统的开发基本上是线性顺序进行的。系统通过与用户交互而得到验证,据此得到验证正确地描述了用户的需求,因此,在开发过程的后续阶段不会因为发现了设计文档的错误而进行较大的返工。 内容来自论文无忧网 www.paper51.com 通过建立原型系统可以学到许多的东西,至少可以知道了“系统该做什么,不应该做什么,以及怎样不去做不该做的”,所以,在设计和编码阶段发生错误的可能性也比较小,这自然减少了在后续阶段需要改正前面阶段所犯的错误的可能性。 内容来自论文无忧网 www.paper51.com 快速原型的本质是“快速”。原型的用途是获知用户的真正需求。一旦需求确定下来,原型将被抛弃。因此,原型系统的内部结构并不重要,重要的是,必须迅速地构件原型,然后根据用户的需求迅速的修改原型。 copyright paper51.com
依据此设计思想,通过对用户需求的分析,将学生管理信息系统大致分为五个模块:学生基本情况管理模块、党费管理模块、日常事务管理模块、预备学生基本情况管理模块,学生干部基本信息管理。 内容来自www.paper51.com 图5 学生管理信息系统模块示意思图 内容来自www.paper51.com 2.5.2 学生管理信息系统数据库设计 copyright paper51.com
数据库设计 内容来自www.paper51.com (1)数据库的概念 paper51.com 数据库处理在信息系统的研究中一直是非常重要的主题,然而,近年来,随着World Wide Web(WWW)的猛增及Internet技术的迅速发展,使得数据库技术之时成为最热门技术之一。数据库技术能使Internet应用超越具有早期应用特点的简单的发布。同时,Internet技术提供了一种向用户发布数据库内容的标准化的访问方法。这些技术没有脱离经典数据库技术的要求。它们只是加重了数据库技术的重要性。数据库的设计和开发及包括艺术有包括工程。理解用户的需求,然后,把它们转变为有效的数据库设计是一个艺术过程。把设计转变为实际的数据库,并且这些数据库带有功能完备、高效能的应用,是一个工程过程。数据库的目的是帮助人们跟踪事务。经典的数据库应用涉及诸如订单、顾客、工作、员工、学生、电话之类的项,或其它数据量较大、需要密切关注的事务。最近,由于数据库的普及,数据库技术已经被应用到了新的领域,诸如用于Internet的数据库或用于公司内联网的数据库。数据库也被越来越多地应用于生成和维护多媒体应用程序上。计算机的数据处理应用,首先要把大量的信息以数据形式存放在存储器中。存储器的容量、存储速率直接影响到数据管理技术的发展。从1956年生产出第一台计算机到现在,存储器的发展,为数据库技术提供了良好的物质基础。使用计算机以后,数据处理的速度和规模,无论是相对于手工方式,还是机械方式,都有无可比拟的优势。通常在数据处理中,计算是比较简单的而数据的管理却比较复杂。数据管理是指数据的收集、整理、组织、存储、维护、检索、传送等操作,这部分操作是数据处理业务的基本环节,而且是任何数据处理业务中必不可少的共有部分。数据管理技术的优劣,将直接影响数据处理的效率。 http://www.paper51.com 数据库在一个信息管理系统中占有非常重要的位置,数据库结构设计的好坏将直接对应用系统的效果产生影响。合理的数据库设计可以提高数据库存储效率,保证数据的完整和一致。同时合理的数据结构也将有利于程序的实现。 内容来自论文无忧网 www.paper51.com 设计数据库系统时,应该首先了解用户的各个方面的需求,包括现有的以及将来可能增加的。 内容来自www.paper51.com (2)创建数据库文件 paper51.com
如果操作系统中安装了ACCESS2000的话,可以在开始菜单的程序菜单中可以找到。如下所示: copyright paper51.com
paper51.com 打开ACCESS2000之后,会开启一个窗口,可选择是打开以前的数据库文件还是新建一个新的空数据库文件,如果选择空ACCESS数据库,然后点击确定按钮。这些就新建了一个数据库文件。 内容来自论文无忧网 www.paper51.com
最后一步就是要选择一个要保存数据库文件的名字和位置。点击创建就完成。 paper51.com
内容来自www.paper51.com (3) 怎样创建一个数据表 内容来自论文无忧网 www.paper51.com 上面已经讲了如何创建一个数据库文件,按照上面的步骤建立一个数据库文件后,需要在数据库文件中建立一个数据表。 内容来自论文无忧网 www.paper51.com
在下面的对话框中选”使用设计器创建表”,上面还有三个按钮,一个是打开,一个是设计,一个是新建,点击设计,就可以开始设计数据表了。 paper51.com paper51.com 出现设计的界面后,就可以开始设计数据表了! 内容来自www.paper51.com
paper51.com
(4) VB连接ACCESS2000数据库 paper51.com 用vb编写一个管理软件,如果不能连接数据库,那也没有什么用处。先看看VB是如何与ACCESS2000数据库相连接的。 copyright paper51.com Sub ConnStr() 内容来自www.paper51.com '连接数据库 内容来自www.paper51.com Set conn = CreateObject("ADODB.Connection") '建立数据库连接对像 内容来自论文无忧网 www.paper51.com DBpath = App.Path & "\" & "data.mdb" '设置数据的路径 内容来自www.paper51.com
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &DBpath '打开数据库连接 paper51.com
Set rs = CreateObject("ADODB.Recordset") '设置数据库对像 paper51.com End Sub http://www.paper51.com 上面的一段代码就是连接数据库的。上用到了三个变量conn,Dbpath,rs。其中有两个变量要定义为公用的变量,因为这段代码是放在一个模块中的,为了在每一个窗体中能够使用这个变量,所以必须要声明为公用变量。声明公用变量的方法如下: copyright paper51.com Public conn paper51.com
Public rs paper51.com
上面就是声明为公用变量,上面的声明一定要放在模块的最上面。如果声明在下面,那就成了局部变量,那么作用范围就会不同了,作用就更不同,而且在其它窗体中使用到了这个变量,程序会出错。 内容来自论文无忧网 www.paper51.com 本管理信息系统根据需求只建立了一个数据库,并在此数据库基础上建立如下用户表[2]: copyright paper51.com
学生基本信息表 CommyInfo paper51.com 入党申请人基本信息 AplInfo 内容来自论文无忧网 www.paper51.com 入党积极分子基本信息表 ActiveInfo paper51.com
学生干部基本信息表 CadreInfo copyright paper51.com
党费交纳基本信息表 PTFee paper51.com
发展学生基本信息表 DvlpCommyInfo http://www.paper51.com
预备学生基本信息表 PreCommyInfo 内容来自www.paper51.com 党课安排表 Arrange http://www.paper51.com
另外,根据系统维护需要,另外建立两个表,用以存放管理员和系统普通用户信息以便管理。 copyright paper51.com 管理员基本信息表 Admin 内容来自www.paper51.com
用户基本信息表 UserInfo 内容来自论文无忧网 www.paper51.com 下面进行详细说明[3]。 内容来自www.paper51.com 正式学生基本信息表 CommyInfo 内容来自论文无忧网 www.paper51.com
主键:姓名name copyright paper51.com 列名(中文) copyright paper51.com 列名(英文) 内容来自www.paper51.com 数据类型 内容来自论文无忧网 www.paper51.com 宽度 paper51.com 是否为空 paper51.com 序号 内容来自www.paper51.com id http://www.paper51.com int 内容来自www.paper51.com 4 paper51.com No 内容来自www.paper51.com 班级 http://www.paper51.com depart http://www.paper51.com char http://www.paper51.com 20 http://www.paper51.com
Yes 内容来自www.paper51.com 姓名 内容来自论文无忧网 www.paper51.com
name 内容来自论文无忧网 www.paper51.com
varchar 内容来自论文无忧网 www.paper51.com 20 paper51.com No paper51.com
性别 内容来自论文无忧网 www.paper51.com
gender paper51.com char http://www.paper51.com
2 内容来自论文无忧网 www.paper51.com No 内容来自www.paper51.com 单位(组织) 内容来自www.paper51.com
organize copyright paper51.com
varchar http://www.paper51.com 20 内容来自www.paper51.com Yes http://www.paper51.com
出生日期 http://www.paper51.com bthday 内容来自www.paper51.com smalltime 内容来自论文无忧网 www.paper51.com 4 paper51.com Yes paper51.com 民族 paper51.com nation 内容来自www.paper51.com char 内容来自www.paper51.com 5 paper51.com
Yes 内容来自论文无忧网 www.paper51.com 籍贯 http://www.paper51.com ntvpl paper51.com
varchar copyright paper51.com
20 http://www.paper51.com Yes paper51.com 学历 内容来自www.paper51.com enducation paper51.com varchar http://www.paper51.com 6 内容来自论文无忧网 www.paper51.com Yes paper51.com 入党时间 paper51.com initiate 内容来自www.paper51.com smalltime copyright paper51.com 4 paper51.com Yes paper51.com
转正时间 内容来自论文无忧网 www.paper51.com worktime paper51.com
smalltime copyright paper51.com 4 paper51.com
Yes 内容来自www.paper51.com 职务 内容来自论文无忧网 www.paper51.com duty 内容来自论文无忧网 www.paper51.com
char http://www.paper51.com 20 copyright paper51.com Yes 内容来自论文无忧网 www.paper51.com 备注 paper51.com remark 内容来自论文无忧网 www.paper51.com varchar http://www.paper51.com 50 内容来自www.paper51.com Yes copyright paper51.com 表1 正式学生基本信息表 内容来自论文无忧网 www.paper51.com
入党申请人基本信息表 AplInfo copyright paper51.com 主键:姓名 name http://www.paper51.com 列名(中文) paper51.com 列名(英文) 内容来自论文无忧网 www.paper51.com
数据类型 内容来自www.paper51.com
宽度 copyright paper51.com 是否为空 http://www.paper51.com 序号 copyright paper51.com
id 内容来自www.paper51.com int paper51.com 4 内容来自www.paper51.com
No paper51.com 班级 内容来自论文无忧网 www.paper51.com
depart 内容来自www.paper51.com
char http://www.paper51.com 20 copyright paper51.com
Yes paper51.com 姓名 paper51.com name 内容来自www.paper51.com varchar 内容来自www.paper51.com
20 paper51.com
No 内容来自论文无忧网 www.paper51.com
性别 内容来自论文无忧网 www.paper51.com gender paper51.com char http://www.paper51.com 2 paper51.com
No http://www.paper51.com 出生日期 内容来自论文无忧网 www.paper51.com bthday paper51.com smalltime 内容来自论文无忧网 www.paper51.com
4 内容来自www.paper51.com
Yes http://www.paper51.com 民族 paper51.com nation paper51.com
char http://www.paper51.com 5 内容来自www.paper51.com Yes http://www.paper51.com 籍贯 内容来自www.paper51.com
ntvpl paper51.com varchar copyright paper51.com
20 内容来自论文无忧网 www.paper51.com Yes 内容来自www.paper51.com
(4)更新、删除、插入操作。利用SqlCommand对象设置相应的SQL命令来完成相应的操作。例: 内容来自www.paper51.com
执行查询SQL的语句,返回一个数据表: paper51.com public static DataTable executeQuery(stringQueryString) 内容来自www.paper51.com { 内容来自论文无忧网 www.paper51.com DataTable MyDataTable=new DataTable();//初始化数据表 paper51.com DataSet MyDataSet=new DataSet(); copyright paper51.com
try copyright paper51.com { copyright paper51.com
MysqlConnection .Open(); 内容来自www.paper51.com
SqlDataAdapter sqlDataAdapter=newMySqlDataAdapter(QueryStrng,MysqlConnection); //初始化一个适配 器 内容来自www.paper51.com
MysqlDataAdapter.Fill(MyDataSet,”Table”);//利用Fill方法将数据库中的数据读DataSet中 paper51.com MyDataTable=MyDataSet.Tables[”Table”]; copyright paper51.com } http://www.paper51.com catch(Exception e) http://www.paper51.com { paper51.com
MessageBox.Show(e.Message.ToString()); paper51.com } paper51.com return MyDataTable; 内容来自www.paper51.com
} copyright paper51.com 执行非查询语句,对数据库进行操作: 内容来自www.paper51.com public staticvoid executeNonQuery(string cmdText) http://www.paper51.com { copyright paper51.com try paper51.com
{ copyright paper51.com MysqlConnection .Open(); copyright paper51.com SqlCommand MySqlCommand =newSqlCommand(NonQueryString, MysqlConnection); paper51.com
MySqlCommand.ExecuteNonQuery(); http://www.paper51.com } 内容来自论文无忧网 www.paper51.com catch(Exception e) copyright paper51.com { http://www.paper51.com MessageBox.Show(e.Message.ToString()); paper51.com } copyright paper51.com
} copyright paper51.com 3.2.4 DataGrid控件的数据绑定 paper51.com MyDataGrid.DataSource=MyDataSet.Tables[”Table”];; 内容来自www.paper51.com MyDataGrid.DataBind(); copyright paper51.com
3.2.5 DataGrid控件的定义 内容来自www.paper51.com <asp:DataGrid id=”DataGrid1” runat=”server” DataKeyField=”id”Font-Size=”Smaller” PageSize=”8” AllowPaging=”True” AllowSorting=”True”AutoGenerateColumns=”False” CellPadding=”4” BackColor=”White” BorderWidth=”1px”BorderStyle=”None” BorderColor=”#CC9966” Height=”316px” Width=”878px”> 内容来自www.paper51.com </asp:DataGrid> 内容来自论文无忧网 www.paper51.com 如下图所示: http://www.paper51.com 图9 DataGrid示意图 内容来自论文无忧网 www.paper51.com DataGrid在输出HTML是设计成以表格的形式输出数据。每一条记录输出时会建立一对<tr>标签,而每个字段的值输出时则建立一对<td>标签。 内容来自www.paper51.com DataGrid含有几个属性可以提高其可用性。如,通过设置DataGrid的AllowSorting属性为true,并加入少量代码,DataGrid就具备了按不同字段排序的功能。此外,设定相关属性来实现分页以及单条记录编辑的功能更加增强了DataGrid的可用性。除了在可用性方面的支持以外,DataGrid同时也相当节省开发时间。使用DataGrid在WEB页面上显示数据只需要两行代码。一行用来设定与DataGrid绑定的数据源(DataSource),另一条则用来执行绑定命令(DataBind()。 paper51.com 7 又再,DataGrid控件的AutoGenerateColumns属性的功能,此属性的默认值为true。当设置为true时,DataGrid将使用reflection检查其数据源和对象,并为每个公用属性或字段创建一个列。若DataGrid的AutoGenerateColumns属性被设置为假,会阻止控件自动生成列,而让用户负责定义将要在表中表示的列。这样有许多好处: http://www.paper51.com 8 可控制列的顺序。以声明的顺序表示列。另一方面,自动生成的列是用映像检索到的顺序表示的,此顺序不必与代码中的列顺序或数据库表本身的列顺序相匹配。 内容来自论文无忧网 www.paper51.com 9 可以用列的headerText属性来指定每列的标头。在前一个示例中,列标头指明了字段名,这可能并不合适。当在此模式下使用控件时,Columns还提供其它可设置的属性。 内容来自www.paper51.com
10 自动生成的列的类型始终是BoundColumn。指定列集合使用户可以控制每列的类型。 http://www.paper51.com 每个在DataGrid中的列都是DataGridColumn类的一个实例。有四种DataGrid列的形式: 内容来自论文无忧网 www.paper51.com 1 BoundColumn 绑定列 http://www.paper51.com 2 ButtonColumn 按钮列 内容来自www.paper51.com 3 HyperLinkColumn 超级链接列 copyright paper51.com 4 TemplateColumn 模板列 内容来自www.paper51.com 每种类型都会以一种方式允许页面访问与DataGrid进行交互。BoundColumn将DataSource的字段值显示为纯文本;ButtonColumn不绑定任何的字段,它包含有五种DataGrid的事件:DataGrid1_SelectedIndexChanged选择,DataGrid1_EditCommand编辑,DataGrid1_CancelCommand取消,DataGrid1_UpdateCommand新,DataGrid1_DeleteCommand删除,只需要添加少量代码,DataGrid就具备对绑定数据进行删除,更新的功能;HyperLinkColumn将其显示为一个超级链接;TemplateColumn则是将绑定了的字段列转换为可以编辑的模板。另外,开发者可以通过写一个继承自DataGridColumn的自定义类来定制DataGrid列的样式。 copyright paper51.com 因为DataGrid是从WebControl得到的,所以DataGrid控件继承了诸如Width、BackColor、BorderStyle和Font.Name之类的样式属性。此外,DataGrid提供诸如CellPadding这样的属性,这些属性是特定于表的。这些属性允许从总体上定制控件。设置的若干项目样式,如headerStyle和Alternating 、ItemStyle。这些样式控制着它们相应项目的外观。 DataGrid还允许格式化其单元格中的文本内容。这是通过设置Bound Column的DataFormatString属性值完成的。该列使用其格式说明格式化使用String.Format的单元格内容。此属性可随格式化类型(如日期或货币)一起预置或附加任意内容。此外,由于格式考虑了当前页的CultureInfo和请求,所以它也支持全局化。如果未指定格式,则使用该值的ToString方法。 paper51.com DataGrid处理命令事件,该事件是通过包含在其项目中的按钮触发的。它识别标准命令,该命令使其更改它的属性,并通过触发此事件来将此更改通知用户的代码。如下例子说明如何通过处理DeleteCommand事件,利用DataGrid中的选择: 内容来自www.paper51.com
Privatevoid DataGrid1_DeleteCommand( object source, System.Web.UI.WebControls.DataGridCommandEventArgs e) paper51.com
{ http://www.paper51.com String StrSql=”Delete From commyinfo WhereID=”+DataGrid1.DataKeys[e.Item.ItemIndex].ToString(); 内容来自www.paper51.com MysqlConnection .Open(); 内容来自论文无忧网 www.paper51.com SqlCommand MySqlCommand =new SqlCommand(NonQueryString, MysqlConnection); http://www.paper51.com MySqlCommand.ExecuteNonQuery(); paper51.com } paper51.com
|