《NET技术》课程设计报告.docx
- 文档编号:8216478
- 上传时间:2023-01-29
- 格式:DOCX
- 页数:17
- 大小:423.78KB
《NET技术》课程设计报告.docx
《《NET技术》课程设计报告.docx》由会员分享,可在线阅读,更多相关《《NET技术》课程设计报告.docx(17页珍藏版)》请在冰豆网上搜索。
《NET技术》课程设计报告
课程设计报告
系(部、中心)
姓名学号
专业班级
同组人员
课程名称.NET技术
设计题目名称学生成绩管理系统——系统管理子系统设计与实现
起止时间
成绩
指导教师签名
北方民族大学教务处制
目录
1.系统总体分析与设计2
1.1系统体系结构2
1.2系统功能结构4
2.系统数据库设计与实现4
3.系统功能详细设计与实现6
3.1基本信息维护子系统6
4.结束语22
5.参考文献22
1.系统总体分析与设计
1.1系统体系结构
本系统采用客户/服务器(Client/Server)模式。
图1-1系统体系结构图
(1)应用服务器运行数据负荷较轻。
最简单的C/S体系结构的数据库应用由两部分组成,即客户应用程序和数据库服务器程序。
二者可分别称为前台程序与后台程序。
运行数据库服务器程序的机器,也称为应用服务器。
一旦服务器程序被启动,就随时等待响应客户程序发来的请求;客户应用程序运行在用户自己的电脑上,对应于数据库服务器,可称为客户电脑,当需要对数据库中的数据进行任何操作时,客户程序就自动地寻找服务器程序,并向其发出请求,服务器程序根据预定的规则作出应答,送回结果,应用服务器运行数据负荷较轻。
(2)数据的储存管理功能较为透明。
在数据库应用中,数据的储存管理功能,是由服务器程序和客户应用程序分别独立进行的,前台应用可以违反的规则,并且通常把那些不同的(不管是已知还是未知的)运行数据,在服务器程序中不集中实现,例如访问者的权限,编号可以重复、必须有客户才能建立定单这样的规则。
所有这些,对于工作在前台程序上的最终用户,是“透明”的,他们无须过问(通常也无法干涉)背后的过程,就可以完成自己的一切工作。
在客户服务器架构的应用中,前台程序不是非常“瘦小”,麻烦的事情都交给了服务器和网络。
在C/S体系的下,数据库不能真正成为公共、专业化的仓库,它受到独立的专门管理。
(3)C/S架构的劣势是高昂的维护成本且投资大。
首先,采用C/S架构,要选择适当的数据库平台来实现数据库数据的真正“统一”,使分布于两地的数据同步完全交由数据库系统去管理,但逻辑上两地的操作者要直接访问同一个数据库才能有效实现,有这样一些问题,如果需要建立“实时”的数据同步,就必须在两地间建立实时的通讯连接,保持两地的数据库服务器在线运行,网络管理工作人员既要对服务器维护管理,又要对客户端维护和管理,这需要高昂的投资和复杂的技术支持,维护成本很高,维护任务量大。
1.2系统功能结构
本系统主要的业务模块有系统管理模块、基本信息维护模块、查询管理模块和成绩管理模块,其中系统管理模块主要是实现用户登陆、修改密码、找回密码功能,基本信息维护模块主要实现对教师和学生信息的添加、删除和修改,查询管理模块主要实现查询成绩、对教师和学生信息的查询,成绩管理模块主要实现对学生成绩的录入与修改。
本系统涉及的用户有管理员、教师和学生。
功能模块图如下:
图1-2系统功能模块图
2.系统数据库设计与实现
(1)User——用户表
字段名称
说明
数据类型
长度
主/外键
约束
备注
UserName
用户名
变长字符型
10
主键
Password
密码
变长字符型
10
非空
Permission
权限
变长字符型
10
非空
(2)Teach——授课表
字段名称
说明
数据类型
长度
主/外键
约束
备注
TeacherID
教职工号
变长字符型
10
主键
CourseID
课程代码
变长字符型
6
非空
(3)Teacher——教师表
字段名称
说明
数据类型
长度
主/外键
约束
备注
TeacherID
教职工号
变长字符型
10
主键
Tname
姓名
变长字符型
20
非空
Tsex
性别
字符型
2
非空
邮箱
变长字符型
20
College
院部
变长字符型
20
非空
(4)Course——课程表
字段名称
说明
数据类型
长度
主/外键
约束
备注
CourseID
课程代码
变长字符型
6
主键
Cname
课程名称
变长字符型
10
非空
Cnature
课程性质
变长字符型
10
非空
Credit
学分
单精度型
8
(5)Student——学生表
字段名称
说明
数据类型
长度
主/外键
约束
备注
StudentID
学号
变长字符型
10
主键
Sname
姓名
变长字符型
20
非空
Ssex
性别
字符型
2
非空
College
院部
变长字符型
20
非空
Major
专业
变长字符型
20
非空
”
Class
行政班
变长字符型
10
非空
(6)Study——选修表
字段名称
说明
数据类型
长度
主/外键
约束
备注
StudentID
学号
变长字符型
10
主键、外键
参照“学生表”
中的“StudentID”
CourseID
课程代码
整型
10
主键、外键
参照“课程表”中的“CourseID”
Year
学年
变长字符型
10
Term
学期
整型
4
Score
成绩
单精度型
8
图2-1数据库实现关系图
3.系统功能详细设计与实现
3.1系统管理子系统
系统子系统主要是完成:
用户的登录,找回密码,修改密码
‘定义公共类EditData
ImportsSystem.Data.OleDb
PublicClassEditData
SharedConnStrAsString="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=SSMS.mdb;PersistSecurityInfo=True"
'共享方法Insert
SharedFunctionInsert(ByValstrSQLAsString)AsInteger
DimconnAsOleDbConnection=NewOleDbConnection(ConnStr)
DimmyCommandAsOleDbCommand=NewOleDbCommand(strSQL,conn)
DimcountAsInteger=0
Try
conn.Open()
count=myCommand.ExecuteNonQuery()
CatchexAsOleDbException
MsgBox(ex.ToString)
CatchexAsException
MsgBox(ex.ToString)
Finally
conn.Close()
EndTry
Returncount
EndFunction
'共享方法Delete
SharedFunctionDelete(ByValstrSQLAsString)AsInteger
DimconnAsOleDbConnection=NewOleDbConnection(ConnStr)
DimmyCommandAsOleDbCommand=NewOleDbCommand(strSQL,conn)
DimcountAsInteger=0
Try
conn.Open()
count=myCommand.ExecuteNonQuery()
CatchexAsOleDbException
MsgBox(ex.ToString())
CatchexAsException
MsgBox(ex.ToString)
Finally
conn.Close()
EndTry
Returncount
EndFunction
'共享方法Updata
SharedFunctionUpdate(ByValstrSQLAsString)AsInteger
DimconnAsOleDbConnection=NewOleDbConnection(ConnStr)
DimmyCommandAsOleDbCommand=NewOleDbCommand(strSQL,conn)
DimcountAsInteger=0
Try
conn.Open()
count=myCommand.ExecuteNonQuery()
CatchexAsOleDbException
MsgBox(ex.ToString)
CatchexAsException
MsgBox(ex.ToString)
Finally
conn.Close()
EndTry
Returncount
EndFunction
'共享方法Search
SharedFunctionSearch(ByValstrSQLAsString)AsDataTable
DimconnAsOleDbConnection=NewOleDbConnection(ConnStr)
DimmyCommandAsOleDbCommand=NewOleDbCommand(strSQL,conn)
conn.Open()
DimadapterAsNewOleDbDataAdapter
adapter.TableMappings.Add("Table","TEMP")
adapter.SelectCommand=myCommand
DimdsAsNewDataSet()
adapter.Fill(ds)
conn.Close()
Returnds.Tables("TEMP")
EndFunction
EndClass
‘我的类DBuser
PublicClassDBuser
PublicUserNameAsString'用户名
PublicPasswordAsString'密码
PublicPermissionAsString'权限
PublicSnameAsString'学生姓名
PublicStudentIDAsString'学号
PublicTeacherIDAsString'教职工号
PublicTnameAsString'教师姓名
SubNew()
EndSub
SubNew(ByValNameAsString,ByValPWDAsString)
UserName=Name
Password=PWD
EndSub
PublicFunctionLogin()AsBoolean
DimSQLStringAsString="select*from[User]whereUserName='"&UserName&"'"&"and[Password]='"&Password&"'"
DimUserTableAsDataTable=EditData.Search(SQLString)
IfUserTable.Rows.Count=0Then
MsgBox("用户名或密码错误!
")
ReturnFalse
Else
Permission=UserTable.Rows(0)("Permission")
ReturnTrue
EndIf
EndFunction
PublicSubGetSPassword(ByValStudentIDAsString,ByValSnameAsString)
DimSQLStringAsString="select*fromStudentwhereStudentID='"&StudentID&"'"&"andSname='"&Sname&"'"
DimUserTableAsDataTable=EditData.Search(SQLString)
IfUserTable.Rows.Count=0Then
MsgBox("学号或姓名错误!
")
Else
SQLString="select[Password]from[User]whereUserName='"&StudentID&"'"
MsgBox("密码:
"&EditData.Search(SQLString).Rows(0)("Password"))
EndIf
EndSub
PublicSubGetTPassword(ByValTeacherIDAsString,ByValTnameAsString)
DimSQLStringAsString="select*fromTeacherwhereTeacherID='"&TeacherID&"'"&"andTname='"&Tname&"'"
DimUserTableAsDataTable=EditData.Search(SQLString)
IfUserTable.Rows.Count=0Then
MsgBox("教职工号或姓名错误!
")
Else
SQLString="select[Password]from[User]whereUserName='"&TeacherID&"'"
MsgBox("密码:
"&EditData.Search(SQLString).Rows(0)("Password"))
EndIf
EndSub
PublicSubModifyPassword(ByValUserNameAsString,ByValNPasswordAsString)
DimSQLStringAsString="update[User]set[Password]='"&NPassword+"'"+"whereUserName='"&UserName+"'"
IfEditData.Update(SQLString)>0Then
MsgBox("密码修改成功,请记住新密码!
")
EndIf
EndSub
EndClass
PublicClassFPWForm
PrivateSubForm2_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load
RadioButton1.Checked=True
Label3.Text=""
EndSub
PrivateSubButtonX1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButtonX1.Click
DimUserAsNewDBuser
IfTextBox1.Text=""Then
ErrorProvider1.SetError(TextBox1,"用户名不能为空!
")
ElseIfTextBox2.Text=""Then
ErrorProvider1.SetError(TextBox2,"密码不能为空!
")
ElseIfRadioButton1.Checked=TrueThen
User.GetSPassword(TextBox1.Text,TextBox2.Text)
Else
User.GetTPassword(TextBox1.Text,TextBox2.Text)
EndIf
EndSub
PrivateSubRadioButton2_CheckedChanged(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesRadioButton2.CheckedChanged
IfRadioButton2.Checked=TrueThen
Label1.Text="教职工号"
Else
Label1.Text="学号"
EndIf
EndSub
EndClass
PublicClassMainForm
PrivateSubButtonItem8_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButtonItem8.Click
RibbonControl1.Office2007ColorTable=DevComponents.DotNetBar.Rendering.eOffice2007ColorScheme.Black
EndSub
PrivateSubButtonItem9_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButtonItem9.Click
RibbonControl1.Office2007ColorTable=DevComponents.DotNetBar.Rendering.eOffice2007ColorScheme.Silver
EndSub
PrivateSubButtonItem10_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButtonItem10.Click
RibbonControl1.Office2007ColorTable=DevComponents.DotNetBar.Rendering.eOffice2007ColorScheme.VistaGlass
EndSub
PrivateSubButtonItem11_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButtonItem11.Click
RibbonControl1.Office2007ColorTable=DevComponents.DotNetBar.Rendering.eOffice2007ColorScheme.Blue
EndSub
PrivateSubForm1_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load
DimribbonTexts=RibbonControl1.SystemText
ribbonTexts.MaximizeRibbonText="功能区最大化(&M)"
ribbonTexts.MinimizeRibbonText="功能区最小化(&N)"
ribbonTexts.QatAddItemText="添加到快速访问工具栏(&A)"
ribbonTexts.QatCustomizeMenuLabel="自定义快速访问工具栏"
ribbonTexts.QatCustomizeText="自定义快速访问工具栏(&C)..."
ribbonTexts.QatDialogAddButton="添加(&A)>>"
ribbonTexts.QatDialogCancelButton="取消"
ribbonTexts.QatDialogCaption="自定义快速访问工具栏"
ribbonTexts.QatDialogCategoriesLabel="选择命令(&C):
"
ribbonTexts.QatDialogOkButton="确定"
ribbonTexts.QatDialogPlacementCheckbox="在功能区下方显示快速访问工具栏(&P)"
ribbonTexts.QatDialogRemoveButton="删除(&R)"
ribbonTexts.QatPlaceAboveRibbonText="在功能区上方显示快速访问工具栏(&P)"
ribbonTexts.QatPlaceBelowRibbonText="在功能区下方显示快速访问工具栏(&P)"
ribbonTexts.QatRemoveItemText="从快速访问工具栏删除(&R)"
EndSub
PrivateSubButtonX2_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButtonX2.Click
DimUserAsNewDBuser
IfTextBoxX1.Text=""OrTextBoxX2.Text=""OrTextBoxX3.Text=""Then
MsgBox("密码不能为空!
")
ElseIfTextBoxX1.Text<>LoginForm.TextBox2.TextThen
MsgBox("旧密码错误!
")
ElseIfTextBoxX2.Text<>TextBoxX3.TextThen
MsgBox("确认密码和新密码不相同!
")
Else
User.ModifyPassword(LoginForm.TextBox1.Text,TextBoxX2.Text)
EndIf
EndSub
PrivateSubButtonItem13_Click(ByValsenderAsSystem.Object,ByValeAsS
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- NET技术 NET 技术 课程设计 报告