1  绪论

1.1  开发研究背景

随着信息时代以及我国教育产业化的飞速发展,社会对教育水平和教学管理软硬件的要求日益提高,计算机技术的应用已经普及到经济和社会生活的各个领域,使原本的旧的管理方法越来越不适应现在社会发展的需要,特别是在学校班级的教学和管理的过程当中,更应该适应社会的发展,体现现代化的气息。而且对于教师,班干部和所有学生而言,在大学期间总是有一些个人信息需要收集,而且往往是重复收集,比如身份证信息、学号、家庭住址、某学期某科目必修课选修课成绩、选课信息等等。这些工作繁琐、重复,也很占时间。因此可以开发班级信息管理网站。

所谓班级信息管理网站,即通过登录和注册,对授课教师,班干部和所有学生的个人信息、课程信息、成绩、学习资源、风采展、班级事务通知等进行管理。针对班级,使用起来也方便,更新容易,也方便大家沟通。实现了班级信息管理工作流程的系统化规范化和自动化。

1.2  开发目的和任务

在高校对于班级信息的管理多是人工处理,往往对一些信息多次重复收集而且特别容易出错。通过开发本网站,是班级信息管理系统化、规范化、自动化,从而达到提高班级信息管理效率的目的。具体体现在以下方面:

(1)能节省班干部、辅导员的管理时间,是管理人员从复杂的工作中解脱出来。

(2)方便学生查询成绩、课表等信息,下载资源。

1.3  开发的意义

班级信息管理是班级管理不可缺少的部分,它的内容对于班级的辅导员、授课教师或者学生都非常重要,所以高校班级信息管理系统应该能够为用户提供足够的信息和信息的查询手段,但长时间以来对于班级信息的的收集管理多是人工操作,工作繁琐,重复,占用了很长时间。

随着科技的发展,计算机技术日渐成熟,计算机已经普及到社会的各个领域并发挥着不可替代的作用。为方便班级信息管理,使用网站对班级信息进行管理,具有手工管理无法比拟的优点如:仅需一次信息采集即可多次使用并且检索迅速、查找方便、可靠性高、存储量大、保密性好、成本低等因此,开发班级信息管理网站具有非常高的价值。在下面的各章中将以开发班级信息管理网站为例,谈谈其开发过程和所涉及到的问题及解决方法。

1.4  论文的主要内容和章节安排

该论文主要介绍了班级信息管理网站的开发流程,从需求分析概要设计到详细设计,详细的阐述了研究的思路。

2  系统模块分析与设计

下面就对班级网站管理系统的设计进行系统分析与分析。班级网站是面向特定的某些对象的,所以学生进入系统应该进行身份验证。学生进入班级网站管理系统后,能根据自身情况填写个人信息、查看班级公告、浏览课程表、上传和下载学习资源等等;同样,管理员登陆之后可以对学生们的成绩进行管理。以下为系统的具体功能模块分析设计。

2.1  学习资源模块分析与设计

2.1.1  学习资源模块分析

学生点击相应资源的链接,下载相应的资源。管理员在界面选择文件上传到学习资源处,也可以选择删除相应的学习资源。

表1 学习资源模块功能总览

功能

具体描述

可使用此功能的系统角色

下载学习资源

学生点击相应资源的链接,下载相应的资源

学生

学习资源管理

管理员在界面选择文件上传到学习资源处,也可以选择删除相应的学习资源

管理员

2.1.2 学习资源模块设计

学习资源页面主要分为上传学习资源、下载学习资源和删除学习资源三个模块。

1 学习资源模块

2.2  成绩管理模块分析与设计

2.2.1  成绩管理模块分析

管理员对学生成绩可以进行增删改查操作。

表2 成绩管理模块功能总览

功能

具体描述

可使用此功能的系统角色

新增学生成绩记录

管理员通过点击新增学生,跳转到新增学生界面,填写相关内容,实现对学生成绩记录的新增。

管理员

修改学生成绩记录

