学生选课系统.docx

上传人:b****7 文档编号:25360633 上传时间:2023-06-07 格式:DOCX 页数:23 大小:311.39KB
下载 相关 举报
学生选课系统.docx_第1页
第1页 / 共23页
学生选课系统.docx_第2页
第2页 / 共23页
学生选课系统.docx_第3页
第3页 / 共23页
学生选课系统.docx_第4页
第4页 / 共23页
学生选课系统.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

学生选课系统.docx

《学生选课系统.docx》由会员分享,可在线阅读,更多相关《学生选课系统.docx(23页珍藏版)》请在冰豆网上搜索。

学生选课系统.docx

学生选课系统

1问题定义

“选课”是现在高校行政管理工作中一项很重要的课题。

而且是每个学期都必须要面对的问题。

选课工作做不好,学生不知道自己将要学习的课程,老师也不知道自己将要讲授的课程,教务处的排课计划、教室安排等其他调度工作也无从做起。

因此,如何解决高校教务管理中的选课工作便成为了如今各大高校面临的很实际的问题。

随着近几年高校的持续扩招,学生人数逐年增加。

为了满足广大学生的求学需要,各个高校的师资力量、硬件配置也随之增强。

这样一来,日常行政部门的工作也就越来越繁重,这一点在选课这块显得尤为突出。

而传统的手工操作,即费时又费力,而且容易出错,工作效率较低。

因此,拥有一套实用、高效、完善的在线选课系统就显得尤为重要,它可以提升高校的教育质量和教学管理质量,提高工作效率,降低行政成本。

大学期间总会有很多公共选修课,以往的选课方法是随堂报名。

这种方法虽然直接,但是造成选课的盲目性,有些课堂选课时人满为患,有些课堂无人选课。

原因是传统的选课方法没有预见性,大家没有事先协调好。

并且学生选课存在这样的特点:

公选课较多,学生人数众多,学生可根据自己的专业及兴趣选择公选课程进行学习,而且学生对课程的要求有较大差异。

使用了网上选课系统以后,可以在开课前就在网上选课,每个学生的课程在开课前就确定好,学生通过本系统可以了解课题相关信息,进行自主选题,能够满足不同学生对不同题目的不同要求,有利于发挥学生的长处,而且能够充分利用学校的各类教学资源。

使用本系统有三个角色,即管理员、学生和教师用户。

管理员的权限最高,包括设置系统登陆信息,用户基本信息、选课信息的录入、查看、修改、删除等,同时还具有查询各个模块的功能。

老师和学生可以实现基本信息查询和进行选课的相关操作,如添加选课信息,退选等。

2可行性研究

2.1项目概述

本系统实现学生选课的基本功能,包括学生退选课,查看自己的选课信息;教师查看选课学生的信息,提交成绩;管理员添加学生、管理学生、管理成绩、添加教师、管理教师和管理课程等。

系统利用.Net平台技术进行开发,实现学生选课的动态管理,使得对信息的管理更加及时、高效,提高了效率。

同时还对系统的开发原理、功能特点和设计方案进行了介绍。

2.2可行性分析的前提

2.2.1项目的目标

本系统目标是实现选课系统所需的各种基本功能,包括学生选课、退课功能和教师查看选修课程、提交课程成绩功能以及管理员添加学生、维护学生信息、成绩管理、添加教师、维护教师信息、维护选修课程,还有公用的修改密码等功能。

2.2.2项目的环境

操作系统:

WindowsXP

建模工具:

RationalRose2003

数据库系统:

SQLServer2005

开发工具:

VisualStudio2010

Web服务器:

IIS+ASP.NET2.0平台

 

2.3可选的方案

2.3.1方案一

中等成本方案:

设计仅关于软件工程课程设计的管理系统

2.3.2方案二

高成本方案:

设计整个学校教学管理系统,利于学校教学质量的提高。

2.4所建议的系统

2.4.1系统说明

本系统实现学生选课的基本功能,包括学生退选课,查看自己的选课信息;教师查看选课学生的信息,提交成绩;管理员添加学生、管理学生、管理成绩、添加教师、管理教师和管理课程等。

系统利用.Net平台技术进行开发,实现学生选课的动态管理,使得对信息的管理更加及时、高效,提高了效率。

同时还对系统的开发原理、功能特点和设计方案进行了介绍。

2.4.2高层数据流图

学生选课系统高层数据流图如图2.1所示

图2.1高层数据流图

2.5经济可行性

系统界面友好,操作简单,系统的配置要求不高,实现可行,因此经济可行。

该系统可以容易实现学生、老师与学校之间的联系,在Internet上实现完成部分教务工作,提高办事效率。

2.6技术可行性

随着互联网的蓬勃发展,越来越多的机构将科研管理与Internet融合到一起,以方便个高校管理。

在这样一个社会背景下,基于Windows和SQLServer2005,运用先进的ASP.NET技术、先进的C#语言,采用B/S模式开发的学生网上选课系统,将学生、老师、管理员、有机地结合在一起,有效地提高管理水平和效率。

2.7操作可行性

