3.1 技术路线
本梦想启航学生信息管理系统在实现过程中采用了以下机种技术。前台页面的设计用JavaScript技术和HTML和CSS技术,通过HTML和CSS技术实现对前台页面的布局和界面美观的操控,JavaScript主要是用来在前台中动态页面的实现,通过对菜单进行动态的操作实现对每个模板进行管理,JavaScript它主要运行于浏览器端。此次设计主要采用B/S模式,Eclipse,作为开发工具,Tomcat作为服务器进行,MySQL作为数据库存储,页面视图主要使用JSP技术完成。
3.1.1 JSP技术
本设计选用JSP作为开发本系统的服务器端页面技术。使用JavaScript,EL表达式和JSTL与之配合使用,使页面表现更加丰富,人机交互更加人性化。
JSP全名为Java Server Pages,在传统的网页HTML文件中加入Java程序片段和JSP标签,就构成了JSP网页。JSP网页是由传统的HTML文件中加入Java程序片段和JSP标签组成的。Java程序用来操作数据库,实现建立动态网页的功能。
JavaScript是一种基于对象的,动态的客户端脚本语言。主要目的是为了解决服务器端语言遗留的速度问题,为客户提供更流畅的浏览效果。当时服务端需要对数据进行验证,验证步骤繁杂,浪费的时间太多。于是加入了Javascript,提供了页面数据验证的基本功能。
JSTL(JSP Standard Tag Library ,JSP标准标签库)是一个不断完善的开放源代码的JSP标签库,其中core 标记库提供了定制操作,通过限制了作用域的变量管理数据,以及执行页面内容的迭代和条件操作。简化了JSP和Web应用程序的开发。
3.1.2 MySQL
MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和甜业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。
3.2 软件体系结构设计
3.2.1 功能结构
根据需求调研结果确定本系统主要包括以下功能模块,如图3.1所示。
图3.1系统功能结构图
3.2.2 系统架构
由于梦想启航学生信息管理系统采用了MVC三层架构开发,从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层。每层各有自己的分工。表示层为用户提供交互操作界面,方便用户操作,业务逻辑层主要负责关键业务的处理和数据的传递,数据访问层负责对数据的访问。系统架构图如图3.2所示。
图3.2 系统架构图
3.3 数据库设计
3.3.1 概念结构设计
本系统采用概念结构模型,首先需要创建数据库,数据库设计表是根据用户的需求抽象出来的,是一种线性表。根据项目中功能结构构建各个实体,并且确立实体之间的对应关系,整个项目的所有实体的各种字段和属性都存储在数据库表中,运用 ER 模型把问题转化成现实的问题。概念模型(E-R图)如图3.3所示。
图3.3 E-R图
3.4.2 表的详细设计
通过对领域对象、业务对象及对象间关联的分析,对本系统的数据库表进行了设计,如表3.1–表3.7所示。本系统数据库管理采用MySQL。
(1)用户信息表(user)
管理员信息表主要用于保存系统管理员的信息,主要字段包括:管理员ID、登录账号、登录密码。表结构如表3.1所示。
表3.1 管理员信息表(admin)
列名 数据类型 长度 允许空 是否主键 说明
Id int 10 否 是 管理员ID
username varchar 12 否 否 登录账号
pwd varchar 15 否 否 登录密码
(2)学生信息表(stu)
学生信息表主要是记录了学生基本信息,表结构如表3.2所示。
表3.2 学生信息表(stu)
列名 数据类型 长度 允许空 是否主键 说明
id int 4 否 是 学生ID
username varchar 50 否 否 学生名
pwd varchar 50 否 否 密码
sex varchar 50 否 否 性别
age varchar 50 否 否 年龄
stuno varchar 20 否 否 学号
(3)成绩信息表(report)
成绩信息表主要是记录了成绩的基本信息,表结构如表3.3所示。
表3.3成绩信息表(report)
列名 数据类型 长度 允许空 是否主键 说明
id int 4 否 是 ID
stuno varchar 50 否 否 学号
coursename varchar 50 否 否 课程名称
score varchar 50 否 否 成绩
(4)课程信息表(course)
课程信息表主要是课程的相关信息,其中ID是主键,表结构如图3.4所示。
表3.4课程信息表(course)
列名 数据类型 长度 允许空 是否主键 说明
id Int 4 否 是 ID
name Int 4 否 否 名称
teacher varchar 50 否 否 教师
period varchar 50 否 否 成绩id
3.5 对象设计
3.1.1 课程添加用例对象设计
(1)用例实现
课程添加用例的实现顺序图如图