当前位置:主页 > 论文 > 言语论文 >

基于B/S的J2EE学生成绩管理系统的设计与架构

发布人: 谜语网 发布时间:2015-10-04 字体: | | 打印文章

推荐阅读:摘 要:采用jsp/Servlet/JavaBean编程技术和SQL server数据库,进行学生成绩管理系统的设计和实现。该系统能够实现学生信息管理、课程信息管理、学生成绩信息管理、学生查询成绩等功能。这个系统是为了软件专业学生在学习Java Web软件项目而构建的教学案例。

摘 要:采用jsp/Servlet/JavaBean编程技术和SQL server数据库,进行学生成绩管理系统的设计和实现。该系统能够实现学生信息管理、课程信息管理、学生成绩信息管理、学生查询成绩等功能。这个系统是为了软件专业学生在学习Java Web软件项目而构建的教学案例。

关键词:MVC;SQL Server;学生成绩管理

0 引言

近年来随着国家对于高职高专院校政策的大幅转变,对于高职高专院校毕业生就业也提出了更多的机遇和挑战。毕业生能否寻得好的工作,能否顺利与企业需求接轨,将成为对高职高专院校进行评价时越来越重要的评价标准。

软件专业毕业生最终的评价标准,就是能不能做项目。一个真实完整独立的项目,综合了整个专业所有的知识和技能。如果能够在毕业之前安排这样的课程来锻炼学生的综合项目能力,对于就业将是一次重要的提升准备。

本系统就是基于这个需求进行设计和开发,模拟一个真实完整的项目,能够在网上完成学生基本信息管理、课程基本信息管理、学生成绩信息管理、学生查询成绩等功能。

1 需求分析

系统管理员:管理所有用户的用户等级、用户权限。

教务管理员:能够对学生基本信息进行增删改查、能够对课程基本信息进行增删改查、能够对学生成绩信息进行增删改查。

普通学生用户:能够对自己的基本进行查询和部分修改、能够对自己的成绩信息进行查询。

2 系统架构设计

2.1 采用B/S架构

C/S架构和B/S架构是现在软件领域主流的两种体系结构。C/S就是Client(客户端)/Server(服务器端),用户需要在自己的电脑上安装客户端才能够使用软件,例如QQ、大型3D网络游戏。B/S是Browser(浏览器端)/Server(服务器端),用户只需要浏览器即可使用软件,通过网络向服务器发送请求并接收响应。

现在80%以上的软件项目是采用B/S架构,用户只要在浏览器上打开网页即可进入学生成绩管理系统,不需要维护客户端,灵活性高,开发维护成本低。

B/S架构和C/S架构相比,有以下几个优点:

①用户的使用简单。软件的使用者绝大多数都不是软件专业人员,所以在使用时不能太复杂,网页的使用模式已经被现代社会所广泛接受,所以通过浏览器就可以使用的软件完全可以满足这个要求。而且使用浏览器就可以进入软件系统,而不需要考虑客户端的硬件软件环境,绝大部分功能以请求/响应的模式交给服务器端来处理。

②灵活性高。如果是C/S架构,要使用软件就必须先安装客户端,如果换一台终端、或者出差去外地,安装客户端就显得很不方便。如果是B/S架构,随便一台电脑甚至是手机,只要打开浏览器即可进入软件系统。

2.2 采用MVC三层架构

采用B/S架构,如果不分层次,将业务逻辑、数据模型、页面显示混合在一起,那么在后期进行测试调试时,程序员将面对一个一团乱麻、牵一发而动全身的项目。并且大多项目并不是一蹴而就的,投入使用后没过多久就会需要扩展升级、二次开发,如果不分层次,在这样一个项目基础上进行扩展修改,很多时候还不如完全推翻之后重新开发一个,大大浪费了时间,降低效率。

MVC模式的优点是耦合性低、重用性高、分工明确。

耦合性,是指软件项目各模块代码之间的互相依赖性,改变一处代码,需要连带一起改变其它几个地方的代码。MVC将业务逻辑、数据模型和数据显示完全分开,层与层之间只存在数据传递和方法调用,而不存在依赖性,在进行功能扩展和二次开发时,只需要根据需求对对应的层进行修改(例如如果需要改动数据库,则只需改变数据模型层的代码),而不会影响到别的层。