该选课系统既可以由管理员登录,录入开课信息,并且发布,也可以由学生登录,查看可选的课程信息,选择课程,该系统操作方便,简单有效。

3需求分析

3.1需求概述

学生选课系统主要满足来自三方面的需求,这三个方面分别是学生用户、教师用户和管理员用户,也即是三类用户角色。

(1)学生用户是主要的需求者,主要需求功能是查询可选课程、查看自己选课情况及进行选课、退课操作等;

(2)教师用户主要需求功能是查看自己所教授的课程、课程有哪些学生选修、以及利用本系统提交学生的成绩;

(3)管理员用户的功能需求较为复杂,包括对学生信息、教师信息、课程信息进行管理。

在学生信息管理子模块中,实现对学生信息的添加、修改、删除操作,还可以输入查询条件进行查询操作。

在教师管理子模块中,实现对教师信息的添加、修改、删除、查询等操作。

在课程管理子模块中,实现对课程信息的添加,添加时为其分配任课教师、上课时间和地点,实现对课程的修改、删除、查看某个课程的详细信息等。

本系统将管理员用户、教师用户、学生用户的身份及权限进行严格的划分,让管理员拥有最高权限,可以查看、维护系统中的所有信息,如添加学生,添加课程,修改课程信息等;让教师拥有查看自己开设的课程的信息,以及提交所开设课程成绩的权限;让学生拥有选课和退选的权限;而修改密码模块的权限每个用户都可拥有,用以修改自己的密码信息。

通过进行严格的权限划分,可以更好地进行管理,也可更好地保护用户信息安全。

3.2需求模型

选课系统用例图如图3.1所示

 

图3.1用例图

系统类图如图3.2所示

 

图3.2类图

类图说明:

(1)BaseUser类是一个系统角色用户的基类,主要方法有两个:

modifyPWD()用于修改用户的密码;

loginCheck()用于用户登录验证。

(2)Admin类继承自BaseUser类。

(3)Student类继承自BaseUser类,主要方法有:

studentAdd()用于添加学生;

studentDel()用于删除学生;

studentUpdate()用于更新学生信息;

getStudents()用于获取学生列表。

(4)Teacher类继承自BaseUser类,主要方法有:

teacherAdd()用于添加教师;

teacherDel()用于删除教师;

teacherUpdate()用于更新教师信息;

getTeachers()用于获取教师列表。

(5)Course类是一个课程类,主要方法有:

courseAdd()用于添加课程;

courseDel()用于删除课程;

courseUpdate()用于修改课程信息;

getCourses()用于获取课程列表。

(6)Elect类是一个选课表类,主要方法有:

elect()选修课程;

electDel()退选课程;

getElectInfo()获取选课信息;

haveSubmit()检测是否已提交过成绩;

submitScore()提交成绩。

 

3.2.1数据模型

学生选课系统总体E-R图如图3.3所示

图3.3总体E-R图

3.2.2功能模型

学生选课系统细化数据流图如图3.4所示

D5重新登录

 

图3.4细化数据流图

 

3.2.3行为模型

学生选课操作状态图如图3.5所示

图3.5状态图

 

3.2.4数据字典

管理员模块数据字典

学生模块数据字典

教师模块数据字典

4总体设计

4.1系统体系结构

该体系结构说明了各个模块的功能

图4.1系统体系结构图

4.2模块详细说明

表4-1学生选课IPO表

IPO表

系统:

学生选课系统

模块:

学生选课

编号:

1.1

作者:

董小童

日期:

3.12

被调用:

选课系统

调用:

学生选课模块

输入:

所选课程

输出:

选课表

处理:

人数未满可选

选课

人数已满不可选

局部数据元素:

注释:

4.3数据库设计

学生表Student的详细数据字段:

表4-2Student学生用户表

序号

字段名

字段类型

说明

备注

1

stuID

nvarchar(20)notnull

学生学号

关键字

2

stuPwd

nvarchar(20)notnul

学生密码

3

stuName

nvarchar(20)notnul

学生姓名

4

stuDepart

Int

学生系院号

5

stuGrade

int

学生年级

6

stuClass

int

学生班级

5详细设计

5.1人机界面设计

学生选课模块界面图如图5.1所示

 

图5.1学生选课界面图

 

5.2过程设计

学生选课模块流程设计如图5.2所示

学生模块详细代码如下:

//www.w3.org/1999/xhtml">

学生选课

topID="Top1"runat="server"/>

16pt;">可选修课程

GridViewID="GridView1"runat="server"AutoGenerateColumns="False"BackColor="White"

Width="100%"BorderColor="#999999"BorderStyle="None"BorderWidth="1px"CellPadding="3"

DataSourceID="SqlDataSource1"GridLines="Vertical"OnRowCommand="GridView1_RowCommand"

Font-Size="10pt"DataKeyNames="courceID,teaID">

BoundFieldDataField="courceID"HeaderText="courceID"ReadOnly="True"Visible="False"

SortExpression="courceID"/>

BoundFieldDataField="teaID"Visible="False"HeaderText="teaID"ReadOnly="True"

SortExpression="teaID"/>

