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

合集下载

学生选课系统实验报告

学生选课系统实验报告

一、实验目的1. 熟悉数据库的基本概念和操作方法。

2. 掌握SQL语言的基本语法和应用。

3. 了解并掌握Java编程语言在数据库应用中的基本操作。

4. 提高学生选课系统的设计与实现能力。

二、实验环境1. 操作系统:Windows 102. 数据库:MySQL 5.73. 开发工具:Eclipse IDE4. 编程语言:Java三、实验内容1. 数据库设计2. 系统模块设计3. 系统实现4. 系统测试四、实验步骤1. 数据库设计(1)创建数据库在MySQL中创建名为“student_course”的数据库。

(2)创建数据表在“student_course”数据库中创建以下数据表:- 学生表(students):包含学生ID、姓名、性别、出生日期、班级等字段。

- 课程表(courses):包含课程ID、课程名称、学分、上课时间、上课地点等字段。

- 选课表(enrollments):包含学生ID、课程ID、选课时间等字段。

(3)建立数据表之间的关系- 学生表和选课表通过学生ID建立一对一的关系。

- 课程表和选课表通过课程ID建立一对一的关系。

2. 系统模块设计(1)登录模块- 用户输入用户名和密码,系统验证用户身份。

- 验证成功后,进入系统主界面。

(2)选课模块- 查询课程信息:学生可以查看所有课程信息,包括课程名称、学分、上课时间、上课地点等。

- 选课:学生可以选择感兴趣的课程,并提交选课请求。

- 查看选课结果:学生可以查看自己的选课结果,包括已选课程、未选课程等信息。

(3)退课模块- 查看选课结果:学生可以查看自己的选课结果,包括已选课程、未选课程等信息。

- 退课:学生可以申请退课,并提交退课请求。

(4)管理员模块- 添加课程:管理员可以添加新的课程信息。

- 删除课程:管理员可以删除课程信息。

- 修改课程:管理员可以修改课程信息。

3. 系统实现(1)使用Java编程语言实现各个模块的功能。

(2)使用JDBC连接MySQL数据库,实现数据操作。

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

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

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

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

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

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

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

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

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

软件工程课程设计学生选课管理系统开发报告作者: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背景目前国内各高校的规模越来越大,进而造成教师教学管理等工作量日趋加大。

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

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

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

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

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

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

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

目录一、问题定义 (4)1.1问题的定义 (4)1.2 系统要解决的问题 (4)二、可行性研究 (5)2.1 引言 (5)2.1.1目的 (5)2.1.2背景及功能 (5)2.1.3 参考资料 (5)2.2 可行性研究的前提 (5)2.2.1 要求 (5)2.2.2 目标 (6)2.2.3 条件、假定和限制 (6)2.2.4 进行可行性研究的方法 (6)2.3 所建议的系统 (6)2.3.1 对所建议系统的说明 (6)2.3.2 处理流程和数据流程 (7)2.3.3 工作负荷 (8)2.3.4技术条件方面的可行性 (8)2.4 社会因素方面的可行性 (9)2.4.1 法律方面的可行性 (9)2.4.2 使用方面的可行性 (9)2.5 经济可行性 (9)2.6 结论 (9)三、项目开发计划 (10)3.1 引言 (10)3.1.1 编写目的 (10)3.1.2 背景 (10)3.1.3 参考资料 (10)3.2 项目概述 (10)3.2.1 工作内容 (10)3.2.2 产品 (11)3.2.4 完成项目的最迟期限 (12)3.2.5 关键问题及支持的系统条件 (12)3.3 支持条件 (12)四、需求分析 (12)4.1 系统需求 (12)4.2. 功能需求 (13)4.3业务流程图 (13)五、概要设计 (14)5.1 基本设计概念和处理流程 (14)5.2. 系统层次模块图 (15)5.3. 系统层次模块图 (15)5.4. 模块设计 (15)六、数据库设计 (16)6.1 引言 (16)6.1.1 编写目的 (16)6.1.2 背景 (17)6.1.3 定义 (17)6.1.4 参考资料 (18)6.2 外部设计 (18)6.2.1 标识符和状态 (18)6.2.2 使用它的程序 (18)6.2.3 约定 (18)6.2.4 专门指导 (19)6.2.5 支持软件 (19)6.3 结构设计 (19)6.4 运用设计 (23)6.4.1 数据字典设计 (23)6.4.2 安全保密设计 (24)七、详细设计 (24)7.1 引言 (24)7.1.1 编写目的 (24)7.1.2 背景 (24)7.1.3定义 (25)7.1.4 参考资料 (25)八、测试报告 (25)8.1 引言 (25)8.1.1 编写目的 (25)8.1.2 定义 (25)8.1.3 参考资料 (26)8.2 测试概要 (26)8.3 测试结果及发现 (29)8.3.1 测试具体实施 (29)8.4 对软件功能的结论 (30)8.4.1 用户登录模块 (30)8.5 分析摘要 (30)8.5.1 能力 (30)8.5.2 评价 (30)8.6 测试资源消耗 (31)九、用户手册 (31)9.1 引言 (31)9.1.1 编写目的 (31)9.1.2 定义 (31)9.1.3 参考资料 (31)9.2 用途 (32)9.2.1 功能 (32)9.2.2 性能 (32)9.2.3 安全保密 (33)十、附录 (34)10.1 数据库的封装代码DB.java (34)10.2 选课系统登陆界面代码Login.java (35)10.3 选课系统学生选课界面代码Student.java (39)10.4 学生选课情况查询代码Query.java (43)10.5 学生用户登录密码的修改代码Modify.java (46)10.6 教师查询学生选课的情况代码Teacher.java (49)10.7 超级管理员查询学生选课的情况代码Administrator.java (51)一、问题定义1.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.添加课程管理员添加课程信息,包含课程名称、上课教师、学分等信息。

