理。
MVC二层设计模式的优势在于:大部分用过程语言比如ASP, PHP开发出来的Web应用,初始的开发模板就是混合层的数据编程。例如,直接向数据库发送请求并用HTML显示,开发速度往往比较快,但由于数据页面的分离不是很直接,因而很难体现出业务模型的样子或者模型的重用性。产品设计弹性力度很小,很难满足用户的变化性需求。MVC要求对应用分层,虽然要花费额外的工作,但产品的结构清晰,产品的应用通过模型可以得到更好地体现。首先,最重要的是应该有多个视图对应一个模型的能力。这样减少了代码的复制,即减少了代码的维护量,一旦模型发生改变,也易与维护。其次,由于模型返回的数据不带任何显示格式,因而这些模型也可直接应用于接口的使用。再次,由于一个应用被分离
为二层,因此有时改变其中的一层就能满足应用的改变由于不同的层各司其职,每一层不同的应用具有某些相同的特征,有利于通过工程化、工具化产生管理程序代码。 在当今jsp开发中有两种模式,它们分别被称为模式一和模式二。其中模式一是JSP+JavaBean的结合,模式二是JSP+JavaBean+Servlet的结合[5]。
模式一中,JSP页面独自响应请求并将处理结果返回客户。所有数据通过Bean处理,
JSP实现页面的表现。它还实现了页面的表现和页面商业逻辑相分离。
模式二遵循了视图控制器(MVC)模式,它的主要思想是使用一个或多个Servlet作为控制器。请求由前沿的Servlet(可能是多个Servlet构成的一个处理链)接受后,通过JDBC来连接数据库,执行数据库的操作,然后再用JavaBean来封装执行的结果,把结果保存到请求对象中,最后把视图派发到用于显示的JSP页面。在模式二中,JSP用于显示,充当了视图的角色;JavaBean组件用于数据的表示,相当于模型的角色;Servlet用于执行业务逻辑,相当于控制器的角色。如图3-6所示。
图3-6 模式二 数据传递关系
3.3 系统建设经济可行性的分析
经济发展需要投资,而每一个投资项目又可以在运行后带来丰厚的回报,且远大于投资。
学校信息化建设将使整个学校的管理工作更高效,在信息高速传递下将发生质的变化。而系统主要是个体开发,无需很高费用。并且系统只需安装在学校的服务器上就可以,投入
6 运行后将方便用户还可以节约大量的人力、物力还提供学校整体的管理水平。
综上所述,得出结论:从经济角度开发学生信息管理系统是完全可行的。
第四章 需求分析
4.1 系统的功能简述
本系统根据用户的需求,主要功能有添加、删除、修改和查询相应的信息,现将系统
为用户提供的服务总结如下:
本系统根据用户的权限不同分为两类:学生和管理员。 1.学生,能查看相应信息和进行本人基本信息的修改,还可已参加一些相应的选修课报名或退选已报名。
2.管理员,拥有系统管理、学生管理、选修课管理、成绩管理等功能的最高权限。 通过上述的分析总结可以得出学生信息管理系统用户功能简略图如图4-1所示。
图4-1 系统功能略图
4.2 系统的功能分析
(一) 管理员功能分析 系统管理:
管理员密码修改:可以对管理员自身的密码进行重新设定,以便于管理员的操作 发布公告:管理员可以发布公告来通知全体学生注意
查询公告:能及时查询发布的公告
修改公告:能及时对有错误的公告进行修改 删除公告:删除已过时的公告 学生管理:
添加学生:可以添加新加学生 删除学生:可以删除学生
查询学生:可以查询相应班级的学生
修改学生登录密码:可以修改学生登录客户端的密码 添加学生个人信息:可以对学生个人信息进行添加 查询学生个人信息:可以查询学生的个人信息
修改学生个人信息:可以对相应的学生进行个人信息修改 选修课管理:
添加选修课:可以添加选课表
删除选修课:可以删除过时的选课表 修改选修课:可以修改选课表
查询选修课:可以查询选课表,以便做相应的处理 成绩管理:
添加成绩:可以发布学生成绩 删除成绩:删除过时的成绩表
修改成绩:可以对出错的成绩进行修改
查看学生个人成绩:可以查询成绩,以便做出相应的处理 (二) 学生功能分析 个人信息维护:
查看个人信息:学生可以查看自己在校的信息 修改个人信息:学生可以修改自己在校的部分信息
7 查看密码:学生可以查看自己客户端登录密码 修改密码:学生可以修改自己客户端登录密码 课程信息:
查询课程表:学生可以查看相应的课程表
参加选修课:学生可以查看选修课表并参加选修
查询选修课:学生可以查询自己参加的选修课并可以退选 成绩查询:
成绩查询:学生可以查看自己的成绩
第五章 系统总体结构设
计
为了实现系统总体功能,提供系统的各项指标,这些指标包括系统的可行性、可用性、
可维护性、易读性。提高系统的工作效率。总体结构设计的主要任务是将整个系统合理的划分成各个功能模块,正确处理模块间与模块内部的联系以及它们之间的调用关系和数据关系,定义各模块的内部结构等等。
5.1 系统功能模块划分与设计 5.1.1 系统功能模块划分
本系统的功能划分主要是从学生和管理员两个角度进行划分的,分为前台和后台。前台主要是提供学生进行相应的操作。后台为管理员维护整个学生信息管理系统,并且对学生相应信息进行相应的维护。其功能划分如图5-1所示。
图5-1 学生信息管理系统功能模块划分
5.1.2 系统各功能模块的分析与设计
从上节的划分角度下面分模块对各模块进行功能的分析与设计,系统的主要用户有管理员和学生。现在从这两种用户的权限来分析并设计出属于不同用户的功能。 (1)、管理员模块的功能分析与设计
管理员,他具有系统正常运行的全部功能与系统使用的管理权限。对学生的管理有:添加、删除、查询学生、修改学生登录密码、添加、查询、修改学生个人信息。对选修课的管理有:添加、删除、查询、修改选修课。对成绩的管理有:添加、删除、查询、修改成绩单。管理员模块功能图如图5-2所示。
图5-2 管理员功能模块图
(2)、学生模块的功能分析与设计
学生是学校管理的主体,但不是系统使用的主体,唯一专为学生提供的使用接口是学生通过学号和登录密码进行与自己相关的操作,其主要功能是查看与自己相关信息,修改部分个人信息,修改自身登录密码,参与选课、报名等活动,无任何删除权限。学生功能模块图如图5-3所示。
图5-3 学生功能模块
5.2 系统功能模块流程图
5.2.1 系统管理员功能模块流程图
系统管理员是系统的最高权限管理者,进行操作前必须正确的登录,系统管理员的登录模块流程图如图5-4所示:
8 图5-4 管理员登录流程图
管理员成功登录后就可以对学生信息管理系统进行管理了。
第一、系统管理,管理员是唯一有权限管理系统的人,其操作流程图如下图5-5所示:
图5-5 系统管理流程图
第二、学生管理,管理员可以添加、删除学生,可以添加、修改学生的个人信息,还可以查看所有学生。其管理流程图如图5-6所示:
图 5-6 学生管理流程图
第三、选修课管理,管理员负责添加、删除、修改、查看选修课,以为学生查询参加选修课做准备。其处理流程图如图5-7所示:
图 5-7 课程管理流程图
第四、成绩管理,系统管理员在成绩管理上可以添加、删除、修改成绩和查看学生个人成绩。其操作流程图如图5-8所示:
图5-8 成绩管理流程图
5.2.2 学生功能模块流程图
第一、学生登录功能,学生只有输入正确的学号、密码和选择合适的权限才能登录学生端来管理和查询自己相关的事件。其操作如下图5-9所示:
图 5-9 学生登录模块功能流程图
第二、个人信息维护,学生登录后能够查询个人信息并做部分修改,还可以查看、修改自己登录密码,其具体操作流程图如图5-10所示:
图 5-10 个人信息维护模块功能流程图
第三、选修课信息,在学生登录客户端后查看所有选修课和已选选修课,其具体操作如下图5-11所示:
图 5-11 课程信息模块功能流程图
第五、成绩查询,学生可以查看自己的成绩,其操作流程图如图5-12所示:
图 5-12 成绩查询模块功能流程图
第六章 系统详细设计
通过全面的需求分析和精心的系统总体结构设计后,现在来阐明各个部分功能的具体
实现,在本详细设计阶段的主要任务就是系统模块流程图,系统程序设计与编写实现三个方面。
6.1数据库模型的分析与设计 6.1.1 数据库概述
计算机化的管理信息系统是一个以大量数据资源为基础并以此为中心而建立起来的应用系统。其目的是为一个组织中各个部门和各个管理层次提供必要的管理信息和决策数据,由于涉及到应用领域中一定的深度和广度,因而必然需要接触大量的不同类型的数据。对这些数据的合理组织和有效的存储时管理信息系统开发中一项至关重要的工作。 数据库(DataBase),是按照数据结构来组织、存储和管理数据的仓库,是用于查询大量数据的存储区域。使用数据库可以减少数据的冗余度,大大的节省数据的存储空间,实现数据资源充分共享等等功能。
在当今世界上,数据库系统种类繁多,就以SQLServer 2005为例。Microsoft SQL Server 2005 是Microsoft公司推出的大型数据库管理系统,该系统是一个典型的关系型数据库管理系统。它简单易用,并且能够和Microsoft公司的其它产品很好的相结合,编程接口很丰富、易用,可以很简单的用组件访问数据库。这样,我们可以很方便的在Java编程中使用
9 SQLServer 2005[7]。
6.1.2 数据字典
名字:用户 别名:
描述:登录管理此系统的用户和查询信息的学生 定义:用户=管理员+学生 位置:管理员和学生 名字:用户档案 别名:登录表 描述:管理系统所有用户档案
定义:用户档案=用户ID+用户密码+权限 位置:用户信息表 名字:学生信息 别名:学生信息表
描述:包括学生的基本信息,学号是唯一键,管理员可以添加任意学生,学生只能查询个人信息和部分修改的权限。
定义:学生=学号+身份证号+姓名+性别+出生年月+政治面貌+照片+班级+专业+院系+学制+联系电话+宿舍号+毕业类别+毕业学校+家庭住址+家长姓名+家长联系电话+奖惩情况+任职情况+勤工助学
位置:学生信息表 名字:管理员 别名:admin
描述:在用户表中权限为admin的用户 定义:admin=1{字符}10 位置:用户表 名字:选修课 别名:选修课
描述:所有学生的选修表
定义:选课表=选课号+选课名+时间+地点+老师名 位置:选课 名字:成绩表 别名:成绩表
描述:相应学生的成绩表
定义:成绩表=学号+姓名+院系+专业+班级+学期+课程号+课程名+学分+修读性质+成绩+取得学分+绩点+学分绩点
位置:成绩表
参考文献
[1]甘仞初、陈永红、龙虹.管理信息系统.机械工业出版社
[2]斯蒂尔勒.基于项目的软件工程:面向对象的方法.高等教育出版社
[3]江春华、刘继.攀枝花学院学生信息管理系统的设计与实现:[硕士论文].成都:电子科技大学
[4]曹广鑫、王谢华、王建凤.Struts数据库项目开发宝典.电子工业出版社 [5]刘晓华、张建、周慧贞.JSP应用开发详解.电子工业出版社
10