1、 管理信息系统 课程设计 课程设计题目 学生信息 管理系统 课程名称 管理信息系统 姓名 学号 所在专业 信息管理与信息系统 所在班级 指导教师 日期 II 目 录 1.前言 .1 1.1 开发工具的介 绍 . 1 1.2 程序设计思想 . 1 2.需求分析 .1 2.1 学生信息管理系统概述 . 1 2.1.1 用户简介 . 2 2.1.2 项目目的和目标 . 2 2.2 系统用户分析 . 2 2.3 UML 用况图建模 . 2 2.4 功能需求分析 . 3 2.5 其他用户需求: . 3 2.6 目标系统假设与约束条件 . 3 2.6.1 硬件环境 . 3 2.6.2 软件环境 . 4 2
2、.7 参考资料 . 4 3.概要设计 .4 3.1 系统模块设计 . 4 3.2 数据库设计 . 4 3.3 数据库物理设计 . 4 4.详细设计: .5 4.1 关键步骤和代码 . 5 4.1.1 数据库连接配置 . 5 4.1.2 系统登录首页 . 5 4.1.3 AJAX 用户验证功能模块 . 6 4.1.4 添加功能模块 . 7 4.1.4 编辑和删除功能模块 . 7 4.2 实现效果 . 8 5.实验总结 .9 1 1.前言 1.1 开发工具的介绍 ASP.net ASP.net 是一种建立在通用语言上的程序构架,能被用于一台 Web 服务器来建立强大的 Web 应用程序。 ASP.
3、net 提供许多比现在的 Web 开发模式强大的优势 ,使执行效率大幅提高 。 ASP.net 是把基于通用语言的程序在服务器上运行。不像以前的 ASP 即时解释程序,而是将程序在服务器端首次运行时进行编译,这样的执行效果,当然比一条一条的解释强很多。 Microsoft SQL Server 2000 SQL Server 是 Microsoft 公司开发的大型关系数据库管理系统,具有强大的关系数据库创建、开发、设计和管理功能。其 SQL Server 2000 版本已将数据库与 Internet 紧密连接,可以通过 Web 浏览器显示对数据库操作的结果数据,具有客户机服务器体系结构。 SQ
4、L Server 2000 提供了对分布式事务处理的支持,并对开发工具具有良好的支持,为大型数据库项目提供了企业解决方案。 SQL 是关系数据库的标准语言。操作数据库有多种途径:使用企业管理器、使用查询分析器、编程中使用 T-SQL 语句或使用交互命令形式等。 IIS IIS( Internet Information Server)是微软公司主推的服务器,包容了 World Wide Web Gopher server 和FTP server, IIS 是随 Windows XP 一起提供的文件和应用程序服务器,是在 Windows XP2 上建立 Internet服务器的基本组件。它能与
5、Windows XP2 集成,因而能通过 Windows XP2 内置的安全性以及自身的安全性建立强大,灵活而安全的 Internet 和 Intranet 站点。 IIS 支持 HTTP( Hypertext Transfer Protocol,超文本传输协议), FTP( File Transfer Protocol,文件传输协议)以及 SMTP 协议,通过使用 CGI 和 ISAPI, IIS可以得到高度的扩展。 IIS 支持与语言无关的脚本编写和组件,通过 IIS,开发人员就可以开发新一代动态的,富有魅力的 Web站点。 IIS不需要开发人员学习新的脚本语言或者编译应用程序, IIS完
6、全支持 VBScript,JavaScript 脚本语言以及 C#等编语言。 1.2 程序设计思想 本 学生信息管理 系统中,运用到了 , c#, javascript, 语 言等等。本系统功能主要有 增加、删除、编辑、查询 等功能,能够满足基本的要求,但由于时间上的关系,本系统数据库的测试数据并不多。 管理员又分为超级管理员和普通管理员,超级管理员能够增加和删除管理员,而普通管理员不能对管理员进行操作,只能对学生信息进行维护。学生可以登录本系统进行相应 查询自己的学籍信息、课程和成绩信息等。 2.需求分析 2.1 学生信息管理系统概述 学生信息管理系统是各大高校所不可缺少的一部分,随着计算机
7、水平的快速提高,学生信息管理系统也在不断地发展和完善。 本管理系统主要包括了学生的信息管理以及课 程和成绩管理,基本上实现了管理信息系统所必须的功能。 2 2.1.1 用户简介 如果 学校 仍采用手工管理 学生信息 的方法,不仅效率低、易出错、手续繁琐,而且耗费大量的人力。为了满足 学校 管理人员对 学生信息 等进行高效的管 理, 在工作人员具备一定的计算机操作能力的前提下,特编此 学生信息 管理系统软件以提高管理效率。 2.1.2 项目目的和目标 管理员可以对本系统进行维护,但先要进行身份验证,成功后才可以实施管理员的权限。它具有开放性强操作性强工作效率高等特点。 管理员又分为超级管理员和普
8、通管理员,超级管理员能够增加 和删除管理员,而普通管理员不能对管理员进行操作,只能 对学生信息进行维护。 学生可以登录本系统进行相应 查询自己的学籍信息、课程和成绩信息等,但不可对其进行操作。 本管理信息系统主要实现权限 的操作,根据用户不同的权限来实现具体的操作。 2.2 系统用户分析 “学生信息管理系统” 通常有三种用户 : 系统 管理员 , 普通管理员 (教师 )和 学生。 如下表就是提供了不同用户的使用权限 : 用户角色 权限 系统管理员 对系统,数据库进行维护,主要对不同人员赋于不同的权限 ,增加和删除普通管理员 普通 管理员 维护和管理学生基本信息、课 程信息、成绩信息等,进行相应
9、地添加、删除和修改。 学生 查询个人信息以及课程 信息 和成绩信息 2.3 UML 用况图建模 以下根据各个用户的职能进行建模 。 图如下是读者用况分析 , 图如下是 学生信息 管理系统用况分析 : 系统管理员用况分析 学生 用况分析 学籍信息 查询 课程信息查询 成绩信息查询 学生 添加、删除管理员 修改管理员密码 系统管理员 3 系统管理员用况分析 2.4 功能需求分析 运用 VS 2005+SQL 2000 开发一个学生信息 管理系统,包括成绩查询界面、系统后台数据管理界面、实现分页、运用 XML 以及 AJAX 技术,系统设计运用分层 和权限设计 的思想。有相关信息的查询、添加、删除、
10、编辑和运用 AJAX 用户验证等等功能 。 2.5 其他用户需求: a).性能要求。 查询服务部分:用户通过本地多媒体计算机,从提交查询命令到返回结果不超过 5 秒钟,数据管理部分:从提交一次录入到结果返回不超过 5 分钟,当资源不能满足借阅要求时,应首先予以提示,不能出现死循环或无限等待。 b).灵活性要求。 各种字典数据的编码要尽可能采 用行业标准,自 5 行 1 编 a 码 s 也 px 应合乎规范,并 征得相关业务部门认可,数据库设计应考虑可扩充性,以适应今后学校 发展和系统升级的需要, c).故障处理要求 正常使用时不应出错,若运行时遇到不可恢复的系统错误,也必须保 51 证 asp
11、x 数据库完好无损,在系统出错后,就能恢复回原来备份的数据库。 2.6 目标系统假设与约束条件 2.6.1 硬件环境 建议硬盘空间: 1GB 以上 建议内存: 512MB 或者更高 建议 CPU: 1.8GHz 以上 学生学籍信息管理 课程信息管理 成绩信息管理 修改密码 普通管理员 添加、删除和修改 添加、删除和修改 添加、删除和修改 修改 4 2.6.2 软件环境 操 作系统: Microsoft Windows 2000/NT/XP/vista 或更高版本 数据库系统: SQL Server 2000 开发 平台 和 语言: VS2005、 ASP.NET、 C# 2.7 参考资料 管理
12、信息系统分析与设计 , 邝孔武 编著,西安电子科技 大学出版社, 2006 年 12 月 ASP.NET Web 程序设计,蒋培 王笑梅 编著,清华大学出版社, 2008 年 6 月 ASP.NET 数据库高级教程 (C#篇 ),李应伟 编著,清华大 学出版社, 2004 年 7 月 源码下载及讨论地址: http:/ 3.概要设计 3.1 系统模块 设计 3.2 数据库 设计 数据库设计包括数据库需求分析、数据库概念设计 5 和 1 数 A 据 S 库 P 物 X 理设计。数据库设计的目的,是为信息系统在数据库服务器上建立一个理想的数据模型。 3.3 数据库物理设计 数据库物理设计是指设计出
13、数据库的物理数据模型,它是数据库在物理设备上的具体实现,即数据库服务 器物理空间上的表空间、表、字段、索引、视图、储存过程、触发器,以及相应的数据字典的设计。 学生学籍表: 学生信息管理系统 学籍管理 课程管理 成绩管理 密码管理 系统帮助 5 成绩表: 4.详细设计: 4.1 关键步骤和代码 4.1.1 数据库连接配置 Web.ConFig 配置: 在程序中读取 Web.ConFig 配置读取文档中的数据库设置信息,只要使用如下语 句即可,语句如下: string strconn = ConfigurationManager.AppSettings“connStr“; SqlConnecti
14、on conn = new SqlConnection(strconn); conn.Open(); 4.1.2 系统 登录 首页 具体代码和权限如下: string strconn = ConfigurationManager.AppSettings“connStr“; SqlConnection conn = new SqlConnection(strconn); conn.Open(); DataSet ds=new DataSet () ; SqlDataAdapter da = new SqlDataAdapter(“select * from users where userid=
15、“ + txtid.Text + “ and userpwd=“ + txtpassword.Text + “, conn); 课程信息表: 用户表: 系统管理员表: 6 da.Fill(ds); if (ds.Tables0.Rows.Count=0) Label3 .Text =“验证失败!账号或密码有错,请重新输入 “; else Session “userid“=txtid .Text ; Session“userpwd“ = txtpassword.Text; Session“username“ = ds.Tables0.Rows0“username“.ToString(); Ses
16、sion“userpower“ = ds.Tables0.Rows0“userpower“.ToString(); if (Session“userpower“.ToString () = “0“) Response.Redirect(“admin/index.aspx“); else if (Session“userpower“.ToString() = “1“) Response.Redirect(“student/index.aspx“); else Label3.Text = “对不起,你没有权限进行操作 “; conn.Close(); ds.Clear (); 4.1.3 AJAX
17、 用户验证功能模块 主要代码如下 : 定义 XMLHttp 对象: var xmlHttp = false; try xmlHttp = new ActiveXObject(“Msxml2.XMLHTTP“); catch (e) try xmlHttp = new ActiveXObject(“Microsoft.XMLHTTP“); catch (e2) xmlHttp = false; if (!xmlHttp function checkuserid() var u_name = document.getElementById(“userid“).value; if (u_name =
18、 null) | (u_name = “) return; var url = “checkuser.aspx?name=“ + escape(u_name); xmlHttp.open(“GET“, url, true); xmlHttp.onreadystatechange = updatePage; xmlHttp.send(null); function checkcourseid() var u_name1 = document.getElementById(“courseid“).value; if (u_name1 = null) | (u_name1 = “) return;
19、var url = “checkcourseid.aspx?name=“ + escape(u_name1); xmlHttp.open(“GET“, url, true); xmlHttp.onreadystatechange = updatePage; xmlHttp.send(null); 异步获取的信息显示在当前页: function updatePage() if (xmlHttp.readyState 上 string strconn = ConfigurationManager.AppSettings“connStr“; SqlConnection conn = new SqlC
20、onnection(strconn); string nam = 7 Request.QueryString“name“.ToString(); string sql = “select userid from students where userid=“ + nam + “; SqlCommand DBHelper; DBHelper = new SqlCommand(sql, conn); conn.Open(); SqlDataReader dr = DBHelper.ExecuteReader(); if (dr.Read() Response.Write(“该学号已经存在,请换一个
21、 “); else Response.Write(“该学号可以使用 “); dr.Close();4.1.4 添加功能模块 主要代码: if (userid.Text.ToString() =“) return; string strconn = ConfigurationManager.AppSettings“connStr“; SqlConnection conn = new SqlConnection(strconn); string sqlstr = “; sqlstr = “insert into students(userid,username,sex,minzu,birthday
22、,intime,class,comefrom,beizhu)values(“ + userid.Text + “,“ + txtusername.Text + “,“ + txtsex.SelectedItem.Value + “,“ + txtminzu.Text + “,“ + txtbirthday.Text + “,“ + txtintime.Text + “,“ + txtclass.Text + “,“ + txtcomefrom.Text + “,“ + txtbeizhu.Text + “)“; conn.Open(); mycmd = new SqlCommand(sqlst
23、r, conn); mycmd.Dispose(); try mycmd.ExecuteNonQuery(); string sqlstr1 = “; sqlstr1 = “insert into users(userid,username)values(“ + userid.Text + “,“ + txtusername.Text + “) “; SqlCommand mycmd1 = new SqlCommand(sqlstr1, conn); mycmd1.Dispose(); try mycmd1.ExecuteNonQuery(); Response.Write(“javascri
24、pt:alert(添加成功 !);“); catch (SqlException) Response.Write(“javascript:alert(添加失败 !);“); finally sqlstr1 = “; catch (SqlException) Response.Write(“javascript:alert(添加失败 !);“); finally conn.Close(); sqlstr = “; 4.1.4 编辑和删除功能模块 编辑主要代码: sql = “update students set userid=“ + userid.Text + “,username=“ + t
25、xtusername.Text + 8 “,minzu=“ + txtminzu.Text + “,sex=“ + txtsex.SelectedItem.Value + “,birthday=“ + txtbirthday.Text + “,intime=“ + txtintime.Text + “,class=“ + txtclass.Text + “,comefrom=“ + txtcomefrom.Text + “,beizhu=“ + txtbeizhu.Text + “where userid=“ + uid + “; cmd=new SqlCommand (sql,conn );
26、 conn.Open(); try cmd.ExecuteNonQuery(); Label11.Style“color“ = “blue“; Label11.Text = “编辑成功 “; Response.Write(“javascript:alert(编辑成功 !);“); catch(SqlException ) Label11.Text = “编辑失败 “; Label11.Style“color“ = “red“; 删除主要代码: sql = “delete from students where userid=“ + uid + “; cmd = new SqlCommand(sql, conn); conn.Open(); try cmd.ExecuteNonQuery(); Label11.Style“color“ = “blue“; Label11.Text = “删除成功 “; Response.Write(“javascript:alert(删除成功 !);“); catch(SqlException ) Label11.Text = “删除失败 “; Label11.Style“color“ = “red“; 4.2 实现效果 管理员登录 管理 界面