软件工程课程设计学生信息管理系统

软件工程课程设计学生信息管理系统

ABCD
安装数据库管理系统,如 MySQL或Oracle,并创 建相应的数据库和表结构 。
配置项目依赖管理工具, 如Maven或Gradle,以 便管理项目所需的第三方 库和依赖。
主要功能实现
用户登录与权限管理
实现用户注册、登录功能,并根据用户角色 分配相应的操作权限。
学生信息管理
实现学生信息的增删改查功能,包括学生基本 信息、成绩、奖惩情况等。
数据库的设计与实现
建立了合理的数据库结构,实现了数据的存储、查 询和更新等操作,保证了系统的稳定性和数据的安 全性。
用户界面的设计与实现
设计了简洁、直观的用户界面,提供了良好 的用户体验,方便用户进行操作和管理。
经验教训分享
需求分析的重要性
在项目开始之前,充分进行需求分析,明确系统的功能和性能要求 ,有助于避免后期开发过程中的需求变更和返工。
模块化设计
将系统划分为多个功能模块,每个模块具有独立的功能和接口,方便模块间的解耦和重 构。
高可用性设计
采用负载均衡、容错机制等技术手段,确保系统在高并发、大流量等场景下仍能保持稳 定运行。
数据库设计
数据表设计
01
根据系统需求,设计合理的数据表结构,包括学生信息表、课
程信息表、成绩信息表等。
数据关系设计
团队合作的协同性
在开发过程中,团队成员之间保持密切沟通和协作,共同解决问题 ,能够提高开发效率和质量。
时间管理的关键性
合理安排开发时间,制定详细的项目计划,并严格按照计划执行, 有助于保证项目的按时完成。
未来改进方向探讨
系统性能的优化
针对系统运行过程中出现的性能问题,如响应时间过长、 数据备份恢复失败等,进行性能分析和优化,提高系统的 运行效率和稳定性。

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

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

山东交通学院面向对象课程设计学生选课管理系统软件院(系)别信息工程系班级计算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)系统的外部角色有:学生用户、教师用户和管理员。

软件工程课程设计—选课系统

软件工程课程设计—选课系统

