学生选课管理系统软件课程设计报告(精)

合集下载

学生选课管理系统设计报告

学生选课管理系统设计报告

《学生选课系统》课程设计学院信息工程专业网络工程班级 130461 课题名称学生选课管理系统设计组长学号姓名成绩组员学号姓名成绩组员学号姓名成绩开课时间 2014 至 2015 学年第一学期地点 D509一、课程设计的目的和要求本次学生选课管理系统的课程设计,明白整个系统架构,使得自己所学的Microsoft Visual C++ 6.0和Microsoft Access知识的相互结合,加深对数据库的认识,同时又复习了Microsoft Visual C++ 6.0的编写。

为以后能够合理的、精确地、独立的完成数据库提供了前提。

数据库运用到数据库建立,建立表以及表与表的连接等等,前台用Microsoft Visual 6.0中MFC工程建立需要的界面与编写界面之间连接代码等。

我们想通过本实验解决后台数据库与前台界面连接问题,这也是主要问题所在,只有正确连接才能保证前台用户操作正确的数据,达到数据库中数据资源的共享目的。

本次课程设计开发一套选课系统,由学生选课系统、教师系统和管理员系统三部分组成。

管理员可以通过管理员系统进行管理课程,查看课程选修情况,查看教师授课情况,修改或删除课程或者学生的信息。

教师可以通过教师系统进行查看自己教授的的课程,可以进行对学生的评分,以及对自己密码的修改。

学生可以通过学生选课系统进行查看备选课程及该课程的信息,选择希望选修的课程,以及对自己密码的修改。

二、设计2.1本次课程设计建立学生选课管理系统,通过用户名、密码分别进入3个类别系统,分别是教理系统,教师管理系统,学生选课系统,图2.1 学生管理系统基本图通过管理员,进入系统界面可以执行以下操作:通过学生,进入系统界面可以执行以下操作:图2.4 教师管理系统数据需求(1)学生表信息:学号,姓名,性别,院系,班级,密码,年龄。

(2)课程表信息:课程编号,课程名称,学分,学时,开课学期。

(3)选表信息:学号,课程编号,课程名称,姓名,学分,成绩。

学生选课管理系统数据库设计报告

学生选课管理系统数据库设计报告

学生选课管理系统数据库设计报告一、引言学生选课管理系统是为了方便学生选择适合自己学习和兴趣的课程而设计的系统。

该报告旨在介绍该系统的数据库设计,包括数据库表、字段、关系等方面的设计。

二、数据库表设计1. 学生表(student)•字段:学生ID(student_id)、姓名(name)、年龄(age)、性别(gender)、班级(class_id)2. 课程表(course)•字段:课程ID(course_id)、课程名称(course_name)、教师(teacher)、学分(credit)、课程时间(time)、上课地点(location)3. 选课表(enrollment)•字段:选课ID(enrollment_id)、学生ID(student_id)、课程ID (course_id)、成绩(grade)三、数据库关系设计1.学生表与选课表之间的关系:–一个学生可以选择多门课程,一个课程可以被多个学生选择,是多对多关系。

–学生表与选课表通过学生ID(student_id)进行关联。

2.课程表与选课表之间的关系:–一门课程可以被多个学生选择,一个学生也可以选择多门课程,是多对多关系。

–课程表与选课表通过课程ID(course_id)进行关联。

四、数据库操作1.插入操作:向学生表中插入新的学生信息。

INSERT INTO student (student_id, name, age, gender, class_id) VALUES (1, '张三', 20, '男', 'ClassA');2.查询操作:查询学生选择的所有课程。

SELECT*FROM enrollment WHERE student_id=1;3.更新操作:更新学生成绩信息。

UPDATE enrollment SET grade=90WHERE student_id=1AND course_id=101;4.删除操作:删除选课表中的选课记录。

学生选课信息系统数据库课程设计报告(1)

学生选课信息系统数据库课程设计报告(1)

学生选课信息系统数据库课程设计报告(1)学生选课信息系统数据库课程设计报告一、设计背景学生选课是高校本科教育的重要环节之一,选课过程需要学生、教师和管理员之间的良好合作。

为了方便学生选课,提高教学质量,开发一个适合本校实际需求的学生选课信息系统是非常有必要的。

二、系统需求1. 前台系统学生登录系统后可以进行选课、退课和查询课程信息等操作。

系统提供课程介绍和授课教师信息,方便学生选择。

2. 后台系统管理员需要对系统的课程信息、学生选课信息进行管理,包括添加、删除、修改课程信息,管理选课限制,查询学生选课情况等。

3. 数据库设计系统需要设计数据库,存储学生、教师和课程信息,以及学生选课信息的记录。

三、系统功能1. 学生功能(1)学生登录系统进行选课、退课操作。

(2)学生可以查看选课情况、课程信息和授课教师信息。

2. 教师功能(1)教师登录系统可以查看自己的授课情况和课程信息。

(2)教师可以对自己的课程信息进行修改。

3. 管理员功能(1)管理员登录系统可以添加、删除、修改课程信息。

(2)管理员可以设置课程选课限制,管理学生选课情况和课程信息。

四、系统实现1. 前台系统使用HTML、CSS、JavaScript等技术进行开发,实现学生、教师等用户操作界面。

2. 后台系统使用PHP或Java等技术进行开发,实现管理员对系统各个功能的管理操作。

3. 数据库使用MySQL或Oracle等关系型数据库进行设计,存储学生、教师和课程信息、学生选课记录等。

五、系统优化为了提高系统的性能和可用性,需要对系统进行优化,包括:1. 对数据库进行索引优化,提高查询速度。

2. 在前台系统中进行数据缓存,减少对后台系统的请求次数,提高系统响应速度。

3. 对系统进行安全性优化,防止非法入侵和数据泄漏。

六、系统测试在开发完成后,需要进行系统测试,包括功能测试和性能测试。

针对测试中发现的问题和缺陷,进行修复和优化,最终达到高质量的系统交付效果。

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

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

