西南科技大学毕业设计策画.docx
《西南科技大学毕业设计策画.docx》由会员分享,可在线阅读,更多相关《西南科技大学毕业设计策画.docx(38页珍藏版)》请在冰豆网上搜索。
西南科技大学毕业设计策画
第一章绪论
学生学籍管理是学校管理的重要组成部分,对于学校和政府教育单位来说都至关重要,所以学生学籍系统应该能够为用户提供充足的信息和快捷的查询手段。
传统的人工方式管理效率低、保密性差、不利于查找、更新和维护。
使用计算机对学生信息进行管理,能够极大的提高学生管理的效率,节约教育经费,这也是适应学校信息化建设发展趋势的重要因素。
作为计算机应用的一部分,使用计算机对学生学籍信息进行管理,具有手工管理无法比拟的优点。
例如:
检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大的提高学生学籍管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。
因此,开发这样的管理软件成为很必要的事情。
学生学籍信息管理系统开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面,对于前者要求建立起数据库一致性和完整性、安全性好的数据库。
而对于后者则要求应用程序完备,易使用的特点。
经过分析,使用MicrosoftVisualC#和MicrosoftVisualWebDeveloper开发工具,并使用SQLSERVER2005作为数据库编辑软件,首先在短时间内建立系统应用原形,然后对初始原型系统进行需求分析,不断修正改进,直到形成用户满意的可行系统。
学生学籍管理系统要实现的目标是为学校提供学生管理解决方案。
具体目标如下:
(1)提高学生信息管理效率,节约管理成本,增强学生管理的安全性。
(2)满足学校学生管理人员,老师和学生的不同层次和不同方面的需要。
(3)为学校将来的信息化建设提供必要的支持。
总之,通过该系统的建设来提高学校的学生信息管理效率,使得学校的发展能够适应当前的教育信息化建设的中心发展趋势。
第二章平台简介
开发平台和技术简介
2.1.1传统开发工具的不足
计算机技术的不断进步,使得用户对应用程序的系统功能方面的要求越来越高,应用开发人员使用传统的开发工具已经很难满足这些要求。
传统开发工具的不足主要集中在下面几点:
(1)开发方法陈旧、兼容性差、难以适应变化。
(2)功能弱、性能较低。
(3)大多数应用程序只能使用特定的数据库接口、可移植性很差。
2.1.2C#简介
C#(读做"Csharp",中文译音“C夏普”)是微软公司发布的一种面向对象的、运行于.NETFramework之上的高级程序设计语言。
并定于在微软职业开发者论坛(PDC)上登台亮相。
C#是微软公司研究员AndersHejlsberg的最新成果。
C#看起来与Java有着惊人的相似,它包括了诸如单一继承,接口,与Java几乎同样的语法和编译成中间代码再运行的过程。
但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司.NETwindows网络框架的主角。
2.1.3VisualWebDeveloper2008简介
VisualWebDeveloper2008ExpressEdition是VisualStudio2008ExpressEdition的一部分。
VisualWebDeveloper2008ExpressEdition它是一组实用工具,用于创建版网站。
VisualWebDeveloper在支持网站创建方面进行了重要改进。
VisualWebDeveloper继续具有集成开发环境(IDE)在工作效率方面的优点,同时进行了大量改进。
(1)支持。
VisualWebDeveloper支持新的功能,包括中引入的很多新控件。
此外,VisualWebDeveloper与本机功能相当一致,没有添加特定于设计器的功能。
例如,VisualWebDeveloper没有将特定于设计器的标记嵌入页。
(2)更为灵活的项目选项和部署选项。
使用VisualWebDeveloper可以在本地和远程计算机上的IIS根中创建传统的MicrosoftInternet信息服务(IIS)应用程序,它还支持虚拟根,支持使用文件传输协议(FTP)打开网站,支持使用项目之外的独立文件。
所有这些改进,使应用程序的创建和部署变得相当容易。
(3)改进的代码隐藏模型。
VisualWebDeveloper可以通过两种方式创建页,一种是使用新的代码隐藏模型,另一种是将代码包含在页(.aspx文件)中。
(4)改进的编程功能。
大大简化了许多基本任务。
例如,无需编写任何代码就能创建数据绑定页。
新的控件增加了一些重要功能,这些功能在过去是需要自己编写代码才能实现的。
MicrosoftIntelliSense和相关技术经过扩展,几乎能用于任何地方。
数据库平台介绍
2.2.1SQLServer数据库简介
作为微软下一代的数据管理与商业智能平台,SQLServer2005将是微软多年来具有里程碑性质的企业级数据库产品。
SQLServer2005中包含了非常丰富的新特性:
通过提供一个更安全、可靠和高效的数据管理平台,增强企业组织中用户的管理能力,大幅提升IT管理效率并降低运营风险和成本;通过提供先进的商业智能平台满足众多客户对业务的实时统计分析、监控预测等多种复杂管理需求,推动企业管理信息化建设和业务发展;同时,SQLServer2005将提供一个极具扩展性和灵活性的开发平台,不断拓展您的应用空间,实现Internet数据业务互联,为您带来新的商业应用机遇。
由于大大减少了应用程序当机时间,提高了系统的可伸缩性和性能,并加以更严格的安全控制,SQLServer2005在支持现实中最苛刻的企业级系统要求的道路上,迈出了极大的一步。
SQLServer是微软服务器家族中重要的一部分,通过微软服务器系列产品共有的Engineeringstrategy所实现的增强的管理性和集成性,客户可以有效降低总体拥有成本并从更快的开发部署时间中受益。
2.2.2安全、可靠、高效的数据管理平台
SQLServer2005将在安全性、高可靠性、性能、扩展性、可管理性方面有极大的提高,不仅能够确保企业级数据业务的实时稳定运行、还能够大大提高管理效率、降低操作复杂度和运维成本。
SQLServer2005可以快速构建部署各类商业智能解决方案,提供深入的业务分析统计、和监控预测平台,进一步推动企业的信息化管理和业务发展。
SQLServer2005将提供非常完整的商业智能套件,包括相关的数据仓库、数据分析、ETL、报表、数据挖掘的一系列设计、开发、管理工具。
为了满足客户日渐增强的实时BI和企业级应用规模的需求,SQLServer2005在构建商业智能平台的实时性、扩展性方面也有了质的飞跃。
全新的数据分析工具和丰富的数据挖掘算法将帮助客户有效进行深入的业务监控分析、决策支持;企业级的ETL工具将支持各种异类数据和复杂数据业务的整合;面向终端用户的报表设计及管理工具与Office的前端集成能够提供非常灵活的数据展示和自由定制功能。
SQLServer2005将提供更加强大的开发工具和各类新的开发特性,在大大提高开发效率的同时,将进一步拓展软件开发的应用空间,带来新的商业应用机遇。
例如,XML数据库与WebService的支持将使您的应用实现Internet数据互联,.Net集成极大的扩展了开发空间,异构数据集成、ServiceBroker使您的数据和其它应用无缝集成,各种新数据类型和T-SQL扩展带来了诸多灵活性。
C#、、XQuery、XMLA、、SMO、AMO等都将成为SQLServer数据平台上开发数据相关应用的有力工具。
第三章系统分析
需求分析
当前我国部分大中专院校的学籍的管理还停留在人工操作的基础上,这样的机制已经不能适应时代的发展,不仅要花费大量的人力物力来整理、编制,还由于信息量的巨大导致学生信息的丢失或错误。
在在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。
为了适应现代社会人们高度强烈的时间观念,学生档案管理系统软件为教学办公室带来了极大的方便。
本软件是以C#语言作为设计的主要内容,其功能在系统内部有源代码直接完成,可以使管理者能够比较方便地进行简单的学生学籍操作,例如学籍的增添、删除、修改等等。
借由计算机的储存量大、保存数据较稳定、操作不易出错等特点,并使用相应的学籍管理软件,可以让学籍管理的效率大大提高。
因此,本次设计主要针对学籍管理人工操作比较困难和繁琐的问题,采用比较常用的数据库软件和相应的程序编辑软件来编程实现,并使用VisualWebDeveloper强大的动态网页制作功能对系统进行网上发布,使得网上学籍管理成为可能。
从而使得学生档案管理的效率能够满足相应的要求,以现代化的创新思维模式去工作,达到办公自动化的目标。
项目概述
(1)项目名称:
学籍管理信息系统的设计与实现
(2)项目目的:
学校的学生学籍信息管理是学校管理中的一项烦琐的任务,本项目就是为了提高管理工作效率,利用计算机对学生的信息进行管理,使其变得准确、便捷。
(3)开发运行环境:
开发工具:
VisualStudio软件中C#和VisualWebDeveloper工具
运行环境:
WindowsXP+IE浏览器
(4)系统功能:
在系统设计时将系统的使用者定义为两类:
管理员和学生用户。
管理员:
主要由老师和系统维护人员组成,权限最大,可对学校老师的信息、学院信息、全体学生信息以及课程信息进行管理和维护。
学生:
由使用该系统的全体学生构成,可进行选课、退课,修改自己的基本信息,查询各科的成绩等操作。
E-R模型
3.3.1模型分析
本系统中实体主要包括:
学生、教师、课程、学院、班级。
其关系模型分别为:
(1)学生(学号,姓名,年龄,学院编号,班级编号,性别,籍贯,身份证号,电话号码,Email,登录密码,个人简介,照片)
(2)教师(职工号,姓名,学院编号,课程号,身份证号,登陆密码,联系电话,Email,个人简介,照片)
(3)课程(课程号,课程名,学分,介绍)
(4)学院(学院编号,学院名称,院长名)
(5)班级(班级编号,班级名称,班长名,辅导员名)
其中加下划线的属性为实体的主键,也为关系的主键。
3.3.2E—R图绘制
本学籍管理信息系统的E-R总图为:
图学籍管理系统E-R图
此E-R图包含了系统实体的主要属性和实体之间的相互联系,其中N、M表示实体之间的联系为多对多联系。
由于一些实体如学生、教师属性太多,若全部在E-R图中表示会导致E-R图不方便辨识,故只取实体的主要属性,并不影响对实体的分析和系统的设计。
系统设计
3.4.1系统模块设计
根据系统功能分析和学籍管理的特点,经过模块化的分析得到如图所示的高等院校学籍管理系统功能模块结构图。
图学籍管理系统功能模块图
3.4.1.1功能模块说明
学校学籍管理涉及学院信息、班级信息、任课教师信息、学生信息、课程信息以及选课记录和成绩等多种数据信息。
学籍管理用户包括系统管理员、教师和学生。
系统管理员负责日常的学籍管理工作,如各种基本信息的录入、修改、删除等操作。
教师使用该系统可完成教学班信息查询和成绩管理。
学生使用该系统主要完成选课和成绩查询等操作。
经过实际考察与分析,此高等院校学籍管理系统主要应具有以下功能模块:
(1)学院信息管理模块:
包括学院信息数据的录入、修改与删除等功能。
(2)班级信息管理模块:
包括班级信息的录入、修改与删除等功能。
(3)教师信息管理模块:
包括任课教师的信息录入、修改与删除等功能。
(4)学生信息管理模块:
包括学生信息的录入、修改与删除等功能。
(5)课程信息管理模块:
包括课程信息的录入、修改与删除等功能。
(6)用户信息管理模块:
包括系统用户数据的录入、修改与删除等功能。
在此功能模块结构图中可以比较清晰地看出此学籍管理系统所要完成的一些系统功能,详细的每个模块的具体实现将在第四章中介绍。
3.4.2数据库设计
3.4.2.1系统数据流图
根据系统功能模块结构图和学籍管理系统基本操作过程,绘制如图所示的系统数据流图。
图学籍管理系统流程图
根据图所示的数据流程图,可以比较直观地看出现在一般学校进行学籍管理的流程。
其中包含了许多比较繁琐的步骤,且再加之学生的数量较大,可以看出若使用人工进行管理,不仅效果不是特别明显、容易出现错误,而且还会使得整个系统的效率低下,足见设计一个计算机管理系统的重要性。
3.4.2.2数据字典
根据系统数据流图以及典型高校学籍管理系统的需求,总结出下面的数据字典:
(1)系统用户数据:
系统管理员用于登录系统的身份数据,包括用户名、口令和身份数据项。
(2)学院信息数据:
学校各院系部门信息数据,包括编号、名称和院长名数据项。
(3)班级信息数据:
各系的班级信息数据,包括班级编号和名称等数据项。
(4)教师信息数据:
任课教师的信息数据,包括教师编号、姓名、所属学院
编号、联系电话和电子邮件地址等数据项。
(5)学生信息数据:
在校学生的信息数据,包括编号、姓名、性别、出生信
息、家庭住址、联系电话、电子邮件地址、个人简介、所属学院和所属班级等
数据项。
(6)课程信息数据:
学生可选修课程的信息数据,包括课程编号、课程名称、课程学分和课程信息数据项。
(7)开课信息数据:
教师教授课程的信息数据,包括教师编号、课程编号、课程教授学年、最大人数和开课班级号数据项。
(8)选课记录数据:
学生可选修课程的信息数据,包括课程编号、学生编号
和成绩数据项。
3.4.2.3数据设计结构
按照上述学籍管理系统的数据字典,可设计出本学籍管理系统数据库中各个数据表,包括系统用户数据表,学院信息数据表,班级信息数据表,教师信息数据表,学生信息数据表,课程信息数据表,开课信息数据表,选课记录数据表共8个数据表。
本学籍管理系统数据库名为“database”,数据库中各个数据表名称和结构如图。
表系统用户数据表
表学院信息数据表
表班级信息数据表
表教师信息数据表
表学生信息数据表
表课程信息数据表
表开课信息数据表
表选课记录数据表
第四章系统界面与源代码设计
在本章内容中,主要介绍此学籍管理系统的设计方法和具体源代码。
登陆窗口
4.1.1登陆窗口设计
由于VisualWebDeveloper采用的是面向对象的程序设计方法,因此在设计时新建一个*.aspx文件后在其设计选项页面中直接按照“WYSIWYG”(所见即所得)的原则通过添加各种控件或文字对系统页面进行设计。
但这样设计的页面虽然界面达到了设计人员的要求但各个控件没有相应的代码支撑,不能完成系统实现的功能要求。
因此在对窗口的各个控件进行设计时,还要通过C#对每个控件的触发进行编写,生成一个*.cs文件对每个控件的操作进行代码控制。
图为本学籍管理系统的登陆界面。
选择学生或管理员身份并输入正确的用户名和密码后系统会进入到相应的子页面中,完成不同的系统功能。
实现登陆界面的文件为,在此不给出其源代码,因其设计主要靠各种控件的添加和使用,进而生成相应的源代码,这一部分主要由电脑自动完成,后面的各个界面也同样如此,本文主要针对.cs的文件源代码进行介绍。
图登陆界面
4.1.2登陆界面源代码
登陆界面主要实现从用户名和密码两个文本框中读取输入的信息,再根据用户选择的是学生还是管理员,分别到数据库中student表和users表进行查找,若存在则分别转向不同的后继页面,否则出现错误提示后回到首页。
“代码如下:
usingSystem;
using;
using;
using;
using;
using;
using;
using;
using;
using;
publicpartialclass_Default:
{
stringconnstring=@"DataSource=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\;IntegratedSecurity=true;connectTimeout=60;userinstance=true";
SqlConnectionconn;
SqlCommandcmd;
protectedvoidPage_Load(objectsender,EventArgse)
{
conn=newSqlConnection(connstring);
if(!
IsPostBack)
{
();
}
}
protectedvoidlogin_Click(objectsender,EventArgse)
{
stringstruser=;
stringstrpass=;
if(struser==""||strpass=="")
{
("");
return;
}
Session["userid"]=struser;
Session["passworrd"]=strpass;
stringstrsql="selectcount(*)from";
intc;
if==true)
{
strsql+="studentwherestu_id='"+struser+"'andstu_pass="+strpass;
}
else
{
strsql+="userswhereuser_id='"+struser+"'andpassword="+strpass;
}
cmd=newSqlCommand(strsql,conn);
();
c=(int)();
if(c==1)
{
if==true)
("student/");
else
("admin/");
}
else
{
("");
();
}
}
protectedvoidcancel_Click(objectsender,EventArgse)
{
();
}
privatevoidReFresh()
{
="";
="";
=true;
=false;
}
}
学生页面
当在登陆画面中输入正确信息并选择学生身份登陆时,系统将会进入到学生页面,如图所示:
图学生页面
4.2.1学生页面设计
根据系统所要完成的功能要求,在设计时将其分为个人信息、修改密码、成绩查询、网上选课、选课情况查询和退出系统六个部分。
对应的功能可直接在学生页面的左侧点击打开。
4.2.1.1个人信息
在此界面中学生可以对自己的一些基本信息进行修改,界面如图所示:
图个人信息页面
当学生在相应的空白处填写信息后点击保存即可将最新信息传到数据库中student表里。
4.2.1.2修改密码
此界面中主要实现的是学生登陆本学籍管理系统的密码,页面如图所示,输入新旧密码后点击修改即可。
图修改密码页面
4.2.1.3成绩查询
在这个页面中可以对登陆用户已选课程的考试成绩进行查询,如果登陆用户还未选课,则会显示一个空白页,否则会出现已选的所有课程。
例如图所示用户名1,姓名为张贵得同学已选课程:
图成绩查询界面
4.2.1.4网上选课
此页面主要针对学生的选课进行设计,登陆的学生可以在页面中找到想要选的或者想要退选的课程,点击选课或者退选完成相应功能。
如图所示:
图网上选课页面
4.2.1.5选课情况
在该页面中主要完成对学生选课总情况的查询,登陆的学生可以在这里查询到自己所选的所有课程。
如图所示:
图选课情况页面
4.2.1.6退出系统
该功能主要实现的是退出IE窗口,返回操作系统的功能。
4.2.2学生页面代码设计
4.2.2.1个人信息
“为此页面代码段
usingSystem;
using;
using;
using;
using;
using;
using;
using;
using;
using;
using;
publicpartialclassperson_message:
stringStu_useid;
stringStu_usepwd;
SqlDataAdapteradapter;
DataTabletable;
stringpath;
protectedvoidPage_Load(objectsender,EventArgse)
{
Stu_useid=Session["userid"].ToString();
if(!
IsPostBack)
{
();
}
}
privatevoidbing()
{
stringsqlstr=@"DataSource=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\;"+"IntegratedSecurity=true;connectTimeout=60;userinstance=true";
SqlConnectionconn=newSqlConnection(sqlstr);
();
adapter=newSqlDataAdapter("select*fromStudentwhereStu_Id="+Stu_useid,conn);
SqlCommandBuilderbuilder=newSqlCommandBuilder(adapter);
=();
=();
=();
table=newDataTable();
(table);
=[0][[3].ToString()].ToString();
=[0][[4].ToString()].ToString();
=[0][[10].ToString()].ToString();
=[0][[0].ToString()].ToString();
=[0][[1].ToString()].ToString();
=[0][[5].ToString()].ToString();
=[0][[2].ToString()].ToString();
=[0][[7].ToString()].ToString();
=[0][[8].ToString()].ToString();
=[0][[6].ToString()].ToString();
=[0][