JSP课程设计报告2011年6月23日目录第一章绪论 (3)第二章需求分析 (3)§2.1总体需求分析 (3)§2.1.1 主要功能 (3)§2.1.2 特色优点 (10)§2.2 数据字典 (10)第三章总体设计 (10)§3.1数据库连接部分 (11)§3.2查询版块 (13)§3.3设置板块 (14)§3.4统计板块 (14)§3.5公寓安排处理 (14)§3.6公寓增减 (15)第四章数据库设计 (15)§4.1 概念结构设计 (15)§4.2逻辑结构与物理结构设计 (15)第五章详细设计 (16)§5.1 包的分布 (16)§5.2 jsp界面设计 (16)§5.3 Servlet代码 (18)第六章测试 (18)§6.1 测试方法 (18)§6.2 容错处理 (19)第七章设计总结 (19)第八章参考文献 (19)第一章绪论这次课程设计通过一个实现公寓住宿资源的信息化管理的实例,来熟悉采用JSP+servlet的模式如何来定制一个小型电子商务平台。
系统采用界面与业务逻辑分离的三层结构设计,将业务逻辑封装在servlet中,使得系统的安全性、可维护性、重用性和可扩展性都大大提高。
“麻雀虽小五脏俱全”,本系统从功能上来说,是比较完备的。
功能上的完备、面向对象的三层结构设计、模块化的界面设计是该系统所引用实例的亮点;软件工程的思想是本系统文档组织上的亮点;语言的通顺,通俗易懂及丰富的表格、图片等说明是本系统在写作上的亮点。
关键字:JavaBean、servlet、ODBC第二章需求分析§2.1总体需求分析§2.1.1 主要功能该系统主要是针对我校得公寓住宿资源进行的一个信息化管理,大致分为了公寓住宿资源中操作的三大版块(日常操作,新生报到,毕业生离校)。
使得在运用中,更加人性化。
该系统主要完成的功能如下。
(1)数据查询(可以分为7种查询方式或内容)。
(2)公寓增减(分为4种类型的增减部分)。
(3)房间属性设置(共有4种设置)。
(4)公寓安排处理(共有3种情况)(5)数据统计(共有6种统计方式和内容)整体设计如下图所示:下面是几个细小的版块:1)数据查询版块用于对数据库中的数据进行查询,由于新生报到,毕业生离校,和日常的工作中,都可能会用到查询,故查询在每个大的版块中都有。
在查询中进行了翻页处理及各种错误信息的处理,使得运用明了。
查询所有空床位通过公寓号查询住宿情况通过学号查询住宿情况通过姓名查询住宿情况查询公寓信息查询学生信息查询可住空床位数据查询图2.1.1.b 表示总体数据查询功能图公寓住宿资源管理系统新生报到日常操作毕业生离校数据查询公寓增减房间属性设置公寓安排处理数据查询数据统计房间属性设置公寓安排处理数据查询数据统计公寓安排处理图2.1.1.a 表示总体设计图图2.1.1.c 表示总体数据查询界面图2)公寓增减版块由于学校存在新建公寓和废除公寓的现象,故加入了公寓增减的版块。
不过在其中的操作中,可能会出现一些其他的客观原因,导致操作人员在操作时出错或则中途打断,故加入了增减房间的两个操作。
添加房间删除房间添加新公寓删除旧公寓公寓增减图2.1.1.d 表示总体公寓增减功能图图2.1.1.e 表示总体公寓增减界面图3)房间属性设置房间可用性转换:公寓中,有一些房间中的某些床位由于漏水等其他情况,导致不能住人,所以加入了对其的可用性设置的功能。
房间预留:也有某些特殊情况,一些空的床位已经被预留给了其他人,避免其他人被安排入住。
宿舍专业分配:由于我们现在的公寓实行的是同系统专业的入住原则,所以我们则给新生分配房间之前我们会对公寓中打算给新生入住的的每个房间的每个床位进行专业的划分,使得新生入住时,自动分配给其该专业的房间。
宿舍入住性别设置:用来给某些新建成的公寓设置其到底为男生公寓还是为女生公寓。
或则,由于安排的不同,把某些男生公寓转换为女生公寓,或则女生公寓变为男生公寓。
宿舍专业分配宿舍入住性别设置房价可用性转换房价预留房价属性设置图2.1.1.f 表示总体房间属性设置功能图图2.1.1.g 表示总体房间属性设置界面图4)公寓安排处理版块公寓房间中,主要是存在调换宿舍,还有对学生进行宿舍的分配,以及毕业时离校的信息删除。
图2.1.1.i 表示总体公寓安排处理界面图新生报到时宿舍分配毕业生离校时宿舍还原宿舍调换公寓安排处理图2.1.1.h 表示总体公寓安排处理功能图5) 数据统计版块由于在迎新时和毕业生离校时,我们在进行繁忙的工作同时,我们需要统计一下我们的报到情况和离校情况,避免出现没有房间提供入住或则是人潮高峰时无法应对。
图2.1.1.k 表示总体数据统计界面图新生报到按公寓统计毕业生报到按系别统计毕业生报到按性别统计毕业生报到按公寓统计新生报到按系别统计新生报到按性别统计数据统计图2.1.1.j 表示总体数据统计功能图§2.1.2 特色优点本系统具有一下特点。
(1)界面模块化:本系统在界面设计上都采用了模块化的处理思想,把很多页面共有部分集成一个模块,例如页面的头和导航条,这样在开发时,大大提高了开发效率。
(2)三层结构设计:本系统采用三层结构设计,即程序逻辑结构分为用户界面层、业务逻辑处理层和数据存储层。
三层在实际的物理结构上也是独立的,业务逻辑处理层采用servlet实现,用户界面与业务逻辑分离,系统的安全性、可维护性、重用性和可扩展性都大大提高。
3.人性化设计:本系统导航的另一个亮点就是导航明晰。
这样,不管客户位于哪个角落,都不会迷路§2.2 数据字典第三章总体设计§3.1数据库连接部分把对数据库的操作统一都封装在edit的包里,重用性和可扩展性都大大的提高详细情况如下:(1)查询列表一)对学生居住情况的查询通过姓名查找该生所住的房间--作用于床位表学生表public ResultSet LiveBySname(String name)通过学号查找该生所住的房间--作用于床位表学生表public ResultSet LiveBySnum(String snum)通过公寓号查找该生所住的房间--作用于床位表学生表(找出有人住的房间)public ResultSet LiveByGnum(String anum,String fnum,String rnum ) public ResultSet LiveByGnum(String anum,String fnum )public ResultSet LiveByGnum(String anum )通过公寓号查找该生所住的房间--作用于床位表学生表(找出有人住的房间)public ResultSet LiveByGnum(String anum,String fnum,String rnum ) public ResultSet LiveByGnum(String anum,String fnum )public ResultSet LiveByGnum(String anum )二)对公寓情况的查询找出所有的空床位public ResultSet NullByGnum(String anum,String fnum,String rnum ) public ResultSet NullByGnum(String anum,String fnum )public ResultSet NullByGnum(String anum )找出允许用的空床位public ResultSet YNullByGnum(String anum,String fnum,String rnum ) public ResultSet YNullByGnum(String anum,String fnum )public ResultSet YNullByGnum(String anum )通过公寓号查询公寓情况public ResultSet ApartmentByGnum(String gnum)通过公寓号查找安排情况public ResultSet StayByGnum(String anum,String fnum,String rnum )public ResultSet StayByGnum(String anum,String fnum )public ResultSet StayByGnum(String anum )三)学生情况通过学号查询学生情况public ResultSet StudentBySnum(String snum)2)添加列表已有公寓添加房间public int AddNewStay(String anum,String fnum,String rnum)添加新公寓public int AddNe(String anum)添加学生信息public int AddNewStudent(String snum,String sname,String sex,String tie) 3)删除列表删除房间public int DelStay(String anum,String fnum,String rnum)删除公寓public int DelApartment(String anum)删除学生信息public int DelStudent(String snum)4)设置列表一)设置床位可用状态通过宿舍id设置为可用public int Y_stay(String id)设置为不可用public int N_stay(String id)二)设置宿舍分配的初始状态public int SetClass(String cnum, String anum)public int SetClass(String cnum, String anum,String fnum)public int SetClass(String cnum, String anum,String fnum,String rnum ) 返回宿舍的状态public int ReturnStay(String cnum,String id )设置该宿舍先住人数加人public int SetNownum(String anum)减人public int SetDelNownum(String anum)5)分配操作fp_listpublic int fp(String sname, String snum,String sex,String tie )6)统计操作tongji一)对新生报到时操作按男性进行统计public ResultSet SexmTongji(String time)按女性进行统计public ResultSet SexwTongji(String time)按专业进行人数统计public ResultSet ZhuanyeTongji(String tie,String time )按公寓进行人数统计public ResultSet gongyuTongji(String anum,String time )二)对毕业生离校时操作按男性进行统计public ResultSet liftSexmTongji(String time)按女性进行统计public ResultSet liftSexwTongji(String time)按专业进行人数统计public ResultSet liftZhuanyeTongji(String tie,String time )按公寓进行人数统计public ResultSet liftgongyuTongji(String anum,String time )§3.2查询版块1)查询公寓信息通过select包的spapart.jsp页面进入Servlet下的Sapart.java完成公寓信息查询功能。