软件工程课程设计陈述( 2007-- 2008 年度第二学期)课程名称:软件工程课程设计题目:学生选课体系院系:盘算机科学与技巧系班级:盘算0503组号:2组长:李英龙组员:潘贵生刘罡吴志洁指点教师:马素霞设计周数:两周小构成绩:日期:2008 年 7月 4日《软件工程》课程设计任务书一. 目标.请求经由过程软件开辟的实践练习,进一步控制软件工程的办法和技巧,进步软件开辟的现实才能,造就工程设计才能和分解剖析.解决问题的才能.具体如下:1.进修和实践在剖析和设计盘算机应用体系所须要的常识,包含面向对象的体系剖析与设计,编码和测试方面的常识;2.熟习主动化的软件开辟对象Rational Rose 2003,并将其应用于软件开辟的全进程;3.进一步增强和进步软件工程文档的编写才能;4.造就协作才能和团队精力.二. 重要内容1.课题标题:学生选课体系,本体系要实现学生选课的根本功效,包含学生退选课,检讨本身的选课信息;教师检讨选课学生的信息,提交成绩;治理员添加学生.治理学生.治理成绩.添加教师.治理教师和治理课程等.2.应用面向对象技巧.UML及可视化的建模对象完成体系的需求剖析与设计.3.应用Rational Rose作为需求剖析与设计的建模对象,包含静态建模和动态建模,并应用对象模子主动生成数据模子,主动树立数据库.4.采取分层模式的应用设计模式进行体系的设计实现.5.体系要实现四个模块功效:教师模块.学生模块.治理员模块和公用模块.6.初步树立体系原型,实现症结的功效,并对体系进行测试.7.编写课程设计陈述.三.义务分派义务负责人介入人备注需求剖析潘贵生李英龙刘罡吴志浩总体设计刘罡李英龙潘贵生吴志浩具体设计吴志浩李英龙刘罡潘贵生体系实现与测试李英龙潘贵生刘罡吴志浩四. 进度筹划五. 设计成果请求1.树立体系剖析与设计模子;2.初步树立体系原型,实现症结的功效;3.编写课程设计陈述.六. 考察方法1.模子及代码检讨占50%.2.设计陈述占50%.指点教师:马素霞日期: 2008 年 6 月23 日《软件工程》课程设计成绩评定一. 指点教师考语二. 成绩学号姓名成绩备注1051220308 李英龙1051220316 潘贵生1051220311 刘罡1051220321 吴志浩指点教师:日期:年月日摘要:本体系实现学生选课的根本功效,包含学生退选课,检讨本身的选课信息;教师检讨选课学生的信息,提交成绩;治理员添加学生.治理学生.治理成绩.添加教师.治理教师和治理课程等.体系应用.Net 平台技巧进行开辟,实现学生选课的动态治理,使得对信息的治理加倍实时.高效,进步了效力.同时还对体系的开辟道理.功效特色和设计筹划进行了介绍.症结词:一.课程设计的目标与请求经由过程软件开辟的实践练习,进一步控制软件工程的办法和技巧,进步软件开辟的现实才能,造就工程设计才能和分解剖析.解决问题的才能.具体如下:1.进修和实践在剖析和设计盘算机应用体系所须要的常识,包含面向对象的体系剖析与设计,编码和测试方面的常识;2.熟习主动化的软件开辟对象Rational Rose 2003,并将其应用于软件开辟的全进程;3.进一步增强和进步软件工程文档的编写才能;4.造就协作才能和团队精力.二.设计正文1.概述1.1课题标题:学生选课体系1.2体系的重要目标:本体系目标是实现选课体系所需的各类根本功效,包含学生选课.退课功效和教师检讨选修课程.提交课程成绩功效以及治理员添加学生.保护学生信息.成绩治理.添加教师.保护教师信息.保护选修课程,还有公用的修正暗码等功效.1.3体系的开辟情形及运行情形:操纵体系:Windows XP Pro SP2建模对象:Rational Rose 2003数据库体系:SQLServer2000开辟对象:Visual Studio 20052.体系需求剖析学生选课体系重要知足来自三方面的需求,这三个方面分离是学生用户.教师用户和治理员用户,也等于三类用户脚色.(1)学生用户是重要的需求者,重要需求功效是查询可选课程.检讨本身选课情形及进行选课.退课操纵等;(2)教师用户重要需求功效是检讨本身所传授的课程.课程有哪些学生选修.以及应用本体系提交学生的成绩;(3)治理员用户的功效需求较为庞杂,包含对学生信息.教师信息.课程信息进行治理.在学生信息治理子模块中,实现对学生信息的添加.修正.删除操纵,还可以输入查询前提进行查询操纵.在教师治理子模块中,实现对教师信息的添加.修正.删除.查询等操纵.在课程治理子模块中,实现对课程信息的添加,添加时为其分派任课教师.上课时光和地点,实现对课程的修正.删除.检讨某个课程的具体信息等.本体系将治理员用户.教师用户.学生用户的身份及权限进行严厉的划分,让治理员失去最高权限,可以检讨.保护体系中的所有信息,如添加学生,添加课程,修正课程信息等;让教师失去检讨本身开设的课程的信息,以及提交所开设课程成绩的权限;让学生失去选课和退选的权限;而修正暗码模块的权限每个用户都可失去,用以修正本身的暗码信息.经由过程进行严厉的权限划分,可以更好地进行治理,也可更好地呵护用户信息安然.2.1用例图图2-1 学生选课体系用例图(2)体系重要用例的文档描写:①学生治理用例:学生用户可见的功效,包含了选课.退课和检讨选课三个用例功效.②教师治理用例:教师用户可见的功效,包含了检讨学生选课和提交成绩两个用例功效.③信息治理用例:治理员可见的功效,这个用例进一步分为三个用例:学生信息治理用例.教师信息治理用例和课程信息治理用例.④学生信息治理用例:信息治理用例可见的功效,实现学生信息的治理功效,包含了添加学生.修正学生信息和删除学生三个用例.⑤教师信息治理用例:信息治理用例可见的功效,实现教师信息的治理功效,包含了添加教师.修正教师信息和删除教师三个用例.⑥课程信息治理用例:信息治理用例可见的功效,实现课程信息的治理功效,包含了添加课程.修正课程信息和删除课程三个用例.⑦修正暗码用例:所有效户都可见的功效,用于修正用户的暗码信息.(3)体系用例之间的关系:①学生治理用例与选课.检讨选课.退课三用例之间是包含关系.②教师治理用例与检讨学生选课.提交成绩两用例之间是包含关系.③信息治理用例与学生信息治理用例.教师信息治理用例和课程信息治理用例之间是包含关系.④学生信息治理用例与添加学生.修正学生信息和删除学生三个用例之间是包含关系.⑤教师信息治理用例与添加教师.修正教师信息和删除教师三个用例之间是包含关系.⑥课程信息治理用例与添加课程.修正课程信息和删除课程三个用例之间是包含关系. (4)体系症结用例的正常事宜流图和平常事宜流图用户体系3.填写学生成绩,单击提交成绩5.更新学生成绩,提醒提交成功 平常流平常流 用户已经提交过该门课程成绩体系提醒该课程成绩已提交,不克不及再次提交2.2 类图图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() 提交成绩.2.3 次序图(1)治理员修正课程信息次序图2.4协作图(可选)(1) 学生用户选课协作图图2-6 学生用户选课协作图(2) 教师提交成绩协作图图2-7 教师提交成绩协作图3.体系总体设计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)数据表之间的关系: 学生用户: Student: BaseUser: Elect验证用户身份验证是否课程时间冲突3: 点击选课6: 提示选课成功1: 输入账户、密码2: 登录成功4: 提交选课信息5: 选课成功: 教师用户: Teacher: Elect: BaseUser验证用户身份验证是否已提交1: 输入用户名、密码2: 登录成功3: 点击提交成绩6: 提示提交成功4: 准备提交成绩5: 提交成功学生选课体系前台模块后台模块学生登录模块教师登录模块学生处理模块教师处理模块治理员处理模块公共模块治理员登录模块图3-1学生选课体系总体设计图图3-2 数据表之间的关系图(3)数据库表构造①学生表Student的具体数据字段:②教师表Teacher的具体数据字段:③课程表Course的具体数据字段:④选课表Elect的具体数据字段:⑤体系治理员表Users的具体数据字段:⑥系院表Depart的具体数据字段:3.3 设计人机交互子体系(1)用户分类本体系的用户可分为三类:①治理员用户;②教师用户;③学生用户.(2)用户描写①治理员用户的描写:治理员用户在全部选课体系中起到治理和保护的感化,对学生和教师的信息进行治理和保护以及开设课设等职责.②教师用户的描写:教师用户在本体系中具有治理选修了本身开设的课程的学生的权限,检讨选修了本身开设课程的学生信息有及提交学生成绩.③学生用户的描写:选课体系主如果针对治理学生的,学生在本体系中具有修正本身的信息,以及选课和退选的功效.(3)设计敕令层次①体系的人机交互子体系的内容和准则:本学生选课体系的人机交互子体系在依据不合的用户身份登陆到不合的页面,然后4.2 用户暗码修正流程图图4-1 体系用户登录流程图图4-2 用户暗码修正流程图图4-3教师提交成绩流程图治理员添加课程流程图图4-4 治理员添加课程流程图图4-5 学生选修课程流程图5.体系实现本体系采取了三层架构来实现,即分为用户界面层(UI).营业逻辑层(BLL)和数据拜访层(DAL),用户界面层是展现给用户的界面,便应用户与体系进行交互;营业逻辑层是对体系营业实体的封装,完成体系营业功效;数据拜访层直接与数据库打交道,为营业逻辑层供给底层的数据库操纵.5.1 Database类主如果与数据库衔接,供给数据库操纵功效,代码如下:namespace{publicclass Database{protectedstring connectionString;protected SqlConnection connection = null;public Database(){connectionString =ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString.ToString();}~Database(){if (connection != null){connection = null;}}protectedvoid Open(){if (connection == null){connection = new SqlConnection(connectionString);}if (connection.State.Equals(ConnectionState.Closed)){connection.Open();}}protectedvoid Close(){if (connection != null){connection.Close();}}publicint 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{publicclass UserBase{privatestring userID;publicstring UserID{get { return userID; }set { userID = value; }}privatestring userPSW;publicstring UserPSW{get { return userPSW; }set { userPSW = value; }}publicstring 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:returnnull;}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:returnnull;}}else//暗码错误,给出提醒信息!{return"-1";}}else//用户不消失或用户名输入错误{return"-2";}}publicstring 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体系登录页面,代码及运行后果如下:<head runat="server"><title>登录页面</title></head><body onload="document.all.txtUserName.focus()"leftmargin="0"rightmargin="0"><form id="form1"runat="server"><div><table align="center"style="font-size: 12px; font-family: Tahoma; border-collapse: collapse"<tr><td colspan="2"style="text-align: center"><span style="font-size: 24pt; font-family: 隶书">学生选课体系</span></td></tr><tr><td><div align="right"><span style="font-family: 宋体">用户名</span>:</div></td><td style="width: 242px"><asp:TextBox ID="txtUserName"runat="server"Width="150px"></asp:TextBox><asp:RequiredFieldValidator ID="RequiredFieldValidator1"runat="server"ErrorMessage="不克不及为空!"></asp:RequiredFieldValidator></td></tr><tr><td style="height: 32px"><div align="right">密&nbsp;&nbsp;&nbsp;码:</div></td><td style="height: 32px; width: 242px;"><asp:TextBox ID="txtPwd"runat="server"TextMode="Password"<asp:RequiredFieldValidator ID="RequiredFieldV alidator2"runat="server"ErrorMessage="不克不及为空!"></asp:RequiredFieldValidator></td></tr><tr><td colspan="2"align="center"style="height: 46px"><asp:RadioButtonList ID="rblClass"runat="server"RepeatDirection="Horizontal"><asp:ListItem Value="0">教师</asp:ListItem><asp:ListItem Selected="True"Value="1">学生</asp:ListItem><asp:ListItem Value="2">治理员</asp:ListItem></asp:RadioButtonList><asp:Label ID="lblMessage"runat="server"ForeColor="Red"></asp:Label></td></tr><tr><td align="center"colspan="2"><asp:ImageButton ID="imgbtnLogin"runat="server"ImageUrl="~/Images/Login.GIF"<asp:ImageButton ID="imgbtnClose"runat="server"ImageUrl="~/Images/Close.GIF"</td></tr></table></div></form></body></html>图5-1体系登录页面5.4学生用户选课界面代码及运行后果图如下:<html xmlns="/1999/xhtml"><head runat="server"><title>学生选课</title></head><body leftmargin="0"rightmargin="0"topmargin="0"><form id="form1"runat="server"><div><table width="100%"bgcolor="#ccccff"><tr><td><uc1:top ID="Top1"runat="server"/></td></tr></table><table id="table1"width="80%"border="0"align="center"><tr><td align="center"><span style="font-size: 16pt;">可选修课程</span></td></tr><tr><td><asp:GridView ID="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"><FooterStyle BackColor="#CCCCCC"ForeColor="Black"/><RowStyle BackColor="#EEEEEE"ForeColor="Black"Font-Size="10pt"/><SelectedRowStyle BackColor="#008A8C"Font-Bold="True"ForeColor="White"/><PagerStyle BackColor="#999999"ForeColor="Black"HorizontalAlign="Center"/><HeaderStyle BackColor="Blue"Font-Bold="True"ForeColor="White"Font-Size="10pt"/><AlternatingRowStyle BackColor="Gainsboro"/><Columns><asp:BoundField DataField="courceID"HeaderText="courceID"ReadOnly="True"Visible="False" SortExpression="courceID"/><asp:BoundField DataField="teaID"Visible="False"HeaderText="teaID"ReadOnly="True"SortExpression="teaID"/><asp:BoundField DataField="courceName"HeaderText="课程名称"SortExpression="courceName"></asp:BoundField><asp:BoundField DataField="teaName"HeaderText="教师姓名"SortExpression="teaName"></asp:BoundField><asp:BoundField DataField="courceTime"HeaderText="上课时光"SortExpression="courceTime"></asp:BoundField><asp:BoundField DataField="courceAddress"HeaderText="上课地点"SortExpression="courceAddress"></asp:BoundField><asp:HyperLinkField DataNavigateUrlFields="courceID,teaID"DataNavigateUrlFormatString="courseDetail.as px?courceID={0}&teaID={1}"HeaderText="具体..."Text="具体..."/><asp:ButtonField HeaderText="选修"CommandName="select"Text="选修"></asp:ButtonField></Columns></asp:GridView><asp:SqlDataSource ID="SqlDataSource1"runat="server"ConnectionString="<%$ ConnectionStrings:Connection String %>"SelectCommand="SELECT Cource.courceID, Cource.teaID, Cource.courceName, Teacher.teaName,Cource.courceTime, Cource.courceAddress FROM Cource INNER JOIN Teacher ON Cource.teaID =Teacher.teaID WHERE NOT EXISTS (SELECT * FROM Elect WHERE (courceID=Cource.courceID andteaID=Cource.teaID and stuID = @stuID))"><SelectParameters><asp:SessionParameter Name="stuID"SessionField="userID"/></SelectParameters></asp:SqlDataSource></td></tr><tr><td><asp:Label runat="server"ID="errormess"ForeColor="Red"Font-Size="Smaller"></asp:Label></td></tr><tr><td style="height: 24px; text-align: center"><span style="font-size: 16pt;">您已经选修的课程</span></td></tr><tr><td><asp:GridView ID="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"><FooterStyle BackColor="#CCCCCC"ForeColor="Black"/><RowStyle BackColor="#EEEEEE"ForeColor="Black"Font-Size="10pt"/><SelectedRowStyle BackColor="#008A8C"Font-Bold="True"ForeColor="White"/><PagerStyle BackColor="#999999"ForeColor="Black"HorizontalAlign="Center"/><HeaderStyle BackColor="Blue"Font-Bold="True"ForeColor="White"Font-Size="10pt"/><AlternatingRowStyle BackColor="Gainsboro"/><Columns><asp:BoundField DataField="stuID"HeaderText="stuID"ReadOnly="True"SortExpression="stuID"Visible="False"/><asp:BoundField DataField="courceID"HeaderText="courceID"ReadOnly="True"SortExpression="courceID"Visib le="False"/><asp:BoundField DataField="teaID"HeaderText="teaID"ReadOnly="True"SortExpression="teaID"Visible="False "/><asp:BoundField DataField="courceName"HeaderText="课程名称"SortExpression="courceName"><asp:BoundField DataField="teaName"HeaderText="教师姓名"SortExpression="teaName"></asp:BoundField><asp:BoundField DataField="courceTime"HeaderText="上课时光"SortExpression="courceTime"><asp:BoundField DataField="courceAddress"HeaderText="上课地点"SortExpression="courceAddress"><asp:ButtonField HeaderText="退选"CommandName="shanchu"Text="退选</Columns></asp:GridView><asp:SqlDataSource ID="SqlDataSource2"runat="server"ConnectionString="<%$ ConnectionStrings:Connection String %>"SelectCommand="SELECT Elect.stuID, Elect.courceID, Elect.teaID,<SelectParameters><asp:SessionParameter Name="stuID"SessionField="userID"/></SelectParameters></asp:SqlDataSource><td style="height: 21px"align="center"><asp:HyperLink ID="HyperLink1"runat="server"NavigateUrl="~/ModifyPwd.aspx"Font-Size="10pt">修正暗码</asp:HyperLink><asp:HyperLink ID="HyperLink2"runat="server"Font-Size="10pt"NavigateUrl="javascript:window.close()">退出体系</asp:HyperLink></td></tr></table></div></form></body></html>图5-2 学生选课界面5.5教师用户提交成绩界面代码及运行后果如下:<head runat="server"><title>提交成绩</title></head><body leftmargin="0"rightmargin="0"topmargin="0"><form id="form1"runat="server"><div><table width="100%"bgcolor="#ccccff"><tr><td><uc1:top ID="Top1"runat="server"/></td></table><table id="table1"width="400"border="0"runat="server"align="center"><tr valign="top"><td align="left"><asp:Label ID="lblmessage"Font-Size="10pt"runat="server">课程名称:&nbsp;&nbsp;</asp:Label> <asp:TextBox runat="server"ID="cname"></asp:TextBox></td></tr><tr><td align="center"><asp:GridView ID="GridView1"runat="server"AutoGenerateColumns="False"BackColor="White" BorderColor="#999999"BorderStyle="None"BorderWidth="1px"CellPadding="3"Font-Size="10pt" GridLines="Vertical"Width="100%"><FooterStyle BackColor="#CCCCCC"ForeColor="Black"/><Columns><asp:BoundField DataField="stuID"HeaderText="学号"/>。

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

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

软件工程课程设计报告学生选课系统软件工程课程设计报告:学生选课系统摘要:作为一种十分实用的信息管理方式,学生选课系统在现代高校得到了广泛的应用。

本文旨在通过对学生选课系统的分析与设计,实现一个高效、稳定的选课系统。

本系统主要由用户登录模块、选课模块、查看成绩模块等组成。

采用Spring + Mybatis MVC框架进行开发,通过登录、添加课程、查看成绩等操作实现系统功能,具备了良好的可扩展性和用户友好性。

关键词:学生选课系统,Spring, MVC,Mybatis一、引言随着互联网技术的不断发展,学生选课系统在高校中得到了广泛的应用。

学生选课系统是一种实用的信息管理方式,其目的在于方便学生进行选课,同时为学校管理部门提供选课管理。

本文旨在设计一个高效、稳定的学生选课系统,并利用Spring + Mybatis MVC框架进行开发,通过登录、添加课程、查看成绩等操作实现系统的功能。

二、系统需求分析学生选课系统中,主要需求有以下几点:1.用户登录模块学生选课系统的用户分为学生、教师和管理员,他们在系统中的权限不同。

因此,在系统中需要为不同用户提供不同的登录界面。

2.选课模块学生在登录后可以进行选课操作,选课模块需要具备添加课程、删除课程、查询课程等基本操作。

3.查看成绩模块学生在完成选课后,需要及时查看自己的成绩,以便于判断自己的学习状况。

三、系统设计1.技术选型本系统采用Spring + Mybatis MVC框架进行开发。

其中Spring作为IoC容器,优化了程序结构,Mybatis负责数据库操作, MVC框架可实现MVC分层开发。

2.数据库设计1.用户信息表格学生编号学生姓名登录用户名登录密码性别年级专业联系方式2.选课信息表格选课编号课程名称课程成绩上课教师学分3.设计算法1.学生登录学生输入登录信息,系统进行验证,验证成功后登录。

2.添加课程管理员添加课程信息,包含课程名称、上课教师、学分等信息。

学生选课管理系统课程设计报告

学生选课管理系统课程设计报告

课程设计报告题目:学生选课管理系统课程《数据库原理及应用》班级 12 信管姓名朱晨汪杨潇张厚义学号 1206121069 1206121065 1206121042指导教师杨慧铜陵学院数学与计算机学院时间: 2014 年 5月 12日至 2014 年 5 月 16 日指导教师对课程设计(论文)地评语(工作态度、任务完成情况、能力水平、设计说明书(论文)地撰写和图纸质量等):目录第一章开发背景 (4)第二章功能描述 (5)第三章业务流程分析 (6)第四章数据流程分析 (7)4.1数据流程图 (7)4.2数据字典 (7)第五章概念模型设计 (13)第六章逻辑模型设计和优化 (14)第七章物理设计和实施 (15)第八章系统测试 (17)第九章课程设计心得体会 (29)参考文献 (30)第一章开发背景随着计算机应用地日益普及,教务管理自动化是提高工作效率地有效途径,随着各高校学分制地实施,实现信息化管理学生选课势在必行.学生选课管理系统是教案管理地重要组成部分,其开发主要包括后台、数据库地建立和维护以及前端应用程序地开发两个方面,前者要求建立起数据地一致性、完整性和安全性好地数据库,而对于后者则要求应用程序功能完备、易使用及界面友好等特点.系统实现后,极大地方便对学生进行选课和选课后临时班级地安排管理,学生选课信息地管理.避免在安排课程信息地滞后,减少信息交流地烦琐过程及其带来地开销.促进高校教育地计算机信息化进程,提高学校地工作效率.对于系统地本身而言,应该具有较高地实用性、安全性.能够极大地满足学生选课,以及学校对选课信息地管理.第二章功能描述(1)在选课管理过程中,实现信息自动化管理;(2)实现各种信息地修改、删除、录入等管理功能;(3)实现对各种信息地查询、统计,支持模糊查询;(4)管理员可以设置学生什么时间开始选课,什么时间结束选课;学生根据开设课程进行选课操作,可以选课、退课、查询课程和课表;根据身份不同,权限也不相同;(5)当选课结束后,可以导出所有教师课程表,学生课程表;(6)对学生选课地结果,实现汇总、归纳和分析;按年份统计课程地学生选课人数及名单,按年份统计学生地选课内容;(7)按系统实际情况,数据量不低于200条记录.第三章业务流程分析根据本系统需要实现地功能,管理职能分析以及设计管理员、教师与学生之间地关系流程图如下:管理职能分析:(1) 网上选课系统总体业务流程图如下所示:图3-1 系统总体业务流程图(2) 登录子系统主要验证不同地用户身份并图3-2 登录子系统业务流程图(3) 排课子系统主要完成设置选课时段、限制最大选课人数、排课并检测排课冲突、(4)选课子系统主要完成面向学生地选课功能,包括查询课程信息、提交选申.其业务流程图如下所示:图3-4选课子系统业务流程图第四章数据流程分析4.1数据流程图(1)网上选课系统顶层数据流图:图4-1 系统顶层数据流图(2)网上选课系统第一层数据流图:图4-2网上选课系统第一层数据流图(3)根据不同地用户权限,展开登录处理过程,数据流图如下:图4-3管理员登录数据流图图4-4 教师登录数据流图(4)排课过程地数据流图:图4-6排课过程数据流图(5)选课过程地数据流图如图:图4-7选课过程数据流图4.2数据字典根据数据流程分析,对系统数据进行分析和汇总,建立系统数据字典.下面列出部分数据字典内容.(1) 排课数据流编号:A01系统名:网上选课系统条目名:排课输入:课程信息表,教案楼信息表,教师信息表,院系信息表输出:排课表,选课通知表描述:排课者按年级排课.排课表内容包括课程代号,课程名称,受课院系,专业代码,专业名称,教师代号,考察方式,学分,开课时间,上课时间,地点,开课院系,最大上课人数和课程选则限制(必修或选修)等.在排课过程中,排课者可以查询教室使用情况和院系课程设置.在排课者提交排课表以后,系统应当确保该排课方案中没有时间冲突和教室冲突.如果有冲突,系统应该提示排课者具体冲突产生地原因.(2) 选课数据流编号:A02系统名:网上选课系统条目名:选课输入:排课表,选课通知表,教师反馈表输出:学生选课表描述:学生可以在规定地时间段内选课.该规定时间段由排课者通过发布消息通知教师和学生.选课过程如下:学生在选课表上单击课程号,则该信息被提交到服务器,并显示学生地选课结果.选课表地内容包括排课表地全部内容.如果一门课程已经达到最大选课人数,则不能再选择这门课程.如果有学生退课,则该门课程地已选人数减1.(3) 设定选课时间段数据流编号:A03系统名:网上选课系统条目名:设定选课时间段输入:选课时间段表输出:选课时间段表描述:排课者应该设定选课时间段.学生只能在此设定地时间段内选课和退课.第五章 概念模型设计根据需求分析与关系模式画出系统地E-R 图如下:图5-1排课过程实体及其属性管理员排课11n选课通知发布设置选课时间段1n课程n时间地点图5-2排课过程E-R 图图5-3选课过程实体及其属性E-R 图学生选课课程成绩mn图5-4选课过程E-R 图管理员排课11n选课通知发布设置选课时间段1n课程n时间地点选课学生mn成绩图5-5系统地总E-R 图第六章逻辑模型设计和优化逻辑设计:(概念模型向关系模型地转换)根据E-R图,通过对实体地属性和之间地联系地分析,我们将其由概念模型向关系模型转化,并且根据范式化理论进行优化1:N联系地转化地关系模式(1)教师课程联系概念模型向关系模型地转化教师表(教师号,教师名,性别,年龄,身份,密码,课程号)课程表(课程号,课程名,学分,上课时间,开课时间,结束时间)(2)教师临时班级联系概念模型向关系模型地转化教师表(教师号,教师名,性别,年龄,身份,密码)临时班级表(班级号,班级名,人数,地点,教师号)(3)课程临时班级联系概念模型向关系模型地转化临时班级表(班级号,班级名,人数,地点,课程号)课程表(课程号,课程名,学分,上课时间,开课时间,结束时间)M:N联系地转化地关系模式(1)学生选课联系概念模型向关系模型地转化学生表(学号,姓名,性别,年龄,系部,密码)课程表(课程号,课程名,学分,上课时间,开课时间,结束时间)选课表(学号,课程号,成绩)(2)学生班级联系概念模型向关系模型地转化学生表(学号,姓名,性别,年龄,系部,密码)临时班级表(班级号,班级名,人数,地点)学生班级关系表(学生号,班级号)优化:确定范式级别根据上述分析所归结出来地数据依赖地种类和在本系统实际地开发过程中,需要涉及多表地查询及表地修改和删除,且存在多值依赖地实际情况下,其关系模式应达到BCNF.实施规范化处理由于学生选课联系地关系模式、学生班级地关系模式和教师管理员联系地关系模式已经不存非平凡且非函数依赖额多值依赖,所以在这里不需要做处理各个关系模式地函数依赖集如下:教师课程联系:F={教师号→教师名,教师号→性别,教师号→年龄,教师号→身份,教师号→密码,教师号→课程号}班级临时班级联系:F={班级号→班级名,班级号→人数,班级号→地点,班级号→教师号}课程临时班级联系:F={班级号→班级名,班级号→人数,班级号→地点,班级号→课程号}选课联系:F={(学号,课程号)→成绩}学生班级联系:F={(学生号,班级号)}(1)教师课程联系概念模型向关系模型地优化教师表(教师号,教师名,性别,年龄,身份,密码)课程表(课程号,课程名,学分,上课时间,开课时间,结束时间)教师课程联系(教师号,课程号)(2)教师临时班级联系概念模型向关系模型地优化教师表(教师号,教师名,性别,年龄,身份,密码)临时班级表(班级号,班级名,人数,地点)教师临时班级关系(班级号,教师号)(3)课程临时班级联系概念模型向关系模型地优化临时班级表(班级号,班级名,人数,地点)课程表(课程号,课程名,学分,上课时间,开课时间,结束时间)经过规范化处理后地所有关系模如下:学生表(学号,姓名,性别,年龄,系部,密码)课程表(课程号,课程名,学分,上课时间,开课时间,结束时间)教师表(教师号,教师名,性别,年龄,密码)教师课程关系(教师号, 课程号)选课表(学号,课程号,成绩)第七章物理设计和实施得到系统逻辑模型后,就该进行数据库地物理设计和实施数据库了,物理设计主要是要确定数据库地存储路径、存储结构以及如何建立索引等,可以采用系统地默认设置.数据库实施主要包括在具体地DBMS中创建数据库和表地过程,本设计所选用地DBMS为SQL SERVER2010,有关创建数据库和关系表地SQL语句如下所示:(1)创建数据库/*==============================================================*//* DataBase: , 学生选课管理,创建数据库,数据库名称为学生选课管理*/create database 学生选课管理。

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

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

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

1.3 系统的开发环境及运行环境:操作系统:Windows XP Pro SP2建模工具:Rational Rose 2003数据库系统:SQL Server2000开发工具:Visual Studio 2005Web服务器:IIS+ 2.0平台2.系统需求分析学生选课系统主要满足来自三方面的需求,这三个方面分别是学生用户、教师用户和管理员用户,也即是三类用户角色。

(1)学生用户是主要的需求者,主要需求功能是查询可选课程、查看自己选课情况及进行选课、退课操作等;(2)教师用户主要需求功能是查看自己所教授的课程、课程有哪些学生选修、以及利用本系统提交学生的成绩;(3)管理员用户的功能需求较为复杂,包括对学生信息、教师信息、课程信息进行管理。

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

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

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

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

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

2.1用例图图2-1 学生选课系统用例图用例图说明:(1)系统的外部角色有:学生用户、教师用户和管理员。

学生选课管理系统课程设计

学生选课管理系统课程设计

学生选课管理系统课程设计一、引言学生选课管理系统是学校教务管理中一项重要的系统,它涉及学生选课、教师授课、课程安排等方面的管理。

本文将对学生选课管理系统进行详细设计,包括系统的功能模块设计、数据库设计、系统流程设计等方面的内容。

二、功能模块设计1. 学生模块学生模块包括学生信息管理、选课功能、查看选课情况等功能。

学生可以在系统中查看当前开设的课程,选择自己感兴趣的课程进行选课操作。

2. 教师模块教师模块包括教师信息管理、课程管理、成绩录入等功能。

教师可以在系统中查看自己所授课程的相关信息,录入学生成绩等操作。

3. 管理员模块管理员模块包括用户管理、课程管理、教师管理、学生成绩管理等功能。

管理员具有最高权限,可以对系统中的各项数据进行管理和维护。

三、数据库设计系统的数据库设计是学生选课管理系统的核心之一,合理的数据库设计对系统的高效运行至关重要。

本系统的数据库主要包括学生表、教师表、课程表、选课记录表等。

1. 学生表•学生ID•学生姓名•学生性别•学生年龄•学生学号2. 教师表•教师ID•教师姓名•教师性别•教师年龄•教师工号3. 课程表•课程ID•课程名称•授课教师•课程时间•课程地点4. 选课记录表•记录ID•学生ID•课程ID•选课时间•成绩四、系统流程设计1. 学生选课流程学生登录系统后,可以查看当前开设的课程信息,选择自己感兴趣的课程进行选课操作,系统会生成相应的选课记录。

2. 教师授课流程教师登录系统后,可以查看自己所授课程的相关信息,录入学生成绩,管理课程等操作。

3. 管理员管理流程管理员登录系统后,可以对用户信息、课程信息、成绩信息等进行管理,保证系统正常运行。

五、结论学生选课管理系统的设计是为了方便学校教务管理工作,提高管理效率和服务质量。

通过合理的功能模块设计、数据库设计和系统流程设计,能够使系统更加稳定、高效地运行,为学校教务管理提供便利。

希望本文的学生选课管理系统课程设计能够对相关工作有所帮助。

选课管理系统软件工程课程设计报告书

选课管理系统软件工程课程设计报告书

目录第一章系统分析 (1)§ 1.1 项目分析 (1)§ 1.2 项目初期策划 (1)§ 1.3 可行性分析 (1)§ 1.3.1 经济上的可行性 (1)§ 1.3.2 技术上的可行性 (2)§ 1.3.3 法律上可行性 (2)第二章需求分析 (3)§ 2.1 系统需求 (3)§ 2.2 功能需求 (3)§ 2.3 数据流图 (3)§ 2.3.1 顶层DFD图 (3)§ 2.3.2 第一层DFD图 (4)§ 2.4 数据字典 (4)§ 2.6 选课系统判定树 (5)§ 2.6.1学生选课管理系统判定树 (5)第三章概要设计 (7)§ 3.1 模块设计 (7)§ 3.1.1 学生登录模块 (7)§ 3.1.2 学生在线选课模块 (7)§ 3.2 数据库设计 (7)§ 3.3 软件结构图 (7)§ 3.4 软件高层功能的模块层次结构(H图) (8)第四章详细设计 (10)§ 4.1 界面设计 (10)§ 4.1.1 学生登录界面 (10)§ 4.1.2 修改密码界面 (10)§ 4.1.3 查看选课表页面 (11)§ 4.1.4 查询课表页面 (11)§ 4.1.5 在线预选页面 (11)§ 4.2 各个模块程序流程图及其伪代码 (12)§ 4.2.1 登录模块 (12)§ 4.2.2 修改密码子模块 (13)§ 4.2.3 在线预选课模块 (14)§ 4.2.4 学生查询子模块 (15)§ 4.2.5 在线预选子模块 (16)第五章测试计划 (18)§ 5.1 测试概述 (18)§ 5.2 测试环境 (18)§ 5.3 测试计划 (18)§ 5.4 黑盒测试用例设计 (18)§ 5.4.1 对学生登录模块的测试用例 (18)§ 5.4.2 对学生密码修改的测试用例 (18)§ 5.4.3 对学生在线预选的测试用例 (19)§ 5.5 白盒测试用例设计 (20)§ 5.5.1 登录模块测试 (20)§ 5.5.2 修改密码模块测试 (21)第六章项目管理 (23)§ 6.1 学生选课系统的开发计划 (23)§ 6.2 学生选课管理项目进度的甘特图 (23)§ 6.3 工程网络图 (23)总结 (26)第一章系统分析§ 1.1 项目分析学生成绩管理系统主要提供方便高效的管理功能以及网上的信息查阅平台,学生可以通过该系统查阅相关信息。

学生选课管理系统课程设计报告

学生选课管理系统课程设计报告

学生选课管理系统东北大学秦皇岛分校姓名:刘国锋学号:3090908指导教师:朱世敏日期:2011 年06 月19 日目录目录 0一、总体说明 (2)二、功能模块结构图 (3)三、变量说明(公有、私有、本地变量 (4)四、数据库、表的设计及描述 (4)1.数据库: (4)2.(1)管理员表: (5)(2)学生基本信息表: (5)(3)课程表: (6)(4)学生成绩表: (7)(5)密码表: (7)五、操作说明 (8)六、各模块代码及结果图 (9)封面: (9)登录: (10)主界面: (11)可选课程信息表单: (12)学生选课记录查询 (12)记录修改下的表单: (13)学生选课信息: (13)课程信息修改表单: (14)报表: (14)密码修改: (16)菜单: (17)七、课程设计总结: (19)一、总体说明总体功能介绍:1、在学生选课信息管理系统中,先打开封面,两秒后自动关闭并跳转至登录界面;2、首先输入用户名和密码等登录信息,点击确定登录进入主界面,点击退出登录,退出系统;3、登陆成功,进入主界面以后,有以下模块“数据查询”、“记录修改”、“报表”、“密码安全”。

在“数据查询”中,包含“课程查询”;在“记录修改”中包含“课程和学生选课修改”和“学生选课”;在“报表”中包含以下两项子菜单:“学生选课情况”,“可选课程”;在“密码安全”中有“密码修改”子菜单。

4、进入主界面1、在“数据查询”下的“课程查询”在其中输入中输入相应课程名称可以显示已将选课的内容,早课程信息上边的框中输入相应的课程名称可以查询该门课的课程信息;也可以在“数据查询”中的“选课记录查询”中可以通过按照“学号”对学生的选课记录进行统计;2、在“记录修改”的下拉菜单中的“课程和学生选课修改”中可以对课程信息进行修改,主要包括添加、删除、和退出等;在该下拉菜单下的“学生选课”子菜单中可以添加选课信息和删除选课信息;3、“报表”的下拉菜单中有“学生选课情况”和“课程信息”的报表,通过这两张报表可以查看和打印学生的选课情况,以及所有的课程信息内容,并可以按照学号、班级、系别显示学生的选课情况;4、在“密码安全”下拉菜单中有“密码修改”通过“密码修改”可以使原用户还可通过密码修改来不定期修改自己的原始密码,保证了数据的真实性和安全性。

学生选课系统课程设计报告

学生选课系统课程设计报告

一、需求分析通过对系统需求进行分析,我们可以确定系统中有三类用户:管理员、教师和学生。

各类用户的具体描述如下:(1)管理员描述:管理员维护整个系统,包括设置选课时段,选课前学生不可登录;选课结束,学生只可查询,管理员对选课结果进行统计;查询选课情况,对学生的选课申请进行处理,进行用户管理;限制最大选课人数;排课、发布选课信息;数据备份和恢复等。

(2)教师描述:教师撰写教师反馈,反馈选课信息,对排课者提出反馈意见,供排课者在排课时参考使用。

查询课程基本情况、学生情况。

(3) 学生描述:在选课系统中查询课程、教室信息,查看教师反馈,提交选课申请,撤销申请,查询选课情况,登录系统,进行个人信息修改等与选课有关的活动。

根据上面所述,对系统进行了划分,分为三个主要功能,即登录控制、排课和选课,分别对应三个子系统,即登录子系统、排课子系统和选课子系统。

其中,登录子系统是前提,排课子系统是基础,选课子系统是关键。

登录子系统区分排课者(即系统管理员),教师和学生这三者的不同身份,给出不同的权限,在页面中根据身份判断其相应具有的权限,进行不同的操作。

排课子系统主要供排课者使用,其中设定选课时间段,进行排课并检测排课冲突,发布选课信息都是选课的前提和基础。

选课子系统是本系统要实现的最终目的。

选课子系统主要供学生选课使用,在这里可以进行与选课有关的活动,包括课程浏览查询、选课、退选课程。

数据字典根据数据流程分析,对系统数据进行分析和汇总,建立系统数据字典。

下面列出部分数据字典内容。

(1) 排课系统名:网上选课系统条目名:排课输入:课程信息表,教学楼信息表,教师信息表,院系信息表输出:排课表,选课通知表描述:排课者按年级排课。

排课表内容包括课程代号,课程名称,受课院系,专业代码,专业名称,教师代号,考察方式,学分,开课时间,上课时间,地点,开课院系,最大上课人数和课程选则限制(必修或选修)等。

在排课过程中,排课者可以查询教室使用情况和院系课程设置。

学生选修课程系统设计报告

学生选修课程系统设计报告

学生选修课程系统设计报告1. 介绍本报告旨在设计一个学生选修课程系统,该系统允许学生在规定的选修课程范围内自主选择感兴趣的课程,并方便管理对应的课程信息和学生选课情况。

2. 系统目标该学生选修课程系统的目标如下: 1. 提供学生选择适合自己兴趣和学业规划的选修课程。

2. 管理选修课程的相关信息,包括课程名称、课程描述、授课教师等。

3. 记录学生的选课情况,包括已选修的课程和已获得的学分。

4. 接受学生的选课请求,并进行相应的课程冲突检查。

5. 提供选修课程的查询和管理功能,包括查看课程列表、课程详情和学生选课记录。

3. 系统设计3.1 数据库设计为了支持系统的功能和需求,需要设计以下数据库表格: - 学生表:记录学生的基本信息,包括学号、姓名、专业等。

- 课程表:记录选修课程的信息,包括课程编号、课程名称、课程描述、教师等。

- 选课表:记录学生的选课情况,包括学号、课程编号、选课时间等。

3.2 系统模块设计为实现系统的功能需求,设计以下模块: - 学生信息管理模块:用于添加、修改和删除学生信息。

- 课程信息管理模块:用于添加、修改和删除选修课程信息。

- 选课功能模块:用于学生选择和取消选修课程。

- 选课冲突检查模块:用于检查学生选修课程中是否存在时间冲突。

- 查询功能模块:用于查看选修课程列表、课程详情和学生选课记录。

4. 系统流程4.1 学生选课流程以下是学生选课的流程: 1. 学生登录系统。

2. 学生查询可选修的课程列表。

3. 学生选择感兴趣的课程。

4. 系统检查选修课程中是否存在时间冲突。

- 如果存在冲突,系统提示学生并要求重新选择课程。

- 如果不存在冲突,系统记录学生的选课记录。

5. 学生成功选修课程,系统更新学生的选课记录和已获得的学分。

4.2 课程管理流程以下是课程管理的流程: 1. 教务处添加新的选修课程。

2. 教务处修改选修课程的相关信息。

3. 教务处删除无效的选修课程。

选课系统课设报告

选课系统课设报告

选课系统课设报告全文共四篇示例,供读者参考第一篇示例:选课系统课设报告一、引言选课系统是一个学校管理的重要组成部分,它能够帮助学生根据自己的兴趣和需求选择适合自己的课程,同时也能够有效地帮助学校管理课程资源和教学计划。

本课设报告将详细介绍我们设计的选课系统,包括系统的功能设计、架构设计、数据库设计等方面,旨在帮助学校更好地管理和组织课程资源。

二、系统的功能设计1. 学生模块(1)学生登录:学生可以通过输入账号和密码登录选课系统,以便查看课程信息和进行选课操作。

(2)课程查询:学生可以通过系统查询课程信息,包括课程名称、教师、上课时间等详细信息。

(3)选课操作:学生可以根据自己的需求选择适合自己的课程,并进行选课操作。

(4)课程评价:学生可以对已修课程进行评价,包括教学质量、课程内容等方面。

2. 教师模块(2)课程管理:教师可以管理自己的课程信息,包括添加课程、修改课程内容等操作。

(3)学生成绩:教师可以查看学生的成绩情况,以便及时调整教学计划。

3. 管理员模块(3)学生管理:管理员可以管理所有学生的信息,包括添加新学生、删除学生信息等操作。

4. 系统设置(1)个性化设置:学生和教师可以根据自己的需要进行个性化设置,如修改密码、更改头像等。

(2)通知功能:系统可以向学生、教师发送通知信息,包括选课通知、考试通知等。

我们选用了B/S架构设计选课系统,即浏览器/服务器架构。

用户通过浏览器访问系统,系统通过后台服务器进行数据处理和相应操作。

这种架构有以下优点:1. 用户友好性:B/S架构模式简单直观,用户只需通过浏览器即可访问系统,无需安装额外的客户端软件。

2. 数据安全:系统的数据都存储在后台服务器上,避免了数据泄露和信息丢失的风险。

3. 维护方便:B/S架构可以集中管理后台服务器,对系统的维护和更新更加方便快捷。

我们设计了以下几张数据库表来存储系统的数据信息:1. 学生表:用来存储学生的基本信息,包括学号、姓名、性别、年龄等字段。

学生选课系统报告

学生选课系统报告

学生选课系统报告1. 引言学生选课系统是一种为学校管理学生选课过程的计算机系统。

本报告旨在介绍学生选课系统的设计与实施情况,包括系统的目的、功能、架构以及使用效果等方面的内容。

2. 系统目的学生选课系统的目的是简化学生选课过程,提供便捷的选课方式,并提供学校管理人员实时的选课情况和数据统计。

通过系统化的选课流程,能够更高效地满足学生的选课需求,优化学校资源的分配。

3. 系统功能学生选课系统的主要功能包括:- 学生账号管理:学生可以注册账号,登录系统并查看个人信息。

- 课程浏览与搜索:学生可以查看课程列表,根据需求搜索和筛选课程。

- 选课与退课:学生可以根据自己的兴趣和学业要求选择课程,并在规定时间内进行选课或退课操作。

- 选课限制与冲突检测:系统能够根据学校规定的选课限制和课程安排,检测并防止学生选课冲突。

- 数据统计与报表生成:系统能够生成选课情况、学生选课偏好和课程容量等数据的报表,以供学校管理人员参考。

4. 系统架构学生选课系统采用客户端-服务器架构,包括以下组件:- 客户端界面:提供给学生使用的用户界面,用于浏览课程、进行选课和退课操作等。

- 服务器端:负责处理学生的选课请求,与数据库进行交互,进行选课冲突检测和数据统计等操作。

- 数据库:存储学生、课程和选课相关的数据。

5. 使用效果与改进经过系统的实施和使用,学生选课过程得到了明显的改善。

学生们可以方便地浏览课程、进行选课和退课操作,避免了繁琐的手工登记和调整过程。

同时,学校管理人员可以实时获取选课情况和数据统计,更好地进行资源分配和课程安排。

然而,系统仍有一些潜在的改进空间,比如进一步优化用户界面、提升选课冲突检测算法的准确性等方面。

6. 结论学生选课系统是学校管理学生选课过程的重要工具,能够提供便捷的选课方式和实时的数据统计。

通过系统化的选课流程,学校能够更高效地满足学生需求,优化资源分配。

然而,系统仍需不断改进和优化,以提供更好的用户体验和功能支持。

学生选课信息管理系统课程设计报告

学生选课信息管理系统课程设计报告
(4) 系统应该可以对基础数据进行维护。
(5)系统能够对开设的课程进行管理
(6)学生选课管理、考试(登记分数)
(7)系统还应该提供强大数据统计、查询、报表生成以及打印等功能。
(8)用户权限管理
(9)异常处理
2.2 任务目标
本系统主要可以实现以下任务目标:
1、系统可以准确地记录和查询学生信息,包括学生的姓名、专业、生日、性别以及身份证号码等,可以准确地记录学生的每一次奖惩情况。
(1)修改个人信息。
(2)按课程名、课程号、专业、学分等信息查询课程,选课和查询已选课程。
(3)注销选课(只能注销选课阶段的课程,已公布成绩的课程不可注销)。
(4)成绩查询(教师公布成绩后学生方可查看到自己的成绩)。
3.2.2教师(Teacher)用户视图
(1)修改个人信息。
(2)修改所授课程的信息(一名教师可教授多门课程)。
(4) 系统应该可以对基础数据进行维护。
(5)系统能够对开设的课程进行管理
(6)学生选课管理、考试(登记分数)
(7)系统还应该提供强大数据统计、查询、报表生成以及打印等功能。
(8)用户权限管理
(9)异常处理
1.2 开发语言:Java
用Java做设计流程清晰、结构合理,有良好的可扩充性和耦合性。
1.3 开发工具:Eclipse
2、系统可以对学校的院系情况进行管理,包括添加查询修改删除学院信息、添加查询修改删除某学院某专业信息等。
3、系统可以准确地记录和查询教师信息,包括教师的姓名、专业、生日、性别以及身份证号码等。
4、系统可以对开设的课程进行管理,包括课程信息的查询、添加、修改和删除,选课阶段、已开课、统计成绩、公布成绩三种状态。
3、管理员基本信息记录:

学生选课系统课程设计报告

学生选课系统课程设计报告

学生选课系统课程设计报告1. 引言学生选课是大学教务管理中常见的重要环节,影响着学生的学习计划和课程安排。

为了提高选课效率和便捷性,设计一个学生选课系统至关重要。

本报告旨在介绍学生选课系统的设计与实现。

2. 需求分析学生选课系统应满足多方面需求,包括但不限于以下几点: - 学生能够浏览可选课程信息; - 学生能够自主选择并提交选课请求; - 管理员能够管理课程信息、学生选课情况等; - 系统需具备良好的用户界面和操作体验。

3. 系统设计3.1 数据库设计•学生表(Student):包含学生基本信息;•课程表(Course):包含课程信息;•选课表(Selection):记录学生选课情况。

3.2 系统模块设计•学生模块:实现学生登录、浏览课程、选课等功能;•管理员模块:实现管理员登录、管理课程、学生选课情况等功能。

3.3 界面设计采用简洁直观的界面设计,方便学生和管理员使用。

4. 系统实现4.1 技术选型•前端:采用HTML、CSS、JavaScript实现;•后端:采用Java语言,使用Spring框架搭建后台服务;•数据库:使用MySQL存储数据。

4.2 功能实现•学生模块:学生可以注册登录,浏览课程信息,选择并提交选课请求;•管理员模块:管理员可以管理课程信息,查看学生选课情况等。

5. 系统测试进行单元测试、集成测试和系统测试,确保系统功能正常。

6. 结论学生选课系统的设计与实现对提高教务管理的效率和质量具有重要意义。

通过本文介绍的系统设计和实现,希望能够为大学教务管理提供一定的参考和借鉴。

以上是本文对学生选课系统的课程设计报告,感谢阅读!。

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

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

软件工程课程设计陈说之迟辟智美创作( 2007-- 2008 年度第二学期)课程名称:软件工程课程设计题目:学生选课系统院系:计算机科学与技术系班级:计算0503组号:2组长:李英龙组员:潘贵生刘罡吴志洁指导教师:马素霞设计周数:两周小组成果:日期:2008 年 7月 4日《软件工程》课程设计任务书一、目的、要求通过软件开发的实践训练,进一步掌握软件工程的方法和技术,提高软件开发的实际能力,培养工程设计能力和综合分析、解决问题的能力.具体如下:1.学习和实践在分析和设计计算机应用系统所需要的知识,包括面向对象的系统分析与设计,编码和测试方面的知识;2.熟悉自动化的软件开发工具Rational Rose 2003,并将其运用于软件开发的全过程;3.进一步加强和提高软件工程文档的编写能力;4.培养协作能力和团队精神.二、主要内容1.课题题目:学生选课系统,本系统要实现学生选课的基本功能,包括学生退选课,检查自己的选课信息;教师检查选课学生的信息,提交成果;管理员添加学生、管理学生、管理成果、添加教师、管理教师和管理课程等.2.运用面向对象技术、UML及可视化的建模工具完成系统的需求分析与设计.3.使用Rational Rose作为需求分析与设计的建模工具,包括静态建模和静态建模,并利用对象模型自动生成数据模型,自动建立数据库.4.采纳分层模式的应用设计模式进行系统的设计实现.5.系统要实现四个模块功能:教师模块、学生模块、管理员模块和公用模块.6.初步建立系统原型,实现关键的功能,并对系统进行测试.7.编写课程设计陈说.三、任务分配任务负责人介入人备注需求分析潘贵生李英龙刘罡吴志浩总体设计刘罡李英龙潘贵生吴志浩详细设计吴志浩李英龙刘罡潘贵生系统实现与测试李英龙潘贵生刘罡吴志浩四、进度计划五、设计功效要求1.建立系统分析与设计模型;2.初步建立系统原型,实现关键的功能;3.编写课程设计陈说.六、考核方式1.模型及代码检查占50%.2.设计陈说占50%.指导教师:马素霞日期: 2008 年 6 月23 日《软件工程》课程设计成果评定一、指导教师评语二、成果学号姓名成果备注1051220308 李英龙1051220316 潘贵生1051220311 刘罡1051220321 吴志浩指导教师:日期:年月日摘要:本系统实现学生选课的基本功能,包括学生退选课,检查自己的选课信息;教师检查选课学生的信息,提交成果;管理员添加学生、管理学生、管理成果、添加教师、管理教师和管理课程等.系统利用.Net平台技术进行开发,实现学生选课的静态管理,使得对信息的管理更加及时、高效,提高了效率.同时还对系统的开发原理、功能特点和设计方案进行了介绍.关键词:一、课程设计的目的与要求通过软件开发的实践训练,进一步掌握软件工程的方法和技术,提高软件开发的实际能力,培养工程设计能力和综合分析、解决问题的能力.具体如下:1.学习和实践在分析和设计计算机应用系统所需要的知识,包括面向对象的系统分析与设计,编码和测试方面的知识;2.熟悉自动化的软件开发工具Rational Rose 2003,并将其运用于软件开发的全过程;3.进一步加强和提高软件工程文档的编写能力;4.培养协作能力和团队精神.二、设计正文1.概述1.1课题题目:学生选课系统1.2系统的主要目标:本系统目标是实现选课系统所需的各种基本功能,包括学生选课、退课功能和教师检查选修课程、提交课程成果功能以及管理员添加学生、维护学生信息、成果管理、添加教师、维护教师信息、维护选修课程,还有公用的修改密码等功能.1.3系统的开发环境及运行环境:把持系统:Windows XP Pro SP2建模工具:Rational Rose 2003数据库系统:SQLServer2000开发工具:Visual Studio 20052.系统需求分析学生选课系统主要满足来自三方面的需求,这三个方面分别是学生用户、教师用户和管理员用户,也即是三类用户角色.(1)学生用户是主要的需求者,主要需求功能是查询可选课程、检查自己选课情况及进行选课、退课把持等;(2)教师用户主要需求功能是检查自己所教授的课程、课程有哪些学生选修、以及利用本系统提交学生的成果;(3)管理员用户的功能需求较为复杂,包括对学生信息、教师信息、课程信息进行管理.在学生信息管理子模块中,实现对学生信息的添加、修改、删除把持,还可以输入查询条件进行查询把持.在教师管理子模块中,实现对教师信息的添加、修改、删除、查询等把持.在课程管理子模块中,实现对课程信息的添加,添加时为其分配任课教师、上课时间和地址,实现对课程的修改、删除、检查某个课程的详细信息等.本系统将管理员用户、教师用户、学生用户的身份及权限进行严格的划分,让管理员拥有最高权限,可以检查、维护系统中的所有信息,如添加学生,添加课程,修改课程信息等;让教师拥有检查自己开设的课程的信息,以及提交所开设课程成果的权限;让学生拥有选课和退选的权限;而修改密码模块的权限每个用户都可拥有,用以修改自己的密码信息.通过进行严格的权限划分,可以更好地进行管理,也可更好地呵护用户信息平安.2.1用例图图2-1 学生选课系统用例图(1)系统的外部角色有:学生用户、教师用户和管理员.(2)系统主要用例的文档描述:①学生管理用例:学生用户可见的功能,包括了选课、退课和检查选课三个用例功能.②教师管理用例:教师用户可见的功能,包括了检查学生选课和提交成果两个用例功能.③信息管理用例:管理员可见的功能,这个用例进一步分为三个用例:学生信息管理用例、教师信息管理用例和课程信息管理用例.④学生信息管理用例:信息管理用例可见的功能,实现学生信息的管理功能,包括了添加学生、修改学生信息和删除学生三个用例.⑤教师信息管理用例:信息管理用例可见的功能,实现教师信息的管理功能,包括了添加教师、修改教师信息和删除教师三个用例.⑥课程信息管理用例:信息管理用例可见的功能,实现课程信息的管理功能,包括了添加课程、修改课程信息和删除课程三个用例.⑦修改密码用例:所有用户都可见的功能,用于修改用户的密码信息.(3)系统用例之间的关系:①学生管理用例与选课、检查选课、退课三用例之间是包括关系.②教师管理用例与检查学生选课、提交成果两用例之间是包括关系.③信息管理用例与学生信息管理用例、教师信息管理用例和课程信息管理用例之间是包括关系.④学生信息管理用例与添加学生、修改学生信息和删除学生三个用例之间是包括关系.⑤教师信息管理用例与添加教师、修改教师信息和删除教师三个用例之间是包括关系.⑥课程信息管理用例与添加课程、修改课程信息和删除课程三个用例之间是包括关系. (4)系统关键用例的正常事件流图和异常事件流图主事件流用户系统3.填写学生成果,单击提交成果5.更新学生成果,提示提交胜利 异常流异常流 用户已经提交过该门课程成果系统提示该课程成果已提交,不能再次提交2.2 类图图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() 提交成果. 2.3 顺序图(1)管理员修改课程信息顺序图图2-5 教师提交成果顺序图2.4协作图(可选)(1) 学生用户选课协作图(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 学生学号关键字⑤系统管理员表Users 的详细数据字段:⑥系院表Depart 的详细数据字段:3.3 设计人机交互子系统(1)用户分类本系统的用户可分为三类: ①管理员用户; ②教师用户; ③学生用户. (2)用户描述①管理员用户的描述:管理员用户在整个选课系统中起到管理和维护的作用,对学生和教师的信息进行管理和维护以及开设课设等职责. ②教师用户的描述:教师用户在本系统中具有管理选修了自己开设的课程的学生的权限,检查选修了自己开设课程的学生信息有及提交学生成果. ③学生用户的描述:选课系统主要是针对管理学生的,学生在本系统中具有修改自己的信息,以及选课和退选的功能. (3)设计命令条理①系统的人机交互子系统的内容和准则:本学生选课系统的人机交互子系统在根据分歧的用户身份登岸到分歧的页面,然4.2 用户密码修改流程图图4-1 系统用户登录流程图图4-2 用户密码修改流程图图4-3教师提交成果流程图管理员添加课程流程图图4-4 管理员添加课程流程图图4-5 学生选修课程流程图5.系统实现本系统采纳了三层架构来实现,即分为用户界面层(UI)、业务逻辑层(BLL)和数据访问层(DAL),用户界面层是展示给用户的界面,方便用户与系统进行交互;业务逻辑层是对系统业务实体的封装,完成系统业务功能;数据访问层直接与数据库打交道,为业务逻辑层提供底层的数据库把持.5.1 Database类主要是与数据库连接,提供数据库把持功能,代码如下:namespace{publicclass Database{protectedstring connectionString;protected SqlConnection connection = null;public Database(){connectionString =ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString.ToString();}~Database(){if (connection != null){connection = null;}}protectedvoid Open(){if (connection == null){connection = new SqlConnection(connectionString);}if (connection.State.Equals(ConnectionState.Closed)){connection.Open();}}protectedvoid Close(){if (connection != null){connection.Close();}}publicint 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{publicclass UserBase{privatestring userID;publicstring UserID{get { return userID; }set { userID = value; }}privatestring userPSW;publicstring UserPSW{get { return userPSW; }set { userPSW = value; }}publicstring 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:returnnull;}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:returnnull;}}else//密码毛病,给出提示信息!{return"-1";}}else//用户不存在或用户名输入毛病{return"-2";}}publicstring 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系统登录页面,代码及运行效果如下:<head runat="server"><title>登录页面</title></head><body onload="document.all.txtUserName.focus()"leftmargin="0"rightmargin="0"><form id="form1"runat="server"><div><table align="center"style="font-size: 12px; font-family: Tahoma; border-collapse: collapse"<tr><td colspan="2"style="text-align: center"><span style="font-size: 24pt; font-family: 隶书">学生选课系统</span></td></tr><tr><td><div align="right"><span style="font-family: 宋体">用户名</span>:</div></td><td style="width: 242px"><asp:TextBox ID="txtUserName"runat="server"Width="150px"></asp:TextBox><asp:RequiredFieldValidator ID="RequiredFieldValidator1"runat="server"ErrorMessage="不能为空!"></asp:RequiredFieldValidator></td></tr><tr><td style="height: 32px"><div align="right">密&nbsp;&nbsp;&nbsp;码:</div></td><td style="height: 32px; width: 242px;"><asp:TextBox ID="txtPwd"runat="server"TextMode="Password"<asp:RequiredFieldValidator ID="RequiredFieldV alidator2"runat="server"ErrorMessage="不能为空!"></asp:RequiredFieldValidator></td></tr><tr><td colspan="2"align="center"style="height: 46px"><asp:RadioButtonList ID="rblClass"runat="server"RepeatDirection="Horizontal"><asp:ListItem Value="0">教师</asp:ListItem><asp:ListItem Selected="True"Value="1">学生</asp:ListItem><asp:ListItem Value="2">管理员</asp:ListItem></asp:RadioButtonList><asp:Label ID="lblMessage"runat="server"ForeColor="Red"></asp:Label></td></tr><tr><td align="center"colspan="2"><asp:ImageButton ID="imgbtnLogin"runat="server"ImageUrl="~/Images/Login.GIF"<asp:ImageButton ID="imgbtnClose"runat="server"ImageUrl="~/Images/Close.GIF"</td></tr></table></div></form></body></html>图5-1系统登录页面5.4学生用户选课界面代码及运行效果图如下:<html xmlns="/1999/xhtml"><head runat="server"><title>学生选课</title></head><body leftmargin="0"rightmargin="0"topmargin="0"><form id="form1"runat="server"><div><table width="100%"bgcolor="#ccccff"><tr><td><uc1:top ID="Top1"runat="server"/></td></tr></table><table id="table1"width="80%"border="0"align="center"><tr><td align="center"><span style="font-size: 16pt;">可选修课程</span></td></tr><tr><td><asp:GridView ID="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"><FooterStyle BackColor="#CCCCCC"ForeColor="Black"/><RowStyle BackColor="#EEEEEE"ForeColor="Black"Font-Size="10pt"/><SelectedRowStyle BackColor="#008A8C"Font-Bold="True"ForeColor="White"/><PagerStyle BackColor="#999999"ForeColor="Black"HorizontalAlign="Center"/><HeaderStyle BackColor="Blue"Font-Bold="True"ForeColor="White"Font-Size="10pt"/><AlternatingRowStyle BackColor="Gainsboro"/><Columns><asp:BoundField DataField="courceID"HeaderText="courceID"ReadOnly="True"Visible="False" SortExpression="courceID"/><asp:BoundField DataField="teaID"Visible="False"HeaderText="teaID"ReadOnly="True"SortExpression="teaID"/><asp:BoundField DataField="courceName"HeaderText="课程名称"SortExpression="courceName"></asp:BoundField><asp:BoundField DataField="teaName"HeaderText="教师姓名"SortExpression="teaName"></asp:BoundField><asp:BoundField DataField="courceTime"HeaderText="上课时间"SortExpression="courceTime"></asp:BoundField><asp:BoundField DataField="courceAddress"HeaderText="上课地址"SortExpression="courceAddress"></asp:BoundField><asp:HyperLinkField DataNavigateUrlFields="courceID,teaID"DataNavigateUrlFormatString="courseDetail.as px?courceID={0}&teaID={1}"HeaderText="详细..."Text="详细..."/><asp:ButtonField HeaderText="选修"CommandName="select"Text="选修"></asp:ButtonField></Columns></asp:GridView><asp:SqlDataSource ID="SqlDataSource1"runat="server"ConnectionString="<%$ ConnectionStrings:Connection String %>"SelectCommand="SELECT Cource.courceID, Cource.teaID, Cource.courceName, Teacher.teaName,Cource.courceTime, Cource.courceAddress FROM Cource INNER JOIN Teacher ON Cource.teaID =Teacher.teaID WHERE NOT EXISTS (SELECT * FROM Elect WHERE (courceID=Cource.courceID andteaID=Cource.teaID and stuID = @stuID))"><SelectParameters><asp:SessionParameter Name="stuID"SessionField="userID"/></SelectParameters></asp:SqlDataSource></td></tr><tr><td><asp:Label runat="server"ID="errormess"ForeColor="Red"Font-Size="Smaller"></asp:Label></td></tr><tr><td style="height: 24px; text-align: center"><span style="font-size: 16pt;">您已经选修的课程</span></td></tr><tr><td><asp:GridView ID="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"><FooterStyle BackColor="#CCCCCC"ForeColor="Black"/><RowStyle BackColor="#EEEEEE"ForeColor="Black"Font-Size="10pt"/><SelectedRowStyle BackColor="#008A8C"Font-Bold="True"ForeColor="White"/><PagerStyle BackColor="#999999"ForeColor="Black"HorizontalAlign="Center"/><HeaderStyle BackColor="Blue"Font-Bold="True"ForeColor="White"Font-Size="10pt"/><AlternatingRowStyle BackColor="Gainsboro"/><Columns><asp:BoundField DataField="stuID"HeaderText="stuID"ReadOnly="True"SortExpression="stuID"Visible="False"/><asp:BoundField DataField="courceID"HeaderText="courceID"ReadOnly="True"SortExpression="courceID"Visib le="False"/><asp:BoundField DataField="teaID"HeaderText="teaID"ReadOnly="True"SortExpression="teaID"Visible="False "/><asp:BoundField DataField="courceName"HeaderText="课程名称"SortExpression="courceName"><asp:BoundField DataField="teaName"HeaderText="教师姓名"SortExpression="teaName"></asp:BoundField><asp:BoundField DataField="courceTime"HeaderText="上课时间"SortExpression="courceTime"><asp:BoundField DataField="courceAddress"HeaderText="上课地址"SortExpression="courceAddress"><asp:ButtonField HeaderText="退选"CommandName="shanchu"Text="退选</Columns></asp:GridView><asp:SqlDataSource ID="SqlDataSource2"runat="server"ConnectionString="<%$ ConnectionStrings:Connection String %>"SelectCommand="SELECT Elect.stuID, Elect.courceID, Elect.teaID,<SelectParameters><asp:SessionParameter Name="stuID"SessionField="userID"/></SelectParameters></asp:SqlDataSource><td style="height: 21px"align="center"><asp:HyperLink ID="HyperLink1"runat="server"NavigateUrl="~/ModifyPwd.aspx"Font-Size="10pt">修改密码</asp:HyperLink><asp:HyperLink ID="HyperLink2"runat="server"Font-Size="10pt"NavigateUrl="javascript:window.close()">退出系统</asp:HyperLink></td></tr></table></div></form></body></html>图5-2 学生选课界面5.5教师用户提交成果界面代码及运行效果如下:<head runat="server"><title>提交成果</title></head><body leftmargin="0"rightmargin="0"topmargin="0"><form id="form1"runat="server"><div><table width="100%"bgcolor="#ccccff"><tr><td><uc1:top ID="Top1"runat="server"/></td></table><table id="table1"width="400"border="0"runat="server"align="center"><tr valign="top"><td align="left"><asp:Label ID="lblmessage"Font-Size="10pt"runat="server">课程名称:&nbsp;&nbsp;</asp:Label> <asp:TextBox runat="server"ID="cname"></asp:TextBox></td></tr><tr><td align="center"><asp:GridView ID="GridView1"runat="server"AutoGenerateColumns="False"BackColor="White" BorderColor="#999999"BorderStyle="None"BorderWidth="1px"CellPadding="3"Font-Size="10pt" GridLines="Vertical"Width="100%"><FooterStyle BackColor="#CCCCCC"ForeColor="Black"/><Columns><asp:BoundField DataField="stuID"HeaderText="学号"/>。

学生选课管理系统课程设计报告

学生选课管理系统课程设计报告

学生选课管理系统课程设计报告一、引言学生选课管理系统是现代高校管理系统中不可或缺的一部分,它为学生提供了方便、高效的选课流程,并为学校管理者提供了便捷的课程管理工具。

本文将介绍一个基于Web的学生选课管理系统的设计与实现。

二、系统概述学生选课管理系统主要包括学生信息管理、课程管理、选课管理和成绩管理等模块。

学生可以通过系统查询课程信息、选课、查看成绩等功能,教师可以管理课程、录入成绩等操作。

三、需求分析1. 功能需求•学生注册登录:学生通过注册信息登录系统;•课程信息管理:管理员发布课程信息,包括课程名称、授课教师、开课时间等;•选课管理:学生可以根据个人需求选择课程;•成绩管理:教师录入学生成绩;•系统管理:管理员管理用户信息和系统设置。

2. 非功能需求•安全性:用户信息加密存储,确保数据安全;•可靠性:系统稳定、可靠;•界面友好:用户操作简单、界面友好。

四、系统设计1. 数据库设计•学生表:包括学生ID、姓名、密码等字段;•课程表:包括课程ID、名称、教师等字段;•选课表:记录学生选课信息。

2. 系统架构•前端:使用HTML、CSS、JavaScript实现用户界面;•后端:使用Java语言、Spring框架实现系统逻辑;•数据库:使用MySQL数据库存储数据。

五、系统实现1. 学生注册登录学生填写注册信息,系统验证信息并存储用户信息,用户登录时验证身份。

2. 课程信息管理管理员发布课程信息,包括课程名称、授课教师、上课时间等。

3. 选课管理学生登录系统后可以查看课程信息,选择感兴趣的课程进行选课。

4. 成绩管理教师录入学生的成绩并保存到数据库,学生可以查看个人成绩。

六、系统测试系统测试主要包括功能测试、性能测试、安全性测试等,确保系统能够正常运行,并符合需求和非功能要求。

七、总结与展望通过本次学生选课管理系统的设计与实现,实现了学生选课、教师录入成绩等基本功能。

未来可以进一步完善系统的功能,提高系统的可扩展性和稳定性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

山东交通学院面向对象课程设计学生选课管理系统软件院(系别信息工程系班级计算091学号xxxxxxxxxxxx姓名 xxxxx 指导教师 xxxxx 时间2011-04-05—2011-04-17 课程设计任务书题目学生选课管理系统系 (部信息工程系专业计算机班级计算091 学生姓名 xxxxx学号 xxxxx0 4 月 05日至 04 月 17 日共 2 周指导教师(签字系主任(签字年月日成绩评定表abstractIn order to improve everyone's hands-on time ability and the content of the later work have certain knowledge, at the same time for everybody in a database of a learning inspection study; School for everybody arranged for a two-week course design, make everyone working environment to the database, and understand more about curriculum design is several classmates to do the same projects, the regulation of the people's operation, is later programming work strengthened the personal programming specifications.This document on the database and VC briefly simply introduces, in the form of using graphic combined with written by the students elective course system in detail.Students elective course system is a more perfect record course information, her students can add students' information, new information, show the modified students of information and inquires the student students of information, etc. For the record students' information provides convenient records.Key words: database, VC, source program, students' course selection目录1课程设计概述 (11.1学生选课管理系统软件功能概述 (11.2Visual C++6.0概述 (12学生选课管理系统软件总体设计 (12.1学生选课管理系统软件总体设计思想 (12.2总体设计流程图 (33学生选课管理系统软件详细设计 (34程序测试 (44.1选课界面 (44.2教室界面................................... 错误!未定义书签。

4.3选课界面 (54.4学生信息实现............................... 错误!未定义书签。

4.5教师信息界面............................... 错误!未定义书签。

4.6退出界面 (8设计体会及今后的改进意见 (10参考文献 (11摘要随着社会经济的快速发展,学校的教学质量也在不断的提高,大学期间有很多的公共选修课,我们现在做学生选课系统,希望对学生的选课以及管理提供更容易的方法,选课系统做好之后,学生可以再查看和更改,管理起来也比较方便,摆脱学生以往的课堂报名,也就可以在网上进行选课。

鉴于它的重要性,这就迫切需要研制开发一款功能强大,操作简单,具有人性化的学生选课管理系统。

该系统包括以下五个模块:选课模块,课程模块,教室模块,学生信息模块,教师信息模块。

关键词:查询,选课,用户,录入。

1课程设计概述1.1学生选课管理系统软件功能概述Visual C++是微软公司的重要产品之一, 是一种功能强大行之有效的可视化编程工具。

它提供了MFC类库,使用户可以方便的开发自己想实现的功能。

Visual C++6.0的主要特点:(1自动化和宏功能。

(2可以灵活地定制工具栏和菜单。

(3可以直接运行和调试程序,还可以使用宏语言来自动操作调试器。

(4支持Internet连接。

(5一个新的便捷的项目系统可以允许一个工作区内包含多个不同的项目类型。

(6在工作区内可以包含多个并列的工程文件。

(7可以在对话框中使用WizardBar将程序同可视化元素联系起来。

(8Find in File命令支持两个独立的输出窗格,可以保存上一次搜索的结果。

这些新特性可以更好地利用Visual C++开发工具进行Windows应用程序开发。

1.2Visual C++6.0概述2学生选课管理系统总体设计2.1学生选课管理系统总体设计思想学生选课管理系统软件的功能为将学生的选课信息与教师信息等联系起来,便于学生的选课。

学生选课管理系统软件的功能模块有:(1提供五个界面,方便用户对程序个功能进行选择,选择要实现的功能按enter键进入该功能。

(2对于程序代码的填写,我们可以参考课本或者向老师请教,熟悉VC环境和数据库的相关知识。

(3写代码并调试程序的时候,要时刻与学生的选课信息联系。

例如add按钮代码的填写,void MyDialog4::OnButtonAdd({// TODO: Add your control notification handler code hereUpdateData(TRUE;CString strTmp;int iCount = m_List.GetItemCount(;strTmp.Format("%s",m_strtno;m_List.InsertItem(iCount,strTmp;strTmp.Format("%s",m_strtname;m_List.SetItemText(iCount,1,strTmp;strTmp.Format("%s",m_strtsex;m_List.SetItemText(iCount,2,strTmp;strTmp.Format("%i",m_strtage;m_List.SetItemText(iCount,3,strTmp;strTmp.Format("%s",m_strtdegree;m_List.SetItemText(iCount,4,strTmp;strTmp.Format("%s",m_strtpos;m_List.SetItemText(iCount,5,strTmp;strTmp.Format("%s",m_strtschool;m_List.SetItemText(iCount,6,strTmp;strTmp.Format("%s",m_strthealth;m_List.SetItemText(iCount,7,strTmp;}我们要把所有的成员变量考虑进去,在运行的时候要注意变量之间的关系。

然后对成员函数进行定义。

为了方便用户使用,我们要考虑多种情况,按钮的添加也要有规律,最后阶段,设置一个void quit(退出函数,将关闭程序。

将这些函数均放在系统文件.cpp中。

最后定义main(函数,利用函数调用,实现程序的各种功能。

将其放在系统文件main.cpp。

程序分为多个小模块,通过调用实现各种功能,增强了程序的可建设性。

2.2总体设计流程图图2-1-2 总体设计流程3选课系统详细设计该系统包括五个模块:选课表,课程表,教室表,学生信息表,教师信息表,我希望在每个表都加上一些比较通俗一点的按钮,比如增加,删除,显示,下张表的显示等按钮,最重要的是要把VC与数据库联系起来,在调试阶段对数据的增加相应的在数据库中也有所变化,代码填写过程可以与同学商量,或者向老师请教。

4程序测试4.1选课界面图3-1-1 选课调试界面图3-1-2 选课最终运行界面如上图所示,该程序为用户提供选课界面,用户可以对程序的各种功能进行选择,方便用户使用。

4.2教室界面图3-2—1 教室调试界面如上图所示,该界面是在写程序过程中出现的调试界面,有增加,删除,返回,显示,显示下一张等按钮。

图3-4-1 教室运行界面图3-4-2 清屏后程序运行界面如上图所示,该功能将实现程序运行界面的清屏。

4.3课程界面图3-5-1 课程调试界面图3-5-2 课程运行界面如上图所示,该功能将显示一些有关此函数的版本信息,帮助用户了解该函数。

4.4学生信息界面图3-6-1 学生信息调试界面图3-6-2 学生信息运行界面如上图所示,我们可以在此界面填写数据,数据也会相应的在数据库中有所改变。

4.5教师信息界面图3—5—1教师信息调试界面图3—5—2教师信息运行界面如上图所示,该图显示的是程序的最后一个窗口,按着EXIT键整个程序就退出,代表程序的完成。

设计体会及今后的改进意见为了提高我们的实践能力,让我们学以致用,能灵活运用所学的知识进行再创造,学校特安排我们进行为期二周的课程设计实习,并安排了指导老师帮助辅导,让我们在规范化、严谨化、实用化上面有了很大进展。

在此次学生选课管理系统程序开发过程中,有很多东西值得我们思考并总结。

开发过程大体可分为以下几个步骤:(1思考总体设计方案:总体结构和模块外部设计,功能分配。

思考要实现整个程序大体需要的几个模块和其中用到的Visual C++等语言基本操作符、语句等。

(2大体上画出总体设计方案流程图:用流程图的形式展现你的基本编程思想。

(3流程图具体化:即将流程图中的几大模块的具体实现思考清楚,可以用流程图的形式展现.并想好实现的关键代码。

(4编辑程序代码:这是一个至关重要复杂而且需要反复修改的环节,在此环节中你将发现总体设计和模块思想会存在很多问题,需不断改进.如何实现各函数功能,达到预期效果也将是一项繁复的工作。

(5代码的调试:在Visual C++6.0环境下输入代码并进行调试和正确运行。

相关文档
最新文档