web程序设计课程设计报告学生成绩管理系统Word格式.docx
《web程序设计课程设计报告学生成绩管理系统Word格式.docx》由会员分享,可在线阅读,更多相关《web程序设计课程设计报告学生成绩管理系统Word格式.docx(20页珍藏版)》请在冰豆网上搜索。
2.1.1实体图3
2.1.2实体联系图4
2.2数据结构逻辑设计4
第3章概要设计6
3.1总体设计6
3.1.1功能分析6
3.1.2功能模块图6
3.2功能模块清单6
第4章详细设计与实现8
4.1网页设计8
4.1.1网页界面设计8
4.2编码与实现10
第5章总结20
第1章需求分析
1.1引言
1.1.1开发背景
随着计算机及网络技术的飞速发展,Internet/Intranet应用在全球范围内日益普及,在众多的网络服务中,Web给人耳目一新的感觉。
而如今随着大学的扩招,学校的学生成绩管理的数据越来越多,处理越来越复杂,为了能够更加快速,有效地管理这些信息,一个能够代替人工管理的系统急待开发。
通过这个系统,能够有效而解决信息量大,人工处理困难的问题。
1.1.2目的
软件需求分析是把软件计划期间确定的软件工作过程要求精细化、规范化,这是软件生命期中重要的一步,也是软件实质性开发的第一步。
保证软件开发的质量、需求的完整与可追溯性,编写此文档。
通过此文档,以保证业务需求提出者与需求分析人员、开发人员、测试人员及其相关利益人对需求达成共识。
1.1.3术语定义
数据字典:
是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑、外部实体等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明。
数据流条目:
给出数据流的定义,通常列出组成该数据流的数据项。
数据存储条目:
对数据存储的定义。
数据加工条目:
说明加工的处理逻辑。
软件工程:
IEEE的定义是开发、运行、维护、和修复软件的系统方法。
结构化分析(structuredanalysis,SA)方法是一种面向数据流的需求分析方法。
它的基本思想是自顶向下逐层分解,把一个大问题分解成若干个小问题,每个小问题再分解成若干个更小的问题。
结构化设计(structureddesign,SD)方法是一种面向数据流的设计方法,它是以结构化分析阶段所产生的文档(包括数据流图、数据字典和软件需求说明书)为基础,自顶向下,逐步求精和模块化的过程。
1.2任务概述
1.2.1目标
当今时代,互联网已经十分的普及,Web开发的应用程序也给人耳目一新的感觉,合理的利用当今有效地资源解放人力资源,提高工作效率是十分重要的,在本系统中,主要实现以下几个目标:
1.为学生成绩管理者提供方便。
传统的管理成绩的方法,速度慢,效率低,且浪费极大地人力、物力资源,通过本系统,可以让管理者轻松操作,就可以对学生的个人信息,课程信息,以及成绩信息进行增、删、改,方便快捷。
2.让学生能够对自己的信息很了解。
传统的成绩管理方法中,参与者只有老师,学生的信息被管理,学生本人却不能清除的了解自己的信息是否正确,有时候会造成很大的不方便,在此系统中,学生可以登录系统,查看自己的各种信息,发现错误,可以及时反馈给管理员,这对管理员的管理也很方便,同时又可以让学生了解自己的信息。
1.2.2用户特点
在本系统中的用户分别有管理员和学生,管理员和学生都不需要具备专业的知识,只要掌握基本的操作方法即可,本系统界面美观且人性化,能使初学者很快的掌握系统的使用方法。
管理员对学生的信息进行增、删、改操作,学生对自己的信息进行查询。
1.3需求规定
学生成绩管理系统主要提供成绩查询,方便管理的网上的信息查阅平台,学生可以通过该系统查阅与自己相关信息。
管理员可以通过成绩管理系统查阅学生成绩信息,课程信息,学生个人信息并对相关信息进行增、删、改等相关操作。
根据开发要求,学生成绩管理系统主要应用于教育系统,完成对日常的成绩信息,课程信息,以及学生的个人信息的管理。
开发学生成绩管理系统可使学院教职员工减轻工作压力,比较系统地对学生有关成绩方面的信息进行管理,同时,可以减少劳动力的使用,加快查询速度、加强管理,以及国家各部门关于信息化的步伐,使各项管理更加规范化。
目前,学校工作繁杂、资料众多,管理信息系统已进入高校,但还未普及,而对于学生成绩管理来说,目前还没有一套完整的、统一的系统。
因此,开发一套适和大众的、兼容性好的系统是很有必要的。
第2章数据库设计
2.1系统E-R图
2.1.1实体图
学生实体包括学号、姓名、性别、年龄、班级、电话、密码几个属性,其中学号为主键,实体图如下:
图2-1学生实体图
管理员实体包括密码和账号两个属性,其中管理员账号为主键,具体如下图所示:
图2-2管理员实体图
成绩实体包括原始分数,有效分数,学期三个属性,三者联合起来构成成绩的主键,具体如下所示:
图2-3成绩实体图
课程实体包括课程号,课程名,学时,学分四个属性,其中课程号为主键,具体如下图所示:
2.1.2实体联系图
在本系统中,学生选择的有多门课程,每门课程对应两个分数,分别为原始成绩分和有效成绩分,管理员可以修改多个学生的成绩,同时可以修改多门课程信息,具体的实体联系图如下图所示:
图2-4实体-联系图
2.2数据结构逻辑设计
管理员表(Admin)
字段名
数据类型
长度(字节)
备注
id
int
4
编号
aname
nvarchar
50
用户名
apwd
密码
教师表(Teacher)
tname
教师名
tpwd
学生表(Student)
sn
nvarchar
学号
sname
学生名
pwd
major
50
专业
dept
系别
管理员左目录表(AdminMenu)
menu_id
menu_name
parent_id
父编号
menu_description
nvarcha
url_add
menu_target
指向目标
menu_tb
menu_openimg
打开按钮
menu_closeimg
关闭按钮
menu_style
systemrolekey
is_valid
bit
教师左目录表(TeacherMenu)
学生左目录表(StudentMenu)
课程表(Course)
coursename
课程名字
教师名字
courseid
课程号
专业(Major)
Major
Dept
成绩表(Grade)
grade
成绩
学生姓名
第3章概要设计
3.1总体设计
3.1.1功能分析
包括以下几个模块:
用户登录,管理员修改学生信息(包括增、删、改),管理员修改课程信息(包括增、删、改),管理员修改学生成绩(包括增、删、改),管理员统计班级不及格人数,按学号对学生的信息进行查询等。
这几个模块既相互联系又相互独立。
本系统根据学生成绩管理的需要,而建立一个“学生成绩管理系统”,以方便对成绩的各项管理操作。
本系统能对成绩进行输入和输出;
能按学号对学生进行查询,并显示学生资料、成绩等,不过得以系统输入学生信息、成绩为前提;
能添加学生成绩信息;
能根据学生的姓名来查询该学生的成绩信息,并修改或是删除该学生信息;
能把对系统所进行的操作进行保存,以及时更新系统中的数据。
3.1.2功能模块图
图3-1系统功能模块图
第4章详细设计与实现
4.1网页设计
4.1.1网页界面设计
在本系统中,设计了多个页面,以下列其中几个,在浏览器中查看如下:
用户登录界面图
4-3管理员操作主页面1
管理员操作主页面
4.2编码与实现
主要代码如下:
<
%@PageLanguage="
C#"
AutoEventWireup="
true"
CodeFile="
Login.aspx.cs"
Inherits="
Login"
%>
!
DOCTYPEhtmlPUBLIC"
-//W3C//DTDXHTML1.0Transitional//EN"
"
http:
//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
>
htmlxmlns="
//www.w3.org/1999/xhtml"
>
headrunat="
server"
<
title>
无标题页<
/title>
/head>
bodystyle="
background-image:
url(images/1010538_070511screen09.jpg);
background-repeat:
repeat"
formid="
form1"
runat="
divstyle="
text-align:
center"
spanstyle="
font-size:
32pt"
br/>
span>
font-family:
华文彩云"
48pt"
欢5迎1光aspx临<
成绩管理系统<
/span>
tablestyle="
width:
206px;
text-align:
center;
border-left-color:
lightskyblue;
border-bottom-color:
border-top-style:
outset;
border-top-color:
border-right-style:
border-left-style:
height:
120px;
border-right-color:
border-bottom-style:
"
tr>
tdstyle="
right"
strong>
学生:
/strong>
/td>
left"
asp:
ImageButtonID="
imgbtn_Stu"
ImageUrl="
~/images/Login.gif"
OnClick="
imgbtn_Stu_Click"
/>
/tr>
老师:
100px;
imgbtn_Tch"
imgbtn_Tch_Click"
right;
18px;
管理员:
left;
imgbtn_Sa"
imgbtn_Sa_Click"
/table>
/div>
/form>
/body>
/html>
publicpartialclassStudent_StudentReg:
System.Web.UI.Page
{
privatestaticstringstrUser="
;
SQLHelpersqlhelper=newSQLHelper();
Commoncommon=newCommon();
protectedvoidPage_Load(objectsender,EventArgse)
{
if(!
Page.IsPostBack)
common.BindDropDownList(refddl_major,"
selectid,majorfromMajor"
);
common.BindDropDownList(refddl_dept,"
selectid,deptfromMajor"
}
protectedvoidButton1_Click(objectsender,EventArgse)
if(this.tbx_sn.Text!
="
&
this.tbx_name.Text!
)
strUser=sqlhelper.RunSqlReturn("
selectsnfromStudentwheresn='
+this.tbx_sn.Text+"
'
andsname='
+this.tbx_name.Text+"
andpwd='
+this.tbx_pwd1.Text+"
//执行SQL语句,并返回第一行第一列结果,即学号
if(strUser.Equals(this.tbx_sn.Text))
Page.ClientScript.RegisterStartupScript(GetType(),"
MyScript"
"
script>
alert('
该学生的信息已经有了!
);
/script>
else
SqlParameter[]prams={
sqlhelper.CreateInParam("
@sn"
SqlDbType.NVarChar,50,this.tbx_sn.Text),
@sname"
SqlDbType.NVarChar,50,this.tbx_name.Text),
@pwd"
SqlDbType.NVarChar,50,this.tbx_pwd1.Text),
@major"
SqlDbType.NVarChar,50,this.ddl_major.SelectedItem.Text),
@dept"
SqlDbType.NVarChar,50,this.ddl_dept.SelectedItem.Text),
};
sqlhelper.RunProc("
StudentInsert"
prams);
保存成功'
window.close();
protectedvoidbtn_file_Click(objectsender,EventArgse)
Response.Clear();
Response.Buffer=false;
Response.Charset="
GB2312"
Response.AppendHeader("
Content-Disposition"
attachment;
filename=pkmv_de.xls"
Response.ContentEncoding=System.Text.Encoding.GetEncoding("
Response.ContentType="
application/ms-excel"
Response.Write("
metahttp-equiv=Content-Typecontent=\"
text/html;
charset=GB2312\"
this.EnableViewState=false;
System.IO.StringWriteroStringWriter=newSystem.IO.StringWriter();
HtmlTextWriteroHtmlTextWriter=newHtmlTextWriter(oStringWriter);
GridView1.RenderControl(oHtmlTextWriter);
Response.Write(oStringWriter.ToString());
Response.End();
publicpartialclassTeacher_TeacherLogin:
protectedvoidImageButton1_Click(objectsender,ImageClickEventArgse)
if(this.tbx_name.Text.IndexOf("
)>
0||this.tbx_name.Text.IndexOf("
-"
0)
this.Label_Msg.Text="
用户名中有非法字符"
return;
Loginlgn=newLogin();
if(lgn.TeacherLogin(tbx_name.Text,tbx_pwd1.Text)!
=null)
Session["
tname"
]=tbx_name.Text;
tpwd"
]=tbx_pwd1.Text;
Response.Redirect("
TeacherIndex.aspx"
MyScr