当前位置:文档之家› 学生选课系统毕业论文

学生选课系统毕业论文

论文···

毕业设计(论文)说明书

课题名称:学生选课系统

专题:学生选课

院(系):信息工程系

专业:软件技术

班级:

学生姓名:xxx

学号:20101508115

指导教师:xxx

职称:

2012年11 月21 日

摘要

随着学校的招生规模的不断扩大,许多高校出现了许多个校区并存的局面,并且校区之间的地理位置跨度非常大,给高校选课带来了很大的不方便。高校选课系统就是为了解决这个问题而产生的,它利用高校现有的网络资源使学生可以通过网络轻松的实现选课功能,使教务人员可以方便快捷的统计出各课程的选择情况。

学生选课系统是一款管理系统,系统囊括了专业管理和课程管理的基本过程。系统覆盖学生的选课、查看、修改密码等各个环节,软件的各个模块操作界面简单、实用,用户可以在最短的时间内掌握系统的使用方法。用户可以在最短时间内找到自己所需要的信息,该系统可以显著减轻教务人员的工作负担,大大提高工作效率,从而实现教务管理的数字化和网络化。

系统软件采用Struts、Hibernate、Spring进行整合开发,用户数据选用MySQL进行统一管理

关键词:B/S 、高校选课系统、数据库、Web项目

Abstract

With the school's enrollment continues to expand, many universities there coexist many campuses, and campus location between the span is very large, to the college enrollment is a big inconvenience. University course selection system is to solve this problem arise, it is use of the college network resources available so that students can easily achieve enrollment through the network function, so that academic staff can easily and quickly in the statistics of each course preference.

Class selection system is a management system, the system include the professional management and curriculum management, the basic process. System covers course selection of students, view, modify your password and other links, the software interface of each module is simple, practical, users can master the system within the shortest possible time to use. Users Ke Yi in the shortest time to find their required information, the system yes one based on B / S structure of the Web Project, would greatly relieve academic staff 工作burdens that greatly enhance the work efficiency, and realizing the Senate Management digitalization and network-based.

System software using Struts, Hibernate, Spring integration development, user data used for unified management of MySQL

Keywords: B / S, university elective system, database, Web projects

目录

摘要 ................................................................................................................................... I Abstract................................................................................................................................ I I 1 绪论.. (1)

1.1 课题背景 .......................................................................... 错误!未定义书签。

1.2 论文研究的内容 ................................................................ 错误!未定义书签。

2 系统相关技术介绍 (2)

2.1 本系统使用的3个框架 (2)

2.2 本系统使用的3个详细介绍 (3)

3 需求分析 (6)

3.1 功能需求分析 (6)

3.1.1 功能需求分类 (6)

3.1.2 用例图 (7)

3.2 非功能性需求分析 (14)

3.2.1 用户界面需求 (14)

3. 2.2 软件环境需求 (14)

3. 2.3 产品质量需求................................................................ 错误!未定义书签。

4 可行性分析.................................................................................. 错误!未定义书签。

4.1 编写目的 .......................................................................... 错误!未定义书签。

4.2 开发系统的技术可行性 .................................................. 错误!未定义书签。

4.3 开发系统的法律可行性 .................................................. 错误!未定义书签。

4.4 开发系统的社会可行性 .................................................. 错误!未定义书签。

5 系统设计 (16)

5.1 系统目标 (16)

5.2 系统功能结构 .................................................................. 错误!未定义书签。

5.3 系统流程图 (17)

6 数据库设计 (19)

6.1 数据库表的设计 .............................................................. 错误!未定义书签。

7 系统构架设计 (21)

7.1 逻辑分层结构设计 (21)

7.2 实体映像设计 (21)

7.3 数据库接口与接口类的实现 (22)

8 运行设计 (24)

8.1 运行环境 (24)

8.2 运行模块 (24)

9 详细设计 (25)

9.1 总体设计 .......................................................................... 错误!未定义书签。

9.2 详细设计 (26)

9.3 系统功能模块设计 (27)

10 系统测设 (47)

总结 (48)

致谢 (49)

参考文献 (50)

1 绪论

1.1课题背景

许多高校出现了许多个校区并存的局面,并且校区之间的地理位置跨度非常大,给高校选课带来了很大的不方便,所以把选课变成网络化的形式是必须的,现在高校的专业、课程、人数都远远超过了以前,统计选课信息变得相当困难,所以针对这一现象,高校选课系统教好的解决了这一类问题,使选课方便网络化,课程信息统计的方便性自然而然成为了这个系统设计和实现所追求的目标。

1.2论文研究的内容

关于高校选课系统的说明论证和各种分析。

2. 系统相关技术介绍

2.1本系统3个框架的应用:

一、三个框架简介

Struts:

