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

合集下载

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

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

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

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

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

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

教师和学生可以应用该系统实现如下功能: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.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)§ 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 项目分析学生成绩管理系统主要提供方便高效的管理功能以及网上的信息查阅平台,学生可以通过该系统查阅相关信息。

软件工程课程设计报告

软件工程课程设计报告

软件工程课程设计报告随着信息技术的迅猛发展和互联网的普及,软件工程在当今社会中扮演着越来越重要的角色。

作为计算机科学与技术领域的一门学科,软件工程涉及到软件的开发、测试、维护和管理等方方面面。

为了更好地学习和应用软件工程的理论和方法,我们进行了一项软件工程课程设计。

1. 课程设计背景1.1 课程设计目的本次软件工程课程设计的目的是让学生通过自主设计一个软件项目来锻炼他们的软件工程技能,包括需求分析、系统设计、编码实现、测试调试以及项目管理等方面的能力。

1.2 课程设计要求学生需要选择一个合适的主题,并按照软件工程的原则和流程进行全面的设计、开发和测试,并将结果通过课程设计报告的形式呈现出来。

2. 课程设计步骤2.1 需求分析在进行软件设计之前,我们首先需要对项目的需求进行详细的分析和了解。

通过与客户沟通,我们确定了软件的目标、功能和特性要求。

此外,我们还进行了对现有市场上类似软件的调研,以提供更好的设计方案。

2.2 系统设计根据需求分析结果,我们开始进行系统设计阶段。

我们采用了面向对象的设计方法,将软件系统拆分成多个子模块,并进行模块间的接口设计和数据流分析。

为了保证软件的健壮性和可扩展性,我们还注意了系统的并发性、兼容性和安全性。

2.3 编码实现在系统设计完成后,我们开始了编码实现阶段。

我们选择了合适的编程语言和开发环境,并根据系统设计提出的要求进行编码工作。

在编码过程中,我们注重代码的规范性和可读性,并进行必要的注释和文档编写。

2.4 测试调试编码完成后,我们进行了系统的测试和调试。

我们采用了自动化测试和手动测试相结合的方式,对软件的各个功能模块进行全面的测试。

通过发现和修复bug,我们不断改进软件的质量和性能。

2.5 项目管理为了保证项目按时完成,我们采用了项目管理的方式来组织和安排工作。

我们制定了合理的项目计划,并通过进度跟踪和团队协作来保证项目的顺利进行。

3. 课程设计成果通过一学期的努力,我们设计并实现了一个基于Web的个人博客系统。

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

