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

合集下载

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

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

软件工程课程设计管理系统姓名姓名::专业专业::计算机科学与技术 班级班级::学号学号::一、问题定义问题定义现在的大学中,老师和学生都注重理论与实际相结合,开设了很多与课程相配的课程设计。

而在实际人工管理中,因为提交的文档作业数量众多,处理复杂,造成管理的混乱。

随着科学技术的不断提高,计算机科学日渐成熟,其强大功能已为人们深刻认识,它已进入人们生活的各个领域,并发挥了越来越重要的作用,针对人工管理的缺点,最好的解决办法就是借助计算机技术提供一个电子化的课程设计管理平台。

为了更好地管理设计过程中所产生的资料文档,我们开发一个软件工程课程设计管理系统。

教师和学生可以应用该系统实现如下功能:1、学生使用自己的姓名和学号(密码)登陆后,可以从题库中选择一个题目,并且填写同组的其他同学的姓名,学号,班级,小组长等。

且选题一旦保存就不能再更改。

2、学生可以修改自己的密码。

可以查询自己的选题情况。

学生可以查询自己的课程设计成绩。

3、学生在课程设计的各个阶段的工作报告上传至该系统。

4、教师使用姓名和工资号(密码)登陆后,可以查看学生的选题情况;可以查看学生的设计报告,填写学生的项目进度情况,并且给出最后的分数。

5、教师可以修改自己的密码。

教师把课程设计的题目,学习的资料等上传到该系统。

6、其他使用该系统的人,可以以客户身份登陆浏览。

性能需求操作系统: Windows98 以上/ME/2000/XP 等数据库: Microsoft Access 2000/ SQL Server 2000二、可行性分析1. 问题:(1)目前的课程设计管理系统由人工统计处理。

(2)站用一个办公室和2-3个职工专门用来管理课程设计选课,每天有固定工作时间8小时。

(3)每人工资在每月2000-3000元。

(4)需要选题的同学按班级的方式报上来,经核对分配后方才生效,在通知老师选题情况。

双方如有问题还需在工作时间来此解决。

(5)由于是人工处理且工作量大,所以效率低,出错率高,修改麻烦。

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

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

编号:《软件工程》课程设计学生选课系统目录1 可行性分析报告…………………………………………………………………………2 需求规格说明书3 总体设计说明书4 详细设计说明书5 源程序清单6 软件测试报告7 用户手册8 软件开发总结报告(插入分节符)1可行性分析报告1.引言1.1 编写目的明确说明系统需求,界定系统实现功能的范围,指导系统设计以及编码。

经过对此项目进行详细调查研究,初拟系统实现报告,对网站开发中将要面临的问题及其解决方案进行初步设计及合理安排。

明确开发风险及其所带来的经济效益。

1.2 背景在现代计算机技术、通信技术日益发展,Internet普及,现代网络生活已经遍布每个家庭,远程教育成了一种必然的趋势,但对于许多用户来说毕竟还是一件比较陌生的事,因此要使用户了解系统是一个重要的关键。

我们将实现通过网络对学生进行选课以及确定课程老师及方案。

1.3课题研究的意义学生选课系统是一个学校不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生选课系统应该能够为用户提供充足的信息和快捷的查询手段。

但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。

随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。

作为计算机应用的一部分,使用计算机对选课信息进行管理,有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。

这些优点能够极大地提高人事劳资管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。

2.课题的可行性2.1 要求(1)与实践活动和相关的文件和资料由教师提供。

(2)本课题要求学生有熟练的ASP开发能力,有较强的自学能力以及一定的关系数据库理论开发功底。

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

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