管理员通过点击更新,跳转到修改学生成绩界面,通过填写相关内容,实现对学生成绩记录的修改

管理员

查询学生成绩记录

管理员在查询文本框中输入学生姓名,然后点击查询,可以查到该学生的成绩记录。

管理员

删除学生成绩记录

管理员点击删除按钮,删除对应学生的成绩记录。

管理员

2.2.2成绩管理模块设计

成绩管理功能主要分为添加成绩、修改成绩、删除成绩、查询成绩四个模块。

2 学习资源模块

2.3  班级主页模块分析与设计

2.3.1 班级主页模块分析

学生登录后,可浏览班级主页,了解班级信息。

表3 班级主页模块功能总览

功能

具体描述

可使用此功能的系统角色

班级风采

可以通过班级风采板块看到班级最近的一些风采照片

学生、管理员

班委名单

通过班委名单模块了解班级相关工作负责人

学生、管理员

班级简介

用户通过班级简介了解班级的基本概况;

学生、管理员

班级公告

通过班级公告轮播板块了解一部分通知

学生、管理员

资源目录

通过学习资源板块获取学习资源的目录,并且可以通过点击资源快速访问学习资源界面

学生、管理员

校园风光

可以通过校园风光轮播板块欣赏美丽的风景。

学生、管理员

2.3.2 班级主页模块设计

班级主页主要分为查看班级风采、查看班委名单、查看班级简介、查看班级公告、查看学习资源目录、校园风光六个模块。

3 班级主页模块

2.4  班级公告模块分析与设计

2.4.1 班级公告模块分析

学生点击“班级公告”的链接,可以看到最新的班级公告,也可以按需查询公告。

管理员可以查看和发布公告。

表5 班级公告模块功能总览

功能

具体描述

可使用此功能的系统角色

查看公告

学生点击“班级公告”的链接,可以看到最新的班级公告

学生

查询公告

在班级公告页面,学生可以按需查询公告

学生

查看公告

修改、发布、添加公告

管理员在相应的界面可以进行查看公告、修改公告等操作

管理员

2.4.2 公告管理模块设计

公告管理模块主要分为查询公告、添加公告、删除公告、修改公告四个模块。

4 班级主页模块

3  系统结构设计

3.1  系统体系结构

1、后端主要代码框架

本课程设计后端使用java语言的Servlet程序以及Tomcat服务器来实现。代码分别分为pojo层、dao层、filter层、service层、test层、utils层、web层。其中,pojo层封装的是对象实体;dao层封装的是对对象实体的一些基本操作以及接口;filter层封装过滤器;service层封装的使用dao层的基本操作去实现更多的功能及服务;test层封装的是生成的测试类;utils层封装的是数据库相关操作,如连接数据库等,web层封装的是servlet程序,用于处理前端页面发来的请求。

2、前端主要代码框架

客户端采用jquery方式编写,主要的工作是从网页获取信息,并发送给服务器端,接收服务器端的返回信息,并显示在网页上。可能会有变化的情况:是否需要利用ajax发送数据,返回json 数据还是网页。

3、数据库设计

本课程设计使用了MySQL数据库。对每一个pojo层的对象类都新建了一个表,每一个属性对应java代码里面的类的属性。

3.2  系统流程图

系统流程图是概括的描绘系统物理模型的传统工具。它的基本思想是用图形符号以黑盒子形式描绘系统里面的每个具体部件(程序、文件、数据库、表格、人工过程等),表达数据在系统各个部件之间流动的情况。

5 系统流程

3.3  数据字典

数据项条目,用于标识实体。数据字典是数据库的重要部分,它存放有数据库所用的有关信息,对用户来说是一组只读的表。它是关于数据信息的集合。它是数据流图中所有要素严格定义的场所,这些要素包括数据流、数据流的组成、文件、加工小说明及其他应进入字典的一切数据,其中每个要素对应数据字典中的一项条目。其中,对引用的一些关键字进行说明 : PK(主键),FK(外键), Check(检查的范围约束),Not null(不为空值)。

表6 管理员表

编号

字段名称

