大学生选课管理系统实验报告
选课系统实验报告
![选课系统实验报告](https://img.taocdn.com/s3/m/f2d2f09729ea81c758f5f61fb7360b4c2e3f2ac9.png)
选课系统实验报告选课系统实验报告一、引言选课系统是现代教育管理中不可或缺的一部分,它为学生提供了便捷的选课方式,同时也为学校提供了高效的课程管理工具。
本实验旨在探讨选课系统的设计与实现,以及其在教育管理中的作用和影响。
二、选课系统的设计与实现1. 系统需求分析在设计选课系统之前,我们首先进行了系统需求分析。
通过与学生、教师和管理员的访谈,我们了解到他们对选课系统的期望和需求。
学生希望能够方便地浏览和选择课程,教师希望能够快速发布和管理课程信息,管理员则需要一个高效的管理平台。
2. 数据库设计选课系统的核心是数据库设计。
我们根据需求分析结果,设计了学生、课程和选课记录等主要数据表。
通过合理的关系模型设计和索引优化,提高了系统的数据查询和操作效率。
3. 界面设计为了提供良好的用户体验,我们注重选课系统的界面设计。
通过采用直观的图形界面和友好的交互方式,使学生、教师和管理员能够轻松地使用系统,并快速完成各项操作。
4. 功能实现选课系统的功能主要包括课程浏览、选课、退课、成绩查询等。
我们通过编写相应的程序代码,实现了这些功能,并保证了系统的安全性和稳定性。
三、选课系统在教育管理中的作用和影响1. 提高选课效率传统的选课方式需要学生亲自到选课办公室进行登记,耗费时间和精力。
而选课系统的出现,使得学生可以在任何时间和地点进行选课,大大提高了选课的效率。
2. 优化课程安排选课系统可以根据学生的选课情况和课程容量,自动进行课程安排。
这样一来,可以避免课程冲突和资源浪费,优化学校的课程安排。
3. 提升教务管理水平选课系统可以实时记录学生的选课情况和成绩,为教务管理提供了重要的数据支持。
通过对选课数据的分析和挖掘,学校可以更好地了解学生的兴趣和需求,进而优化教学计划和教学资源配置。
4. 促进教学改革选课系统的使用,使得学校能够更好地了解学生对不同课程的需求和反馈。
这为教学改革提供了宝贵的参考意见,促进了教学质量的提升。
选课系统实验报告
![选课系统实验报告](https://img.taocdn.com/s3/m/a93869a7168884868662d605.png)
信息系统分析与设计实验报告2012年4月实验一信息系统分析与设计开始工具一、实验目的熟悉信息系统分析与设计开始工具visio2007,Rational Rose 和Power Designer。
二、实验内容1、信息系统的需求分析2、对需要解决的问题、对象及约束条件进行分析3、安装好实验所需要的开发。
总共有三个:visio2007,Rational Rose和Power Designer。
4、熟悉这些开发工具,了解它们的具体操作。
然后用这些工具绘出一些简单的模型。
如用Rose绘制销售系统的一个用例图。
订货现金支付信用卡支付根据自己的选题,对系统进行分析,做出新的信息系统规划,对要开发的新信息系统的服务范围及要解决的问题进行分析和汇总。
三、实验总结通过这次实验,熟悉了系统分析与开发熟悉的工具,了解通过开发工具来辅助自己进行系统的分析和设计,而这可以让我分析和设计起来更加的方便和快捷。
但是对于这些工具,仅仅通过这短短的一节课并不能完全掌握的,只有通过以后的使用来熟悉它们。
实验二需求分析与建模一.实验目的1.通过对案例企业的战略分析,了解企业信息化现状,做出新的信息系统规划,对要开发的新信息系统的服务范围及要解决的问题进行分析和汇总。
2.在此基础上,对新信息系统需求建立用例模型。
二.实验内容:(一)信息系统需求分析1.问题陈述在二十一世纪的新时代,随着计算机技术的发展及计算机的日益普及,计算机技术在各行各业中都得到广泛的应用。
网络选课系统是高等院校安排教学必不可少的工具。
本文介绍基于网络环境下的本校学生网上选课系统的开发,对系统的结构、功能和关键技术进行了具体论述,并给出了在网络环境下进行选课。
本系统包括系统模块、学生模块、教师模块等其他功能模块。
系统的实际运用模式,能够适用于高等学校日常的选课管理,为师生提供诸多的便利。
同时具有良好的开放性,实用性强,保密性好,稳定性高,支持多用户操作。
2.系统目标本系统目标是实现选课系统所需的各种基本功能,包括学生选课、退课功能和教师查看选修课程、提交课程成绩功能以及管理员添加学生、维护学生信息、成绩管理、添加教师、维护教师信息、维护选修课程,还有公用的修改密码等功能。
学生选课系统实验报告
![学生选课系统实验报告](https://img.taocdn.com/s3/m/c24313a5951ea76e58fafab069dc5022abea4646.png)
一、实验目的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数据库,实现数据操作。
学生选课管理系统设计报告
![学生选课管理系统设计报告](https://img.taocdn.com/s3/m/0a36ebc9524de518974b7d1d.png)
《学生选课系统》课程设计学院信息工程专业网络工程班级 130461 课题名称学生选课管理系统设计组长学号姓名成绩组员学号姓名成绩组员学号姓名成绩开课时间 2014 至 2015 学年第一学期地点 D509一、课程设计的目的和要求本次学生选课管理系统的课程设计,明白整个系统架构,使得自己所学的Microsoft Visual C++ 6.0和Microsoft Access知识的相互结合,加深对数据库的认识,同时又复习了Microsoft Visual C++ 6.0的编写。
为以后能够合理的、精确地、独立的完成数据库提供了前提。
数据库运用到数据库建立,建立表以及表与表的连接等等,前台用Microsoft Visual 6.0中MFC工程建立需要的界面与编写界面之间连接代码等。
我们想通过本实验解决后台数据库与前台界面连接问题,这也是主要问题所在,只有正确连接才能保证前台用户操作正确的数据,达到数据库中数据资源的共享目的。
本次课程设计开发一套选课系统,由学生选课系统、教师系统和管理员系统三部分组成。
管理员可以通过管理员系统进行管理课程,查看课程选修情况,查看教师授课情况,修改或删除课程或者学生的信息。
教师可以通过教师系统进行查看自己教授的的课程,可以进行对学生的评分,以及对自己密码的修改。
学生可以通过学生选课系统进行查看备选课程及该课程的信息,选择希望选修的课程,以及对自己密码的修改。
二、设计2.1本次课程设计建立学生选课管理系统,通过用户名、密码分别进入3个类别系统,分别是教理系统,教师管理系统,学生选课系统,图2.1 学生管理系统基本图通过管理员,进入系统界面可以执行以下操作:通过学生,进入系统界面可以执行以下操作:图2.4 教师管理系统数据需求(1)学生表信息:学号,姓名,性别,院系,班级,密码,年龄。
(2)课程表信息:课程编号,课程名称,学分,学时,开课学期。
(3)选表信息:学号,课程编号,课程名称,姓名,学分,成绩。
学生选课管理系统实习报告
![学生选课管理系统实习报告](https://img.taocdn.com/s3/m/377459baf9c75fbfc77da26925c52cc58bd690ed.png)
学生选课管理系统实习报告一、实习背景及目的随着教育信息化进程的不断推进,高校选课管理系统已经成为学生、教师和教务管理人员日常教学的重要组成部分。
为了更好地了解选课管理系统的开发和应用,提高自己在软件开发和实践能力,我参加了学校组织的选课管理系统实习项目。
本次实习的主要目的是通过实际操作,掌握选课管理系统的开发流程,熟悉系统的功能模块,提高自己运用计算机技术解决实际问题的能力。
二、实习内容与过程在实习过程中,我参与了选课管理系统的需求分析、系统设计、编码实现和测试等环节。
1. 需求分析:通过与教务处和任课教师的沟通,了解选课管理系统的功能需求和性能要求。
根据教务处的实际需求,确定系统需要实现以下功能:学生选课、教师排课、课程管理、学生信息管理、教师信息管理、选课统计等。
2. 系统设计:根据需求分析,设计选课管理系统的总体架构和各个功能模块。
确定系统采用B/S架构,前端使用HTML、CSS、JavaScript等技术,后端使用Java、Python等语言,数据库采用MySQL。
同时,为了保证系统的安全性和稳定性,需要在系统设计中考虑用户权限管理、数据验证和异常处理等方面的问题。
3. 编码实现:根据系统设计,编写各个功能模块的代码。
在编码过程中,遵循面向对象的设计原则,模块化编程,确保代码的可读性和可维护性。
同时,注重代码的优化和调试,提高系统的运行效率。
4. 系统测试:在系统开发完成后,对系统进行功能测试、性能测试和兼容性测试。
通过编写测试用例,模拟实际操作场景,验证系统的功能是否符合需求。
同时,对系统的响应速度、并发处理能力等进行测试,确保系统在实际应用中能够稳定运行。
三、实习收获与反思通过本次实习,我对选课管理系统的开发过程有了更深入的了解,收获如下:1. 掌握了需求分析的方法和技巧,学会了如何从实际问题中提取关键信息,明确系统的功能需求和性能要求。
2. 熟悉了软件开发的总体架构和模块设计,学会了如何将复杂问题分解为若干个简单的子问题,并采用面向对象的方法进行解决。
选课系统实习报告
![选课系统实习报告](https://img.taocdn.com/s3/m/290e385f91c69ec3d5bbfd0a79563c1ec4dad75f.png)
一、实习目的随着互联网技术的不断发展,选课系统在各大高校中得到了广泛应用。
为了更好地了解选课系统的开发过程和运行原理,提高自己的实践能力,我选择了选课系统作为实习项目。
本次实习旨在通过实际操作,掌握选课系统的设计、开发和测试过程,并了解其在实际应用中的优缺点。
二、实习内容1. 系统需求分析在实习过程中,我首先对选课系统的需求进行了分析。
根据高校学生的选课需求,选课系统应具备以下功能:(1)课程查询:学生可查询所有开课信息,包括课程名称、授课教师、上课时间、学分等。
(2)选课:学生可根据个人兴趣和时间安排,自主选择课程。
(3)退选:学生可随时退选已选课程。
(4)选课结果查询:学生可查询自己的选课结果,包括已选课程、待选课程、未选课程等。
(5)选课提醒:系统可为学生提供选课提醒,确保学生按时完成选课。
2. 系统设计在需求分析的基础上,我进行了选课系统的设计。
系统采用B/S架构,分为前端和后端两部分。
(1)前端:采用HTML、CSS、JavaScript等技术实现,负责展示课程信息、处理用户交互等。
(2)后端:采用Java语言,使用Spring Boot框架进行开发,负责处理业务逻辑、数据存储等。
3. 系统实现在系统设计完成后,我开始进行选课系统的实现。
具体步骤如下:(1)搭建开发环境:安装Java、Maven、MySQL等开发工具。
(2)创建项目:使用Spring Boot创建项目,配置数据库连接、依赖等。
(3)编写代码:根据需求分析,编写前端页面和后端代码。
(4)测试与调试:对系统进行功能测试、性能测试等,确保系统稳定运行。
4. 系统部署完成系统开发后,我将系统部署到服务器上,进行实际应用。
在部署过程中,我遇到了以下问题:(1)数据库连接问题:在部署过程中,发现数据库连接出现异常,经过排查,发现是数据库驱动未配置正确。
(2)系统性能问题:在用户量较大时,系统响应速度较慢,经过优化代码和数据库查询,提高了系统性能。
网上选课管理系统需求分析报告书
![网上选课管理系统需求分析报告书](https://img.taocdn.com/s3/m/2d2cec2c5901020207409cfb.png)
南京信息工程大学实验(实习)报告实验(实习)名称需求分析实验(实习)日期得分指导教师专业年级班次姓名学号一、实验目的1.通过对所选题目相关需求的分析,掌握需求分析的方法和过程;2.掌握需求分析相关文档的组织规范;3. 完成一个小型软件系统的需求分析。
二、实验准备1.熟悉需求分析的方法和过程2.对网上选课管理系统相关应用领域进行调查与分析三、实验要求完成网上选课管理系统的需求分析,提交实验报告四、实验内容:1.项目背景软件系统的名称:网上选课管理系统本项目的任务提出者:软件工程老师×××本项目的任务开发者:××本项目的用户:信息与计算科学专业学生2.任务概述2.1产品的描述本软件产品作为为信息与计算科学专业学生定制的网上选课管理系统,旨在对信息与计算科学专业学生提供在互联网上选课的环境,也为学校能够对学生的选课情况进行管理提供一个平台。
通过本系统的应用可达到对所设课程名称,教师,教材,学分,学时及课程成绩等信息的网上方便查询、根据学生专业提供选课方案的建议、对学生基础信息和学生选课信息的修改以及打印学生所选课程的信息。
本系统应用于信息与计算科学专业中的学生选课。
网上选课管理系统主要的功能如下:1. 学生选课主要是先根据学生专业提供选课方案的建议,然后再列出所有可选课程供学生选择。
2. 课程相关信息查询可以对所设课程名称,教师,教材,学分,学时以及学生的该门课成绩等信息进行查询,并可以对学生所选课程的有关信息进行打印。
3. 信息修改对学生基础信息和学生选课情况进行修改。
2.2用户的特点本软件的用户方为信息与计算科学专业学生,他们具有一定的计算机应用能力。
维护人员具有专业计算机水平。
网上选课管理系统中用户的要求:系统管理员必须具备一定的网络及数据库的操作和管理知识,并具有高度的责任感和强烈的安全意识。
一般用户除了具有一定的计算机应用能力外,还必须各司其职,不得越权操作,不得随意泄露口令,以共同维护整个系统的安全和正常运行。
管理信息系统实验报告-选课系统
![管理信息系统实验报告-选课系统](https://img.taocdn.com/s3/m/2f0d98574693daef5ff73d4e.png)
管理信息系统
课题名称:
一、项目概述
1.项目名称:学生选课管理信息系统
2.系统设计背景:
随着信息技术的日益发展和计算机网络的普遍应用,学校的学生人数不断增加,原有的学生信息管理的手工管理模式已无法更上时代的需要。随着社会的发展,培养计划也在不断地修改。学分制的实行给学生以更大的选择空间,但也增加了日常教务的管理工作量。因此,利用现代计算机和数据库开发技术,在网络环境下建立学生信息系统对于减轻学生信息管理人员的劳动强度、提高工作质量和效率、方便管理人员对信息的查询、提高信息资源的利用率和管理水平都具有重要意义。
(1)系代码
部门代码采取数字和字符混合编码的形式,具体如下:
①学院C O G* * *
②教务处JWC* * *
③系X X* *
2、人员代码
人员代码采取纯数字编码形式,具体如下:
①教师* ** *
②学生*********
(2)表单代码
表单代码仍采取数字和字符混合编码的形式,具体如下:
①课程文件X X***********
三、业务流程分析(TFD)
我们经过几天的网上、图书馆有关‘学生选课系统’资料的收集,结合传统的学生选课流程和现今已经运行的学生选课系统业务处理流程,再加上我们的一些看法和观点,初步总结和分析出学生选课系统的基本业务流程。
学生选课系统试验报告
![学生选课系统试验报告](https://img.taocdn.com/s3/m/32d648e7551810a6f52486e0.png)
1 简介1.1 基本原则选课注册系统设计的明确目的是开发一个学生选课注册系统来模拟校园选课系统的运作,通过这一过程让学生了解与熟悉软件设计的基本过程,熟练掌握dreamweaver、rational rose、Java编程和数据库的运用。
1.2 简单的操作本软件面向的是选课的学生和注册课程的教师以及管理员,可能涉及到大量用户的使用,故而软件操作应尽量简单,以方便用户的使用。
1.3 合理的数据库设计如以上所说,本软件可能有大量用户同时使用,所以要求数据库应合理设计,如此才能安全、快速地读取或存放数据。
1.4 严谨的软件架构虽然本软件的最终目的仅仅只是为了让软件开发者熟悉软件开发过程和相关软件的使用,但既然是要开发一个软件,那么就必须要严谨地设计软件的架构。
1.5 假设1.5.1 假设用户能熟练使用教务网的选课系统本软件模拟教务网的选课系统操作过程,若是用户能熟练使用教务网的选课系统,则对于本软件的使用将能直接上手。
1.5.2 假设用户未曾使用过教务网的选课系统操作过程请参见附录:《软件操作手册》2系统需求分析2.1引言本次编写选课注册软件旨在熟悉Java、Jsp、Dreamweaver、Rational Rose、MySQL等软件的使用,同时体验软件工程项目的实施过程。
2.1.1 编写目的该文档讲述关于选课注册系统的功能和性能的需求,将作为该软件工程的系统设计阶段的设计依据。
本文档的预期读者是:●设计人员●开发人员●项目管理人员●测试人员●用户2.1.2 背景说明:a.软件名称:选课注册系统;b.本项目的任务提出者:石秀金;c.项目开发者:周青、陈效铭、余实、高祥、王永德。
2.1.3 引用标准《软件需求说明书》国家计算机标准和文件模版。
2.1.4 参考资料《UML系统建模基础教程》清华大学出版社《数据库系统原理》电子工业出版社以及网络资源。
2.2 任务概述2.2.1目标学生和老师可以方便选择课程,学生和教师可以查询各自的基本信息,管理员可以方便地管理系统的信息和运行。
学生选课管理系统报告
![学生选课管理系统报告](https://img.taocdn.com/s3/m/9556ad35aaea998fcc220ea7.png)
数据库大作业信息科学与工程学院2016年10月学生选课管理系统班级:电气1503班学号:0908150301 姓名:吴凡琴目录目录 (3)一设计题目及要求 (4)二系统需求分析 (4)2.1系统需求 (4)2.2功能需求 (4)2.3数据流图 (4)2.4数据字典 (5)三系统设计 (6)3.1功能设计 (6)3.2数据库设计 (7)四系统实现 (9)4.1数据库的实现 (9)4.2应用系统的实现 (11)五设计体会 (19)六参考文献 (20)一、设计题目及要求题目:高校学生选课管理系统内容要求如下:(1)实现学生信息、课程信息管理;(2)实现教师及任课信息管理;(3)实现选课登记,要保证学生不能选修重复的课程;二、系统需求分析2.1系统需求进行系统设计,首先要对系统的现状进行分析。
根据系统的目标、用户需求和功能,制定和选择一个较好的系统方案,从而达到一个合理的优化系统。
其中用户的需求具体体现在选课信息和用户信息的提供、保存、更新和查询的方面。
这就要求数据库的设计必须合理,使之能够充分满足各种信息的输入和输出,保证数据存储的可靠性,并且能够快速取出和存入。
而前台显示部分,应具有人性化的界面,方便用户操作。
因各个学校的实际情况不同,系统应该具有兼容性。
例如:一些学校学生人数较多,同时登陆系统,系统承载的负荷就很大。
系统需要同时处理很大的数据量,这时系统不会因此崩溃。
此外,系统还应该具有较强的安全性,保证身份不同的用户,不能越权操作。
非合法用户不能对数据进行操作。
2.2功能需求通过系统功能的分析,此次选课系统应具有如下的需求信息:(1)学生的需求:能进行选课,查看管理员发布的选课信息,自己的选课情况,本人的基本信息,课程的成绩;(2)教师的需求:能查看自己的个人信息,及所授课的班级的所有学生的本门课程的成绩信息,并能进行增加和修改;(3)管理员的需求:对学生选课情况进行管理,包括发布选课信息,对学生的选课情况进行查看。
实验选课系统报告(数据库课程设计)
![实验选课系统报告(数据库课程设计)](https://img.taocdn.com/s3/m/1acaac61af1ffc4ffe47acf8.png)
摘要随着高等教育的不断深入,大学实行选课制度是非常有必要的,这样可以根据学生的兴趣,自行选择自己喜欢的课程。
本系统就是为了适应新形势下的高校教育而开发的大学生选课。
通过集成从学生选课、学校开选修课、教师考勤、授课、上成绩等一系列功能,每个环节明确分工,并通过后台数据库支持,有效减小了人为因素造成的差错,从而高效、便捷、准确的为学生和老师服务,使学生选课和老师授课都变的方便快捷。
本系统由三类用户组成,学生,教师和管理员。
学生的功能包括选课,查寻实验信息等,教师的功能包括考勤,学生实验成绩录入,查寻实验信息等。
管理员的功能包括新建教师,学生账户,设定实验课程信息(设定实验时间,地点,任课教师)。
管理员可对教师,学生及实验课程信息进行修改;教师可对任课的考勤,成绩进行修改;学生可以对自己选修的课程重选,退选。
管理员可删除教师,学生及实验课程信息。
教师可查询所任课程的学生名单,实验时间,考勤及实验成绩,并可按成绩分数段进行统计;学生可查寻所学课程的实验时间,教师名单;管理员具有全系统的查寻功能。
通过SQL 数据库作为后台,完成这一系列的操作。
关键字:选课系统数据库目录1 需求分析 (1)1.1系统功能要求与分析 (1)1.1.1 系统功能要求分析 (1)1.1.2设计环境 (1)1.2数据字典 (1)1.2.1数据结构 (1)1.2.2数据流 (3)1.2.3数据项 (3)2 概念结构设计 (4)2.1 E-R图 (4)2.2 概念结构图 (5)3 逻辑结构设计 (6)3.1 E-R图向关系模型转换 (6)3.2 关系模式 (7)4 物理结构设计 (9)5 数据库的实施 (10)5.1 导入数据库 (10)5.3 建立表 (13)5.3 建立视图 (14)5.4 触发器设计 (14)5.5存储过程 (14)6 总结 (17)致谢 (18)参考文献 (19)I II1 需求分析1.1系统功能要求与分析1.1.1 系统功能要求分析实验选课系统分为教师,学生及系统管理员三类用户,学生的功能包括选课,查寻实验信息等,教师的功能包括考勤,学生实验成绩录入,查寻实验信息等。
实验报告_精品文档
![实验报告_精品文档](https://img.taocdn.com/s3/m/2def8274ec630b1c59eef8c75fbfc77da269970f.png)
数据库应用系统开发指导书实验1: 需求分析------大学生选课管理系统☐ 1. 实验内容说明:☐教务处的管理人员录入全校的课程基本信息和本学期的课程授课教师、地点、时间;☐在学生入学的时候, 学院的管理人员录入学生基本信息;☐学生每学期自己上网登录系统选课, 选课成功后信息存入数据库中, 学生自己可以查询选课的情况;☐学生选课不成功的情况有:☐所选课程的先修课还没有记录, 系统提示“缺先修课, 选课失败”;☐本学期所选课程的上课时间有冲突, 系统提示“上课时间有冲突, 选课失败”;☐学生一学期所选课程的学分最多不能超18学分☐学生可以注销所选课程。
☐学院管理员可以查询学生前几学期的选课信息、可以查询课程基本信息、学生基本信息;☐当学生退学时, 由教务处的管理人注销学生基本信息;☐如果开课之后, 学生要求退课, 则由教务处的工作人员为学生注销所选课程;☐允许学生休学, 教务处为休学的退学做学籍冻结处理;复学后为其办理解冻处理;☐每学期教务处为学生办理学期注册手续;没有办理学期注册的学生不能选课;学期末, 学院工作人员负责录入学生的成绩。
1)2. 实验目的2)通过本实验使学生掌握结构化需求分析的方法、过程和相应的文档内容与格式。
特别是熟悉数据流程图、数据字典和IPO图三个核心技术的应用。
3. 实验学时:4学时1)4. 实验步骤2)结合实验内容说明, 对现有的学生选课系统进行必要的调研, 了解基本的工作流程、软件功能、数据需求和界面风格。
3)分析实验内容说明和调研结果, 画出系统的数据流程图。
4)编写系统的数据字典。
5)用IPO图描述系统的处理过程。
6)画出系统ER图。
5. 实验结果实验结果包括:1)一份需求分析说明书, 至少包括以下内容:2)数据流程图。
3)数据字典。
4)系统的ER图。
实验2: 系统设计------选课管理系统设计1)1. 实验内容说明:2)对实验1的结果进行概要设计和详细设计, 画出功能模块图。
学生选课管理信息系统实验报告
![学生选课管理信息系统实验报告](https://img.taocdn.com/s3/m/2c8a6644df80d4d8d15abe23482fb4daa48d1d70.png)
学生选课管理信息系统实验报告一、概述随着现代教育的发展,学生选课管理变得越来越重要。
为了提高教学质量和提升教学效率,学校需要建立一套完善的学生选课管理信息系统。
该系统可以帮助学校实现选课上线化、自动化和智能化,为学生、教师和管理人员提供便利。
二、系统架构1. 前端界面设计2. 后端数据库设计3. 业务逻辑设计三、功能实现1. 学生端功能a. 学生信息管理b. 选课功能c. 退课功能2. 教师端功能a. 教师信息管理b. 课程管理c. 成绩录入3. 管理员端功能a. 管理员信息管理b. 课程安排管理c. 数据统计分析四、系统优化1. 前端界面优化2. 后端数据库优化3. 业务逻辑优化五、实验结果分析1. 系统稳定性a. 在大数据量情况下,系统依然能够稳定运行。
b. 平均响应时间短,用户体验良好。
2. 功能完善性a. 学生选课流程简单方便。
b. 教师管理课程和录入成绩高效准确。
c. 管理员能够全面监控各项数据并进行统计分析。
3. 用户满意度a. 调查结果显示,学生、教师、管理员对系统使用体验满意度较高。
六、结论通过本次实验,我们成功建立了一套学生选课管理信息系统,该系统在稳定性、功能完善性和用户满意度方面均表现良好。
该系统将为学校提高教学质量和效率提供有力支持。
七、展望随着技术的不断发展,学生选课管理信息系统也将不断完善。
我们将继续优化系统,提高系统的性能和用户体验,为学校打造更加智能化、便捷化的选课管理系统做出更大的贡献。
八、系统架构扩展在系统架构方面,随着学校规模的不断扩大和教学需求的增加,我们计划对当前的学生选课管理信息系统进行扩展和升级。
具体包括:1. 前端界面设计:我们将进一步优化前端界面,增加响应式设计,以适配不同终端设备,如手机、平板和电脑,使学生、教师和管理员可以在任何时间、任何地点方便地使用系统进行选课、管理课程和数据统计分析。
2. 后端数据库设计:我们将对数据库进行扩展,并引入高级的数据存储技术,以提高系统的稳定性和处理能力。
学生选课系统功能测试报告
![学生选课系统功能测试报告](https://img.taocdn.com/s3/m/85e386047cd184254b3535fa.png)
<学生选课系统>功能测试报告制作人:学号:目录1.简介 (1)1.1目的 (1)1.2预期读者 (1)1.3参考资料 (1)1.4术语定义 (1)1.5测试地点、人员、任务 (2)1.6 测试时间进度 (2)2.测试概要 (2)2.1 测试对象 (2)2.2项目背景 (2)2.3测试目的 (3)2.4用例试图 (3)3.测试过程 (4)3.1 测试方法 (4)3.2测试界面模块介绍 (4)3.3测试用例 (6)3.31功能性 (6)3.32易用性 (6)4.测试环境 (6)4.1测试环境 (6)4.11硬件环境 (7)4.12软件环境 (7)4.2 测试工具 (7)5.问题级别划分 (7)6.测试结果 (8)6.1测试问题汇总 (8)6.11 测试总结 (9)6.1.1.1 测试情况总结 (9)6.1.1.2 问题级别分布 (9)6.2其他系统缺陷 (9)6.3 测试结果分析 (9)7.测试结论和建议 (10)7.1测试结论 (10)7.2建议 (11)1. 简介1.1 目的本测试报告为学生选课系统项目的测试报告,目的在于总结测试阶段的测试情况以及分析测试结果,描述系统是否符合要求,主要从以下几个目的分析介绍:●由测试总结功能实现中的缺陷和bug●分析测试结果,对系统整体性总结评价●评估测试中测试执行和测试计划是否符合1.2 预期读者该项目所有测试人员课程设计的批阅老师1.3 参考资料●王水,张晓民,《软件工程素质导论》,第一版,2011年2月●《人事工资管理系统测试报告实例》./view/3a85d909844769eae009ed59.html●《系统测试报告实例》/view/e3eca7daa58da0116c1749c6.html.●《测试结论》/view/19a0fe0aba1aa8114431d979.html1.4 术语定义1.5测试地点、人员、任务分配◆地点:南阳理工学院◆人员:张涛毛思晨杨耀光李和孺项目任务执行人员需求分析张涛、毛思晨、杨耀光、李和孺测试计划杨耀光测试用例毛思晨测试张涛测试报告李和孺任务分配表(表1.2)1.6测试时间进度项目进度甘特图(图1.1)(表示初期完成时间)(表示修改时间)2.测试概要2.1 测试对象该项目为《学生选课系统》,主要功能是提供老师添加课程,学生登录查看自己可选课程信息进行选课。
选课管理系统实习报告
![选课管理系统实习报告](https://img.taocdn.com/s3/m/10df0773a4e9856a561252d380eb6294dc882265.png)
选课管理系统实习报告一、实习背景及目的随着教育信息化进程的不断推进,高校选课管理系统已成为教育教学管理的重要环节。
为了提高学生选课效率,减轻教务管理人员的工作负担,许多高校纷纷引入先进的选课管理系统。
本次实习旨在通过参与选课管理系统的开发与实施,了解并掌握选课管理系统的运作流程,提升自身实践能力。
二、实习内容与过程1. 实习前的准备在实习开始前,我对选课管理系统的基本概念和运作流程进行了学习,了解了教务管理系统的发展历程、功能特点和实际应用。
同时,我还掌握了相关技术知识,如数据库管理、编程语言等,为实习打下了坚实的基础。
2. 实习过程(1)系统调研在实习的第一阶段,我参与了选课管理系统的调研工作。
通过与教务管理人员、学生和教师的沟通,了解了他们对选课管理系统的需求和期望。
这次调研使我明确了系统设计的方向和目标。
(2)系统设计根据调研结果,我参与了选课管理系统的需求分析、系统设计和数据库设计。
在需求分析阶段,我们详细阐述了系统的各项功能,包括课程查询、选课、退课、课程管理、成绩管理等。
在系统设计阶段,我们确定了系统的架构和模块划分,并绘制了UML图。
在数据库设计阶段,我们建立了课程、学生、教师等数据表,并制定了相应的字段和关系。
(3)系统开发与实施在实习的第二阶段,我参与了选课管理系统的开发与实施。
我们采用了Java语言和SpringMVC+MyBatis框架进行开发,保证了系统的稳定性和可扩展性。
在开发过程中,我负责编写部分模块的代码,并参与了系统测试和调试。
在实施阶段,我们与教务管理人员、学生和教师进行了密切合作,确保系统的顺利运行。
3. 实习成果通过本次实习,我成功参与了选课管理系统的整个生命周期,从需求分析到系统实施,全面了解了选课管理系统的运作流程。
同时,我掌握了Java语言和SpringMVC+MyBatis框架的使用,提升了自身的编程能力。
此外,我还学会了如何与团队成员协作,提高了团队沟通与协作能力。
学生选课系统实验报告
![学生选课系统实验报告](https://img.taocdn.com/s3/m/750c4667e53a580216fcfefd.png)
学生选课系统实验报告武夷学院课程名称: C语言程序设计设计题目: 学生选课管理系统学生班级: 2014级计算机科学与技术2班学生姓名: =指导教师:完成日期: 2015-1-9数学与计算机学院课程设计项目研究报告目录第 1 章项目简介 ..................................................................... (03)1.1 项目名称 ..................................................................... .. (03)1.2 开发人员 ..................................................................... .. (03)1.3 指导教师 ..................................................................... ........ 03 第 2 章项目研究意义 ......................................................................032.1 课程设计概述 ..................................................................... (03)2.2 需求分析 ..................................................................... .. (03)2.3 研究意义 ..................................................................... ........ 04 第 3 章采用的技术 ..................................................................... (04)3.1 课程设计的方案设计论证 (04)3.2 流程描述或代码描述 (05)3.3 部分重要算法设计 06第4 章课程设计项目进度表 .............................................................. 07 第5 章课程设计任务分配表 .............................................................. 08 第6 章达到的效果 ..................................................................... . (08)6(1 程序设计思想 .....................................................................086(2 程序最终实现结果 (09)第7 章源程序 ..................................................................... ......... 11 第8 章附录 ..................................................................... (14)8(1 学生选课登记管理系统 .......................................................... 14 第9 章设计心得 ..................................................................... ....... 15 第10 章参考文献 ..................................................................... .. (15)数学与计算机学院 3第 1 章项目简介1.1 项目名称学生选课管理系统1.2 开发人员2014计算机科学与技术刘雪涓王芬岚王小倩王林峰丁义勋1.3 指导教师程仁贵第 2 章项目研究意义2.1 课程设计概述学生选课管理系统是学生管理的一个重要环节,程序是在Microsoft VC++上执行的。
学生选课系统实习报告
![学生选课系统实习报告](https://img.taocdn.com/s3/m/ad96026a11661ed9ad51f01dc281e53a59025145.png)
一、实习背景随着我国教育事业的不断发展,高校学生选课系统已成为高校教学管理的重要组成部分。
为了提高教学质量和教学效率,实现教学资源的优化配置,我国许多高校纷纷建立了学生选课系统。
为了更好地了解和掌握学生选课系统的开发与运行,我选择了某高校学生选课系统作为实习对象,进行为期一个月的实习。
二、实习目的1. 了解学生选课系统的基本原理和开发流程;2. 熟悉学生选课系统的运行环境和操作方法;3. 提高自己的编程能力和团队协作能力;4. 培养自己的实际操作经验和解决实际问题的能力。
三、实习内容1. 学生选课系统的基本原理学生选课系统是基于高校教务管理系统的一种辅助教学管理工具,其主要功能包括课程信息查询、选课、退课、选课结果查询等。
系统采用B/S架构,前端使用HTML、CSS、JavaScript等技术,后端使用Java语言进行开发,数据库采用MySQL。
2. 学生选课系统的开发流程(1)需求分析:通过对高校教务管理系统的调研,分析学生选课系统的功能需求,包括用户角色、功能模块、数据流程等。
(2)系统设计:根据需求分析,设计系统架构、数据库表结构、功能模块等。
(3)编码实现:根据系统设计,使用Java语言进行编程,实现各个功能模块。
(4)系统测试:对系统进行功能测试、性能测试、兼容性测试等,确保系统稳定运行。
(5)系统部署:将系统部署到服务器上,进行实际运行测试。
3. 学生选课系统的运行环境和操作方法(1)运行环境:Windows操作系统、Java运行环境、MySQL数据库。
(2)操作方法:① 登录系统:用户输入用户名和密码,登录系统。
② 查询课程信息:用户可以查看所有课程信息,包括课程名称、学分、上课时间等。
③ 选课:用户可以根据自己的兴趣和需求,选择课程进行选课。
④ 退课:用户可以查看已选课程,选择需要退课的课程进行退课。
⑤ 查询选课结果:用户可以查看自己的选课结果,了解已选课程和未选课程。
四、实习收获1. 熟悉了学生选课系统的基本原理和开发流程,提高了自己的编程能力。
学生选课系统实验报告
![学生选课系统实验报告](https://img.taocdn.com/s3/m/2256a81f227916888486d793.png)
学生选课系统实验报告一.项目需求背景:为了方便学生查询选课信息,学生资料等,特开发此选课系统。
改程序方便实用,操作简单,适合广大学生教师使用。
二.程序功能简要介绍1.实现数据库的基本功能,对数据的添加、删除、修改、浏览、查询的功能。
2.数据库对象的功能,视图、存储过程、触发器的功能。
三.数据库详细设计1.后台数据库设计1.1数据库的创建创建了MYSTUDENT数据库及其数据库文件1.2表结构设计及创建共创建了四张表,Table_COURSE,Table_PITCH,Table_STUDENT,Table_USER。
Table_COURSE Table_PITCHTable_STUDENT Table_USER1.3设定了外键表之间的关系图如下:2.建立项目总体结构2.1创建4个文件夹依次存放有关窗体,并添加窗体。
2.2添加数据源添加了MYSTUDENT的数据库3.各个窗体设计2.1设计父窗体FormMain2.2设计子窗体FormUserFormPitch4.数据库对象的功能4.1创建触发器,当修改TaBLE_User表中的数据信息时,同时触发了UPDATEINSERT触发器,通过触发器向TaBLE_User中插入数据信息。
4.2创建存储过程SHOW_UPDATE_Table_STUDENT,通过该存储过程将表Table_STUDENT中的学生名为‘胡莹’的信息删除,然后重新显示表Table_STUDENT中的数据信息。
四.程序详细功能即实现流程1.删除,添加等功能调试运行程序,跳出窗口点开学生信息查询按钮,跳出窗口按便捷按钮。
可以实现查找下一个,上一个,添加,删除,保存信息等功能。
2.视图的运用和查询功能回到主窗口,点击学生详细资料,跳出窗口,视图显示了学生的详细资料,上方的使用了查询功能,比如输入“陆婷婷”,点击查询,显示结果3.触发器的应用在修改FormUser表的内容时,程序会运行减慢。
学生选课系统实验报告
![学生选课系统实验报告](https://img.taocdn.com/s3/m/29e1033a87c24028915fc360.png)
选课系统实验报告一、实验目的(1)掌握常用内部控件的主要属性、事件和方法,利用常用控件进行程序设计以及编程;(2)掌握使用Access或者SQL sever建立数据库,实现VB与数据库的链接;(3)掌握ADO控件的属性,事件,和方法,利用控件进行程序设计。
二、实验要求(1)设计一个学生选课系统,实现选课、退课及查询的功能;(2)四周时间内完成,第十五周上交。
三、实验步骤(1)查找资料,在脑中形成基本框架;(2)建立SQL Sever 数据库表“学生基本信息表”、“课程信息表”、“已选课程表”,插入数据并保存脚本文件;(3)建立窗体框架,包括登录窗体“登录”、父窗体“学生选课管理系统”和其他6个子窗体;(4)运用VB常用控件和ADO控件及DataGrid控件设计每个窗体的界面(以下为几个主要界面);(5)利用ADO实现与数据库表的链接,编写相应代码(全部代码在工程里,在此仅复制主要窗体的代码);登录窗体代码:Private Sub Command1_Click()If (Text1.Text = 123 And Text2.Text = 123 And Option1.V alue = True) Or (Text1.Text = 321 And Text2.Text = 321 And Option2.V alue = True) Then学生选课管理系统.Show登录.Visible = FalseElseMsgBox "你的输入的用户名和密码不匹配,或者没有选择用户身份!", 64, "提示信息"Text1.Text = ""Text2.Text = ""Text1.SetFocusEnd IfEnd SubPrivate Sub Command2_Click()EndEnd SubPrivate Sub Text1_click()MsgBox "请查看Word文档“操作说明”获得用户名和密码!", 64, "温馨提示"End SubPrivate Sub Timer1_Timer()If Label3.Left > 6000 ThenLabel3.Left = 0ElseLabel3.RefreshEnd IfEnd SubPrivate Sub Timer2_Timer()Label3.Left = CInt(Label3.Left) + 10End SubPrivate Sub Timer3_Timer()Label3.Left = -1700End Sub选课系统窗体代码:Private Sub Form_Load()If 登录.Option1.V alue = True Then学生个人课表.Enabled = False学生选课.Enabled = FalseElseIf 登录.Option2.V alue = True Then 基本信息管理.Enabled = False课程信息管理.Enabled = False所有学生信息.Enabled = FalseEnd IfEnd SubPrivate Sub 基本信息管理_Click() Dim newdoc As New 基本信息管理newdoc.ShowEnd SubPrivate Sub 课程信息管理_Click() Dim newdoc As New 课程信息管理newdoc.ShowEnd SubPrivate Sub 所有学生信息_Click() Dim newdoc As New 所有学生信息newdoc.ShowEnd SubPrivate Sub 退出_Click()EndEnd SubPrivate Sub 学生选课_Click()Dim newdoc As New 学生选课newdoc.ShowEnd SubPrivate Sub 可选课程信息_Click() Dim newdoc As New 可选课程信息newdoc.ShowEnd SubPrivate Sub 学生个人课表_Click() Dim newdoc As New 学生个人课表newdoc.ShowEnd Sub课程信息管理窗体代码:Private Sub Command1_Click()Adodc1.Recordset.AddNewEnd SubPrivate Sub Command2_Click()Adodc1.Recordset.UpdateEnd SubPrivate Sub Command3_Click()Adodc1.Recordset.DeleteAdodc1.Recordset.MoveNextEnd SubPrivate Sub Command4_Click()EndEnd SubPrivate Sub 课程信息管理_Load()Adodc1.Recordset.MoveFirstEnd Sub学生选课窗体代码:Private Sub Command1_Click()If Text1.Text = "" And Text2.Text = "" And Text3.Text = "" And Text4.Text = "" Then MsgBox "已无课程可选!", 64, "提示信息"ElseAdodc2.Recordset.AddNewAdodc2.Recordset.Fields("课程代码").V alue = Text1.TextAdodc2.Recordset.Fields("课程名称").V alue = Text2.TextAdodc2.Recordset.Fields("学时").V alue = Text3.TextAdodc2.Recordset.Fields("学分").V alue = Text4.TextAdodc2.Recordset.UpdateAdodc1.Recordset.DeleteAdodc1.RefreshMsgBox "恭喜你选课成功", 64, "提示信息"End IfEnd SubPrivate Sub Command2_Click()If Text5.Text = "" And Text6.Text = "" And Text7.Text = "" And Text8.Text = "" Then MsgBox "已退完!", 64, "提示信息"ElseAdodc1.Recordset.AddNewAdodc1.Recordset.Fields("课程代码").V alue = Text8.TextAdodc1.Recordset.Fields("课程名称").V alue = Text7.TextAdodc1.Recordset.Fields("学分").V alue = Text6.TextAdodc1.Recordset.Fields("学时").V alue = Text5.TextAdodc1.Recordset.UpdateAdodc2.Recordset.DeleteAdodc2.RefreshMsgBox "退课成功", 64, "提示信息"End IfEnd Sub(6)运行测试程序,修改不足的地方,生成exe文件。
校园选课管理系统-测试分析报告
![校园选课管理系统-测试分析报告](https://img.taocdn.com/s3/m/22fcd15c3c1ec5da51e27004.png)
测试分析报告1引言1.1编写目的为了更加全面地评估该“校园选课系统”的功能完成指标,查找出教师和学生在使用时可能会出现的错误,并进一步提出改进方法;同时也为了加深我们对黑盒测试方法的理解,我们小组决定分对这个软件进行一次系统的功能测试。
同时测试计划的编写也能增强我们与测试团队、开发团队之间进行交流。
1.2背景系统名称:校园选课系统该软件系统完成了学生成绩管理具备的基本功能,把学生、老师、班级、课程、成绩在数据库系统中紧密的联系起来,为老师和学生创建了一个方便、快捷、有效率的服务平台,让学校用一种更有效、更精确的方式对学生成绩进行管理,从而使成绩管理更加规范化,信息化。
1.3定义软件测试通过使用有限的测试用例来动态地验证程序是否能达到预期的行为测试的目的是为了评估和改进产品质量。
黑盒测试:如果已经知道了产品应该具有的功能,可以通过测试来检验是否每个功能都能正常使用,黑盒测试又称功能测试。
单元测试:着重测试每个单独的模块,以确保它作为一个单元来说明功能是正确的,这种测试成为单元测试集成测试:必须把模块装配在一起形成完整的软件包。
在装配的同时进行测试,因此称为集成测试确认测试:必须测试在需求分析阶段定下来的确认标准,确认测试是对软件满足所有功能的、行为的和性能需求的最终保证1.4参考资料《软件工程》(第三版)张海藩倪宁编著《软件项目管理》《JA V A核心思想》《Java大学实用教程》(第二版)耿祥义张跃平编著《设计模式》Erich Richard Helm 和Raph Johnson John Vlissides 编著《面向对象软件工程》Stephen R.Schach 编著2测试概要(一)学生管理模块功能测试测试内容:(1)密码验证功能(2)选课功能(3)密码修改功能目的:尽可能多的找出系统运行中会出现的错误,站在学生的立场,考虑学生在实际执行信息、成绩查询、选课功能时会出现的各种错误、异常,从而对此系统进行完善和改正,保证用户在使用中真正满足他们的需求,达到用户想要的功能。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库技专题训练I(2015年春)数据库专题训练------数据库应用系统开发实验报告系别:计算机科学与技术班级:计12-1班姓名:刘杰学号:12101020128成绩:评语:指导教师签字:日期:大学生选课管理系统1、需求分析1.需求说明☐教务处的管理人员录入全校的课程基本信息和本学期的课程授课教师、地点、时间;☐在学生入学的时候,学院的管理人员录入学生基本信息;☐学生每学期自己上网登录系统选课,选课成功后信息存入数据库中,学生自己可以查询选课的情况;☐学生选课不成功的情况有:☐所选课程的先修课还没有记录,系统提示“缺先修课,选课失败”;☐本学期所选课程的上课时间有冲突,系统提示“上课时间有冲突,选课失败”;☐学生一学期所选课程的学分最多不能超18学分☐学生可以注销所选课程。
☐学院管理员可以查询学生前几学期的选课信息、可以查询课程基本信息、学生基本信息;☐当学生退学时,由教务处的管理人注销学生基本信息;☐如果开课之后,学生要求退课,则由教务处的工作人员为学生注销所选课程;☐允许学生休学,教务处为休学的退学做学籍冻结处理;复学后为其办理解冻处理;☐每学期教务处为学生办理学期注册手续;没有办理学期注册的学生不能选课;☐学期末,学院工作人员负责录入学生的成绩。
2.数据流程图a.顶层数据流图b.分解数据流图3.数据字典角色信息=角色编号+角色名称角色编号=“1” (4)角色名称=2(汉字)6用户信息=用户编号+角色编号+用姓名+用户密码用户编号=2(字母或数字)18角色编号=“1” (4)用户姓名=2(汉字)6用户密码=2(字母或数字)18学生基本信息=学号+姓名+性别+民族+出生年月+学院+系+专业+入学时间+政治面貌+住址+备注学号=(数字)11姓名=2(汉字)6性别=“男”/“女”民族=2(汉字)6出生年月=年+月系=2(字母或数字)11专业=2(字母或数字)11入学时间=年+月+日政治面貌=“党员”/“预备党员”/“团员”/“群众”住址=2(汉字)18备注=0(汉字或字母)100教师基本信息=工号+姓名+密码+性别+年龄+民族+学院+住址+备注工号=2(字母或数字)11姓名=2(汉字)6密码=2(字母或数字)18性别=“男”/“女”年龄=“20“ (60)民族=2(汉字)6学院=2(汉字)12住址=2(汉字)18备注=0(汉字或字母)100课程信息=课程号+课程名称+先修课+学分+学时+课程类别+开课学院课程号=2(字母或数字)11课程名称=2(汉字)15先修课=2(字母或数字)11学分=“1“ (16)学时=“16“ (128)课程类别=“专业选修“/”专业必修“/”公共选修“/”公共必修“开课学院=2(字母或数字)11课程任务=任务编号+课程编号+课程名称+任课教师+课堂容量+选课人数+上课时间段+上课日期+上课地点+合班标志+开课季别+开始周+结束周+课程介绍任务编号=2(字母或数字)11课程编号=2(字母或数字)11课程名称=2(汉字)15任课教师=2(字母或数字)11课堂容量=“0“ (240)选课人数=“0“ (9999)上课时间段=“1-2节“…”11-12节“上课日期=“周一“…”周日“上课地点=2(汉字)15合班标志=2(汉字)15开课季别=“春季学期“/”秋季学期“开始周=“1“ (20)结束周=“8“ (28)课程介绍=0(汉字)100学生选课信息表=学号+课程号+成绩+选课年份+选课季别+中签标志学号=2(字母或数字)11成绩=“0“ (100)选课年份=年选课季别=“春季学期“/”秋季学期“中签标志=“0“/“1“留言=留言编号+发送者+接收者+日期+留言内容留言编号=“0“ (99999999)发送者=2(字母或数字)11接收者=2(字母或数字)11日期=年+月+日留言内容=2(字母或汉字)200文件信息=文件编号+课程编号+文件名称+文件路径文件编号=“0“ (99999)课程编号=2(字母或数字)11文件名称=2(字母,数字或汉字)20文件路径=2(字母或数字)100学院信息=学院编号+学院名称学院编号=2(字母或数字)11学院名称=5(汉字)20专业信息=专业编号+专业名称+所属学院专业编号=2(字母或数字)11专业名称=5(汉字)20所属学院=2(字母或数字)11班级信息=班级编号+班级名称+所属专业班级编号=2(字母或数字)11班级名称=5(汉字)20所属专业=2(字母或数字)114.系统E-R图2、系统设计1.系统模块结构图a.顶层模块结构图b.详细模块结构图2.系统用例图a.学生用例图b.教师用例图c.管理员用例图Query information(from Query for a score,course,personal information)Query information(from Query for a score,course,personal information)(from Pigeonhole)Pigeonhole3.系统数据库详细设计b.表创建create table t_role(roleid int identity(1,1)not null primary key, rolename nvarchar(50)not null unique)create table sdept_inf(sdeptno nvarchar(20)not null primary key,sdeptname nvarchar(50)not null)create table major_inf(majorno nvarchar(20)not null primary key, majorname nvarchar(50)not null,sdeptno nvarchar(20)not nullforeign key(sdeptno)references sdept_inf(sdeptno) )create table user_inf(userid nvarchar(50)not null primary key,roleid int not null,pwd nvarchar(50)not null,foreign key(roleid)references t_role(roleid))create table teacher_inf(tno nvarchar(50)not null primary key,tname nvarchar(50)not null,tpwd nvarchar(50)not null,tsex nvarchar(20)not null,tage int not null,trace nvarchar(20)not null,sdeptno nvarchar(20)not null,taddress nvarchar(60),another nvarchar(100)foreign key(sdeptno)references sdept_inf(sdeptno) )/*学生基本信息*/create table stu_inf(sno nvarchar(50)not null primary key,sname nvarchar(50)not null,spwd nvarchar(50)not null,ssex nvarchar(20)not null,sage int not null,srace nvarchar(20)not null,sdeptno nvarchar(20)not null,class nvarchar(50)not null,smajor nvarchar(50)not null,entrancetime nvarchar(50)not null, graduattime nvarchar(50)not null, politicalstatus nvarchar(20)not null,saddress nvarchar(60),another nvarchar(100)foreign key(sdeptno)references sdept_inf(sdeptno) )/*课程基本信息*/create table course_inf(cno nvarchar(50)not null primary key,pro_cno nvarchar(50),cname nvarchar(50)not null,credit int not null,ctime int not null,course_kind nvarchar(50)not null,sdept nvarchar(50)not null,)/*学院开课信息*/create table course_task(taskno nvarchar(50)not null primary key, cno nvarchar(50)not null,cname nvarchar(50)not null,cteachar nvarchar(50)not null,capacity int not null,classtime nvarchar(50)not null, weekdays nvarchar(30)not null, location nvarchar(50)not null, classflag nvarchar(50)not null,season nvarchar(50)not null, startweek int not null,endweek int null,introduction nvarchar(200),)/*选课记录表*/create table sel_course_record(sno nvarchar(50)not null,cno nvarchar(50)not null,grade int,year int not null,flag int not null,/*中签标志*/season nvarchar(50)not null,primary key(sno,cno))3、系统实现1.系统主要功能界面设计a)登陆界面b)学生操作界面c)教师操作界面d)学院管理员操作界面e)系统管理员操作界面2.系统主要功能界面代码实现a)登陆界面namespace WindowsFormsApplication2{public partial class login : Form{public login(){InitializeComponent();}private void button1_Click(object sender, EventArgs e) //登陆按钮{string userid = textBox1.Text;//用户名string pwd = textBox2.Text; //密码string rolename = comboBox1.Text;string conn_string = "Data Source=MR_LIU\\LIUJIE;Initial Catalog=course_sel;Integrated Security=True; User ID=sa; pwd=liujie260593";SqlConnection con = new SqlConnection();con.ConnectionString = conn_string;try{con.Open();//获取角色编号// Class_role role = new Class_role();SqlCommand cm = new SqlCommand("select roleid from t_role whererolename=@rolename ", con);cm.Parameters.Add(new SqlParameter("@rolename", rolename));Form_main.roleid= (int)cm.ExecuteScalar();con.Close();con.Open();string str_sql ="select count(userid) from user_inf where userid=@userid and pwd=@pwd and roleid=(select roleid from t_role where rolename=@rolename)";//执行的命令SqlSqlCommand cmd = new SqlCommand(str_sql, con);cmd.Parameters.Add(new SqlParameter("@userid", userid));cmd.Parameters.Add(new SqlParameter("@pwd", pwd));cmd.Parameters.Add(new SqlParameter("@rolename", rolename));int flag = (int)cmd.ExecuteScalar();if (flag > 0){Form_erid = textBox1.Text;Form_main f = new Form_main();f.Show();this.Hide();}else{MessageBox.Show("用户名或密码输入不正确!");}}catch (Exception ex){MessageBox.Show(ex.ToString());}finally{con.Close();}}private void login_Load(object sender, EventArgs e){string conn_string = "Data Source=MR_LIU\\LIUJIE;Initial Catalog=course_sel;Integrated Security=True; User ID=sa; pwd=liujie260593";SqlConnection con = new SqlConnection();con.ConnectionString = conn_string;SqlCommand cmd = new SqlCommand();mandText = "select rolename from t_role";cmd.Connection = con;SqlDataReader dr = null;try{con.Open();dr = cmd.ExecuteReader();int count = 0;while (dr.Read()){boBox1.Items.Add(new ListItem(dr["rolename"].ToString(), count));count++;}}catch (Exception ex){MessageBox.Show("数据读取出错!" + ex.ToString());}finally{con.Close();}}}}b)选课操作private void button1_Click(object sender, EventArgs e){int flag = 0;//int gradecount = 0;string sno = Form_erid;string cno = Student_Select_Course.courseno;string cname = boBox3.Text;string majorname = this.textBox1.Text;string weekdays = "";string classtime = "";string conn_string = "Data Source=MR_LIU\\LIUJIE;Initial Catalog=course_sel; User ID=sa; pwd=liujie260593";SqlConnection con1 = new SqlConnection();con1.ConnectionString = conn_string;SqlConnection con2 = new SqlConnection();con2.ConnectionString = conn_string;SqlDataReader dr1 = null;//冲突判断string sql_str1 = "select * from course_task where cno='" + cno + "' ";try{con1.Open();con2.Open();SqlCommand cmd1 = new SqlCommand(sql_str1, con1);dr1 = cmd1.ExecuteReader();while (dr1.Read()){weekdays = dr1["weekdays"].ToString();classtime = dr1["classtime"].ToString();string sql_str2 = "select count(*) from sel_course_record,course_task where weekdays='" + weekdays + "' and classtime='" + classtime + "' and sno='" + sno + "' andcourse_o=sel_course_o";SqlCommand cmd2 = new SqlCommand(sql_str2, con2);flag = (int)cmd2.ExecuteScalar();if (flag > 0){MessageBox.Show("存在选课冲突,请重新选课!");break;}}con1.Close();con2.Close();if (flag == 0)//学分限制{int year = System.DateTime.Today.Year;int month=System.DateTime.Today.Month;string season_now = "秋季学期";if (2<=month && month <8)season_now = "春季学期";SqlConnection con3 = new SqlConnection();con3.ConnectionString = conn_string;con3.Open();SqlCommand cmd3 = new SqlCommand("select sum(credit) sum fromsel_course_record,course_inf where year='"+year+"' and season='"+season_now+"' andcourse_o=sel_course_o and sno='"+Form_erid+"'", con3);dr1=cmd3.ExecuteReader();int coun=0;string strc="";while (dr1.Read()){strc= dr1["sum"].ToString();}if (strc == "")coun = 0;elsecoun = Convert.ToInt32(strc);if (coun<=40){//先修课判断con3.Close();int count = 0;con3.Open();mandText = "select count(*) from sel_course_record wheresno='"+sno+"' and cno='"+Student_Select_Course.pro_cno+"'and not(year='"+year+"' andseason='"+season_now+"')";count = (int)cmd3.ExecuteScalar();con3.Close();if (Student_Select_Course.pro_cno.Equals("")==false && count==0){MessageBox.Show("你还未选修该课程的先修课,不能申请该课程!");}else{//将选课信息加入选课记录表,同时添加课表con3.Open();mandText = "insert into sel_course_record values('" + sno + "','"+ cno + "','" + "" + "','" + year + "','" + "0" + "','" + season_now + "')";cmd3.ExecuteNonQuery();con3.Close();//更新课程任务表sel_person += 1;con3.Open();mandText = "update course_task set sel_person='" +sel_person + "' where cno='" + cno + "'";cmd3.ExecuteNonQuery();con3.Close();MessageBox.Show("申请成功!");}}elseMessageBox.Show("你所选课程学分总数已经超过40分,不能继续选课!");}}catch (Exception ex){MessageBox.Show("数据读取失败!" + ex.Message);}}c)抽签操作private void button1_Click(object sender, EventArgs e){this.listView1.Items.Clear();string cname="";int count = 0;int sel_count = 0;string conn_string = "Data Source=MR_LIU\\LIUJIE;Initial Catalog=course_sel; User ID=sa; pwd=liujie260593";SqlConnection con = new SqlConnection();con.ConnectionString = conn_string;SqlDataReader dr = null;SqlCommand cmd = new SqlCommand();mandText = "select cname,sel_person,capacity from course_task wherecno='"+boBox1.Text+"'";cmd.Connection = con;try{con.Open();dr = cmd.ExecuteReader();while (dr.Read()){cname = dr[0].ToString();sel_count = Convert.ToInt16(dr[1].ToString());count = Convert.ToInt16(dr[2].ToString());}con.Close();con.Open();mandText = "select sno,year,season from sel_course_record where cno='" + boBox1.Text + "'";dr = cmd.ExecuteReader();while (dr.Read()){this.listView1.Items.Add(new ListViewItem(new string[]{ (this.listView1.Items.Count + 1).ToString(), dr[0].ToString(), cname, dr[1].ToString(), dr[2].ToString(), "" }));}con.Close();if (sel_count <= count){for (int i = 0; i < sel_count; i++)this.listView1.Items[i].SubItems[5].Text = "中签";}else{int value;int flag = 0;Random r = new Random();int num = 0;while (num < count){value = r.Next(0, sel_count);for (int j = 0; j < this.listView1.Items.Count; j++){if (Convert.ToInt16(this.listView1.Items[j].SubItems[0].Text) - 1 == value && this.listView1.Items[j].SubItems[5].Text.Equals("中签")){flag = 1;break;}}if (flag == 0){this.listView1.Items[value].SubItems[5].Text = "中签";num++;}flag = 0;}}for (int i = 0; i < this.listView1.Items.Count; i++){if (this.listView1.Items[i].SubItems[5].Text.Equals("中签")){con.Open();mandText = "update sel_course_record set flag='" + 1 + "' where cno='" + boBox1.Text + "' and sno='" + this.listView1.Items[i].SubItems[1].Text + "'";cmd.ExecuteNonQuery();con.Close();}}this.listView1.Items.Clear();mandText = "select sno ,year,season from sel_course_record where cno='" + boBox1.Text + "' and flag='" + 1 + "'";con.Open();dr = cmd.ExecuteReader();while (dr.Read()){this.listView1.Items.Add(new ListViewItem(new string[]{ (this.listView1.Items.Count + 1).ToString(), dr[0].ToString(), cname, dr[1].ToString(), dr[2].ToString(), "中签" }));}con.Close();}catch(Exception ex){MessageBox.Show(ex.ToString());}finally{con.Close();boBox1.Items.Remove(boBox1.SelectedItem);}}d)教师上传课件private void button3_Click(object sender, EventArgs e){//string a = DateTime.Now.ToString("yyyyMMddHHmmss");string FileName = openFileDialog1.SafeFileName;string filename = openFileDialog1.FileName;string desName = Application.StartupPath + "\\upload\\";string b = desName + FileName;File.Copy(filename, b, true);string conn_string = "Data Source=MR_LIU\\LIUJIE;Initial Catalog=course_sel;Integrated Security=True; User ID=sa; pwd=liujie260593";SqlConnection con = new SqlConnection();con.ConnectionString = conn_string;SqlCommand cmd = new SqlCommand();cmd.Connection = con;mandText = "insert into file_up values('" + boBox4.Text + "','" + FileName + "','"+desName+"')";con.Open();cmd.ExecuteNonQuery();con.Close();MessageBox.Show("文件上传成功!");this.dataGridView1.Rows.Clear();load_file();}e)系统管理员统计选课信息private void System_manage_Load(object sender, EventArgs e){string conn_string = "Data Source=MR_LIU\\LIUJIE;Initial Catalog=course_sel;Integrated Security=True; User ID=sa; pwd=liujie260593";SqlConnection con = new SqlConnection();con.ConnectionString = conn_string;SqlCommand cmd = new SqlCommand();mandText = "select distinct cno,cname,sel_person from course_task";cmd.Connection = con;SqlDataReader dr = null;con.Open();dr = cmd.ExecuteReader();while (dr.Read()){this.dataGridView5.Rows.Add(dr[0].ToString(),dr[1].ToString(),dr[2].ToString());}con.Close();int row = this.dataGridView5.Rows.Count - 1;int[] yval=new int[row];string [] xval=new string[row];for (int i = 0; i < row; i++){yval[i] = Convert.ToInt16(this.dataGridView5.Rows[i].Cells[2].Value.ToString());xval[i] = this.dataGridView5.Rows[i].Cells[1].Value.ToString();}this.chart1.Series["课程"].Points.DataBindXY(xval, yval);}4、系统测试1.系统主要功能测试用例2.系统主要功能测试结果1.学生选课2.学院操作3.教师操作4.学院选课统计。