Struts是目前Java Web MVC框架中不争的王者。经过长达五年的发展,Strut s已经逐渐成长为一个稳定、成熟的框架,并且占有了MVC框架中最大的市场份额。 Spring:

Spring是一个开源框架,它是为了解决企业应用开发的复杂性而开发的。Spring 使使用基本的JavaBeans来完成以前只可能由EJB完成的事情变得可能了。Spri ng的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。在Spring中应用对象被声明式地组合在一个XML文件里。Spring也提供了很多基础功能(事务管理、持久化框架集成等),让开发者更专注于应用逻辑。所有的这些特征使开发者能够编写更干净、更易管理、并且更易于测试的代码。

Hibernate:

Hibernate是高性能的开源框架。提供O/R映像功能,通过XML配置文件能够将对象映像到数据库。对数据操作进行了封装,能够方便简洁地解决大多数的数据持久化操作。

二、实现架构图

架构介绍

Filter:Web过泸器,继承javax.servlet.Filter,用于处理只要客户请求就必须初始化或处理的实例。例如可以在这里进行请求的编码转换,为了更好地支持中文,更好的方法就是把客户端的请入信息转换成UTF-8格式,并存于数据库中,这种转换就可以在过泸器中进行处理。

ActionServlet:是Struts提供的总控制器,在这里接收来自客户端的所有请求,并根据请求参数和Struts配置文件struts-config.xml决定请求由那个具体的Act ion来处理。

Action:由Struts提供的Action类,继承Struts的org.apache.struts.action. Action类。客户的不同请求,可以由不同的Action来处理(由ActionServlet总控制器选择)。Action用于处理客户请求的具体操作,比如调调用Service层的方法

进行数据保存或读取。Action还根据struts-config.xml配置选择页面的转发。对客户输入的信息进行验证。

ActionForm::由Struts提供的Form类,继承Struts的org.apache.struts. action.ActionForm类。用于封装来自客户窗体的信息,并可以对信息进行初级有效性验证。

Jsp和tiles-defs.xml:tiles-defs.xml由Strtus提供,用于页面的定义,可以定义JSP模板,不同页面都可以断承该模板。Jsp用于表示界面,可以在Jsp中书写Struts标签由不牵涉任何Java代码。

Service接口:定义Service的接口,给上层调用。这里编写上层所需方法的定义。Service接口实现:这里实现Service接口方法的具本实现,并实现商务逻辑。该类为了支持Spring的依赖注入功能,需要实现一个setXxxDAO()的方法,这样类就可以利用注入来的DAO进行数处理。在这一层利用Spring的事务管理,对这层的方法进行事务声明管理。

DAO接口:这里定义DAO数据访问层的接口,给业务层Service调用。

DAO接口实现:这里具体实现DAO接口的所有方法,只进行数据的保存、读取、更新等动作,不牵涉事务。该类继承Spring的org.springframework.orm.hibe rnate3.support.HibernateDaoSupport类,可以不再理会Hibernate的API,即可进行Hibernate方式的数据操作。可以让代码更简洁,有条理。

Spring:这是系统的中心部分,这里在一个XML配置文件中定义了大部分的系统Bean,并对它们进行集中管理。定义了DAO层、Service层的所有类。定义了事务,并且定义了方法的事务策略。

2.2三个框架的详细介绍

Struts技术

Struts是采用Java Servlet/JavaServer Pages技术,开发Web应用程序的开放源码的framework。采用Struts能开发出基于MVC(Model-View-Controller)设计模式的应用构架。struts框架具有组件的模块化,灵活性和重用性的优点,同时简化了基于MVC的web应用程序的开发,Struts实现的重点在C(Controller),包括ActionServlet/RequestProcessor和我们定制的Action,也为V(View)提供了一系列定制标签(Custom Tag)。

Struts流程:服务器启动后,根据web.xml加载ActionServlet读取struts-config.xml文件内容到内存。以登陆为例:第一次进login.jsp会先实例化Form、把默认值(String默认为空字符串,整形默认为0)赋给表单元素。输入用户名密码提交表单、提交到action属性的login.do,通过ActionServlet读

struts-config.xml文件找到action下的path属性找到.do,通过name属性找form-beans中的form-bean的name属性得到ActionForm的包名类名,先实例化form,把表单的值填充给form,调用form的validate方法验证、ActionErrors 返回null表示验证通过,否则失败返回input指定的页面.验证通过会实例化Action,执行Action的excute方法。

Spring技术

与Struts 相似,Spring 可以作为一个MVC 实现。这两种框架都具有自己的优点和缺点,尽管大部分人同意Struts 在MVC 方面仍然是最好的。很多开发团队已经学会在时间紧迫的时候利用Struts 作为构造高品质软件的基础。Struts 具有如此大的推动力,以至于开发团队宁愿整合Spring 框架的特性,而不愿意转换成Spring MVC。没必要进行转换对您来说是一个好消息。Spring 架构允许您将St ruts 作为Web 框架连接到基于Spring 的业务和持久层