重用性,简单来说,是指同一段代码可以被不同的功能需求所调用。例如一个项目可能会有不同的View视图(Web浏览器、无线Wap浏览器、手机APP等),但是这些视图的功能需求基本是一致的,对数据库的访问更新操作也是一致的,那么就可以毫无障碍和差异地调用共同的Model模型。这种可以最大化地重用代码。

分工明确,在MVC模式下,程序员(Java开发)可以集中精力于Controller业务逻辑,View视图可以交给界面设计师,Model数据模型可以直接从已经设计好的数据库延续过来。分工明确之后的软件开发时间得到大幅缩减。

现在J2EE领域最流行的MVC框架是SSH(Struts/Spring/Hibernate),但在这里不使用框架,仅采用最基本的JSP/Servlet/JavaBean来实现MVC模式。

本系统使用开发工具MyEclipse 8.5、Tomcat服务器、sqljdbc4、SQL Server,前台采用HTML/CSS/Javascript网页布局显示,后台采用以jsp/Servlet/JavaBean为三层架构的MVC技术来完成。(图2)

3 系统详细设计

3.1 数据库设计

根据功能需求分析,学生与课程之间存在多对多关系,可以绘制出主要的关系E-R图如图3,再加上用户表,即可得到主要的4个数据库表:学生信息表、课程信息表、考试成绩表、用户表。其中学生表和课程表都与考试成绩表存在约束关系。

3.2 视图层实现

根据功能需求分析,本系统的业务流程大致可以划分成三大模块。

首先需要共同的主页、登录页面。

学生查询模块:学生登录成功后,可以浏览自己的个人信息页面、考试成绩信息页面。

教务管理模块:教务管理员登录成功后,需要学生信息列表页面、学生详细信息页面、课程信息列表页面、课程详细信息页面、考试成绩列表页面、考试成绩详细信息页面。 3.3 数据模型层实现

数据模型层与数据库一一对应,模型层中的JavaBean实体类与数据库中的表一致,类的属性对应于表中的字段。再由DAO类使用JDBC技术提供数据库访问的增删改查操作。

数据库连接单独创建一个专门的连接类来提供静态的连接方法:

/*提供用于驱动加载和创建连接、关闭连接的静态方法*/

/*四个静态常量,用于存储驱动类、连接地址、用户名、用户密码*/

private static final String CLASS_DRIVER="sun.jdbc.odbc.JdbcOdbcDriver";

private static final String URL="jdbc:odbc:stuent";

private static final String USER="sa";

private static final String PASSWORD="sa";

/*用于加载驱动并创建连接的方法,返回值为创建的连接*、

public static Connection getConn(){

Connection conn=null;

try{

Class.forName(CLASS_DRIVER); //1、加载驱动

conn=DriverManager.getConnection(URL); //2、创建连接

}catch(Exception e){

System.out.println(e.getMessage());

}

return conn;

}

3.4 业务逻辑层实现

Servlet是用于接收客户请求,并作出响应的Java程序,是中间件技术的重要部分,它控制着其他的组件,是整个项目的核心。

import java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;

public class LoginServlet extends HttpServlet {

public void doGet(HttpServletRequest request,HttpServletResponse response)

throws ServletException, IOException {

response.setContentType("text/html;charset=gb2312");

PrintWriter out = response.getWriter();

String userName = request.getParameter("userName");

String userPass = request.getParameter("userPass");

/*接收用户在表单中输入的信息,调用用户DAO类中的登录验证方法,根据返回的结果,如果登录成功则根据用户类型跳转到不同的页面,如果登录失败则给出提示信息并返回登录页面。


4 结语

将MVC三层架构设计模式应用于基于B/S的软件系统中,这是现在软件行业的主流项目架构模式,降低软件模块之间的耦合性,提高代码的复用性、项目的可扩展性和二次开发可行性,实现软件开发的分工,有效降低维护成本。在软件专业学生毕业之前,能够独立完成这样一个真实完整的项目,那么对于他们所学的所有专业课程是一次综合和提升,对于应聘于软件企业也是大有帮助。



1、“议论文格式”范文由查字典范文网网友提供,版权所有,转载请注明出处。
2、议论文格式例文地址:http://www.tkpao.com/a/lunwen/yanyu/170260.html,复制分享写作指导范文给你身边的朋友!
3、文章来源互联网,如有侵权,请及时联系我们,我们将在24小时内处理!