字段含义

字段类型

字段长度

是否主键

默认值

1

Id

管理员Id

Varchar

50

2

userName

管理员名字

Varchar

50

3

password

管理员密码

Varchar

50

表7 班级公告表

编号

字段名称

字段含义

字段类型

字段长度

是否主键

默认值

1

classId

班级公告标题

Varchar

50

2

notice

班级公告内容

Varchar

100

表8 学生表

编号

字段名称

字段含义

字段类型

字段长度

是否主键

默认值

1

studentId

学生学号,即学生账号

Varchar

50

2

Password

学生密码

50

表9 学生个人信息表

编号

字段名称

字段含义

字段类型

字段长度

是否主键

默认值

1

studentId

学生学号,也即学生账号

Varchar

50

2

studentName

学生姓名

Varchar

10

3

classId

学生班级Id

Varchar

30

4

college

学院

Varchar

30

5

studentType

学生类型

10

6

experience

学生个人经历

Varchar

300

7

hobby1

爱好1

Varchar

10

8

Hobby2

爱好2

Varchar

10

9

Hobby3

爱好3

Varchar

10

4  系统实现

4.1  注册

首次使用网站,学生需要注册账号才能进入。注册时,需要输入一系列详细的信息才能完成注册。注册完成后会跳转至登陆页面供用户执行登陆操作。

6 注册页面

7 个人信息填写界面

4.2  登录

用户进行登录操作时,系统首先对登陆页面内账号和密码输入框进行非空判断,若为空,弹出提示并返回登陆页面。不为空则先在前端进行匹配,学号必须为14位的学号,密码位5-12位的含字母、数字、下划线的字符。前端验证完毕后,将数据传至后台进行验证。若所输入账号密码与后台数据库中数据匹配,则为登陆成功。系统接着进行登陆角色的判定,判断是学生还是管理员。根据角色的不同,页面会显示不同的操作按钮和页面。
    注册完成后,学生可以在登陆页面填写相应信息执行登陆操作。登陆成功后,网站直接进入班级首页。运行截图如图所示:

8 登录界面

4.3  班级主页

9 班级主界面

4.4 班级公告展示

在网站功能管理导航页面,用户可以选择 “班级公告”,跳转到班级公告页面查看公告和查询公告。

10 班级公告界面

4.5 学习资源上传和下载

登录系统后进入个人页面,进入班级主页,点击学习资源可以实现学习资料的下载和上传。

11 上传文件界面

12 下载文件界面

4.6 个人信息

登录后可以查看学生在注册时填写的个人信息。

13 个人信息界面

5  系统测试

本次课程设计分几个部分,一个是后端代码的service层利用JUnit生成测试类,验证数据库服务以及代码的正确性,测试后端是否根据代码逻辑获取到了数据库的数据,这是后端部分的验证。以及使用测试,本开发团队对该班级网站进行了测试,开发人员把自己代入为用户,去使用这个系统。在本系统测试中,还运用了黑盒测试中的等价类划分和边界测试,如在注册账号时,密码应该为5-12位的含数字、字母下划线的字符组合,根据等价类划分为密码为0-4位、大于12位、密码为纯数字组合、纯字母组合、纯下划线组合、只有数字字母组合、只有数字下划线组合、只有字母下划线组合等组合。

6 系统运行与维护

6.1系统维护要求

1.应用软件维护

当业务流程出现问题或有某些变化时,就必然要修改应用程序,以适应新的变化。所以,应用程序的维护是系统维护中最主要的内容。应用软件系统维护的内容主要包括4类:完善性维护、纠错性维护、适应性维护和预防性维护。

2.数据维护

在系统运行过程中,随着业务流程的变化,对数据的要求也在不断改变,包括删除过时数据,增加新的数据,调整数据结构,备份和恢复数据等。

3.代码维护

由于信息系统应用范围和应用环境的变化,系统中的各种代码需要进行某些增加、删除、修改的操作,或者设置一些新的代码。

4.计算机硬件设备的维护

