《基于JSP固定资产管理系统——定稿.docx》由会员分享,可在线阅读,更多相关《基于JSP固定资产管理系统——定稿.docx(36页珍藏版)》请在三一办公上搜索。
1、 本科生毕业论文题 目: 基于JSP的固定资产管理系统系 别: 专 业: 学 号: 姓 名: 指导教师: 完成时间: 摘要已经进入信息时代的今天,用纸张记录的简易信息管理方式,已不能用来快速、准确地分析、处理复杂的信息。所以,人们试图利用计算机来控制整个信息处理和信息管理过程。本文针对固定资产的管理进行研究,先后进行了可行性分析、需求分析、总体设计、详细设计及代码实现、测试等。本文探究了WEB应用系统开发的过程及相关技术,为实现基于JSP与MySQL数据库技术的固定资产管理系统,结合实际的资产管理方式设计其功能需求和业务处理流程,主要实现前台业务处理和对数据库中信息访问、读取、处理的正确过程。
2、系统将分为用户登录、固定资产增添/作废,固定资产调配等功能模块,首先着手于实现用户登录控制,从访问安全性考虑,设计了三种不同权限的用户。其次,定位不同权限用户完成何种功能,采用JSP网络编程和MySQL数据库技术控制数据处理过程。使用基础的HTML语言进行前台设计,JSP、SQL语句及MySQL数据库实现后台的数据处理过程。最终完成后进行系统测试。关键字:信息;固定资产管理;JSP;SQL语句;MySQL数据库 ABSTRACT Nowadays, we have entered the information age, using the simple information managem
3、ent way which is paper records can not rapid and accurate to analysis and process the complex information. So, people tried to use the computer to control the whole process of information processing and information management .Based on the fixed assets management research has carried on the feasibil
4、ity analysis, needs analysis, general design, detailed design and code implementation, testing.This paper discusses the application of WEB system development process and related technology. To realized the fixed assets management system which based on JSP and MySQL database technology, combined with
5、 the actual asset management to design its functional requirements and business processes. The system mainly realizes the foreground business processing and the correct procedure and processing to access and read the information from the data base.The function module of the system is divided into th
6、e user login, add or scrap the fixed assets, handle fixed asset and so on. Firstly, realization of control the users login, from the access security considerations, design of three kinds of different users. Secondly, different users complete different functions, using JSP network programming and MyS
7、QL database technology to control data processing. The front design of the system uses the basic HTML language. And, the background data processing process uses the technology which is the JSP, the SQL statement and the MySQL database. Eventually, testing the system after completing. Keywords: infor
8、mation; fixed assets management; JSP; the SQL statement; MySQL database目录1引言11.1系统设计背景11.2系统开发意义11.3系统开发工具的选用及介绍11.3.1 JSP的优势及特点11.3.2 服务器的优势及特点21.3.3 数据库的优势及特点22 需求分析32.1 可行性分析32.2 功能性需求分析32.2.1 识别系统业务32.2.2 系统数据流图42.3 非功能性需求分析62.3.1 可靠性需求62.3.2 安全性需求62.3.3 可扩展性需求63 详细设计73.1数据库设计73.1.1 数据库表创建73.1.2
9、 实体-关系模型(E-R图)73.2 系统结构图103.3功能需求113.3.1用户登录模块113.3.2访问权限不同的用户管理模块124 前台设计154.1 固定资产管理系统登录窗口154.2 超级管理员使用窗口174.3 管理者使用窗口204.3.1 查看管理员管辖资产明细204.3.2 查看所有资产使用情况234.3.3 添加固定资产244.3.4 报废固定资产274.4 普通用户使用窗口274.5 用户注册窗口285 后台设计295.1 系统架构295.2 服务器305.3 数据库结构30参考文献31致谢321引言1.1系统设计背景过去,人们管理资产的方法大多采用纸制统计、归档的方式,
10、这样各式各样的本子或者表单,容易丢失并且复杂、混乱,也没有一个系统的整合,让处理资源的时候,显得繁琐,导致浪费较多时间及精力。处于信息时代的今天,需要高效处理和使用信息。那么,信息化管理就变得尤其重要。结合实际情况和社会的高度需求,开发一个固定资产管理系统,从而实现资产专人专项负责、方便对资产进行分析和查询。1.2系统开发意义固定资产管理系统将所需功能整合在一起统一处理,方便了用户对资产的处理,节约时间、精力。本系统采用JSP编程语言,该语言是面向对象的编程语言,模块化处理,扩展性强,拥有DAO层的强大支持,便于数据管理。同时也具有较高的安全性,易用性。业务逻辑层采用JSP语言,类的设计和引用
11、更利于程序的开发、控制,具有较高的可读性。应用层采用HTML+CSS方式,让页面更美观。本系统采用B/S结构,无需安装客户端,随时随地都可以使用,使用简单、方便。具有通用性,不必担心客服端的兼容性问题。1.3系统开发工具的选用及介绍该系统开发工具选用JSP网络编程语言,支持的服务器选用TomCat,数据库选用MySQL。1.3.1 JSP的优势及特点JSP是目前流行的一种动态网页应用程序,它不仅能跨越平台执行功能强大的动态网页,而且能够以JAVA技术为基础的动态网页程序。目前比较流行的支持JSP的服务器是Tomcat。JSP程序要通过JDK编译以后才能执行,JSP不能直接传送到浏览器而是要先编
12、译成Servlet,Tomcat负责将JSP网页转换成一个Servlet,然后编译Servlet。JSP提供在HTML代码中混合某种程序代码。在JSP环境下,HTML代码主要负责描述信息的显示样式,而程序代码则用来描述处理逻辑。JSP面向Web服务器的技术,客户端浏览器不需要任何附加的软件支持。 1.3.2 服务器的优势及特点它是一个小型的轻量级应用服务器,运行时占用系统资源小 ,支持负载平衡与邮件服务等开发应用系统中的常用功能,并且不断改进和完善。 Tomcat适用于中小型系统和并发访问用户不太多的场合,是开发和调试JSP程序的首选。先进的技术、稳定的性能、源码开放和免费获取的机制,使得To
13、mcat深受Java爱好者的喜爱并得到了许多软件开发商的认可,成为目前相当流行的Web应用服务器。1.3.3 数据库的优势及特点MySQL是一个小型关系型数据库管理系统,MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源代码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。其优点有:(1) 综合统一;(2) 高度非过程化;(3) 面向集合的操作方式;(4) 以一种语法结构提供多种使用方式;(5) 语言简洁,易学易用。2 需求分析2.1 可行性分析可行性分析是为了弄清楚系统开发的项目是不是可以实现和值得进行
14、研究的过程,所以,进行可执行性的分析是非常必要的,经过最初的设计目标和进行的市场调查得出以下四点的可行性分析:经济可行性:该系统设计只是作为本人的毕业设计,所以没有什么经济效益可谈,开发过程不会产生大的开销;技术可行性:现有的技术已经能够充分支持、开发该系统,并且已有现行系统能稳定的运行;运行可行性:该系统采用B/S结构,只要能够将服务器架构好后,运行在浏览器中,就能随处使用;法律可行性:该系统是作为毕业设计与商业无关,又是自主开发设计,因此不会构成侵权,在法律上是可行的。2.2 功能性需求分析2.2.1 识别系统业务对于固定资产的管理,用户管理和资产管理这两个业务处理过程可以分为: (1)
15、分角色用户管理;(2) 查看资产管理;(3) 添加资产管理;(4) 资产报废处理;(5) 修改用户信息;(6) 修改资产信息。2.2.2 系统数据流图作为固定资产管理系统,用户登录系统就是对其中的资产做相应处理。用户分为三类:超级管理员、管理员、普通用户。超级管理员具备查看其管辖下的管理员信息,以便与其联系。此外,超级管理员还可以修改个人信息。管理员登录成功后显示其管理的所有资产信息,并能进行资产添加、报废和查看所有资产的操作。普通用户登录成功后,就能显示出所有资产信息,选中需要资产再查询出明细后,更改使用情况并登记。下面将根据不同角色用户访问系统数据处理流程,用数据流图的方式说明:1. 超级
16、管理员数据处理流程:超级管理员1处理事务登录信息D1管辖的管理员信息超级管理员ID2产生信息管理员信息超级管理员查询结果图2-1:超级管理员查看所管辖人员的信息超级管理员1处理事务登录信息D1修改信息超级管理员ID2显示修改信息修改信息修改信息图2-2:超级管理员修改个人信息2. 管理员数据处理流程:管理员管理员1处理事务登录信息D1查询资产信息2产生信息资产信息事务显示信息图2-3:管理员查看所有资产信息管理员1处理事务登录信息D1更新信息管理员ID2提示信息更新信息添加/报废信息图2-4:管理员添加/报废资产信息3. 普通用户数据处理流程:1处理事务登录信息D1查询资产信息2产生信息明细提
17、取信息事务修改信息普通用户D2更新信息3提示更新成功显示信息图2-5:普通用户修改资产信息2.3 非功能性需求分析在这里列举出所有非功能性需求,主要包括可靠性、安全性、可扩展性。2.3.1 可靠性需求本系统属于B/S结构,运行在浏览器端,所以对运行平台没有限制,使用方便,无需安装客户端。系统设计时将考虑容错性,完整的处理系统运行是将遇到的问题。2.3.2 安全性需求系统拥有一个登录页面,只有当用户拥有账号才能进行访问和操作,保障了资产的安全性。另外,用户分为三种权限,操作不同的内容保障了整个后台数据库里数据的安全性和完整性。2.3.3 可扩展性需求系统采用JSP编程语言,该语言是面向对象的编程
18、语言,模块化处理,扩展性强,拥有DAO层的强大支持,便于数据管理。将类封装在包里面,方便之后的扩展功能,导入数据包后就可以直接调用了,操作方便,整体性强。3 详细设计3.1数据库设计3.1.1 数据库表创建1. 数据库名称: management_ property;2. 访问数据库的用户名:root,密码:1234;3. 按访问权限将登录用户分为三类:创建者(超级管理员superadmin)、管理者(管理员admin)、用户(普通用户user);4. 此外,创建4个反应资产情况的表:资产存放部门表(department)、资产使用部门表(location)、资产使用状态表(status)、资
19、产类型表(type)。3.1.2 实体-关系模型(E-R图)1. 登录用户之间的关系模型:超级管理员用户名name密码password编号id管理员管理n1性别sex部门dep权限quanxian电话phone编号id用户名name密码password性别sex部门dep权限quanxian电话phonesuperID(外键)图3-1:超级管理员表、管理员表关系表3-1:超级管理员表(superadmin表):字段名称字段类型字段描述主键/外键idchar(2)编号主键namevarchar(20)用户名passwordvarchar(20)密码sexchar(2)性别depvarchar(2
20、0)所属部门quanxianvarchar(20)权限phonevarchar(20)电话表3-2:管理员表(admin表):字段名称字段类型字段描述主键/外键idchar(2)编号主键namevarchar(20)用户名passwordvarchar(20)密码sexchar(2)性别depvarchar(20)所属部门quanxianvarchar(20)权限phonevarchar(20)电话superIDchar(2)超级管理员编号外键表3-2 中superID属性用于关联与超级管理员之间的关系,反应管理员(admin)的管理者。2. 资产与其他实体之间的关系模型:编号姓名生产厂家数量
21、价格入库时间类别号使用状态号存放部门号使用者编号管理者编号存放部门编号名称资产使用状态状态编号名称分类类别编号名称n1111n生产日期使用部门号责任n管理员编号名称1图3-2:资产表及类别、状态、部门表关系表3-3:固定资产总表(property表):字段名称字段类型字段描述主键/外键propertyIdchar(9)资产编号主键propertyNamevarchar(40)资产名称propertyMakervarchar(30)资产生产厂家propertyNumint资产数量propertyValuefloat资产金额propertyPublicTimedate生产日期propertyImp
22、ortTimedate入库时间propertyLocationNoint资产存放位置编号外键(location)propertyTypeNoint资源所属类别号外键(type)propertyStatusNoint资产使用状态号外键(status)propertyDepartmentNoint存放部门编号外键(department)propertyUserNoint保管员编号外键(user)adminNoint管理员编号外键(admin)表3-4:状态信息表(status表):字段名称字段类型字段描述主键/外键statusIdint资产状态自编号主键statusNamevarchar(10)资
23、产状态名省略表location、type、user、department,以上四张表均只有编号和名称两个属性。3.2 系统结构图资产管理系统(index.html)登录成功无帐号(register.jsp)录入数据库(registerCheck.jsp)user.jspadmin.jspsuperadmin.jspshowAdminInformation.jspupdateinformation.jspoldProerty.jspaddProerty.jspgetAllProerty.jsp图3-3:系统大致结构用户访问资产管理系统是按权限不同,进去不同的管理页面,处理业务流程的。图3-3中省
24、略了user.jsp页面下的功能页。操作大致方式:访问管理系统首页(index.html)无帐号无法访问,点“注册”帐号跳转到注册页面(register.jsp),注册普通用户访问正确后,调转到首页重新填写错误按权限不同,访问不同页面进行处理图3-4:登录时的两种情况说明3.3功能需求3.3.1用户登录模块输入用户名及密码用户进入登录页面(index.html)判断用户名是否正确?判断密码是否正确?是访问数据库确定用户类型,转向相应页(superadmin.jsp/admin.jsp/user.jsp?)是否否(重新输入密码)选择哪类用户登录?superadmin/admin/user?图3-
25、5:用户登录模块图3-5中反应了用户登录该系统的过程。根据权限的不同,用户跳转到属于自己访问权限的页面,用户可对自己的信息进行更改,或者是对资产信息进行更改。3.3.2访问权限不同的用户管理模块1. 超级管理员管理模块:显示管理页面(superadmin.jsp)登录成功选择哪一模块?显示管辖的管理员(showAdminInformation.jsp)更改个人信息(updateinformation.jsp)是否更改?是否更新到数据库选择查询方式是否查询成功?查询到之后对应操作是否,未管理用户图3-6:超级管理员管理模块超级管理员具有查询自己所管辖的用户和修改个人信息的权限。图3-6中反应了超
26、级管理员两个功能模块的操作流程。2. 管理员管理模块:显示管理页面(admin.jsp)登录成功显示管理员管辖的资产信息查看该资产的明细信息(detail.jsp)determin.jsp查看所有资产使用情况(getAllProerty.jsp)添加固定资产(addProerty.jsp)报废固定资产(oldProerty.jsp)显示系统中所有的资产信息填写资产信息错误信息填写正确提交数据库(updateAdd.jsp)正确显示资产,报废?报废信息更新到数据库(propertyShow.jsp)报废图3-7:管理员管理模块管理员具备添加资产和修改资产状态的权限,能查看所有数据库中所有的资产信
27、息,还能查看属于自己管辖资产的详细信息。图3-7中反应了管理员四个功能模块的操作流程。3. 普通用户管理模块:显示管理页面(user.jsp)登录成功显示所有的资产信息是否选择需要资产?更新资产目前使用情况(borrow.jsp)是否资产信息更新到数据库 (borrowCheck.jsp)图3-8:普通用户管理模块图中提到的“更新资产目前情况”是指:使用该资产的放置位置、使用者、使用状态。4.注册模块:省略注册模块的操作流程,注册模块(register.jsp)只能注册普通用户,不能随意注册超级管理员和管理员。通过验证(registerCheck.jsp)用户名和密码的正确性后,更新到user
28、表中。4 前台设计4.1 固定资产管理系统登录窗口图4-1:管理系统登录页(index.jsp)以下代码段为图4-1中核心部分: 创建者 管理员 用户 我利用标签中的name属性,判断是哪一类用户登录系统进行操作。提交后,页面跳转到indexCheck.jsp,以下为indexCheck.jsp中的部分代码:定义一个id是为了将该登录用户的id写入session里面,之后判断用户是否登录和控制用户对资产或者是管理的操作。以下是process包里面的login.java的部分代码,用于确认的哪一类用户登录系统的。package process;public class login private
29、 String id; private String password; private String kind;Flag的值结合indexCheck.Jsp中的switch语句完成页面跳转。 private int flag=0; public login() public int getFlag() if(kind.equals(superadmin) flag=1; if(kind.equals(admin) flag=2; if(kind.equals(user) flag=3; return flag; 4.2 超级管理员使用窗口查看管辖管理员的信息,详见图11详见图12图4-2:超
30、级管理员登录成功后跳转页superadmin.jsp以superadmin表中的id为3的用户为例,说明“显示管辖的管理员”的实现过程。以下是实现查询该功能的核心代码,在entities包里面的superadmin类调用getAdmin()方法,查询到管辖的管理员之后显示到管理页上(showAdminInformation.jsp)。public ResultSet getAdmin() throws Exception /超级管理员通过该方法查询其管理的人员信息String sql=select admin.id ,admin.name,admin.sex,admin.dep,admin.p
31、hone from admin,superadmin where superadmin.id = superID and superadmin.id= + id;使用静态方式调用DBConn中的方法。where后面的语句实现两张表的连接,并查询出只有id为3的用户的管理信息。rs = DBConn.executeQuery(sql);return rs;图4-3:显示查询出该超级管理员管理的人的信息图4-3中说明了id为3的超级管理员管辖了两名管理员,分别是id为1的lisi和id为2的xiaohua。图4-4:超级管理员修改个人信息以id为3的超级管理员为例,以下是修改过程:图4-5:用户信
32、息修改前数据库控制台中查询的结果图4-6:修改后跳转到update.jsp提示页面图4-7:修改完成后数据库中更改情况4.3 管理者使用窗口4.3.1 查看管理员管辖资产明细注1图4-8:管理员登录成功后跳转页admin.jsp管理员登录成功后,在其管理页面就会显示管理的资产信息,即注1内容。点击显示该资产的详细信息。(详见图4-9、4-10)1. 以下是admin.jsp中的部分代码: 将id的值存入determin类里,用于之后提取该资产的详细信息。 a href=determin.jsp?propertyName= 2. 以下是entities包中admin类里的getProperty(
33、)方法: public ResultSet getProperty(String id )throws Exception /读取该管理者所管理的资产信息 /查询条件: /1.资产管理者编号与管理者编号匹配/2.管理者管理的资产编号与资产编号匹配String sql=select propertyId,propertyName + from admin,property + where property.adminNo=+ id + ;ResultSet rs = DBConn.executeQuery(sql);使用此方式传递参数 return rs;图4-9:显示选中的资产以下是deter
34、min.jsp中的部分代码: a href=detail.jsp?p_id=进入使用此方法将资产id传给detail.jsp页面处理。图4-10:显示该资产明细查看完后,点击“返回”页面将跳转到admin.jsp页面上,管理员可以完成其他功能操作。4.3.2 查看所有资产使用情况图4-11:显示数据库中所有资产的信息本功能的设计是为了方便管理者查看所有资产的使用状态,及时的得到资产的信息。4.3.3 添加固定资产注2图4-12:增加新资产(addProperty.jsp)填写固定资产基本信息,值得一提的是,下拉列表与数据库之间的关联(注2)。在数据库中存放“资产类型”、“资产状态”、“资产存放部门”是采用编号的方式。查询资产明细时,也是需要与相应的表建立连接。这里前台下拉列表是文字显示,后台使用以下代码将文字转化为数据,添加到数据库property表中。1 首先在addProperty.jsp页面中,使用和标签创建下拉列表,value属性是重点,将显示的列表信息与value的值对应;资产类型: 计算机