软件工程学生选课系统概要设计
As
Select学号,姓名from学生
Where学号not in(select学号from学生选课)
-----------------------------------------------------
2:
/*功能-----输入任意一个成绩,查询大于等于该成绩的学号、姓名、课程名、成绩
参数---成绩
参数---课程名称(输入参数)平均成绩、最高成绩和最低成绩(输出参数)
存储过程名:st_dkcjfx
*/
Create procedure st_dkcjfx @kechengming varchar(20),
@avgchengji tinyint OUTPUT,@maxchengji tinyint OUTPUT,@minchengji tinyint OUTPUT
4.物理设计
4.1表设计
--(1)“管理员”表
Use student
GO
create table管理员
(
用户名varchar(12) constraint pk_gly PRIMARY KEY NOT NULL,
密码varchar(12) NULL,
)
GO
--(2)"系部“表
Use student
GO
备注varchar(50)
)
GO
--(5)“学生表”
Use student
GO
create table学生
(
学号char(12) CONSTRAINT pk_xh PRIMARY KEY NOT NULL,
姓名varchar(8),
性别char(2),
出生日期datetime,
入学时间datetime,

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

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

学生管理(选课)系统——详细设计说明书目录一.引言 (3)1.1 编写目的 (3)1.2 背景 (3)二.系统结构 (3)三.“代码评测”(1.4.0.0)模块设计说明 (3)3.1 模块描述 (3)3.2 功能 (3)3.3 性能 (4)3.4 输入项 (4)3.5 输出项 (4)3.6 设计方法(算法) (4)3.7 流程逻辑 (4)图 1 主业务流程图 (5)图 2 代码审核子模块流程图 (6)图 3 词法分析子模块流程图 (7)图 4 代码评测子模块流程图 (8)图 5 用例检测子模块流程图 (9)图 6 结果对比子模块流程图 (10)图7 字符串匹配及得分统计子模块流程图 (11)图8 数据保存子模块流程图 (12)图9 结果反馈子模块流程图....................................................... 错误!未定义书签。

3.8 接口 (12)3.9 存储分配 (12)3.10 注释设计 (12)文件头: (12)方法头: (13)方法中: (13)类头: (13)3.11 限制条件 (13)3.12 测试计划 (13)数据存储测试 (14)整体测试 (14)压力测试 (14)一.引言1.1编写目的为本程序的设计提供更完善的分模块设计。

1.2背景a.本系统名称:学生管理(选课)系统b.本项目任务提出者:郭子叶;开发者:郭子叶,郑子豪,张宇涵,潘思阳;预期用户:本校师生,以及可能面向的社会人士。

二.系统结构由于本书只涉及到“代码评测”一个模块因此略过。

三.“代码评测”(1.4.0.0)模块设计说明3.1 模块描述本模块属于本系统的核心模块之一。

本模块的设计用途为,对用户提交的代码进行处理,保存,并编译后返回结果。

本模块需要调用的功能较多,对系统资源也相对敏感,且因为属于核心功能之一,所以在本系统中比较重要。

3.2 功能本模块的主要功能为:接受用户提交的代码、对代码进行合格性审核、当符合规则之后再将代码合格的代码编译运行,之后将结果返回给前台页面。

软件工程作业-学生选课系统报告

软件工程作业-学生选课系统报告

软件工程作业-学生选课系统报告----软件工程----学生选课管理系统组长:071103428 张成林组员:071103418 马成龙组员:071103417 刘岩组员:071103429 张凯1 引言 1.1 编写目的编写本文档的目的在于详细、准确和全面的定义本选课系统的功能和和用户需求,用以指导系统顺利地进行开发,并保证后续地开发能够保质保量的完成。

本文档所描述的需求信息将作为该项目最终验收的标准和依据。

1.2项目范围本项目名称为学生选课系统,主要是面向学校教师和学生的选课的主要管理平台,此外也是学生综合系统的重要组成部分,其中选课系统中的学生信息和教师信息来自学生信息管理系统和教师管理系统。

2.任务概述 2.1产品概述现在,随着各大高校的扩招及信息化社会的到来,学校为了合理规划人力资源的利用,保证学校信息的安全性,对信息化处理数据的要求也越来越高。

学生选课系统就是为了减少学校对信息管理的工作量,增强学生选课及成绩信息管理的安全性的双重要求下出现的。

本系统实现的主要功能是学生选课,成绩录入,成绩查询,课程信息管理,用户信息管理等。

采用的B/S架构,其作用范围为所有在校本科生和在校研究生和教师和系统管理员。

2.2用户特点本系统最终面向的用户主要分为三类:学生,教师,系统管理员。

系统管理员主要任务是对数据库进行维护,并且保证信息的安全性。

教师和学生主要是对信息的输入和查询。

2.3条件与限制本系统中涉及到大量的数据的录入和存储,开发人员要有一定的数据库操作技能,并且对于B/S架构和多任务多用户操作系统都有一定的认识,具有开发项目经验。

2.4功能层次图选课系统学生教师登录查看信息选择课程修改课程登录查看信息录入信息个人信息选课信息成绩信息课程信息成绩信息3.数据描述 3.1 一般性描述由于本系统的数据还算不上大型的。

所以数据库服务器与web服务器共用同一台计算机。

系统中的用户信息、系统信息和课程信息都放在数据库中。

软件工程课程设计基于uml的学生选课系统的软件工程课程设计

软件工程课程设计基于uml的学生选课系统的软件工程课程设计

第一章系统的可行性分析报告 (2)1.1 引言 (2)1.1.1 课题题目 (2)1.1.2 设计目的和意义 (2)1.1.3 设计背景 (2)1.1.4 参考资料 (3)1.1.5 术语 (3)1.2 要求和目标 (3)1.2.1 基本要求 (3)1.2.2 开发目标 (15)1.2.3 具备条件 (15)1.2.4 评价尺度 (16)1.3 所建议的系统 (16)1.3.1 对所建议系统的说明 (16)1.3.2 改进之处 (16)1.3.3 影响 (17)1.4 社会因素方面的可行性 (17)1.4.1 法律方面的可行性 (17)1.4.2 使用方面的可行性 (17)1.5 结论 (17)第二章基于UML的需求说明书 (18)2.1 引言 (18)2.1.1 编写目的 (18)2.1.2 读者对象 (18)2.1.3 软件项目描述 (18)2.1.4 文档概述 (19)2.1.5 定义 (19)2.1.6 参考资料 (19)2.2 一般性描述 (19)2.2.1 系统Use Case图及其说明 (20)2.2.2 用户特征 (21)2.2.3 限制与约束 (22)2.2.4 假设与前提条件 (22)2.3 功能需求描述 (22)2.3.1 系统用例事流表 (22)2.3.2 系统类图 (24)2.4 其它需求描述 (25)2.4.1 性能要求 (25)2.4.2 设计约束 (25)2.4.3 进度要求 (25)2.4.4 交付要求 (25)第三章基于UML的面向对象软件设计文档 (26)3.1 引言 (26)3.1.1 系统概要及其运行环境 (26)3.1.2 系统的组成部分及其结构 (26)3.1.3 定义 (28)3.1.4 参考资料 (28)3.2 软件设计约束 (28)3.2.1 设计目标和原则 (28)3.2.2 设计约束 (28)3.3 软件设计描述 (28)3.3.1 总体结构设计 (29)3.3.2 用例顺序图 (29)3.3.3 协作图 (31)3.3.4 部署视图 (32)3.4 数据库子系统设计 (32)3.4.1 数据库表描述 (32)3.4.2 数据表结构 (33)3.4.3 用户分类及描述 (35)第四章系统界面设计描述 (36)4.1 用户登录界面的实现 (36)4.1.1 用户登录界面实现代码 (36)4.1.2 用户登录界面实现效果 (39)4.2 学生选课信息界面的实现 (40)4.2.1 学生选课信息界面实现代码 (40)4.2.2 学生选课界面实现效果 (41)第五章测试计划报告 (43)5.1 引言 (43)5.1.1 目的 (43)5.1.2 背景 (43)5.1.3 参考资料 (43)5.2 测试内容 (43)5.2.1 测试进度与过程 (43)5.2.2 测试人员 (43)第六章总结 (44)致谢 (45)参考文献 (45)第一章系统的可行性分析报告1.1 引言1.1.1 课题题目本次课程设计的课题为:学生选课系统(Students elective course system)1.1.2 设计目的和意义1、设计目的现在,随着各大高校的扩招及信息化社会的到来,学校为了合理规划人力资源的利用,保证学校信息的安全性,对信息化处理数据的要求也越来越高。

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

软件工程课程设计学生选课系统
目前,毕业设计的双向选择和毕业设计过程的动态跟踪与交流己成为毕业设计环节教学改革的重要内容仁,英国诺丁汉大学开发了专门的管理系统实现了毕业设计的网上双向选择,国内南开大学已开发了毕业设计网站,为毕业设计的选题、师生交流和毕业设计成绩的管理提供了良好的环境,取得了良好的效果。
1.2.2 国外研究现状
国外的教学科研软件与国内相比开发的早而且比较成熟。早在七十年代末,美国就建成了NSFNET(国家科学基金网),其课题的申报及课题的进展情况汇报都在网上进行。其网上教学教务管理系统也十分完善,世界各地的学生可以坐在家里通过互联网完成入学报名、选课、考试、毕业论文、取得学位这一学习生活的全过程。目前,国际上已具规模的远程教育学校就有数百所之多,网上教育正在各地发挥着巨大的作用,为世界各国培养出大批人才。所有这些都表明,基于Internet的校园网的应用已深入到校园内的各个方面。
1.2.3 存在主要问题和拟解决方法
大学期间总会有很多公共选修课,以往的选课方法是随堂报名。这种方法虽然直接,但是造成选课的盲目性,有些课堂选课时人满为患,有些课堂无人选课。原因是传统的选课方法没有预见性,大家没有事先协调好。并且学生选课存在这样的特点:公选课较多,学生人数众多,学生可根据自己的专业及兴趣选择公选课程进行学习,而且学生对课程的要求有较大差异。使用了网上选课系统以后,可以在开课前就在网上选课,每个学生的课程在开课前就确定好,学生通过本系统可以了解课题相关信息,进行自主选题,能够满足不同学生对不同题目的不同要求,有利于发挥学生的长处,而且能够充分利用学校的各类教学资源。
1.2 国内外研究现状
1.2.1 国内研究现状
随着教育产业化进程的逐步推进,各大高校纷纷合并,走上了强强联合、资源共享的路子。高校的规模不断扩大,如何合理利用教学资源,有效地加强教学管理工作,已成为各大高校十分关注的问题。目前,在教学管理方面,特别是学生学籍管理、成绩管理等方面都普遍采用了网络化管理技术,而对于毕业设计这一重要的教学环节,和其他教学课程一样,普遍采用传统的单机管理模式,主要进行毕业设计基本信息和成绩的输入输出工作,而对于毕业设计的选题、毕业设计过程中管理,以及毕业设计效果的统计分析等工作还没有纳入管理系统中。目前随着教学改革的不断深入,学校办学规模的不断扩大,如何有效地增强教学管理水平,充分调动学生的学习积极性,提高毕业设计的教学质量是各高校教学管理工作的重点之一。

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

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

目录一、问题定义 (4)1.1问题的定义 (4)1.2 系统要解决的问题 (4)二、可行性研究 (5)2.1 引言 (5)2.1.1目的 (5)2.1.2背景及功能 (5)2.1.3 参考资料............................................ 错误!未定义书签。

2.2 可行性研究的前提 (5)2.2.1 要求 (5)2.2.2 目标 (5)2.2.3 条件、假定和限制 (6)2.2.4 进行可行性研究的方法 (6)2.3 所建议的系统 (6)2.3.1 对所建议系统的说明 (6)2.3.2 处理流程和数据流程 (6)2.3.3 工作负荷 (8)2.3.4技术条件方面的可行性 (8)2.4 社会因素方面的可行性 (8)2.4.1 法律方面的可行性 (8)2.4.2 使用方面的可行性 (8)2.5 经济可行性 (9)2.6 结论............................................. 错误!未定义书签。

三、项目开发计划 (9)3.1 引言 (9)3.1.1 编写目的 (9)3.1.2 背景 (9)3.1.3 参考资料............................................. 错误!未定义书签。

3.2 项目概述 (9)3.2.1 工作内容 (9)3.2.2 产品 (10)3.2.4 完成项目的最迟期限 (10)3.2.5 关键问题及支持的系统条件 (10)3.3 支持条件 (10)四、需求分析 (11)4.1 系统需求 (11)4.2. 功能需求 (11)4.3业务流程图 (11)五、概要设计 (13)5.1 基本设计概念和处理流程 (13)5.2. 系统层次模块图 (13)5.3. 系统层次模块图 (13)5.4. 模块设计 (13)六、数据库设计 (14)6.1 引言 (14)6.1.1 编写目的 (14)6.1.2 背景 (15)6.1.3 定义 (15)6.1.4 参考资料............................................. 错误!未定义书签。

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

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

硬件工程课程安排报告之阳早格格创做( 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="教号"/>。

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

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

软件工程学生选课系统设计说明书设计说明书:学生选课系统1.引言学生选课系统是为了方便学生进行课程选择和管理,提供了一个简单、高效的界面,使学生能够轻松地浏览和选择感兴趣的课程。

2.系统概述学生选课系统主要包含以下功能:-学生登录:学生通过输入用户名和密码登录系统。

-查看课程:学生可以查看所有的课程信息,包括课程名称、教师、上课时间等。

-选课:学生可以在系统中选择感兴趣的课程,系统会记录学生所选的课程信息。

-退课:学生可以在系统中退选已选的课程,系统会更新学生选课记录。

-课程管理:管理员可以添加、修改和删除课程信息。

-学生管理:管理员可以添加、修改和删除学生信息。

3.系统设计学生选课系统主要由前端页面和后端逻辑组成。

前端页面设计包括以下内容:-登录界面:学生通过输入用户名和密码进行登录。

-主页:学生登录后的主页,显示已选课程、待选课程和可选课程等信息。

-课程页面:显示所有课程信息,包括课程名称、教师、上课时间等,学生可以在此页面选择和退选课程。

-课程管理页面:管理员登录后的课程管理页面,可以进行课程信息的添加、修改和删除操作。

-学生管理页面:管理员登录后的学生管理页面,可以进行学生信息的添加、修改和删除操作。

后端逻辑设计包括以下内容:-用户认证:根据学生输入的用户名和密码,验证其登录信息是否正确。

-课程查询:根据学生的请求,查询系统中所有的课程信息,并返回给前端页面进行展示。

-选课操作:根据学生的选择,更新系统中的学生选课记录。

-退课操作:根据学生的退选请求,更新系统中的学生选课记录。

-课程管理:管理员可以添加、修改和删除课程信息,更新系统中的课程数据库。

-学生管理:管理员可以添加、修改和删除学生信息,更新系统中的学生数据库。

4.系统实现学生选课系统可以使用Web开发技术实现,如前端使用HTML、CSS和JavaScript进行页面设计和交互,后端使用Java或Python编写接口和逻辑。

前端页面可以使用框架如Bootstrap进行快速搭建,通过AJAX技术与后端进行交互,并实现页面的动态刷新和数据的异步加载。

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

相关文档
最新文档