操作人员要严格遵守操作顺序和规则,维护人员要做好对设备的日常维护与管理,及时进行易损件的更换及一般故障的处理。因此,必须时刻监视系统硬件的工作情况,及时发现系统不正常运行的现象或苗头,以便采取预防措施。平日要做好对计算机设备的定期检修与维护,有关备品配件的准备及补充计算机的日常消耗品。同时,做好系统运行记录。

5.数据库与代码维护

系统的正常运行有赖于状态良好的数据库提供存取信息的支持。为了防止特殊情况下(如断电、严重的误操作等)对数据库的损害,为了适应业务变化引起的对数据库的某些更改要求,必须加强对数据库的维护。一方面,为防止数据库的丢失、损坏,应定时进行数据库备份,防止因原数据库系统发生问题时,备份数据库能保障信息系统的正常运行。另一方面,系统运行一段时期后,由于对数据库不断进行增、删、改的操作,可能引起数据库物理结构的破坏,影响对数据库存储空间的利用和降低数据的存取效率。为此,需要进行数据库的重组织操作,按原设计要求重新安排数据记录的存储位置。

6.系统安全维护

系统安全主要是指硬件设备的安全,也包括应用软件与文档的安全及数据的安全。

6.2  系统维护方法

1.建立明确的软件质量目标和优先级

尽管可维护性要求每—种质量特性都要得到满足,但它们的相对重要性应随程序的用途及计算环境的不同而不同。所以当对程序的质量特性,在提出目标的同时还必须规定它们的优先级。

2.使用提高软件质量的技术和工具

模块化和结构化程序设计

使用结构化程序设计技术,提高现有系统的可维护性

3.进行明确的质量保证审查

4.验收检查

需求和规范标准:需求应当以可测试的术语进行书写,排列优先次序和定义;

设计标准:程序应设计成分层的模块结构,每个模块应完成唯一的功能;

源代码标准尽可能使用最高级的程序设计语言,且只使用语言的标准版本

文档标准:文档中应说明程序的输入/输出

5.周期性地维护审查

对于维护报告和一些周期性的文档需要每个一段时间进行审查,这样可以提升文档的健全性。

6.选择可维护的程序设计语言

选择可以维护的活跃的程序设计语言,这样可以保证整个系统的生命力,不会因为语言停止的更新而导致然后系统不能进行相应的功能模块更新。

7.健全程序的文档

7  结论

针对大多数用户的痛点,我们列出NABCD,并且使用问卷的方式进行调研,为我们精确定义系统的需求来打下基础。此外,我们还对使用过班级网站的用户进行了采访,听取他们给出的建议,为我们网站的改进提供想法。在完善需求的同时我们也设计了相应的测试用例,用于之后的检测。

在进行需求分析之后,我们根据需求进行系统的分析和设计,将抽象的用户需求转化为更详细,更容易理解的系统需求。并且画出系统模块图、UML图、数据流图、ER图等来辅助我们系统的设计。

在学习一段时间的网页制作的知识后,我们开始进行系统的实现,在这期间,我们查阅资料,积极的进行交流,分享自己最近学习的心得。在完成相应的模块后,我们会用相应的测试用例来测试,减少对完整系统进行测试的成本。

在进行冲刺阶段的前夕,我们根据SCRUM来指定任务计划,在SCRUM进行的过程中,我们小组成员积极交流,分享每天的成果,阐述遇到的困难。在完成SCRUM之后,我们根据任务量,预计完成时间和已花费时间来画出燃尽图,用图形的方式辅助我们去观察项目的进展。

对于班级网站的制作,我们认为大致实现了我们想要的效果。对于网上大多只是记录班级活动和班级公告的班级网站来说,我们的班级网站丰富了很多功能,并且还是对用户日常有影响的功能,比如查询课程表、查询成绩、下载资源等等,也代表了我们的班级网站对用户的黏性更高,用户更愿意使用我们的产品而不是其他只是一具类似空壳的班级记录网站。并且在进行α和β测试之后,很多用户也对我们的网站给出好评,认为我们有许多特色的功能。

