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

合集下载

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

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

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

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

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

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

教师和学生可以应用该系统实现如下功能: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)由于是人工处理且工作量大,所以效率低,出错率高,修改麻烦。

软件工程课程设计-基于UML的学生选课系统的软件工程课程设计--精品推荐

软件工程课程设计-基于UML的学生选课系统的软件工程课程设计--精品推荐

第一章系统的可行性分析报告 (3)引言 (3)课题题目 (3)设计目的和意义 (3)设计背景 (3)参考资料 (4)术语 (4)要求和目标 (4)【基本要求 (4)开发目标 (11)具备条件 (11)评价尺度 (12)所建议的系统 (12)对所建议系统的说明 (12)改进之处 (12)影响 (13)"社会因素方面的可行性 (13)法律方面的可行性 (13)使用方面的可行性 (13)结论 (13)第二章基于UML的需求说明书 (14)引言 (14)编写目的 (14)读者对象 (14)!软件项目描述 (14)文档概述 (15)定义 (15)参考资料 (15)一般性描述 (15)系统Use Case图及其说明 (16)用户特征 (17)限制与约束 (18))假设与前提条件 (18)功能需求描述 (18)系统用例事流表 (18)系统类图 (20)其它需求描述 (21)性能要求 (21)设计约束 (21)进度要求 (21)…交付要求 (21)第三章基于UML的面向对象软件设计文档 (22)引言 (22)系统概要及其运行环境 (22)系统的组成部分及其结构 (22)定义 (24)参考资料 (24)软件设计约束 (24),设计目标和原则 (24)设计约束 (24)软件设计描述 (24)总体结构设计 (25)用例顺序图 (25)协作图 (27)部署视图 (28)数据库子系统设计 (28)、数据库表描述 (28)数据表结构 (29)用户分类及描述 (31)第四章系统界面设计描述 (32)用户登录界面的实现 (32)用户登录界面实现代码 (32)用户登录界面实现效果 (35)学生选课信息界面的实现 (36)^学生选课信息界面实现代码 (36)学生选课界面实现效果 (37)第五章测试计划报告 (39)引言 (39)目的 (39)背景 (39)参考资料 (39)测试内容 (39){测试进度与过程 (39)测试人员 (39)第六章总结 (40)致谢 (41)参考文献 (41)|^第一章系统的可行性分析报告引言课题题目本次课程设计的课题为:学生选课系统(Students elective course system)设计目的和意义1、设计目的现在,随着各大高校的扩招及信息化社会的到来,学校为了合理规划人力资源的利用,保证学校信息的安全性,对信息化处理数据的要求也越来越高。

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

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

编号:《软件工程》课程设计学生选课系统目录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 系统需求用户的需求具体体现在各种学习成绩的提供、保存、更新和查询方面,这就要求数据库结构能充分满足各种信息的输入和输出。

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

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

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

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

学校也不例外。

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

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

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

软件工程课程设计-选课管理系统

软件工程课程设计-选课管理系统

目录第一章系统分析 (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 学生查询子模块 (14)§ 4.2.5 在线预选子模块 (15)第五章测试计划 (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系统的主要目标:本系统目标是实现选课系统所需的各种基本功能,包括学生选课、退课功能和教师查看选修课程、提交课程成绩功能以及管理员添加学生、维护学生信息、成绩管理、添加教师、维护教师信息、维护选修课程,还有公用的修改密码等功能。

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)系统的外部角色有:学生用户、教师用户和管理员。

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

软件工程学生选课系统概要设计
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,

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

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

软件工程学生选课系统设计说明书设计说明书:选课系统一、引言选课系统是为了方便学生选择合适的课程,规范选课流程,提高选课效率而开发的一款软件。

该系统将实现学生的选课申请、课程查询、选课结果查询等功能。

二、系统需求1.学生选课申请:学生登录系统后,可以浏览并选择自己感兴趣的课程,并提交选课申请。

2.课程查询:学生可以通过系统查询所有的课程信息,包括课程名称、授课教师、课程时间等。

3.选课结果查询:学生可以查询选课申请的处理结果,包括选课成功和选课失败的详细信息。

4.教师管理:系统管理员可以管理教师信息,包括添加教师、修改教师信息等。

5.课程管理:系统管理员可以管理课程信息,包括添加课程、修改课程信息等。

三、系统设计1.用户角色-学生:可以进行选课申请、查询课程和选课结果。

-管理员:可以进行教师和课程的管理。

2.数据库设计-学生表:存储学生的基本信息,包括学号、姓名、密码等。

-教师表:存储教师的基本信息,包括工号、姓名、密码等。

-课程表:存储课程的基本信息,包括课程编号、课程名称、授课教师、课程时间等。

-选课表:存储学生的选课记录,包括学生学号、选课课程编号、选课状态等。

3.系统流程-学生选课申请流程:1)学生登录系统。