软件工程课程设计陈述( 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="学号"/>。

《软件工程》课程设计—— 学生选课系统.doc

《软件工程》课程设计—— 学生选课系统.doc

《软件工程》课程设计手册题目:学生选课系统设计2010年 1月 20日目录1. 项目概述 (3)1.1开发背景 (3)1.2 开发目的 (3)1.3 开发运行境 (3)1.4 系统功能 (3)2.需求分析 (3)2.1 系统需求 (3)2.2 功能需求 (3)2.3 业务流图 (3)3.总体设计 (4)3.1 基本设计概念和处理流程 (4)3.2 系统层次模图 (4)3.3系统层次模块图 (4)3.4模块设计 (5)4.数据库计 (5)4.1 数据库的逻辑设计 (5)4.2数据库的配置 (6)5. 详细设计 (8)5.1 学生登录模块的设计与实现 (8)5.2 学生注册模块的设计与实现 (9)5.3 学生查询模块的设计与实现 (9)5.4 学生选课模块的设计与实现 (10)6 测试及提交 (10)7 项目小组成员及详细分工 (10)8 附:模块源代码 (11)1.项目概述1.1 开发背景Internet的飞速发展深刻地影响了人们的日常生活和商业运作方式。

人们打开网页浏览当天的新闻,发电子邮件给远方的朋友,使用搜索引擎查找资料,进入网上商城购买商品——这一切都是在使用Internet。

社会的方方面面渗透着互连网的应用,使得一向烦琐的手工程序变得方便,快捷,而学校网上选课系统正是基于这一思想而发展起来的。

1.2 开发目的传统的手工选课不仅复杂,也牵涉了很多的人力,对管理也造成了诸多不变,而借助网上选课系统,学生在规定选课时间段内,可以不受地点和时间的限制完成选修课的申请,而学校也可以方便地对系统进行管理和控制,提高工作效率。

1.3 开发运行环境:开发工具:java语言开发环境:JDK1.4 系统功能:(1) 登录、注册功能.(2) 选课功能(3) 查询功能2.需求分析2.1 系统需求用户的需求具体体现在各种学习成绩的提供、保存、更新和查询方面,这就要求数据库结构能充分满足各种信息的输入和输出。

收集基本数据、数据结构及数据处理的流程,组成一份详尽数据字典,为后面的具体设计打下基础。

《软件工程》课程设计——_学生选课系统

《软件工程》课程设计——_学生选课系统

《软件工程》课程设计手册 (3)1.1 开辟背景 (3)1.2 开辟目的 (3)1.3 开辟运行境 (3)1.4 系统功能 (3) (3)2.1 系统需求 (3)2.2 功能需求 (3)2.3 业务流图 (3) (4)3.1 基本设计概念和处理流程 (4)3.2 系统层次模图 (4)3.3 系统层次模块图 (4)3.4 模块设计 (5) (5)4.1 数据库的逻辑设计 (5)4.2 数据库的配置 (6) (8)5.1 学生登录模块的设计与实现 (8)5.2 学生注册模块的设计与实现 (9)5.3 学生查询模块的设计与实现 (9)5.4 学生选课模块的设计与实现 (10) (10) (10) (11)1.1 开辟背景Internet 的飞速发展深刻地影响了人们的日常生活和商业运作方式。

人们打开网页浏览当天的新闻,发电子邮件给远方的朋友,使用搜索引擎查找资料,进入网上商城购买商品——这一切都是在使用Internet。

社会的方方面面渗透着互连网的应用,使得一向烦琐的手工程序变得方便,快捷,而学校网上选课系统正是基于这一思想而发展起来的。

1.2 开辟目的传统的手工选课不仅复杂,也牵涉了不少的人力,对管理也造成为了诸多不变,而借助网上选课系统,学生在规定选课时间段内,可以不受地点和时间的限制完成选修课的申请,而学校也可以方便地对系统进行管理和控制,提高工作效率。

1.3 开辟运行环境:开辟工具:java 语言开辟环境:JDK1.4 系统功能:(1) 登录、注册功能.(2) 选课功能(3) 查询功能2.1 系统需求用户的需求具体体现在各种学习成绩的提供、保存、更新和查询方面,这就要求数据库结构能充分满足各种信息的输入和输出。

采集基本数据、数据结构及数据处理的流程,组成一份详尽数据字典,为后面的具体设计打下基础。

2.2 功能需求通过系统功能分析,针对普通的网上选课系统,总结出如下的需求信息:(1) 学生的需求:网上选课、选课情况查询;(2) 本系统主要实现学生信息管理和选课查询。

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

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

软件工程课程设计学生选课系统一、介绍随着信息技术的不断发展,各行各业都离不开计算机的帮助。

学校也不例外。

学校的学科设置繁琐多样,如何让学生更快速、更准确地选到自己感兴趣的课程,是每一所学校都需要考虑的问题。

而软件工程作为一门较为实用的学科,应用在学生选课系统中,能够提高学生选课的效率,减少繁琐的流程、缩短时间,同时也能提高课程安排的科学性和精确度。

二、需求分析1、学生需求:能够根据自己的兴趣、时间等因素进行筛选,以快速查找自己需要的课程;同时也需要在选课过程中能够及时了解有无课程时间冲突,并进行相应的调整。

2、教师需求:能够快速、高效地了解学生的选课情况,以便于更好地进行教学计划安排、资源调配以及课程评估等。

3、管理需求:能够更好地监管选课流程,防止出现不当行为,确保选课过程的公开透明及合规性。

三、系统设计方案1、需求规定1.1 系统管理员可以对选课系统的相关参数进行设定,包括课程的基本信息数据、学生课程清单、选课时间和规则等。

1.2 学生登陆后可以查看课程、进行筛选,以及进行课程信息的查看、查询、课程化选。

1.3 教师可以查看选课情况以及管理自己的教学班级,包括布置作业、成绩录入等。

1.4 学生选课的时间节点可以在选课处理中获取,只有在设定时间内才可以进行选课。

2、数据库设计2.1 学生课程清单表:表中存储每个学生的已选课程信息。

2.2 学生信息表:存储所有注册学生的个人信息,为学生选课提供账号管理和基础信息库。

2.3 课程信息表:其中存储课程的全部信息,用于学生、教师查看、筛选和选课。

2.4 教师信息表:教师信息表中包含教师姓名、工号、授课班级信息以及相关授课要求等信息。

2.5 选课流水表:记录学生选课及其它可以影响选课结果的流水明细。

3、功能模块设计3.1 系统登录模块:设计系统的登录模块,分别支持学生、教师、管理员等三种用户类型。

3.2 课程分析模块:根据学生的兴趣和要求对课程进行筛选,以便于更快地找到符合自己要求的课程。

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

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

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

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

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

采用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.添加课程管理员添加课程信息,包含课程名称、上课教师、学分等信息。

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

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

山东交通学院面向对象课程设计学生选课管理系统软件院(系)别信息工程系班级计算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 foreverybody 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。

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

软件工程课程设计学生选课管理系统开发报告作者:2009242012***2009242014颉翔1引言 (3)1.1编写目的 (3)1.2背景 (3)1.3参考资料 (3)2任务概述 (3)2.1任务目标 (3)2.2用户的特点 (4)2.3假定和约束 (4)2.3.1进度约束: (4)2.3.2系统约束: (4)2.3.3用户约束 (5)2.3.4假设与前提条件. (5)3需求分析 (5)3.1对功能的规定 (5)3.2对性能的规定 (6)3.3输人输出要求 (6)3.4故障处理要求 (6)4软件设计与实现 (7)4.1系统功能结构 (7)4.2系统数据结构 (8)4.2.1概念结构设计 (8)4.2.2逻辑结构设计: (9)4.2.3物理结构设计 (9)4.3功能需求与程序的关系 (10)4.4运行环境规定 (10)5软件测试 (10)5.1测试概要 (10)5.2测试结果及调试 (11)5.3测试结论 (13)6小结 (13)1引言1.1编写目的此报告完整呈现了我们开发“学生选课系统”的整个软件生命周期,包括需求分析阶段,软件设计与实现阶段和测试阶段。

在需求分析阶段,明确所要开发的软件应具有的功能、性能与界面,使系统使用人员及系统开发人员能清楚地了解用户的需求,并在此基础上进一步提出概要设计说明书和完成后续设计与开发工作。

在软件设计与实现阶段,进一步细化软件设计阶段得出的软件总体概貌,把它加工成在程序细节上非常接近于源程序的软件表示,然后着手于实践。

最后在测试阶段检验了我们的软件的实用性,发现了许多不足。

这个报告即是对最后软件的总体描述。

1.2背景目前国内各高校的规模越来越大,进而造成教师教学管理等工作量日趋加大。

然而,现代教育的信息化、网络化已经成为教育发展的一个重要方向,同时也为解决高校教学管理效率低下的现状,使管理突破时空限制,提高工作效率和办学水平,提供了一个很好的突破口。

基于这种情况,选课系统应运而生。

1.3参考资料1.张海藩,《软件工程导论》,清华大学出版社;2.王珊、萨师煊,《数据库系统概论》,高等教育出版社;3.张瑞丰、董渊、郑莉,《C++语言程序设计》,清华大学出版社。

2任务概述2.1任务目标由于学生多,老师多,课程多,学生课程每学期变动,造成进行课程分配,老师任务分配极为复杂不便,同时由于人员的流动(例如学生转专业,老师跨学院授课等等),对学生选课,老师授课的安排显得力不从心,有时查找与重新整理文件要浪费许多的人力、物力。

而且近年来,由于学校扩招力度的加强和教育的改革,选课,成绩档案的管理不当会严重到导致学校管理混乱的局面。

于是大家不断地在探索希望能找到解决的方法。

为了解决以上的问题,让学校能够有效的管理,同学能够方便的选课,及促进成绩管理的信息化、规范化和集成化,我们小组多方听取意见、追加和完善部分实用功能,进而了解学生选课流程,同时结合各部门、各专业与同学选课管理的方法,开发出一套适合于多学院,多课程的复杂的选课系统。

2.2用户的特点本项目所开发的系统用户有三类,学生、老师和系统管理员。

系统中有哪些可选的课程由管理员添加,学校公布选课信息后,学生就应该急时登陆选课系统进行选课。

凡是想要选课的学生,必须是在该学校有注册信息的学生,只有具有该校学生资格,才可以进行选课。

课程重要的信息之一就是该课程的代课老师。

老师同样应该具有该校的教师(teacher)资格,才可以教授该校所开设的课程。

当老师登陆时,可以查看自己所教的课程的报名情况,以及学生对该课的评价等等信息。

学生和老师都不可能使用管理员的功能。

2.3假定和约束2.3.1 进度约束:在2011年9月8日前完成全部进度,分三周进行,第一周完成需求分析说明书和详细设计说明书;第二周完成SQL语句的编写,系统界面设计以及调试等相关工作;第三周进行系统调试和修改完善工作。

2.3.2 系统约束:1.系统中所有账户能够供用户随时使用,能够随时使用相应功能。

2.同一时刻,所有账户不能在多个地方登陆。

3.学生选课数目不能超过学校限制。

4.不能选已经超过规定人数的的课程,不能选已经开课的课程。

5.没有达到规定人数的课程不能开课。

6.该系统必须确保所有数据安全,以免损失。

所有用户都要登陆才能访问,每个用户只能使用所属角色的权限,必要时限定访问次数。

7.界面友好,操作简单。

8.软件系统开放性好,结构灵活,可扩充,方便维护。

9.安全可靠。

2.3.3用户约束1.一个学生至少要选择一门课程(course),也可以选择多门课程,每一门课程的选课人数必须达到一定数量才能开课。

2.学校为了教学内容的丰富,会不定期的增加一些课程(course),并且请一位相关专业的教师进行讲解,同时为了调动老师积极性,也鼓励一个老师同时开设多门课程(course)。

3. 如果教师开设的课程受学生欢迎,下一学年可以继续开设该们课程。

4.所有选课信息(stucourse)都必须记录,以备将来教学评估以及对学生选课信息的查询。

2.3.4假设与前提条件.1.假设学生不在学校,照样可以选课。

只要有联网的电脑,登录学校官网就可进行选课。

2.假设用户忘记密码,系统设置找回密码的方法,也可与管理员联系。

3需求分析3.1对功能的规定1.学生根据所在院系的名称(college),查看本学期所开设的课程的信息。

2.教师根据教师编号(tid)可以查看自己所教课程的信息。

3.学生可以根据课程编号(cid),查询某课程的信息,从而对该课程进行相应的选择。

4.教师通过课程编号(cid),查看选择该课程的学生的信息。

5.管理员查询学生选择课程人数最多的前三门课程的信息,从而对其进行教学评估。

6.管理员可以更新学生、教师、课程的信息。

3.2对性能的规定3.2.1安全性要求:①系统应设置访问用户的标识以鉴别是否是合法用户,并要求合法用户设置其密码,保证用户身份不被盗用;②系统应对不同的数据设置不同的访问级别,限制访问用户可查询和处理数据的类别和内容;③系统应对不同用户设置不同的权限,区分不同的用户,如区分普通用户(学生),管理员。

3.2.2完整性要求:①各种信息记录的完整性,信息记录内容不能为空;②各种数据间相互的联系的正确性;③相同的数据在不同记录中的一致性。

3.3输人输出要求该系统为教学管理系统的一个模块,因此它的输入数据由总系统的其它模块提供,其输出数据一部分可显示给用户,另一部分作为其它子模块的输入。

3.4故障处理要求1.面对突然死机,断电等情况能够还原原有数据,自动备份;2.数据输入错误能够识别并提醒;3.选修课程后未参加考试没有成绩则删除此学生的这条选修信息。

4软件设计与实现4.1系统功能结构4.2系统数据结构4.2.1概念结构设计4.2.1.1系统实体属性图:1. 具有学生资格的学生应该包括如下信息:学号(Sno),学生姓名(Sname),性别(Gender),年龄(Age),政治面貌(Political),系别(Branches),班级(Class);4.2 学生属性图2. 每门课程应该包括如下信息:课程号(Cid),课程名称(Cname),学分(Credit),课时(Hour),需求人数(Total),课称描述(Decription):4.3 课程属性图3.教师信息应该包括如下:教师号(Tid),教师姓名(Tname),职称(Title),所在系别(Branches),研究方向(Professional),简介(Introduce),年龄(Age),性别(Gender):4.4 教师属性图4.2.1.2实体联系图图4.5 系统E-R图4.2.2逻辑结构设计:学生信息(sid,sname,gender,age, branches,class);教师信息(tid,tname,ag,gender,title,branches,professional,introduce);课程信息(cid,cname,credit,hour),total,decription);学生选课信息(sid,cid,checkdata,grade);教师开课信息(tid,cid,opendata,counter,teachdata)。