对于班级网站的进一步的设想与建议,我们认为应该根据用户的使用体验来改进我们网站。根据用户的反馈来对我们的需求进行分析并且更改,进一步的细化完善我们的功能。除此之外,我们也会积极吸收网上的班级网站的案例,根据其他网站的优点和特色,来为我们的班级网站添砖加瓦。

致  谢

在刚开始着手做课程设计的时候,我们遇到了许多困难,也遇到了很多挑战。对于网站的制作,我们团队几乎没有对这方面的经验。在此之前,我们仅在数据库设计的课程设计中接触了一部分网站的制作,不过那种制作方法是用VS套用模板来进行制作的,对于我们这种有特定需求的班级网站来说不具有适用性,我们希望通过我们自己的方式来制作一个精美的班级网站,而不是套模板的一个空壳。

于是我们团队用两周的时间来学习网页制作的知识,其中包括html和css方面的前端制作的知识,也有serlet关于后端与数据库进行联系的知识。在这期间,我们查阅资料,积极的进行交流,分享自己最近学习的心得。

所谓“长风破浪会有时”,在经过几个星期的努力与付出后,我们团队最终把班级网站制作了出来,并且比网上中多数的班级网站增加了很多功能,使我们制作的班级网站别具一格。

通过这次课程设计,我们收获满满。不仅学会了对一个网站从无到有,从前端到后端的制作,还对软件工程的许多理论中加以实践。这对于我们理解敏捷方法、软件测试等理论有很大的帮助,同时也为我们之后工作打下了基础。

在此感谢网上分享学习资料的网友们,通过他们的分享,我们学会制作一个网站,并且解决了我们很多不懂的问题。也非常感谢团队的每个成员们,是大家的默默付出,完成了我们一开始认为艰难的任务;是大家的积极交流,为班级网站的制作出谋划策,凝结智慧的宝贵结晶。

最后,本次课程设计也要感谢杨厚群老师的辛勤付出,老师辛苦了,恳请老师查阅。

参 考 文 献

[1]  管建军.软件工程[M].武汉:武汉大学出版社,2019.

[2]  曲培新,庞永庆.Java项目开发案例精粹[M].北京:电子工业出版社,2019.

[3]  王珊.数据库系统概论[M].4版,北京:高教出版社,2019.