2)学生浏览课程信息并选择感兴趣的课程。

3)学生提交选课申请。

4)系统根据学生的选课申请进行处理,并生成选课结果。

5)学生可以查询选课结果。

-课程查询流程:1)学生登录系统。

2)学生查询课程信息。

-选课结果查询流程:1)学生登录系统。

2)学生查询选课结果。

-教师管理流程:1)管理员登录系统。

2)管理员可以进行添加教师、修改教师信息等操作。

-课程管理流程:1)管理员登录系统。

2)管理员可以进行添加课程、修改课程信息等操作。

四、系统实现该选课系统将采用Java语言进行开发,前端界面使用HTML、CSS和JavaScript技术实现。

后端使用Spring框架搭建整个系统,数据库使用MySQL进行存储。

软件工程--简单的选课系统

软件工程--简单的选课系统

软件工程–简单的选课系统系统概述选课是每个学生都必须完成的任务,而现在有许多大学已经实行了网上选课,方便了学生选择课程的同时也减轻了教务工作负担。

本文将介绍一个简单的选课系统,实现了学生选课、查看课表、选课排行等功能。

功能描述登录与注册在本系统中,学生需要先进行登录才能进行选课和查看课表等操作。

而注册则需要输入学生基本信息,包括学号、姓名、学院等,并设置登录密码。

选课本系统中,学生可以通过选择不同的课程和时间进行选课。

同时,课程信息也包括课程名称、授课老师、时间和位置等。

查看课表学生在完成选课后,可以通过登录到系统查看当前的课程表。

课程表中包括了课程名称、授课老师、时间和位置等信息。

选课排行本系统还提供了选课排行榜的功能。

学生可以通过该功能查看最热门的课程和授课老师,以便更好地选择自己感兴趣的课程。

系统结构数据库本系统使用的是MySQL数据库,主要包括学生信息表、课程信息表和选课记录表。

前端界面本系统的前端界面主要使用HTML、CSS和JavaScript技术实现,其中涉及了BootStrap框架和jQuery库等。

后端逻辑本系统的后端逻辑主要使用了Java语言和Spring框架实现,负责具体的业务逻辑处理和数据交互。

开发过程需求分析开发一款选课系统的前提是对其需求进行充分的分析和了解。

在该系统中,需要考虑的主要因素包括教务系统提供的相关信息、学生的选课习惯、课程安排等。

设计阶段在设计阶段,需要细化系统功能,包括界面设计、数据库设计和系统架构的选择等。

开发阶段在具体的开发阶段,主要围绕前端、后端和数据库进行实现。

前端需要实现用户界面,后端需要进行具体的业务逻辑和数据交互,数据库则需要进行相关表的建立和整合。

测试与部署在完成开发之后,需要进行测试和部署。

测试需要检验系统的整体性能和稳定性,部署则需要将系统上线并与教务系统进行连接。

一款选课系统需要综合涉及前后端的技术,需要对数据进行全面的处理和整合,需要满足学生选课需求,也需要与教务系统进行联动。

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

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