4.2.3 物理结构设计表4.1 学生信息数据字典字段中文名称字段名类型长度说明学号Sno Varchar 10 学生学号姓名Sname Varchar 8 学生姓名性别Gender Varchar 2班级Class Int 6 学生所在班级政治面貌Political Varchar 2年龄Age Int 2系别Branches Varchar 15表4.2教师信息数据字典字段中文名称字段名类型长度说明教师号Sno Varchar 14 学生学号姓名Sname Varchar 8 学生姓名性别Gender Varchar 2简介Introduce Varchar 14 学生所在班级职称Title Varchar 2年龄Age Int 2系别Branches Varchar 15表4.3课程信息数据字典表4.4学生选课信息数据字典4.3功能需求与程序的关系4.4运行环境规定1.硬件平台:Windows 2000/XP/server 2003/72.软件平台:Microsoft Visual C++ 6.0SQL server 20053.设备:处理器:Inter (R) Core(TM)2 Quad;内存:2G 外存:250G;存储格式:exe,mdf,dsw;输入及输出设备:键盘,鼠标,显示器,打印机。

5软件测试5.1测试概要由于时间有限,我们主要对以下主要模块进行了测试:A:用户登录;B更新学生信息;C:更新教师信息;D:更新课程信息;E:学生进行选课;F:教师查看选课情况; G:教师进行评分; H:更新教师信息;I:数据库备份、数据库还原;5.2测试结果及调试表5.1 测试结果表图5.1 学生进行选课模块代码测试结果与预期的差别A可以按学生、教师、管理员各自的身份进行登录无 B 可以实现 无 C 可以实现 无D 可以实现无E根据现有的课程进行选课,并且更新数据库无 F 可以实现 无 G可以实现 无H没有完善这个程序中教师只能查看选修自己课程的学生信息,并且进行评分,没有更新自己信息的模块。

I不够完善没有进行这方面的考虑。

图5.2管理员添加课程信息图5.3 教师对学生所选课程进行评分图5.4 学生修改自己的密码5.3测试结论该程序能实现学生选课系统数据流图中的大部分功能,但由于时间不够,程序中没有对教师信息进行更新的功能模块。

经过对登录界面、学生界面、教师界面和管理员界面进行的登录增删改测试,初步证明了该程序基本稳定安全。

6小结经过这个小学期的软件工程课程设计活动,我们终于对整个软件开发过程有了一个更加详细的了解。

相关文档
最新文档