班级网站规划设计与实现课程设计报告相关推荐

  1. C语言源码做的班级档案管理系统课程设计(源码+课程设计报告)

    一.课程设计的目的: C语言课程设计是计算机科学与技术专业重要的实践性教学环节之一,本次设计结合实际应用的要求,使课程设计既覆盖C语言程序设计的知识点,又接近工程实际需要.本次设计的目的是通过课程设计 ...

  2. 计算器java程序设计报告总体设计_计算器设计的java课程设计报告.doc

    计算器设计的java课程设计报告.doc 华东交通大学课程设计1华东交通大学课程设计课程:Java程序设计题目:计算器设计年级:2010级专业:信息一班学号:姓名:组员:指导教师:课程设计题目:计算器 ...

  3. 火车时刻表C语言报告,终稿火车订票系统的设计与实现课程设计.doc最终版(范文1)...

    <火车订票系统的设计与实现课程设计.doc>由会员分享,可免费在线阅读全文,更多与<(终稿)火车订票系统的设计与实现课程设计.doc(最终版)>相关文档资源请在帮帮文库(www ...

  4. java计算机设计总结,java课程设计报告--计算器设计

    java课程设计报告--计算器设计 1 课 程 Java 程序设计 题 目 计算器设计 年 级 2010 级 专 业 信息一班 学 号 姓 名 组 员 指导教师 课程设计题目计算器设计 2 课程设计论 ...

  5. 计算机课程编程设计贪吃蛇游戏设计,c语言课程设计报告--贪吃蛇游戏系统

    c语言课程设计报告--贪吃蛇游戏系统 院 系 计算机科学技术学院 班 级 组 长 学 号 指导教师 2017 年 3 月 2 日 C 语言语言基础课程设计基础课程设计 贪贪贪贪吃吃吃吃蛇蛇蛇蛇游游游游 ...

  6. 大学生课程设计 ------ Java Web课程设计(学生成绩管理系统01)

    大学生课程设计 ------ Java Web课程设计(学生成绩管理系统01) Java Web课程设计(代码+课程报告) 课程作业效果如下: 学生1:后台实现.数据库设计.前端后台整合 学生2:前端 ...

  7. C语言课程信息管理系统课程设计,c语言课程设计学生信息管理系统.doc

    c语言课程设计学生信息管理系统 课程设计报告 课程名称: 高级语言程序设计课程设计 姓 名: 汤璞君 班级学号: BX1209 121003410937 指导教师: 吉顺如 完成日期: 2013.6. ...

  8. 红外遥控C语言程序设计,光电红外遥控开关设计(光电系统课程设计)【PCB图仿真图单片机C语言分工心得】..doc...

    光电红外遥控开关设计(光电系统课程设计)[PCB图仿真图单片机C语言分工心得]. 本科生课程论文 论文题目光电红外遥控开关设计课程名称光电系统设计学生姓名学号所在学院所在班级指导教师 目 录 摘要3 ...

  9. fir滤波器课程设计matlab,Matlab课程设计---FIR数字滤波器

    Matlab课程设计---FIR数字滤波器 课程设计任务书课程设计任务书 学生姓名学生姓名 xxxxxx 专业班级专业班级 信息信息 xxxxxx 班班 指导教师指导教师 xxxxxx 工作单位工作单 ...

  10. 大学生课程设计 ------ Java Web课程设计(学生成绩管理系统03)

    大学生课程设计 ------ Java Web课程设计(学生成绩管理系统03) Java Web课程设计(代码+课程报告) ---------------------我是分割线------------ ...

最新文章

  1. python怎么画条形图-如何按python中的值分组绘制条形图?
  2. dart系列之:dart语言中的异常
  3. 台安变频器n2按键说明_台安N2变频器说明书.pdf
  4. 读书笔记之《程序员必读的职业规划书》
  5. python数据库操作sqlite_使用Python对SQLite数据库操作
  6. discuz mysql 优化_Discuz X系统:【效率机制】-【MySQL 优化】详解
  7. c++ placement new
  8. bash 将二进制转换为十进制_用‘栈的思想编写一个十进制转换二进制、八进制或十六进制的程序...
  9. Wannafly挑战赛9: B. 数一数
  10. 信息系统项目管理师必背核心考点(四十一)风险管理计划
  11. 7Zip下载-适用 Windows 解压软件
  12. Android--›键盘表情切换的终极解决方案(已重构)
  13. Ubuntu上开发python的十大IDE
  14. 计算机普通用户禁止修改c盘,win10系统禁止Guest账户访问C盘的设置技巧
  15. 【Gsutil】使用手册
  16. java 笔画排序_中文排序 - 笔画
  17. 从一个程序中生成另一个程序(资源法)
  18. 《使用Python进行自然语言处理》学习笔记四
  19. 计算机软件分类系统软件和,计算机化系统软件分类和验证
  20. 中国计算机学会高级会员资格,高级会员

热门文章

  1. element ui 图片加载失败_vue 3.x 中使用element-ui时, el-image图片加载失败!!
  2. Android Koom 处理 app 的OOM 一些系列问题(java /native/thread leak)
  3. 详解相移法空间相位展开与时间相位展开
  4. Go语言中 经典的map排序方法及案例 (Golang经典编程案例)
  5. 用计算机弹暗影刺客,伍六七:op曝光了七大暗影刺客的武器,你们都注意到了吗?...
  6. redis 操作5中数据类型
  7. 手把手教你ubuntu下移植MJPG-streamer
  8. 数字化转型,企业需要何种网络架构?
  9. 大学生使用计算机遇到的问题,大学生计算机学习遇到的问题浅谈
  10. 在国内怎么玩LOL韩服呢?