基于Web的网上选课系统的设计与实现
***** *
来源:《电脑学习》2010年第05期
        摘要:文章给出了基于web的网上选课系统的设计和实现方案。该系统采用Browser/Web/Database的三层体系结构,使用了MVC的设计模式,实现了表示层和逻辑层的分离。该系统可以完成资料管理、课程信息浏览、网上选课、选课修改、信息汇总等功能。
        关键词;选课系统:Servlet;MVC;JDBC;Hibernate
        中图分类号:TP311.52
        文献标识码:B
php学生选课系统源码        文章编号:1002-2422(2010)05-0090-02
       
        1 系统体系结构与设计模式
       
        1.1系统体系结构
        系统使用Browser/Web/Database的三层体系结构。Web服务器接受客户端的请求,通过WEB服务器执行逻辑处理并与数据库服务器进行通信,然后将结果返回输出,从而实现与客户机的数据交互。数据库服务器用来存储系统中所用到的各种数据,体系结构如图1所示。
       
        1.2设计模式
        在大多数B/S结构的Web应用程序中,浏览器直接通过HTML或者JSP与用户交互,响应用户的请求。但这样逻辑处理和界面代码混在一起,用户界面就不能被重用。如果增加功能,就要对现有的代码进行多处修改,如果对单独一段代码进行修改会造成副作用。因此,在中间层上采用基于MVC(Model-View-Controller,模型—视图—控制器)的设计模式。MVC把多个组件集成到一起,相互合作,协调一致的进行工作。Model层(JavaBean或EJB)封装应用数据,处理商业逻辑。View层(JSP或应用GUI)用来显示给用户的界面。Comroller层(Servlet)主要负责接受用户动作,并对数据进行适当的处理,处理业务逻辑。在这种设计模式下,各部分之间的数据传递如图2所示。箭头方向表明了数据的流向,序号表明了先后顺序。
       
        2 系统需求与功能模块的设计
       
        2.1系统需求
        用这个系统,学生们可以在规定的时间内通过网站进到选课系统。在选课系统上有详细的课程说明和教师介绍,学生可以根据自己的兴趣选择课程。为了处理的灵活性,学生也可以在指定时间内修改所选的课程。同时,为了便于管理,也提供了对学生、教师、课程、系部的资料进行维护的功能,可以对其进行添加、删除、修改、更新等功能。普通的管理员有对系统进行基本管理的权利。
        由于教学资源不能满足所有学生选课需要,有一定选课条件来限制学生选课。每门课程可以对院系、专业、年级、修课人数等选课条件进行设置。在选课结束后,教学管理人员可以根据条件生成各种报表和学生名册用来汇总信息。
       
        2.2系统的功能模块设计
        系统划分为系统管理模块、教师模块、学生模块和统计模块等4个模块。模块功能如下;
        (1)系统管理模块:包括学生、教师和课程信息管理3个子模块。
        ①学生信息管理:实现对学生信息的添加、修改、删除、查询操作。
        ②教师信息管理:实现对教师信息的添加、修改、删除、查询操作。
        ③课程信息管理:实现对课程的添加,添加时为其分配任课老师、上课时间和地点;实现对课程的修改、删除,查看等。
        (2)教师模块:实现查看自己所教授课程、有哪些学生选修该课程。
        (3)学生模块:实现学生选课,并可以查看、修改自己的选课信息。
        (4)统计模块:对所学课程可以按班级,课程等进行汇总统计。
       
        3 数据库设计
       
        系统的主要任务是通过大量的数据获得管理所需要的信息,这就必须存储和管理大量的数据。一个结构良好的数据库,可以使系统迅速、准确的处理数据,是衡量信息系统开发工作好坏的主要指标之一。数据库如果设计不好对系统维护、变更和功能的扩充,都会带来比较大的问题。
       
        3.1数据库逻辑结构设计
        在进行数据库的逻辑设计时,需要综合考虑企业各个部门的数据需求,设计出规模适当、数据冗余少、存取效率高、能满足各种数据处理要求的数据模型。为了更好的组织数据和设计出符合实际的数据库,应该注意要对数据进行规范化描述。
       
        3.2数据库需求分析
        网上选课系统要求是要准确快捷的管理学生的信息、课程信息、教师信息和选课信息。学生信息与教师信息通过课程想关联。由此总结出如下需求信息:
        (1)用户分为管理员用户、教师用户和学生用户。
        (2)一个学生有多门课,一门课对应多个学生。
        (3)一个教师可以教授多门课程。
       
        3.3数据存取技术
        目前,基于页面的应用程序访问数据库的技术有很多,其中JDBC是Java程序比较常用的连接和存取数据库的应用程序接口。Hibernate是一个开源的对象关系映射框架,对JDBC
进行了非常轻量级的对象封装,使得可以使用对象编程思维来操纵数据库。Hibernate应用在Servlet/jSP的Web应用中,完成数据持久化的任务。Servlet通过Hibernate将查询的数据传给JSP,由JSP页面将结果返回给提出请求的浏览器。这样将客户端与数据库服务器分开,提高了数据库的访问效率。
       
        4 表现层设计
       
        视图是向用户显示信息数据的部分,也就是用户发出请求之后返回给用户的页面,一般用JSP完成。视图是用户对程序最直观的感觉,应该布局清晰,页面结构合理,能够清楚的表现数据。好的页面能够使程序的易用性得到很大的提高。
       
        5 结束语