*>、<%@%>等一系列的特别语法,使用这些语法来进行一些特定的操作,如引用文件、URL转向、JavaBean引用等这样的操作,这些都是由引擎自动帮你完成初始化的工作。
JSP必将成为ASP技术的有力竞争者。
使用JSP来开发本站是因为JSP具有如下优势:
(1)JSP的效率和安全性更高
(2)JSP的组件(Component)方式更方便
(3)JSP的适应平台更广
1.2MyEclipse7.0简介
MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。
它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSF,CSS,Javascript,SQL,Hibernate[3]。
在结构上,MyEclipse的特征可以被分为7类:
1、JavaEE模型
2、WEB开发工具
3、EJB开发工具
4、应用程序服务器的连接器
5、JavaEE项目部署服务
6、数据库服务
7、MyEclipse整合帮助
对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。
MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级[4]。
7.0的发布意味着我们不再需要配置Tomcat以及服务器了,你所需要做的仅仅是安装MyEclipse7.0[5]。
7.0发行版包括在7.0M2和6.6版本基础上对bug的修复和功能的加强。
提供的支持包括:
Eclipse3.4.1/Ganymede、RESTweb服务、新的myeclipse操作板、spring工具集更新、集成Manven2、openJPA支持、高级javascript工具、专业的jsdt实现、报表工具加强、jsf和ICEfaces工具更新。
1.3后台数据库介绍
SQL全称是“结构化查询语言(StructuredQueryLanguage)”,最早的是IBM的圣约瑟研究实验室为其关系数据库管理系统SYSTEMR开发的一种查询语言,它的前身是SQUARE语言。
SQL语言结构简洁,功能强大,简单易学。
如今无论是像Oracle、Sybase、Informix、SQLserver这些大型的数据库管理系统,还是像VisualFoxporo,PowerBuilder这些微机上常用的数据库开发系统,都支持SQL语言作为查询语言[6]。
SQL是一个非过程化的语言,因为它一次处理一个记录,对数据提供自动导航。
SQL允许用户在高层的数据结构上工作,而不对单个记录进行操作,可操作记录集。
SQL可用于所有用户的DB活动模型,包括系统管理员、数据库管理员、应用程序员、决策支持系统人员及许多其它类型的终端用户[7]。
由于所有主要的关系数据库管理系统都支持SQL语言,用户可将使用SQL的技能从一个RDBMS转到另一个。
所有用SQL编写的程序都是可以移植的。
现在绝大多数流行的关系型数据库管理系统,如Oracle、Sybase、Microsoft SQL Server、Access等都采用了SQL语言标准。
虽然很多数据库都对SQL语句进行了再开发和扩展,但是包括Select、Insert,、Update、Delete、Create以及Drop在内的标准的SQL命令仍然可以被用来完成几乎所有的数据库操作[8]。
2系统分析
2.1开发背景及意义
随着国家教学改革的不断深化,高校办学规模的不断扩大,科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
目前一些院校的宿舍管理工作仍然是在手工记录的基础上进行,在不同部门间的信息传递也是手工记录,显然这与院校当前教学改革的步调不一致。
作为计算机应用的一部分,使用计算机对宿舍信息进行管理,具有着手工管理所无法比拟的优点。
例如:
检索迅速、查找方便、可靠性高、成本低等,这些优点能够极大地提高宿舍管理的效率,也是高等院校的科学化、正规化管理,是与世界接轨的重要条件。
2.2可行性研究
2.2.1经济可行性
系统的经济可行性分析是指对组织的经济状况和投资能力进行分析,对系统的建设运营和维护费用进行估算,对系统建成后可能取得的社会及经济效益进行估计。
由于本系统开发所需要的软件都是从校园网上免费下载的,因此开发的费用比较低。
宿舍原来是采用手工作业的方式进行数据管理,费时耗力,如果现在采用数据库电脑化管理,可以节约大量纸张、油墨等耗材,也可以节约大量的人力和时间,有效的提高了宿舍管理的质量和效率。
总而言之,效益远远大于投入。
2.2.2技术可行性
学生宿舍管理系统使用MyEclipse7.0集成开发环境进行前台的开发,由于MyEclipse7.0的可视化模块比较强大,所以在系统的设计过程中不会有太大问题,该系统使用SQL2000对后台的数据进行操作,使得数据完整性得以保证,并使数据操作简单化。
通过上述分析得出该系统在技术上是可行的。
2.2.3操作可行性
本系统运行在通用的Windows操作系统上,具有Windows相似的操作界面。
具有简单易学,使用方便等特点,熟悉计算机的人员不需要再经过专门的培训即可熟练操作。
2.3需求分析
学生宿舍管理系统是学生宿舍管理工作中必不可少的部分,对于宿舍的管理者和学生来说都非常重要,但长期以来传统的手工方式流程比较繁琐,效率相当低。
而一个成功的学生宿舍管理系统应提供快速的学生信息检索功能、快捷的办理学生入住、学生退房流程。
通过对一些典型的学生宿舍管理系统的考察、分析并结合学校的需求,要求本系统具有以下功能。
1.美观、友好的操作界面,能保证系统的易用性。
2.提供灵活、方便的权限设置功能,使整个系统的管理分工明确。
3.实现床位状态查询、寝室状态查询功能。
4.按学生姓名模糊查询。
5.实现学生入住管理、学生退房管理。
6.实现楼房信息管理、房间信息管理等功能。
2.3.1功能需求
本系统采用SQL数据库使数据具有较强的完整性、较好的数据安全性等特点以及提供了标准的帮助,使用户方便的获得所需的帮助。
界面友好、操作简单、功能齐全是本系统的最大优点。
通过学生宿舍管理系统还可以实现如下功能。
宿舍楼信息管理:
主要实现添加、删除、修改以及查找楼房信息等功能。
房间信息管理:
主要实现添加、删除、修改房间信息以及生成床位等功能。
床位信息管理:
主要实现添加、删除以及查找床位信息等功能。
学生信息管理:
主要实现添加、删除、修改学生信息等功能。
学生入住/预订管理:
主要给学生办理入住、预订寝室等功能。
学生退房管理:
主要给学生办理退房、取消预订房间等功能。
用例图(UserCase)是被称为参与者的外部用户所能观察到的系统功能的模型图,呈现了一些参与者和一些用例,以及参与者和用例之间的关系,主要用于对系统、子系统或类的功能行为进行建模。
用例图定义了系统的功能需求,用例图是从系统的外部看系统功能,并不描述系统内部对功能的具体实现。
用例图展示了用例之间以及同用例参与者之间是怎样相互联系的。
用例之间可以抽象出包含(include)、扩展(extend)和泛化(generalization)几种关系。
具体的用例图图符如表2.1所示。
表2.1uml用例图图符
可视化图符
名称
描述
系统
用来表示系统边界,所有用例放在系统之中
用例
用来表示用例图中的用例
执行者
用于描述与系统功能有关的外部实体,可以是用户,也可以是外部系统
关联
连接执行者和用例
宿舍管理系统有超级用户和普通用户两类用户。
根据使用权限的不同所能操作的功能也不同,普通用户只能对学生入住预订登记、寝室使用状态查询和床位使用状态查询等一些功能进行操作,而超级用户拥有对所有模块进行操作的权限。
系统用例图如图2.1所示。
图2.1系统用例图
宿舍楼信息管理:
宿舍楼信息管理主要管理楼房信息的添加、楼房信息的修改、楼房信息的删除、楼房信息的查询等。
宿舍楼信息管理的用例图如图2.2所示。
图2.2宿舍楼信息管理用例图
寝室信息管理:
寝室信息管理主要管理寝室信息的添加、寝室信息的修改、寝室信息的删除、寝室信息的查询、生成床位等。
寝室信息管理的用例图如图2.3所示。
图2.3寝室信息管理用例图
床位信息管理:
床位信息管理主要管理床位信息的添加、床位信息的删除、床位信息的查询等。
床位信息管理的用例图如图2.4所示。
图2.4床位信息管理用例图
学生信息管理:
学生信息管理主要管理学生信息的添加、学生信息的删除、学生信息的查询等。
学生信息管理的用例图如图2.5所示。
图2.5学生信息管理用例图
系统的行为是通过对象的动作来描述的,通常可以通过顺序图来描述对象之间如何进行消息的传递。
顺序图是将交互关系表示为一个二维图。
纵向是时间轴。
横向轴代表了在协作中各独立对象的类元角色。
类元角色用生命线表示。
具体uml顺序图图符如表2.2所示。
表2.2uml顺序图图符
可视化图符
名称
描述
带有生命线的对象
用于表示顺序图中参与交互的对象
激活
表示在这个时间段内,对象处于活动状态
消息
用于表示对象之间传递的消息
返回消息
用于表示对象之间传递的消息
超级用户查询学生信息,查询学生信息的顺序图如图2.6所示。
图2.6查询学生信息顺序图
超级用户删除学生信息,删除学生信息的顺序图如图2.7所示。
图2.7删除学生信息顺序图
2.3.2性能需求
系统的性能是系统的一种非功能特性,系统的性能关注的不是系统是否能够完成特定的功能,而是在完成功能时展示出来的及时性。
为了能够客观地度量系统的性能,定义了一系列的性能指标,包括响应时间、吞吐量、资源利用率等等。
以便于在不同情况下度量系统的性能。
响应时间是指系统对请求做出响应的时间。
吞吐量是指系统在单位时间内处理请求的数量。
资源利用率反映的是在一段时间内资源平均占用的情况。
3系统设计
3.1系统功能结构设计
本系统主要是对学生宿舍进行管理,包括对学生所用的宿舍楼信息进行管理,可以查询宿舍楼信息、添加宿舍楼信息、修改宿舍楼信息及删除宿舍楼信息等操作。
对学生所用的寝室进行管理,可以查询寝室信息、添加寝室信息、修改寝室信息及删除寝室信息等操作。
对学生所用的床位信息进行管理,可以添加、查询及删除床位信息等操作。
对学生信息进行管理,可以新增学生信息、根据学生名称查找学生信息及删除学生信息等操作。
可以对学生入住及更换寝室等信息进行管理。
还可以添加普通用户以及对用户的密码进行更改等操作。
3.1.1系统功能模块图
系统的模块主要是按照功能进行划分的,包括宿舍楼信息管理、房间信息管理、床位信息管理、学生信息管理、学生入住/预订管理、学生退房管理、寝室信息查询、床位信息查询、普通人员管理及超级用户密码等模块。
系统功能模块如图3.1所示。
图3.1系统功能模块图
1、宿舍楼信息管理:
主要是记录宿舍楼的基本状况,包括楼房名称、楼里寝室数量等基本信息。
以便于用户分配寝室。
可以实现添加楼房信息、修改楼房信息、删除楼房信息以及根据楼房名称模糊查询楼房信息等功能。
2、房间信息管理:
主要记录宿舍各个房间的基本信息,房间名称,楼房名称,房间床位数量等等。
以便于用户对学生住宿的分配。
可以实现添加房间信息、修改房间信息、删除房间信息、查询房间信息以及生成床位等功能。
3、床位信息管理:
实现添加床位信息、删除床位信息以及查找床位信息等功能。
4、学生信息管理:
宿舍的学生信息主要来自学生处提供的,对于已住进宿舍的学生,用户从学生处提取相关信息,进行统一管理,如果学生退房之后,相应的信息也将被删除。
实现添加学生信息、删除学生信息以及查找学生信息等功能。
5、学生入住/预定登记:
学生向楼管处提出入住申请,用户进行查询宿舍相关信息之后,再根据学生的信息相应的给新生安排宿舍,登记和修改相关信息。
对于未到校的学生,可以提前预定房间。
实现预定房间和入住房间等功能。
6、学生退房管理:
学生向楼管处提出退房申请,楼管处核实证件准确无误之后,办理退房手续,并删除学生的相关信息。
实现取消预定房间和退房等功能。
7、普通人员管理:
实现添加普通用户以及删除普通用户等功能。
3.2数据库设计
3.2.1数据库概念结构设计
概念结构是各种数据模型的共同基础,比数据模型更独立于机器、更抽象,从而更加稳定化,是整个数据库设计的关键。
在需求分析阶段所得到的应用需求应该首先抽象为信息世界的结构,才能更好地、更准确地实现这些需求[9]。
将需求分析中关于数据的需求,综合为一个统一的概念模型。
概念模型的表示方法很多E-R方法是其中的一种,它提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型[10]。
构成E-R图的基本要素是实体型、属性和联系,其表示方法为:
实体型:
用矩形表示,矩形框内写明实体名。
属性:
用椭圆形表示,并用无向边将其与相应的实体连接起来。
联系:
用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:
1,1:
n或m:
n)。
1、学生实体图,主要表示学生的编号、姓名、性别、班级和身份证号,具体学生实体图如图3.2所示。
身份证号号号
班级
学生
性别
编号
姓名
图3.2学生实体图
2、宿舍实体图,主要表示房名称,楼名称,房入住,房类别和房间备注,具体宿舍实体图如图3.3所示。
楼名称
房名称
房入住
房类别
房间备注
宿舍
图3.3宿舍实体图
房间名称
3、房间实体图,主要表示床名称,房间名称,楼名称,床状态和学生入住编号,具体房间实体图如图3.4所示。
楼名称
床名称
床状态
房间
学生入住编号
图3.4房间实体图
4、楼实体图,主要包括楼名称,楼房数和楼备注,具体楼实体图如图3.5所示。
楼备注
楼房数
楼名称
楼
图3.5楼实体图
5、普通用户实体图,主要包括的内容是用户名和密码,具体普通用户实体图如图3.6所示。
密码
用户名
普通用户
图3.6普通用户实体图
3.2.2数据库的逻辑设计
数据库的逻辑结构就是把概念模型转换成为某个具体的数据库管理系统所支持的数据模型。
E-R模型向关系模型的转换
1.每一个实体型转换为一个关系模式,实体的属性就是关系的属性,实体的关键字就是关系的关键字。
2.联系的转换。
(1)一般1:
1,1:
m联系不产生新的关系模式,而是将一方实体的关键字加入到多方
实体对应的关系模式中,联系的属性也一并加入。
(2)m:
n联系要产生一个新的关系模式,该关系模式由联系涉及实体的关键字加上联系的属性组成[11]。
学生表(sxx)主要用于存放学生信息。
sxx表结构如表3.1所示。
列名
数据类型
长度
字段含义
sid
int
8
编号
sname
varchar
50
姓名
sex
varchar
2
性别
sbj
varchar
50
班级
ssfz
varchar
50
身份证号
表3.1学生表(sxx)
宿舍信息管理表(fxx)用于存放宿舍信息。
fxx表结构如表3.2所示。
表3.2宿舍信息管理表(fxx)
列名
数据类型
长度
列名含义
fmc
varchar
50
房名称
lmc
varchar
50
楼名称
frz
varchar
50
房入住
fxb
varchar
2
房类别
fbz
varchar
50
房间备注
房间信息管理表(cxx)主要用于存放房间信息。
cxx表结构如表3.3所示:
表3.3房间信息管理表(cxx)
列名
数据类型
长度
列名含义
cmc
varchar
50
床名称
fmc
varchar
50
房间名称
lmc
varchar
50
楼名称
czt
varchar
10
床状态
sid
varchar
50
学生入住ID
楼信息管理表(lxx)主要用于存放楼信息。
lxx表结构如表3.4所示:
表3.4楼信息表(lxx)
列名
数据类型
长度
列名含义
Lmc
varchar
50
楼名称
Lfs
varchar
50
楼房数
Lbz
varchar
50
楼备注
普通用户信息表(guanli)主要用于存放普通用户信息。
guanli表结构如表3.5所示:
表3.5普通用户信息表(guanli)
列名
数据类型
长度
列名含义
usename
varchar
20
用户名
password
varchar
20
密码
超级用户信息表(lingdao)主要用于存放超级用户信息。
lingdao表结构如表3.6所示:
表3.6管理员信息表(lingdao)
列名
数据类型
长度
列名含义
usename
varchar
20
超级用户名称
user_name
varchar
20
超级用户密码
3.3系统的详细设计
详细设计就是把每个模块都具体的描述出来,它的任务不是编写程序,而是给出程序设计蓝图,程序设计人员根据蓝图编写程序。
表达工具可以由开发单位或设计人员自由选择,但必须具有描述过程细节的能力,而且在编码阶段能够直接翻译为程序设计语言书写的源程序。
首先为每个模块确定采用的算法,选择某种适当的工具表达算法的过程,写出模块的详细过程性描述。
然后确定每一模块使用的数据结构。
最后确定模块接口的细节。
在本系统中系统详细设计都运用程序流程图来表示。
3.3.1登录流程图
打开登录界面,用户进行输入用户名和密码,用户名和密码都不允许为空。
当用户和密码输入正确时即可进入管理界面,用户按照不同的管理权限执行不同的操作。
用户登录程序流程图如图3.7所示。
图3.7登录流程图
3.3.2添加学生信息流程图
添加学生信息首先用户登录,然后选择学生信息管理里边的添加学生信息,然后输入相应的学生信息,最后确认添加信息是否正确,如果添加信息正确,则添加成功。
如果添加信息不正确,则返回到添加信息界面。
具体程序流程图如图3.8所示。
图3.8添加学生信息流程图
3.3.3修改学生信息流程图
修改学生信息首先用户登录,然后选择学生信息管理里边的修改学生信息,然后修改学生的信息,最后确认修改信息是否正确,如果修改信息正确,则修改成功。
如果修改信息不正确,则返回到修改信息界面。
具体修改学生信息的流程图如图3.9所示。
图3.9修改学生信息流程图
3.4人机界面设计
新增床位信息管理界面用来添加床位,通过输入楼房名称、寝室名称和床位编号来进行添加。
新增床位管理界面如图3.10所示。
图3.10新增床位管理界面
设计过程:
新增床位界面包括三个页面分别为top.jsp、left.jsp、和addcxx.jsp。
首先在top.jsp页面中添加一张图片,然后设置图片的格式,大小,以及显示样式。
然后在left.jsp页面中设置各个功能模块。
在该页面中添加一个表格,设置表格的样式以及背景颜色等等。
然后设置表格内容为居中显示。
各个功能模块能够链接到相应的页面中。
在addcxx.jsp页面中,首先添加两个文本框用来输入楼房名称和床位编号。
将床位编号的权限设置为只能输入数字。
寝室名称是通过添加一个下拉列表框来进行选择,不需要用户填写。
最后设置整个页面显示的样式,字体,字号等相关的属性。
学生退房管理界面用来实现学生退房的基本操作。
学生退房管理界面如图3.11所示。
图3.11学生退房管理界面
设计过程:
学生退房管理界面包括三个页面分别为主页面admin.jsp,学生取消预定房间页面quxiao.jsp和退房页面tf.jsp。
首先在主页面中添加一张图片,然后设置图片的格式,大小,以及显示样式。
主页面的设置与其他页面的设置相似。
在主页面中添加一个表格来显示学生入住的相关信息,设置表格文字的大小,显示样式和各个功能显示的状态。
其中当前状态一栏用红色字体来显示,提高了界面的显示效果。
在表格的上方有一个查找功能。
首先添加一个文本框用来输入学生名称。
通过学生名称来查找相关的内容。
取消预定和退房操作用蓝色字体来显示。
将内容设置为居中显示。
取消预定和退房操作都会弹出一个对话框,提示用户操作成功。
设置对话框的大小,显示样式等等。
4系统实现
4.1开发环境
操作系统:
Windows2000/XP。
数据库:
SQLServer2