目录第一章系统分析 (4)1.1系统需求 (4)1.1.1查询 (4)1.1.3退选课程 (4)1.1.4补选课程 (4)1.2可行性分析 (5)1.2.1经济上的可行性 (5)1.2.2技术上的可行性 (5)1.2.3操作上的可行性 (5)1.2.4结论 (5)1.3项目的环境 (5)1.3.1开发环境方面条件 (5)1.3.2开发时间 (5)1.3.3经费问题 (5)1.4项目的目标 (5)1.5可选方案 (6)第二章需求分析 (7)2.1介绍 (7)2.1.1问题陈述 (7)2.1.2目的 (7)2.1.3项目背景 (8)2.2项目概述 (8)2.2.1开发环境 (8)2.2.2运行环境 (8)2.3系统功能描述 (8)2.3.1管理员信息管理 (8)2.3.2教师信息管理 (8)2.3.3学生信息管理 (8)2.4系统的非功能性需求 (9)2.4.1实用性 (9)2.4.2先进性 (9)2.4.3高可靠性 (9)2.4.4高安全性 (9)2.4.5采用标准技术 (9)2.4.6可维护性 (9)2.4.7可扩展性及灵活性 (9)2.4.8智能性 (9)2.5系统功能和范围 (9)2.5.1前景陈述 (9)2.5.2主要功能特性 (10)2.5.3适用范围 (10)2.6.1第一层数据流图 (10)2.6.2 第二层DFD图 (11)2.7数据字典 (13)2.7.1数据流字典 (14)2.7.2数据存储字典 (14)2.7.3数据处理字典 (15)2.7.4数据项字典 (15)第三章概要设计 (15)3.1系统模块划分 (15)3.1.1学生管理模块 (15)3.1.2教师管理模块 (16)3.1.3管理员管理模块 (16)3.2系统功能H图 (16)3.3系统软件结构图 (16)3.4 IPO图 (19)第四章详细设计 (20)4.1界面设计 (20)4.1.1界面 (20)4.1.2学生选课 (21)4.2数据库设计 (21)4.2.1 E-R图设计 (21)4.3模块的流程图 (23)4.3.1学生信息查询流程图 (23)4.3.2学生信息管理模块流程图 (24)4.3.3管理员设置流程图 (25)4.3.4选课程序流程图 (26)第五章测试计划 (27)5.1登录模块的测试 (27)5.1.1测试登录模块 (27)5.2学生模块 (27)5.2.1测试登录模块 (27)5.2.2测试选课功能 (27)5.2.3测试查询教师信息 (27)5.2.4测试是否成功选课 (27)5.2.5测试查询成绩 (27)5.2.6测试查询成绩 (27)5.2.7测试个人信息维护 (27)5.3教师模块 (28)5.3.1测试教师登录模块 (28)5.3.2测试教师开课 (28)5.3.3测试信息教师信息维护 (28)5.3.4测试教师成绩录入 (28)5.3.5测试课表查询 (28)5.4.1测试登录模块 (28)5.4.2测试页面跳转 (28)5.4.3测试管理员对全系统的信息管理 (28)5.4.4测试对公告的操作 (29)5.4.5测试查看选课信息 (29)5.4.6测试对选课信息的维护 (29)5.4.7测试对选课的排序 (29)第六章项目管理 (30)6.1甘特图 (30)6.2网络图 (30)参考文献 (34)第一章系统分析1.1系统需求1.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,

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

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