Spring:功能强大的基于javaBeans的配置管理,它使组织应用变得容易和迅速,S pring是一个轻型容器(light-weight container),其核心是Bean工厂(Bean Factory),用以构造我们所需要的M(Model)。在此基础之上,Spring提供了AOP(Aspect-Orie nted Programming, 面向层面的编程)的实现,用它来提供非管理环境下申明方式的事务、安全等服务;对Bean工厂的扩展ApplicationContext更加方便我们实现J2EE 的应用;DAO/ORM的实现方便我们进行数据库的开发;Web MVC和Spring Web 提供了Java Web应用的框架或与其他流行的Web框架进行集成。

Spring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB 完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。

◆目的:解决企业应用开发的复杂性

◆功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能

◆范围:任何Java应用

Spring是全面的和模块化的。Spring有分层的体系结构,这意味着你能选择使用它孤立的任何部分,它的架构仍然是内在稳定的。

Hibernate技术

Hibernate是一个开放源代码的对象关系映射框架(即“数据库-对象”映像解决方案框架),它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。

Hibernate的核心接口一共有5个,分别为:Session、SessionFactory、Transaction、Qu ery和Configuration。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。

3. 需求分析

3.1功能性需求:

3.11功能性需求分类:

3.12用例图

学生选课系统总用例图:

用户注册用例图:

课程信息和专业具体管理用例图:

选课功能用例图:

查看已选课程用例图:

账号管理用例图:

3.13用例描述:

1. 用户登录

1.0 用例名称:

中文名称:用户登录

功能:验证用户的身份。

1.1 简要说明:

本用例的功能主要是用于确保用户在提供正确的验证信息之后,可以进一步使用本系统。

1.2 事件流:

1.2.1 基本流:

1 用户请求使用本系统。

2 系统显示用户登录信息输入界面。

3 用户输入登录名,密码并确认操作。

4 系统验证用户登录信息,如果登录信息验证没有通过,系统显示提醒信息,

并转向基本流2,如果验证通过,系统显示系统操作主界面。

1.2.2 备选流:

1 用户可以在没有登录成功之前的任意时候要求放弃登录。

2 系统结束用户登录信息输入界面的显示。

3 退出系统。

1.3 特殊需求:

1.4 前置条件:

1 请求使用本系统。

1.5 后置条件:

1 用户登录成功,可以使用系统提供的功能。

1.6 附加说明:

2. 用户注册

2.0 用例名称:

中文名称:用户注册

功能:新用户进行注册

2.1 简要说明:

本用例的功能主要是用于新用户进行注册,方能使用本系统。

2.2 事件流:

2.2.1 基本流:

1 用户请求注册。

2 用户点击注册进入注册信息界面。

3 用户输入注册信息,并确认操作。

4 系统验证用户注册信息,如果注册信息验证没有通过,系统显示提醒已经

存在的用户信息,并转向基本流2,如果注册通过,系统则进入用户基本

信息填写。

2.2.2 备选流:

1重置注册信息

2.3 特殊需求:

2.4 前置条件:

1 请求使用本系统。

2.5 后置条件:

1 用户注册成功,可以使用系统提供的功能。

2.6 附加说明:

3. 课程信息和专业管理

3.0 用例名称:

中文名称:课程信息和专业管理

功能:用于用户对课程信息的管理还有对专业的管理

3.1 简要说明:

本用例的功能主要是用于课程信息和专业的查询、添加等相应功能进行管理。

3.2 事件流:

3.2.1 基本流:

1 用户请求登陆管理页面。

2 用户点击专业管理进入专业管理页面。

用户对专业的是否已结业进行判断。可以添加新的专业。

点击添加新的专业进入新专业的设置页面。

添加完新专业点击专业管理则可以看到新添加的专业

3.用户点击课程信息进入课程信息管理页面.

用户对课程信息可以进行查询,添加新的课程。

点击添加新的课程进入课程有关信息填写页面。

添加完新的课程在选课信息将有新的课程显示。

点击课程显示里面的每门课程名称则可以显示每门课程的详细信息包括

授课教师属于哪个专业等等。在这里也可以设置该门课程的属性是否为可

选。

3.2.2 备选流:

1重置专业和课程信息

3.3 特殊需求:

3.4 前置条件:

1 进入了增加新的专业和课程判断信息是否填写正确。。

3.5 后置条件:

1 专业和课程添加成功将在专业页面和课程页面显示所添加的内容。

3.6 附加说明:

4. 学生选课

4.0 用例名称:

中文名称:学生选课

功能:选课学生进行选课

4.1 简要说明:

