首页 学生选课系统_软件工程课程设计报告

学生选课系统_软件工程课程设计报告

举报
开通vip

学生选课系统_软件工程课程设计报告 概述 1.1课题题目:学生选课系统 1.2系统的主要目标: 本系统目标是实现选课系统所需的各种基本功能,包括学生选课、退课功能和教师查看选修课程、提交课程成绩功能以及管理员添加学生、维护学生信息、成绩管理、添加教师、维护教师信息、维护选修课程,还有公用的修改密码等功能。 1.3 系统的开发环境及运行环境: 操作系统: Windows XP Pro SP2 建模工具: Rational Rose 2003 数据库系统:SQL Server2000 开发工具: Visual Studio 2005...

学生选课系统_软件工程课程设计报告
概述 1.1课 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 题目:学生选课系统 1.2系统的主要目标: 本系统目标是实现选课系统所需的各种基本功能,包括学生选课、退课功能和教师查看选修课程、提交课程成绩功能以及管理员添加学生、维护学生信息、成绩管理、添加教师、维护教师信息、维护选修课程,还有公用的修改密码等功能。 1.3 系统的开发环境及运行环境: 操作系统: Windows XP Pro SP2 建模工具: Rational Rose 2003 数据库系统:SQL Server2000 开发工具: Visual Studio 2005 Web服务器:IIS+ASP.NET 2.0平台 系统需求分析 学生选课系统主要满足来自三方面的需求,这三个方面分别是学生用户、教师用户和管理员用户,也即是三类用户角色。 (1)学生用户是主要的需求者,主要需求功能是查询可选课程、查看自己选课情况及进行选课、退课操作等; (2)教师用户主要需求功能是查看自己所教授的课程、课程有哪些学生选修、以及利用本系统提交学生的成绩; (3)管理员用户的功能需求较为复杂,包括对学生信息、教师信息、课程信息进行管理。在学生信息管理子模块中,实现对学生信息的添加、修改、删除操作,还可以输入查询条件进行查询操作。在教师管理子模块中,实现对教师信息的添加、修改、删除、查询等操作。在课程管理子模块中,实现对课程信息的添加,添加时为其分配任课教师、上课时间和地点,实现对课程的修改、删除、查看某个课程的详细信息等。 本系统将管理员用户、教师用户、学生用户的身份及权限进行严格的划分,让管理员拥有最高权限,可以查看、维护系统中的所有信息,如添加学生,添加课程,修改课程信息等;让教师拥有查看自己开设的课程的信息,以及提交所开设课程成绩的权限;让学生拥有选课和退选的权限;而修改密码模块的权限每个用户都可拥有,用以修改自己的密码信息。通过进行严格的权限划分,可以更好地进行管理,也可更好地保护用户信息安全。 用例图 图2-1 学生选课系统用例图 用例图说明: (1)系统的外部角色有:学生用户、教师用户和管理员。 (2)系统主要用例的文档描述: ①学生管理用例:学生用户可见的功能,包含了选课、退课和查看选课三个用例功能。 ②教师管理用例:教师用户可见的功能,包含了查看学生选课和提交成绩两个用例功能。 ③信息管理用例:管理员可见的功能,这个用例进一步分为三个用例:学生信息管理用例、教师信息管理用例和课程信息管理用例。 ④学生信息管理用例:信息管理用例可见的功能,实现学生信息的管理功能,包含了添加学生、修改学生信息和删除学生三个用例。 ⑤教师信息管理用例:信息管理用例可见的功能,实现教师信息的管理功能,包含了添加教师、修改教师信息和删除教师三个用例。 ⑥课程信息管理用例:信息管理用例可见的功能,实现课程信息的管理功能,包含了添加课程、修改课程信息和删除课程三个用例。 ⑦修改密码用例:所有用户都可见的功能,用于修改用户的密码信息。 (3)系统用例之间的关系: ①学生管理用例与选课、查看选课、退课三用例之间是包含关系。 ②教师管理用例与查看学生选课、提交成绩两用例之间是包含关系。 ③信息管理用例与学生信息管理用例、教师信息管理用例和课程信息管理用例之间是包含关系。 ④学生信息管理用例与添加学生、修改学生信息和删除学生三个用例之间是包含关系。 ⑤教师信息管理用例与添加教师、修改教师信息和删除教师三个用例之间是包含关系。 ⑥课程信息管理用例与添加课程、修改课程信息和删除课程三个用例之间是包含关系。 (4)系统关键用例的正常事件流图和异常事件流图 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 2-1 修改密码用例的正常事件流图和异常事件流图 用例名称 修改密码 参与者 管理员、教师、学生 描述 管理员、教师、学生用户进行密码修改 启动 单击“修改密码”链接 前置条件 用户成功登录 主事件流 用户 系统 1.进入用户修改密码界面,输入旧密码一次 ,新密码两次 2.系统检查密码格式是否相符 3.系统检查旧密码是否正确 4.如果正确,进行密码修改,转入密码修改成功界面 异常流 异常流 密码检查未通过 系统 返回密码修改界面,提示旧密码不正确,新密码格式不符,两次不同等密码 异常 用户旧密码错误 表2-2 提交成绩用例的正常事件流图和异常事件流图 用例名称 提交成绩用例 参与者 教师用户 描述 提交选自己开设课程的学生的成绩 启动 进入提交成绩界面 前置条件 用户成功登录 后置条件 尚未提交过成绩 主事件流 用户 系统 1.单击提交成绩 2.系统提交成绩页面 3.填写学生成绩,单击提交成绩 5.更新学生成绩,提示提交成功 异常流 异常流 用户已经提交过该门课程成绩 系统 提示该课程成绩已提交,不能再次提交 类图 图2-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() 提交成绩。 顺序图 (1) 管理员修改课程信息顺序图 图2-3 管理员修改课程信息顺序图 (2) 学生用户退选课的顺序图 图2-4 学生用户退选课的顺序图 (3) 教师提交成绩顺序图 图2-5 教师提交成绩顺序图 协作图(可选) (1) 学生用户选课协作图 图2-6 学生用户选课协作图 (2) 教师提交成绩协作图 图2-7 教师提交成绩协作图 系统总体 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 3.1 设计问题域子系统 学生选课系统是实现学生选课退课、教师提交成绩以及学校教务管理员维护信息的一个平台,整个学生选课系统有前台和后台两部分,共分为4个模块:管理员模块,教师模块,学生模块和公有模块,分别用于完成各自的功能。以下为学生选课系统总体设计图和各功能模块说明: (1)总体设计图 (2)各模块功能 表3-1 学生选课系统功能模块表 功能模块 包含子功能模块 功能 管理员模块 学生管理子模块 对学生信息的添加、修改,删除操作 教师管理子模块 对教师的添加,修改,删除,查询操作 课程管理子模块 对课程的添加,添加时为其分配任课教师,上课时间和地点,实现对课程的修改,删除,查看某个课程的详细信息等 教师模块 实现查看自己所教授的课程,课程有哪些学生选修,以及利用本系统提交学生的成绩 学生模块 实现学生选课,查看所选课程,修改自己的选课信息 公有模块 实现用户的身份验证,密码修改,退出系统等功能 3.2 设计数据管理子系统 (1)数据库表 表3-2 数据库表 序号 数据库表 数据表存储的内容 1 Student 存储学生的信息 2 Teacher 存储教师的信息 3 Users 存储管理员的信息 4 Elect 存储选课的信息 5 Cource 存储课程的信息 6 Depart 存储学校系院信息 (2)数据表之间的关系 图3-2 数据表之间的关系图 (3)数据库表结构 ①学生表Student的详细数据字段: 表3-3 Student学生用户表 序号 字段名 字段类型 说明 备注 1 stuID nvarchar(20)not null 学生学号 关键字 2 stuPwd nvarchar(20)not nul 学生密码 3 stuName nvarchar(20)not nul 学生姓名 4 stuDepart Int 学生系院号 5 stuGrade int 学生年级 6 stuClass int 学生班级 ②教师表Teacher的详细数据字段: 表3-4 Teacher教师用户表 序号 字段名 字段类型 说明 备注 1 teaID nvarchar(20)not null 教师编号 关键字 2 teaPwd nvarchar(20)not null 教师密码 3 teaName nvarchar(100)not null 教师姓名 4 teaDepart Int(4) 教师系院号 ③课程表Course的详细数据字段: 表3-5 Cource课程信息表 序号 字段名 字段类型 说明 备注 1 courseID nvarchar(20)not null 课程编号 关键字 2 teaID nvarchar(20)not null 教师编号 关键字 3 courseName nvarchar(100) not null 课程名称 4 courseTime nvarchar(20) 上课时间 5 courseAddress nvarchar(50) 上课地点 6 courseInfo Text 课程简介 ④选课表Elect的详细数据字段: 表3-6 Elect选课信息表 序号 字段名 字段类型 说明 备注 1 stuID nvarchar(20)not null 学生学号 关键字 2 courseID nvarchar(20)not null 课程编号 关键字 3 teaID nvarchar(20)not null 教师编号 关键字 4 Score int 课程成绩 ⑤系统管理员表Users的详细数据字段: 表3-7 Users管理员表 序号 字段名 字段类型 说明 备注 1 adminName nvarchar(20)not null 系统管理员用户名 关键字 2 adminPwd nvarchar(20) 系统管理员密码 ⑥系院表Depart的详细数据字段: 表3-8 Depart系院表 序号 字段名 字段类型 说明 备注 1 departID Int not null 系院号 关键字 2 departName nvarchar(100) 系院名称 3.3 设计人机交互子系统 (1)用户分类 本系统的用户可分为三类: ①管理员用户; ②教师用户; ③学生用户。 (2)用户描述 ①管理员用户的描述: 管理员用户在整个选课系统中起到管理和维护的作用,对学生和教师的信息进行管理和维护以及开设课设等职责。 ②教师用户的描述: 教师用户在本系统中具有管理选修了自己开设的课程的学生的权限,查看选修了自己开设课程的学生信息有及提交学生成绩。 ③学生用户的描述: 选课系统主要是针对管理学生的,学生在本系统中具有修改自己的信息,以及选课和退选的功能。 (3)设计命令层次 ①系统的人机交互子系统的内容和准则: 本学生选课系统的人机交互子系统在根据不同的用户身份登陆到不同的页面,然后按照不同的用户只能进行用户权限内的操作,其结构图如下: ②通过采用树形结构,细化命令的组织方式,如下: 详细设计 学生选课系统是实现学生网上选课、教师提交成绩以及学校教务管理员维护信息的一个平台,整个学生选课系统共分为4个大模块:管理员模块,教师模块,学生模块和公有模块,其中复杂的方法和模块的详细设计 流程 快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计 图如下。 4.1系统用户登录流程图 SHAPE \* MERGEFORMAT 4.2 用户密码修改流程图 SHAPE \* MERGEFORMAT 4.3教师提交成绩流程图 SHAPE \* MERGEFORMAT 4.4管理员添加课程流程图 SHAPE \* MERGEFORMAT 4.5学生选修课程流程图 SHAPE \* MERGEFORMAT 系统实现 本系统采用了三层架构来实现,即分为用户界面层(UI)、业务逻辑层(BLL)和数据访问层(DAL),用户界面层是展示给用户的界面,方便用户与系统进行交互;业务逻辑层是对系统业务实体的封装,完成系统业务功能;数据访问层直接与数据库打交道,为业务逻辑层提供底层的数据库操作。 5.1 Database类主要是与数据库连接,提供数据库操作功能,代码如下: namespace MyElectCourse.DAL { public class Database { protected string connectionString; protected SqlConnection connection = null; public Database() { connectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString.ToString(); } ~Database() { if (connection != null) { connection = null; } } protected void Open() { if (connection == null) { connection = new SqlConnection(connectionString); } if (connection.State.Equals(ConnectionState.Closed)) { connection.Open(); } } protected void Close() { if (connection != null) { connection.Close(); } } public int ExecuteSQL(string sqlstr) { int count = -1; this.Open(); SqlCommand cmd = new SqlCommand(sqlstr, connection); count = cmd.ExecuteNonQuery(); this.Close(); return count; } public DataSet GetDataSet(string sqlstr) { this.Open(); DataSet ds = new DataSet(); SqlDataAdapter adapter = new SqlDataAdapter(sqlstr,connection); adapter.Fill(ds); this.Close(); return ds; } public DataTable GetDataTable(string sqlstr) { DataSet ds = this.GetDataSet(sqlstr); DataTable dt = new DataTable(); if (ds.Tables.Count > 0) { dt = ds.Tables[0]; } return dt; } public SqlDataReader GetDataReader(string sqlstr) { this.Open(); SqlCommand cmd = new SqlCommand(sqlstr, connection); SqlDataReader sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection); //this.Close(); return sdr; } } } 5.2 UserBase类是所有系统角色用户的基类,完成用户登录验证与修改密码的功能,代码如下: namespace MyElectCourse.BLL { public class UserBase { private string userID; public string UserID { get { return userID; } set { userID = value; } } private string userPSW; public string UserPSW { get { return userPSW; } set { userPSW = value; } } public string loginCheck(string uid, string upwd, string urole) { String selectStr = String.Empty; switch (urole) { case "0": //身份为教师时 selectStr = "Select * from Teacher where teaID = '" + uid + "'"; break; case "1": //身份为学生时 selectStr = "Select * from Student where stuID = '" + uid + "'"; break; case "2": //身份为管理员时 selectStr = "Select * from Users where adminName = '" + uid + "'"; break; default: return null; } Database db = new Database(); DataTable dt = db.GetDataTable(selectStr); if (dt.Rows.Count > 0) //如果该用户存在 { if (dt.Rows[0][1].ToString().Equals(upwd)) //密码正确 { switch (urole) { case "0": //身份为教师时 return "0"; case "1": //身份为学生时 return "1"; case "2": //身份为管理员时 return "2"; default: return null; } } else //密码错误,给出提示信息! { return "-1"; } } else //用户不存在或用户名输入错误 { return "-2"; } } public string modifyPWD(String urole, String uid, String oldPwd, String newPwd) { String updateStr = String.Empty; switch (urole) { case "0": //身份为教师时 updateStr = "update Teacher set teaPwd='" + newPwd + "' where teaID='" + uid + "'"; break; case "1": //身份为学生时 updateStr = "update Student set stuPwd='" + newPwd + "' where stuID='" + uid + "'"; break; case "2": //身份为管理员时 updateStr = "update Users set adminPwd='" + newPwd + "' where adminName='" break; } string ucheck = this.loginCheck(uid, oldPwd, urole); if (ucheck.Equals("0") || ucheck.Equals("1") || ucheck.Equals("2")) { int t = new Database().ExecuteSQL(updateStr); //根据修改后返回的结果给出提示 if (t > 0) { return "1"; } else { return "0"; } } else { return "-1"; } } }} 5.3 系统登录页面,代码及运行效果如下: 登录页面
学生选课系统
用户名
密   码:
教师 学生 管理员
图5-1系统登录页面 5.4 学生用户选课界面代码及运行效果图如下: 学生选课
可选修课程
您已经选修的课程
本文档为【学生选课系统_软件工程课程设计报告】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_679106
暂无简介~
格式:doc
大小:870KB
软件:Word
页数:29
分类:互联网
上传时间:2012-04-06
浏览量:140