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

《学生选课系统》课程设计学院信息工程专业网络工程班级 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. 前台系统学生登录系统后可以进行选课、退课和查询课程信息等操作。
系统提供课程介绍和授课教师信息,方便学生选择。
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">密 码:</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">课程名称: </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、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间: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环境下输入代码并进行调试和正确运行。