本用例的功能主要是用于学生进行选课。

4.2 事件流:

4.2.1 基本流:

1系统安排专业学生的课程

2 学生请求选课。

3 单击选课连接进入选课界面。

4 如果系统安排了本专业的学生所要选择的课程,则学生可以看到自己要选择的课程,点击选择则可以选课成功,如果系统未安排该专业的学生需要选课,则不会显示有课程要选。

4.2.2 备选流:

如果学生没有课程选择,则是该学生专业还没有安排课程,所有要等该专业安排课程以后才能进行选课。

4.3 特殊需求:

必须要有课程学生才能进行选修

4.4 前置条件:

1 本专业安排了课程。

4.5 后置条件:

1 学生选课成功,并显示。

4.6 附加说明:

5. 学生查看选课

5.0 用例名称:

中文名称:查看已选课程

功能:学生对选课进行查询

5.1 简要说明:

本用例的功能主要是用于学生确认是否已经选课成功。

5.2 事件流:

5.2.1 基本流:

1学生请求查看选课

2 单击选课查询,进入查询选课页面。

3 选课成功则显示该门课程,选课未成功则不能显示。

5.2.2 备选流:

如果未有选课信息提示说明还没有选好课程,应该返回选择课程页面进行选课以后再进行查询。

5.3 特殊需求:

5.4 前置条件:

5.5 后置条件:

5.6 附加说明:

6. 学生选课信息统计

6.0 用例名称:

中文名称:选课信息的统计

功能:对学生的选课信息进行统计。

6.1 简要说明:

本用例的功能主要是用于查看所有学生的选课情况。

6.2 事件流:

6.2.1 基本流:

1查看所有课程的选课情况和学生的选课信息

2 单击选课信息,进入选课信息页面。

3 点击查看则可以显示所有选择这门课程的学生名单。

4 搜索课程或者学生对选课信息进行查询。

6.2.2 备选流:

6.3 特殊需求:

必须管理员身份才能使用此功能

6.4 前置条件:

有专业开课和学生进行选课

6.5 后置条件:

6.6 附加说明:

7修改密码

7.0 用例名称:

中文名称:修改用户密码

功能:用于系统用户修改自己的密码,以确保系统的安全性。

7.1 简要说明:

本用例的功能主要是允许用户修改自己的密码。

7.2 事件流:

7.2.1 基本流:

1 用户请求修改自己的密码。

2 系统显示密码修改界面。

3 用户输入旧密码、新密码。

4 系统对旧密码进行验证,再次要求用户输入新密码的确认密码。

5 用户输入新密码确认密码。

6 系统比较新密码和新密码确认密码,根据比较结果执行下面的相应操

作。

◆新密码和新密码确认密码相符,继续执行下一步骤。

◆新密码和新密码确认密码不相符,返回基本流3。

7 系统修改用户密码,并提醒用户密码修改已成功。

8 用户要求结束用户密码修改任务。

9 系统结束用户密码修改界面的显示。

7.3 前置条件:

1 进入本系统的主界面。

7.4 后置条件:

1 系统成功保存用户的新密码,新密码下次登录生效。

3.2非功能性需求:

3.21 用户界面需求

3.23 产品质量需求

4. 可行性分析

4.1编写目的

为了给软件开发企业的决策层提供是否进行项目实施的参考依据,现以文件的形式分析项目的风险、项目需要的投资与效益。方便读者概要的了解此软件系统。

4.2开发系统的技术可行性

学生选课系统是一款管理系统,系统囊括了专业管理和课程管理的基本过程。系统覆盖学生的选课、查看、修改密码等各个环节,软件的各个模块操作界面简单、实用,用户可以在最短的时间内掌握系统的使用方法。用户可以在最短时间内找到自己所需要的信息。系统采用如今已广泛被人们接受的B/S结构,可以通过Internet 协同工作,数据共享。系统软件采用现在流行且技术很成熟的框架Struts + hibernate+Spring+MySQL平台进行开发并实现。可以进行高效的管理,提高工作效率。参考《学生选课系统统需求说明书》,本系统具有以下特点:

●具有良好的系统性能,友好的用户界面。

●较高的处理效率,便于使用和维护。

●采用成熟的技术开发,全系统具有较高的技术水平

●尽可能地简化选课的管理工作,提高工作效率

4.3开发系统的法律可行性

开发本系统是为了高校选课的高效管理,并实现对决策的支持。在开发的过程中完全自主开发,不会出现侵权问题。另外也会使用正版的软件来开发系统和运行系统。开发出的新系统的工作流程也是完全符合药品行业的标准,完全在法律的允许范围之内。

4.3社会条件上的可行性

络的普及,网络也越来越受到人们的喜爱,这也为新系统实现后的运行提供了一个大的环境。

相关主题
文本预览
相关文档 最新文档