学生管理(选课)系统——详细设计说明书目录一.引言 (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 功能本模块的主要功能为:接受用户提交的代码、对代码进行合格性审核、当符合规则之后再将代码合格的代码编译运行,之后将结果返回给前台页面。

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

软件工程课程设计学生选课系统
目前,毕业设计的双向选择和毕业设计过程的动态跟踪与交流己成为毕业设计环节教学改革的重要内容仁,英国诺丁汉大学开发了专门的管理系统实现了毕业设计的网上双向选择,国内南开大学已开发了毕业设计网站,为毕业设计的选题、师生交流和毕业设计成绩的管理提供了良好的环境,取得了良好的效果。
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 参考资料............................................. 错误!未定义书签。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

XX大学
软件工程课程设计报告( 2008 -- 2009年度第二学期)
课程名称:软件工程课程设计
题目:学生选课系统
院系:计算机科学与技术系
班级:
姓名:
指导教师:
设计周数:两周
小组成绩:
日期:2009 年5月20日
摘要:
本系统实现学生选课的基本功能,包括学生退选课,查看自己的选课信息;教师查看选课学生的信息,提交成绩;管理员添加学生、管理学生、管理成绩、添加教师、管理教师和管理课程等。

系统利用.Net平台技术进行开发,实现学生选课的动态管理,使得对信息的管理更加及时、高效,提高了效率。

同时还对系统的开发原理、功能特点和设计方案进行了介绍。

关键词:学生选课数据库管理
一、课程设计的目的与要求
通过软件开发的实践训练,进一步掌握软件工程的方法和技术,提高软件开发的实际能力,培养工程设计能力和综合分析、解决问题的能力。

具体如下:
1.学习和实践在分析和设计计算机应用系统所需要的知识,包括面向对象的系统分析与设计,编
码和测试方面的知识;
2.熟悉自动化的软件开发工具Rational Rose 2003,并将其运用于软件开发的全过程;
3.进一步加强和提高软件工程文档的编写能力;
4.培养协作能力和团队精神。

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

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

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

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

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

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

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

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

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

(2)系统主要用例的文档描述:
①学生管理用例:学生用户可见的功能,包含了选课、退课和查看选课三个用例功能。

②教师管理用例:教师用户可见的功能,包含了查看学生选课和提交成绩两个用例功能。

③信息管理用例:管理员可见的功能,这个用例进一步分为三个用例:学生信息管理用例、
教师信息管理用例和课程信息管理用例。

④学生信息管理用例:信息管理用例可见的功能,实现学生信息的管理功能,包含了添加学
生、修改学生信息和删除学生三个用例。

⑤教师信息管理用例:信息管理用例可见的功能,实现教师信息的管理功能,包含了添加教
师、修改教师信息和删除教师三个用例。

⑥课程信息管理用例:信息管理用例可见的功能,实现课程信息的管理功能,包含了添加课
程、修改课程信息和删除课程三个用例。

⑦修改密码用例:所有用户都可见的功能,用于修改用户的密码信息。

(3)系统用例之间的关系:
①学生管理用例与选课、查看选课、退课三用例之间是包含关系。

②教师管理用例与查看学生选课、提交成绩两用例之间是包含关系。

③信息管理用例与学生信息管理用例、教师信息管理用例和课程信息管理用例之间是包含关
系。

④学生信息管理用例与添加学生、修改学生信息和删除学生三个用例之间是包含关系。

⑤教师信息管理用例与添加教师、修改教师信息和删除教师三个用例之间是包含关系。

⑥课程信息管理用例与添加课程、修改课程信息和删除课程三个用例之间是包含关系。

(4)系统关键用例的正常事件流图和异常事件流图
表2-1 修改密码用例的正常事件流图和异常事件流图
表2-2 提交成绩用例的正常事件流图和异常事件流图
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) 学生用户退选课的顺序图。

相关文档
最新文档