学生管理(选课)系统——详细设计说明书目录一.引言 (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、设计目的现在,随着各大高校的扩招及信息化社会的到来,学校为了合理规划人力资源的利用,保证学校信息的安全性,对信息化处理数据的要求也越来越高。

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

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

学生选修课管理系统软件工程课程设计班级:09信息与计算科学学号:A姓名:学生选修课管理系统、问题定义“选课”是现在高校行政管理工作中一项很重要的课题。

而且是每个学期都必须要面对的问题。

选课工作做不好,学生不知道自己将要学习的课程,老师也不知道自己将要讲授的课程,教务处的排课计划、教室安排等其他调度工作也无从做起。

因此,如何解决高校教务管理中的选课工作便成为了如今各大高校面临的很实际的问题。

随着近几年高校的持续扩招,学生人数逐年增加。

为了满足广大学生的求学需要,各个高校的师资力量、硬件配置也随之增强。

这样一来,日常行政部门的工作也就越来越繁重,这一点在选课这块显得尤为突出。

而传统的手工操作,即费时又费力,而且容易出错,工作效率较低。

因此,拥有一套实用、高效、完善的在线选课系统就显得尤为重要,它可以提升高校的教育质量和教学管理质量,提高工作效率,降低行政成本。

大学期间总会有很多公共选修课,以往的选课方法是随堂报名。

这种方法虽然直接,但是造成选课的盲目性,有些课堂选课时人满为患,有些课堂无人选课。

原因是传统的选课方法没有预见性,大家没有事先协调好。

并且学生选课存在这样的特点:公选课较多,学生人数众多,学生可根据自己的专业及兴趣选择公选课程进行学习,而且学生对课程的要求有较大差异。

使用了网上选课系统以后,可以在开课前就在网上选课,每个学生的课程在开课前就确定好,学生通过本系统可以了解课题相关信息,进行自主选题,能够满足不同学生对不同题目的不同要求,有利于发挥学生的长处,而且能够充分利用学校的各类教学资源。

使用本系统有三个角色,即管理员、学生和教师用户。

管理员的权限最高,包括设置系统登陆信息,用户基本信息、选课信息的录入、查看、修改、删除等,同时还具有查询各个模块的功能。

老师和学生可以实现基本信息查询和进行选课的相关操作,如添加选课信息,退选等。

二、可行性研究1.1可行性研究的任务为了使高校学生选课、教师开课操作更加简单方便、提高效率,我们需要设计一个选修课管理系统来解决高校教务管理中的选课工作。

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

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

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

软件工程课程设计报告( 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 日《软件工程》课程设计成绩评定一、指导教师评语二、成绩指导教师:日期:年月日摘要:本系统实现学生选课的基本功能,包括学生退选课,查看自己的选课信息;教师查看选课学生的信息,提交成绩;管理员添加学生、管理学生、管理成绩、添加教师、管理教师和管理课程等。

系统利用.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 2005Web服务器:IIS+ 2.0平台2.系统需求分析学生选课系统主要满足来自三方面的需求,这三个方面分别是学生用户、教师用户和管理员用户,也即是三类用户角色。

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

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

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

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

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

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

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

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

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

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

选课查看选课退课查看学生选课提交成绩添加学生修改学生信息删除学生添加教师修改教师信息删除教师添加课程修改课程信息删除课程学生管理<<include>><<include>><<include>>教师管理<<include>><<include>>学生信息管理<<include>><<include>><<include>>教师信息管理<<include>><<include>><<include>>课程信息管理<<include>><<include>><<include>>学生用户<<communicate>>教师用户<<communicate>>管理信息<<include>><<include>><<include>>修改密码<<communicate>><<communicate>>管理员<<communicate>><<communicate>>④学生信息管理用例:信息管理用例可见的功能,实现学生信息的管理功能,包含了添加学生、修改学生信息和删除学生三个用例。

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

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

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

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

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

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

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

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

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

(4)系统关键用例的正常事件流图和异常事件流图表2-1 修改密码用例的正常事件流图和异常事件流图用例名称修改密码参与者管理员、教师、学生描述管理员、教师、学生用户进行密码修改启动单击“修改密码”链接前置条件用户成功登录主事件流用户系统1.进入用户修改密码界面,输入旧密码一次,新密码两次2.系统检查密码格式是否相符3.系统检查旧密码是否正确4.如果正确,进行密码修改,转入密码修改成功界面异常流异常流密码检查未通过系统返回密码修改界面,提示旧密码不正确,新密码格式不符,两次不同等密码异常用户旧密码错误表2-2 提交成绩用例的正常事件流图和异常事件流图用例名称提交成绩用例参与者教师用户描述提交选自己开设课程的学生的成绩启动进入提交成绩界面前置条件用户成功登录后置条件尚未提交过成绩主事件流用户系统1.单击提交成绩2.系统提交成绩页面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) 管理员修改课程信息顺序图: BaseUser : Admin : Course : 管理员1: 登录2: 验证登录3: 进入管理员界面4: 点击“修改课程”5: 修改课程信息6: 提示修改成功(2) 学生用户退选课的顺序图图2-4 学生用户退选课的顺序图(3) 教师提交成绩顺序图图2-5 教师提交成绩顺序图: 学生用户: BaseUser: Student: Elect1: 登录2: 登录验证3: 进入学生界面4: 点击“退课”5: 退选课程6: 提示退课成功 : 教师用户: Teacher: BaseUser: Elect1: 登录2: 验证登录3: 进入老师界面4: 点击“提交成绩”5: 准备提交成绩6: 验证是否已提交成绩7: 提交成绩8: 提示提交成功2.4 协作图(可选)(1) 学生用户选课协作图图2-6 学生用户选课协作图(2) 教师提交成绩协作图图2-7 教师提交成绩协作图: 学生用户: Student: BaseUser: Elect验证用户身份验证是否课程时间冲突3: 点击选课6: 提示选课成功1: 输入账户、密码2: 登录成功4: 提交选课信息5: 选课成功: 教师用户 : Teacher: Elect: BaseUser验证用户身份验证是否已提交1: 输入用户名、密码2: 登录成功3: 点击提交成绩6: 提示提交成功4: 准备提交成绩5: 提交成功3. 系统总体设计 3.1 设计问题域子系统学生选课系统是实现学生选课退课、教师提交成绩以及学校教务管理员维护信息的一个平台,整个学生选课系统有前台和后台两部分,共分为4个模块:管理员模块,教师模块,学生模块和公有模块,分别用于完成各自的功能。

相关文档
最新文档