BoundFieldDataField="courceName"HeaderText="课程名称"SortExpression="courceName">

BoundField>

BoundFieldDataField="teaName"HeaderText="教师姓名"SortExpression="teaName">

BoundField>

BoundFieldDataField="courceTime"HeaderText="上课时间"SortExpression="courceTime">

BoundField>

BoundFieldDataField="courceAddress"HeaderText="上课地点"SortExpression="courceAddress">

BoundField>

HyperLinkFieldDataNavigateUrlFields="courceID,teaID"DataNavigateUrlFormatString="courseDetail.aspx?

courceID={0}&teaID={1}"

HeaderText="详细..."Text="详细..."/>

ButtonFieldHeaderText="选修"CommandName="select"Text="选修">

ButtonField>

GridView>

SqlDataSourceID="SqlDataSource1"runat="server"ConnectionString="<%$ConnectionStrings:

ConnectionString%>"

SelectCommand="SELECTCource.courceID,Cource.teaID,Cource.courceName,Teacher.teaName,Cource.courceTime,Cource.courceAddressFROMCourceINNERJOINTeacherONCource.teaID=Teacher.teaIDWHERENOTEXISTS(SELECT*FROMElectWHERE(courceID=Cource.courceIDandteaID=Cource.teaIDandstuID=@stuID))">

SessionParameterName="stuID"SessionField="userID"/>

SqlDataSource>

Labelrunat="server"ID="errormess"ForeColor="Red"Font-Size="Smaller">

Label>

24px;text-align:

center">

16pt;">您已经选修的课程

GridViewID="GridView2"runat="server"AutoGenerateColumns="False"BackColor="White"

Width="100%"BorderColor="#999999"BorderStyle="None"BorderWidth="1px"CellPadding="3"

DataSourceID="SqlDataSource2"GridLines="Vertical"OnRowCommand="GridView2_RowCommand"

DataKeyNames="stuID,courceID,teaID">

BoundFieldDataField="stuID"HeaderText="stuID"ReadOnly="True"SortExpression="stuID"

Visible="False"/>

BoundFieldDataField="courceID"HeaderText="courceID"ReadOnly="True"SortExpression="courceID"Visible="False"/>

BoundFieldDataField="teaID"HeaderText="teaID"ReadOnly="True"SortExpression="teaID"Visible="False"/>

BoundFieldDataField="courceName"HeaderText="课程名称"SortExpression="courceName">

BoundFieldDataField="teaName"HeaderText="教师姓名"SortExpression="teaName">

BoundField>

BoundFieldDataField="courceTime"HeaderText="上课时间"SortExpression="courceTime">

BoundFieldDataField="courceAddress"HeaderText="上课地点"SortExpression="courceAddress">

ButtonFieldHeaderText="退选"CommandName="shanchu"Text="退选

GridView>

SqlDataSourceID="SqlDataSource2"runat="server"ConnectionString="<%$ConnectionStrings:

ConnectionString%>"SelectCommand="SELECTElect.stuID,Elect.courceID,Elect.teaID,

SessionParameterName="stuID"SessionField="userID"/>

SqlDataSource>

21px"align="center">

HyperLinkID="HyperLink1"runat="server"NavigateUrl="~/ModifyPwd.aspx"Font-Size="10pt">修改密码

HyperLink>

HyperLinkID="HyperLink2"runat="server"Font-Size="10pt"NavigateUrl="javascript:

window.close()">退出系统

HyperLink>

 

6测试

6.1白盒测试

白盒测试采用循环测试,根据流程图可分为两类,简单循环和嵌套循环。

简单循环:

(1)跳过循环,即0次

(2)通过循环1次

(3)通过循环n-1次

(4)通过循环n次

(5)通过循环n+1次

嵌套循环:

(1)从内层循环开始测试,外层循环都设为最小值。

(2)对内层循环使用简单循环测试方法,而使外层循环的迭代参数取最小值,并为越界值或非法值增加一些额外的测试。

(3)由内向外对下一个循环进行测试,但保持所有外层循环为最小值,其他嵌套循环为“典型”值。

(4)继续进行下去,直到测试完所有循环。

6.2黑盒测试

等价划分类:

输入条件

有效等价类

无效等价类

用户名

(1)5位数字

(3)有非数字字符

(4)少于5位数字

(5)多于5位数字

密码

(2)6位数字或字母字符

(6)有非数字字母字符

(7)少于6位字符

(8)多于6位字符

测试方案:

编号

覆盖等价类

输入

预期的输出

1

(1)

(2)

用户名:

12000密码:

123456

正确

2

(3)

用户名:

a2000

错误

3

(4)

用户名:

2000

错误

4

(5)

用户名:

112000

错误

5

(6)

密码:

¥23456

错误

6

(7)

密码:

23456

错误

7

(8)

密码:

1123456

错误

7结论

通过这次课程设计,我们学到了很多关于信息系统方面的知识,也得到了很多,不仅将在书本中学到的知识运用到解决实际问题上,而且加强了自己的动手能力。

在设计的过程中发现整个系统原理比最初想象的都要复杂,不过也没

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 销售营销

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1