编号
毕业设计(论文)
题目 基于JAVA语言固定资产管理系统
二级学院 专 业
班 级
学生姓名 学号 指导教师 职称 时 间
页脚内容
基于MC9SDG128B智能车设计与实现 摘 要
伴随着Internet的蓬勃发展,人们已经不再满足用途信息的浏览和发布,而是渴望着能够充分享受网络所带来的更加多的便利。资产的管理设计与开发正适应了当今社会快节奏地生活,而使我们更加方便对公司的资产信息进行更便携的管理。
本文分析了固定资产的研究背景及意义,详细分析了某企业所需固定资产的详细需求,主要包括系统的需求分析、数据库的设计、系统功能设计及关键编码等,本系统实现了固定资产的管理、系统设置、报表查询、折旧查询、公司信息管理等功能。
本系统适用于普通固定资产的管理,在使用上力求操作容易,界面美观,另外,本系统具有较高的扩展性和可维护性,可能在以后需要的时候进行软件升级。
通过本系统的应用,可以加强对公司企业固定资产的管理,减轻工作人员的工作负担,提高工作效率,并能为管理者提供相应的决策,使用户摆脱人工操作的工作模式,实现公司信息管理的现代化。
本系统是按照软件工程管理思想对软件进行研制开发的。使用java语言编写基于C/S架构的应用程序,采用SQL Server 2000作为数据库的平台。支持运行的环境:Microsoft Window98/XP。
关键词:固定资产信息,企业管理(AMS),面向对象,系统开发
页脚内容 基于MC9SDG128B智能车设计与实现 ABSTRACT
With the rapid development of Internet, people no longer meet the purpose of information browsing and publishing, but eager to fully enjoy the network brought more and more convenient. Design and development of asset management are adapted to live in today's fast-paced society, and makes it more convenient for the company's asset information management more portable.
This paper analyzes the background and significance of fixed assets, a detailed analysis of the detailed fixed assets required for an enterprise needs, including system requirements analysis, database design, system design and key encoding functions, the system implements fixed assets Management, system settings, reports, queries, depreciation query, company information management functions.
The system for ordinary fixed assets management, sought in the use of easy operation, beautiful interface, In addition, the system's expansion and high maintainability, may need arose thereafter the right time for software upgrades.
Through the application of this system can enhance the company's fixed assets of the Guan Li, reduce the burden of staff work, improve work efficiency, and can provide the appropriate decision-making for managers, allowing users to work out a manual mode, to achieve company information
页脚内容 基于MC9SDG128B智能车设计与实现 management modernization.
The system is based on software engineering management thought developed the software.Written using java on C/S architecture applications, using SQL Server2000 as the database platform.
Support the environment: Microsoft Window98/XP.
Keywords: Fixed assets information, Enterprise management(AMS), Facing the object, Systematic development
页脚内容 基于MC9SDG128B智能车设计与实现 目录
第1章 绪 论.............................................................................................................................. 1 第2章 系统需求分析 .............................................................................................................. 3
2.1 系统开发背景 .............................................................................................................. 3 2.2 可行性分析 .................................................................................................................. 3 2.3 开发工具和运行环境 ................................................................................................ 2 2.4 用户需求说明 .............................................................................................................. 4 2.5 主要业务数据流图分析 ............................................................................................ 6 2.6 系统实现目标 .............................................................................................................. 8 第3章 系统总体设计 ........................................................................................................... 10
3.1 系统功能设计 ........................................................................................................... 10 3.2 系统模块设计 ........................................................................................................... 11 3.3 数据库的设计及实现 ............................................................................................. 13
3.3.1 E-R图分析 ....................................................................................................... 13 3.3.2 数据库的逻辑结构设计 .............................................................................. 14 3.3.3 数据库的建立与实现 ................................................................................... 15 3.3.4 数据库的连接 ................................................................................................ 12 3.4 运行设计 .................................................................................................................... 18
页脚内容 基于MC9SDG128B智能车设计与实现 第4章 系统详细设计 ........................................................................................................... 19
4.1 编码设计 .................................................................................................................... 19 4.2 部分主要功能模块的实现 .................................................................................. 189
4.2.1 登陆窗体 .......................................................................................................... 18 4.2.2主窗体 ............................................................................................................... 20 4.2.3固定资产管理窗体 ......................................................................................... 21 4.2.4固定资产报表查询及折旧窗体 .................................................................. 23 4.2.5固定资产系统管理窗体................................................................................ 27
第5章 结束语 ........................................................................................................................ 32 致谢 ............................................................................................................................................. 33 参考文献 .................................................................................................................................... 34
页脚内容 基于MC9SDG128B智能车设计与实现 第1章 绪 论
固定资产具有价值高,使用周期长,管理难度大,变动性大,使用地点分散等特点,而现在的很多企业,单位仍在使用落后的人工手动管理,不仅面临着巨大的工作量,而且查询起来困难,对于增加、减少、借出、归还、租赁等操作不好操作和管理,在统计和汇总方面都将是个很严重的问题,鉴于此,使用现代化计算机来管理企业的固定资产,对于企业本身的发展和运作、企业管理方面的水平,都会有很大的改善。
而对于一个企业,能有一套符合其企业运作流程的固定资产管理软件显得十分重要,青岛某企业单位,固定资产管理起来复杂,并存在以下问题:
(1)固定资产管理中的库存物品和现实的物品对不起来,管理起来复杂而且易出现错误。
(2)在对要报修或者借出的固定资产进行登记时,无法准确的记录其数量,使当前库存数量和现实中的数量不一致,导致汇总合计时的一系列错误,影响对固定资产的统计。
(3)固定资产信息反映不够及时准确,导致各个部门资产重复购置,浪费了很多可利用资源。
(4)固定资产折旧数据不准确,不能准确的反映该企业正确的营业成果和业绩。 根据当前的管理现状和出现的一些问题,该企业希望能适合其管理的固定资产管理软件,能克服以上提及的问题,提高企业以及工作人员的效率,为以后企业的发展创造更多的价值。
经过几个星期的需求分析调查以及双方多次的讨论,终于制订了适合该企业管理的业务模型,
页脚内容
基于MC9SDG128B智能车设计与实现 并确定利用稳定性高的SQL Server 2000做后台数据库,java作为开发语言来完成该企业的固定资产管理系统。
页脚内容
基于MC9SDG128B智能车设计与实现 第2章 系统需求分析
2.1 系统开发背景
经过为期一月的调查,发现XX软件公司在固定资产管理方面存在重大的问题,具体体现在以下几个方面:
(1)库存数量显示不正常,在对各部门固定资产做出一系列操作如借出、报修等操作后,库存固定资产数量存在异常,不能及时有效的反映当前真实的固定资产数量。
(2)在进行借出等操作时,无法确定系统库存的数量,容易造成物资资源的浪费。 (3)不清楚每个固定资产所在的位置和部门,也不清楚每个部门所拥有固定资产数目。
根据以上的需求,该公司决定要开发一套符合自己需求的固定资产管理系统,本论文就是在这种前提背景下提出的,希望以最完善的系统,来满足企业全部的要求。
2.2 可行性分析
开发任何一个基于计算机的系统,都会受到时间和资源上的限制。因此,在接受任何一个项目开发任务之前,必须根据客户可能提供的时间和资源条件进行可行性分析,以减少项目开发风险,避免人力、物力和财力的浪费。
1.技术可行性
目前有大量的软件编程工具和数据库开发工具,面向对象的软件编程工具,如C#、VB、VC++、Delphi、Java等等,数据库开发工具有Microsoft SQL Server、Access、
页脚内容
基于MC9SDG128B智能车设计与实现 Oracle等,这些工具的应用都可以满足编程的需要。
2.操作可行性
操作者只要具备一般的计算机基础知识,熟悉计算机基本操作,根据提示或说明进行操作,或者进行简单培训,即可具备操作能力。
3.经济可行性
可以及时的了解企业的管理效率、资源的利用。节省了人力、物力和资源,从而减轻了管理者的后顾之忧,有更多精力从事创造性的管理活动和其它劳动创造的活动中去,以期创造更多的价值,为企业的发展带来更好的利润[7]。
4.社会可行性
计算机的广泛应用,固定资产管理系统的建立,适应了社会经济发展的客观要求,是企业实现固定资产管理现代化的一大进步,能使决策、计划和其它管理活动更加科学、精确、灵活。
2.3 开发工具和运行环境
Eclipse 是一个开放源代码的、基于 Java 语言的可扩展软件开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Kit,JDK)。
Eclipse不仅仅是Java集成环境, Eclipse 还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,
页脚内容
基于MC9SDG128B智能车设计与实现 所有工具开发人员都具有同等的发挥场所。这种平等和一致性并不仅限于 Java 开发工具。尽管 Eclipse 是使用 Java 语言开发的,但它的用途并不限于 Java 语言;例如,支持诸如 C/C++ 和 COBOL 等编程语言的插件已经可用,或预计将会推出。Eclipse 框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。
MyEclipse 是Eclipse的一款插件,也是一款功能强大的J2EE集成开发环境,支持代码编写、配置、测试以及除错。
Genuitec发布了MyEclipse Enterprise Workbench 5.0,更智能、更快捷、更简单和更便宜的J2EE工具的新版本的诞生。它的价格对于个人和企业开发人员来说都是非常有吸引力的。这是J2EE IDE市场一个重量级的选手。通过增加UML双向建模工具、WYSIWYG的JSP/Struts designer、可视化的Hibernate/ORM工具、Spring和Web services支持,以及新的Oracle数据库开发,MyEclipse 5.0继续为业界提供全面的产品。
2.4 用户需求说明
XX为一家中小型的企业,平时对固定资产的管理不是太频繁,但会出现购入或被偷盗减少的现象,另外,平时也需要进行基本固定资产查询,以便有利于进行固定资产的基本管理,因企业中有很多不同的操作人员,需要对操作人员的权限进行合理的分配,以达到每个人应该做的操作。
通过详细的需求分析总结用户需求如下: (1)固定资产的基本管理
主要对固定资产进行基本的日常操作,如增加固定资产、减少固定资产、借出固定
页脚内容
基于MC9SDG128B智能车设计与实现 资产、归还固定资产等操作,能完全让用户进行正常的日常信息管理操作。 (2)权限分配操作
对于权限最高的用户,可以随时对其他用户分配权限,使不同的用户有不同的需求,可以进行不同的操作。 (3)公司信息设置
用户可根据各个企业不同的名称随时更换系统的显示名及背景图片,可对系统软件的显示情况根据个人能需要做不同的修改。 (4)固定资产信息查询
可随时对各种固定资产信息进行查询,根据不同的查询条件进行查询,如部门、类别等等,查询的固定资产能准确明白的显示出来,让人便于管理。 (5)资产折旧
可根据月份进行固定资产的汇总、折旧,便于对固定资产的管理。
2.5 主要业务数据流图分析
通过在XX公司的实习调研,对主要的业务流程有了一定了解,总结了公司的部分业务流程如下。
1.增加固定资产流图
在公司刚购进新的固定资产时,需要将新进的固定资产录入,生成报表,再将固定资产分配到各个部门。以上操作完成后,固定资产入库成功,将固定资产信息存档。增加固定资产流图如图2-1所示。
2.减少固定资产流图
页脚内容
基于MC9SDG128B智能车设计与实现 公司内部的固定资产会因为各种不同的原因出现减少的现象,如被偷盗、损坏,就需要进行减少操作。在具体操作时,先查出需要减少的固定资产信息,再根据具体情况来进行减少操作,并同时更新库存固定资产的存量。减少固定资产数据流图如图2-2所示。
3.报修固定资产流图
因人为或自然引起的固定资产损坏就需要报修,操作时需要查出固定资产的信息,并根据情况来进行操作,同时更新现有资产的库存。报修资产数据流图如图2-3所示。
增加资产 增加资产 购买 现存固定资产
增加商品 资产明细表 入库单报表
供应商购买请求 配货 资产报表 销售商品 填写 图2-1 增加固定资产流图
减少单表 现存资产 增加资产 登记 减少资产 现存资产表 页脚内容
打印 录入人 减少资产 减少资产报减少资产 基于MC9SDG128B智能车设计与实现 图2-2 减少固定资产数据流图
报修单表 现存资产 增加资产 登记 报修资产 现存资产表 图2-3 报修资产数据流图
录入人 打印 报修资产 报修资产报报修资产 2.6 系统实现目标
根据以上所做的系统需求分析和现阶段该企业的发展运营状况,必须制定出一套合理的解决方案来进行设计,以便开发出一套适合企业正常发展需要的固定资产管理软件。
本系统要实现的便是对固定资产的基本管理,包括对固定资产的基本操作、对现存固定资产的查询、系统的基本设置等等,具体的功能目标如下面所述:
(1)建立合理的数据库,使固定资产的管理能正常合理的进行。 (2)能够自动生成各种操作的自编码,便于识别和操作。
(3)便于信息的及时修改和查询,提高工作效率,降低工作成本。 (4)对用户的输入进行过滤,如果输入错误提示。
(5)建立保密性好的系统,不同的用户将被分配不同的操作权限。 (6)系统最大限度地实现了易安装性、易维护性和易操作性。 (7)采用C/S构架的系统体系结构。
页脚内容
基于MC9SDG128B智能车设计与实现
页脚内容
基于MC9SDG128B智能车设计与实现 第3章 系统总体设计
3.1 系统功能设计
根据用户需求设计了本系统的总体功能模块。本系统主要划分为四个模块,分别为公司信息部门管理模块、报表管理模块、系统设置模块、固定资产管理模块。
系统功能结构图如图3-1所示。
固定资产管理系统 固定资报表 公司信 系统
图3-1 系统功能结构图
各功能模块实现的功能分别为: (1)固定资产管理模块
本模块主要实现对固定资产的操作,如增加固定资产、减少固定资产、借出固定资产、归还固定资产、报修固定资产,可实现日常对于固定资产管理的基础操作。
(2)报表管理模块
本模块主要实现各个报表的查看管理,如固定资产卡片、减少固定资产卡片、借出
页脚内容
基于MC9SDG128B智能车设计与实现 固定资产卡片、报修固定资产卡片、完修固定资产卡片,便于查询所需要的数据。
(3)用户信息设置模块
本模块主要实现在使用过程中设置或更改公司的信息,如固定资产来源信息,公司名,联系方式,背景图片等。
(4)系统设置
本模块主要实现用户的基本设置,如密码修改,版本查看以及退出系统等基本操作。
3.2 系统模块设计
本节主要分析系统主要的四个模块的开发设计。包括固定资产管理,报表查询,系统设置和折旧管理。
(1)固定资产管理:主要实现固定资产的增加,减少、借出、归还、报修和维修几个功能,用户可根据实际需要来进行操作,如添加、修改、删除,当用户减少某固定资产时,将会在同时更新固定信息表,将最新的数量更新到表中,为以后的盘算和查询制定好了准确的数量,便于管理。
固定资产管理包含功能模块如图3.2所示。
页脚内容
基于MC9SDG128B智能车设计与实现 固定资产管理 增加固减少固变更固折旧固完修固
图3.2 固定资产管理
(2)报表查询:主要实现对各种操作及固定资产信息的查询,如固定资产信息、减少固定资产记录、借出归还固定资产等,能很清晰的随时查看固定资产详细信息以及各种操作的记录,如借出固定资产记录、维修固定资产记录等,还能根据固定资产报修及出借报表来查看当前未归还的固定资产,很好的管理公司的固定资产。
报表查询主要功能模块如图3.3所示。
固定资产信息 生成资部门资分类资资产减资产报资产借资产完
图3.3 报表查询
页脚内容
基于MC9SDG128B智能车设计与实现 (3)系统设置:只要实现系统的设置,包括显示设置,背景图片设置,还有公司部门设置,系统权限设置等,显示在登陆后,用户可根据自己的需要来更改公司的显示信息以及主窗体的背景显示图片,还可以随时添加、修改、删除公司的部门信息,方便的修改个人密码,如果有分配权限的权限,就可以按不同的需要来分配给不同的用户相应的功能,不会造成功能的混乱。
系统设置主要功能模块如图3.4所示。
登陆用户 分配用修改公公司 修改部密
图3.4 系统设置
3.3 数据库的设计及实现
3.3.1 E-R图分析
经过系统分析,固定资产的E-R图如图3.5所示。
M
页脚内容
编号 名称 用户号 用户名 权限 N 基于MC9SDG128B智能车设计与实现 固定资产 厂家 折旧数量
N 价值 M 数量 M 管理 用户 借出数量 借出 N 花费 获利 租借公司 电话 地址 公司名 M 折旧维修公司
图3.5 固定资产管理系统E-R图
地址 公司名 电话 3.3.2数据库的逻辑结构设计
将以上E-R模型转换为关系模型并规范化,经过转换和分析得到如下几个关系,它们分别是:
固定资产(固定资产自编号、资产编号、资产名、型号、出厂日期、入账日期、数量、使用部门、使用状态、所属类别、单位、总价格、单价、备注)。
用户(用户号、用户名、密码、权限、说明)。
减少(自编号、资产编号、数量、原因、单位、花费、所得、备注)。 借出(自编号、资产编号、数量、单位、预计所得、收录人、日期、备注)。
页脚内容
基于MC9SDG128B智能车设计与实现 归还(自编号、资产编号、数量、所得收入、日期、单位、备注)。 折旧(自编号、资产编号、数量、公司编号、预计花费、日期、备注)。 完修(自编号、资产编号、完修数量、公司编号、花费、日期、备注)。 公司(公司编号、公司名、地址、电话、备注)。 说明:带下划线的属性为关系的关键字。
3.3.3 数据库的建立与实现
数据库的建立采用了SQL Server 2000,数据库名为“GDZCDB”模式的进一步的分析和补充,数据库中创建了11个表。这11个表的结构和数据单元如下: (1)固定资产信息表(Assets)
固定资产信息表是用来存储固定资产的基本信息。表结构如表3.1所示。
表3.1 Assets表结构
序号 字段名 1 assets_id 类型 Variable characters (7) Variable characters 宽度 小数 7 Null 说明 固定资产编号 固定资产所属类别2 assets_type_code (20) 3 assets_classification_codNumber (13,2) 20 Null 代码 13 2 固定资产类别代码 页脚内容
基于MC9SDG128B智能车设计与实现 e 固定资产来源类别4 Storage_type_code Variable characters (4) 4 Null 代码 固定资产所属部门5 Department_code Variable characters (4) 4 Null 代码 Variable characters 6 assets_name (20) 7 assets_cost 8 assets_manufacturers 9 assets_storage_date Variable characters (4) Variable characters (4) Date & Time 4 Null 4 Null Null Null 固定资产原值 固定资产生产商 固定资产入库时间 固定资产期望使用10 assets_expected_year Variable characters (4) 4 Null 年限 固定资产已使用年11 assets_used_year Variable characters (2) 2 Null 数 12 assets_storage_place 13 assets_residuals_rate assets_depreciation_met14 hod assets_month_depreciati15 on_rate Number (5,2) 5 2 固定资产月折旧率 (40) Variable characters (4) Number (5,2) Variable characters 40 Null 固定资产折旧方法 4 Null 5 固定资产存储地点 2 固定资产残值率 20 Null 固定资产名称 页脚内容
基于MC9SDG128B智能车设计与实现 Assets_depreciation_tota16 l Assets_expected_residua17 ls Variable characters 18 Assets_remarks (200) 19 Assets_state_code 20 Modify_date 21 Modify_user_code 22 Create_date 23 Create_user_code Variable characters (4) Date Variable characters (8) Date Variable characters (8) 4 Null Null Null 固定资产状态 编辑日期 编辑人代码 创建日期 创建人代码 200 Null 备注 Number (13,2) 13 2 固定资产预计残值 Number (13,2) 13 2 固定资产折旧累计 8 Null Null Null 8 Null (2)固定资产删除表(Assets_Del)
固定资产删除表,主要存储因各种原因造成的固定资产减少记录。表结构如表3.2所示。
表3.2 Assets_Del表结构
序号 字段名 1 assets_id assets_del_reason_cod2 e 3 modify_date 类型 varchar(7) 宽度 小数 说明 7 Null 固定资产编号 varchar(4) 4 Null 固定资产删除理由代码 Date Null Null 删除日期 页脚内容
基于MC9SDG128B智能车设计与实现 4 modify_user_code 5 assets_del_opt_id varchar(8) varchar(7) 8 Null 7 Null 删除人代码 固定资产删除编号 (3)固定资产变更表(Assets_Change)
固定资产变更表,主要存储固定资产租借及归还租借的记录。表结构如表3.3所示。
表3.3 Assets_Change表结构
序号 字段名 1 Assets_id 2 department_code 3 Assets_chg_opt_id 4 Modify_date 5 Modify_user_code 类型 varchar(7) varchar(4) varchar(7) Date varchar(8) 宽度 小数 说明 7 Null 4 Null 7 Null Null Null 固定资产编号 固定资产变更部门代码 固定资产变更操作编号 变更日期 变更人代码 8 Null (4)固定资产折旧表(Assets_Depreciation)
固定资产折旧表,主要用来存储固定资产损坏后的报修信息。表结构如表3.4所示。
表3.4 Assets_Depreciation表结构
序号 字段名 1 assets_id 类型 varchar(7) 宽度 小数 说明 7 Null 13 Null 2 Null 固定资产编号 固定资产当前折旧值 固定资产折旧日期 2 Current_depreciation numeric(13,2) 3 Depreciation_date Depreciation_user_c4 ode varchar(8) Date 8 Null 固定资产折旧人代码 (5)固定资产状态表(Assets_State)
页脚内容
基于MC9SDG128B智能车设计与实现 固定资产状态表,主要存储固定资产目前状态的信息。表结构如表3.5所示。
表3.5 Assets_State表结构
序号 字段名 1 assets_state_code 2 assets_state_name 类型 varchar(4) varchar(20) 宽度 小数 说明 4 Null 20 Null 固定资产状态代码 固定资产状态名称 (6)公司部门表(Department)
公司部门表是用来存储公司部门信息的。表结构如表3.6所示。
表3.6 Department表结构
序号 字段名 类型 varchar(4) varchar(20) 宽度 小数 说明 4 Null 20 Null 部门代码 部门名称 1 department_code 2 department_name (7)固定资产类别表(Assets_Classifcation)
固定资产类别表,主要存储区分不同固定资产的类别记录。表结构如表3.7所示。
表3.7 Assets_Classifcation表结构
序号 字段名 assets_classification_cod1 e assets_classification_na2 me 类型 宽度 小数 说明 Varchar(4) 4 Null 固定资产类别代码 Varchar(40) 40 Null 固定资产类别名称 页脚内容
基于MC9SDG128B智能车设计与实现 (8)固定资产所属类别表(Assets_Type)
固定资产所属类别表,主要存储该固定资产属于哪一种固定资产类别的记录。表结构如表3.8所示。
表3.8 Assets_Type表结构
序号 字段名 类型 varchar(7) Varchar(20) 宽度 小数 说明 7 Null 20 Null 固定资产所属类别代码 固定资产所属类别名称 1 assets_type_code 2 assets_type_name (9)固定资产来源类别表(Storge_Type)
固定资产来源类别表,主要存储该固定资产来源于那家公司的记录,结构如表3.9所示。
表3.9 Storge_Type表结构
序号 字段名 1 storage_type_code 2 storage_type_name 类型 varchar(4) varchar(40) 宽度 小数 说明 4 Null 40 Null 固定资产来源类别代码 固定资产来源类别名称 (10)用户信息表(User)
用户信息表,主要用于存储登陆用户的基本信息。表结构如表3.10所示。
表3.10 User表结构
序号 字段名 1 User_code 类型 varchar(8) 宽度 小数 说明 用户代码 8 Null 页脚内容
基于MC9SDG128B智能车设计与实现 2 User_name 3 User_role_code 4 User_password 5 Department_code varchar(20) varchar(4) varchar(20) varchar(4) 20 Null 4 Null 20 Null 4 Null 用户名称 用户权限代码 用户密码 用户部门 (11)用户权限表(User_Role)
用户权限表,主要用于存储所登录用户可以使用的权限的信息。表结构如表3.11所示。
表3.11 User_Role表结构
序号 字段名 类型 Varchar(4) Varchar(20) 宽度 小数 说明 4 Null 20 Null 用户权限代码 用户权限名称 1 user_role_code 2 user_role_name 3.3.4 数据库的连接
数据的应用是程序成功的关键,在此项目中涉及到许多的数据库,根据之前的经验,数据库最好有一个人进行建立,这样有利于程序的健壮性,在此过程中,我们需要就行数据相关属性的设定,在进行数据库的链接时要进行相关的语句搜素,进行基本的语句搜索。
数据库的应用是十分广泛的但是链接确是十分容易出错。 但是我们在平时的实践中有许多问题值得注意。 数据库连接如图3.1所示:
页脚内容
基于MC9SDG128B智能车设计与实现 建立JDBC--ODBC桥建立是否成功否出错处理是建立数据库连接执行SQL操作SQL是否出错是否返回错误信息返回执行结果 图3.1 数据库连接
3.4 运行设计
本系统运行后,首先启动初始化模块,显示前台界面陆,如果需要进入后台,可以进入后台页面,退出模块关闭数据库连接并退出系统。各个模块运行时间均应控制在3-5秒内(其中大部分时间为响应用户的动作)。
页脚内容
基于MC9SDG128B智能车设计与实现 第4章 系统详细设计
本系统是对企业固定资产的增加、减少、借出、归还、报修、完修及现有资产的查询等等,经过软件的实现,可以减少在以后的查询分析中的不必要错误,增加企业的管理效率,使企业更直接的管理好其内部的固定资产,更好的把握当前形势,更加快速良好的发展。
4.1编码设计
编码是在固定资产管理中是用于唯一标识固定资产信息的数据,良好的编码能够在现实的操作中加快检索查询速度,更能提高查询的精度与效率,是一个良好的管理软件所不可或缺的部分,本系统的编码规则如下:
(1)固定资产信息表:采用10位编码,以ZC开始,如ZC10000001 (2)减少固定资产表:采用10位编码,以JS开始,如JS10000001 (3)租借固定资产表:采用10位编码,以ZJ开始,如JZ10000001 (4)归还固定资产表:采用10位编码,以GH开始,如GH10000001 (5)报修固定资产表:采用10位编码,以BX开始,如BX10000001 (6)完修固定资产表:采用10位编码,以WX开始,如WX10000001
4.2部分主要功能模块的实现
4.2.1 登陆窗体 1.实现目标
(1)区分非法用户和合法用户,非法用户给予错误提示,合法用户可进入系统。
页脚内容 基于MC9SDG128B智能车设计与实现
(2)根据合法用户的身份给与不同的权限。 运行界面如图4.1所示。
图4.1 系统登陆界面
2.实现过程
当启动系统弹出登陆对话框后,用户若不输入用户名和密码,则弹出对话框,要求用户重新输入用户名和密码;当用户输入错误的用户名或密码时,系统提示“该用户不存在或密码错误”,当用户输入正确的用户名admin,密码admin时,系统将直接根据用户的权限和身份来登陆到主窗体,用户不具有的权限将不出现在主窗体中;另外,用户名的验证规则:8位小写英文字母或者数字,用户密码的验证规则:4-20位英文字母或者数字。
具体实现代码如下: //登录模块
public class LoginAction extends BaseAction {
private static final long serialVersionUID = 1L; private Users users;
页脚内容
基于MC9SDG128B智能车设计与实现 public Users getUsers() { }
public void setUsers(Users users) { }
@Override
public String execute() throws Exception { }
@Override
public void validate() { }
@SuppressWarnings(\"static-access\") ServiceFactory factory = super.factory;
Users user = factory.getCommservice().getUserCount(users); super.getRequest().getSession().setAttribute(\"users\ if(user==null){ }
this.addFieldError(\"loginerror\该用户不存在,请重新登录\"); return SUCCESS; this.users = users; return users;
4.2.2 主窗体
1.实现目标
(1)在合法用户登陆之后会进入主窗体,登陆之后能看到用户的登录名和登陆时间,并有属于用户自己的操作权限。
(2)通过系统菜单可进入相应的操作界面,即可进行相关操作。
页脚内容 基于MC9SDG128B智能车设计与实现
(3)可随时更改自己的密码。 运行界面如图4.2所示。
图4.2 操作主窗体
2.实现过程
用户登陆到主窗体时,可根据个人的不同需求来进行不同的操作,选择不同的操作目录下的不同操作,双击打开,即可在右半部分展现需要进行的操作窗体,从而进行相关的操作,如在帮助中,有“显示/不显示系统公司信息”,可根据自己的需要决定是否显示公司信息 4.2.3 固定资产管理窗体
固定资产管理主要实现固定资产的增加、减少、报修、完修、租借、归还等操作,实现对固定资产的基本管理。
1.实现目标
(1)能对固定资产进行增加、修改、删除等操作。 (2)自动生成编号,方便的对固定资产进行管理。 (3)自动根据输入的单价和数量生成相应的资产。
(4)库存数据和借出,报修的数据保持一致,不会因为对数据的操作造成数据紊乱。
页脚内容
基于MC9SDG128B智能车设计与实现
(5)对于固定资产的信息进行变更,采用ajax技术对于固定资产的所属部门和固定资产的状态进行变更
其具体运行界面如图4.3、4.4所示。
图4.3 固定资产录入界面
图4.4固定资产变更界面
2.实现过程
变更该固定资产的信息时,先点击“变更”按钮,输入正确的信息后点击“确认”按钮,保存变更后的信息。
本系统将固定资产的基本信息存储在一个表中,当出现增加固定资产时,存入此表。而进行减少,借出、租借、归还等操作时,一方面将减少、借出等数据存入相应的表中,另一方面对固定资产基本信息表的固定资产数量进行相应的减少或者增加,从而使固定资产的总数量及其状态保持一致性,不会因为其他的操作而造成数据库数据的异常。
具体实现代码如下:
//使相应固定资产的信息,显示在相应的表中
页脚内容
基于MC9SDG128B智能车设计与实现 public static List List list.add(\"固定资产编号\"); list.add(\"固定资产名称\"); list.add(\"固定资产所属部门\"); list.add(\"固定资产类别\"); list.add(\"入库时间\"); list.add(\"固定资产值\"); break; case 2: list.add(\"固定资产编号\"); list.add(\"固定资产名称\"); list.add(\"固定资产状态\"); list.add(\"固定资产存储存储地点\"); list.add(\"入库时间\"); list.add(\"固定资产值\"); break; case 3: list.add(\"固定资产编号\"); list.add(\"固定资产名称\"); list.add(\"固定资产类别\"); list.add(\"固定资产存储存储地点\"); list.add(\"入库时间\"); list.add(\"固定资产值\"); break; 页脚内容 基于MC9SDG128B智能车设计与实现 default: } return list; break; } 4.2.4 固定资产报表查询及折旧窗体 固定资产报表查询主要实现对固定资产的编号,名称,类别,所属部门及其现状态的查询,还能根据该固定资产的入库时间进行相应的查询,方便的管理固定资产,很轻松的查看固定资产的情况。 1.实现目标 (1)查看现有固定资产的基本信息,包括现有固定资产的来源及现存储地,以及该固定资产曾经借出和修理的情况。 (2)对一时间段的固定资产,如报修、借出等信息进行查询。 (3)分部门和分类进行资产查询,可以方便的查询固定资产的具体信息。 (4)根据固定资产的折旧方法,对每条固定资产信息进行折旧计算,更新数据库后显示。 其具体运行界面如图4.5、4.6所示。 图4.5 分类固定资产查询 页脚内容 基于MC9SDG128B智能车设计与实现 图4.6 固定资产折旧窗口 2.实现过程 打开相应的固定资产报表,选择适当的查询条件,点击“查询”按钮,即可看到相应的固定资产信息,下面出现的表中会显示出使用中、报废和维修固定资产的信息,其他报表均是选中相应的查询条件,点击“查询”按钮,即可看到相关的信息。 具体实现代码如下: //查询固定资产及更新 public String selectAllasset(){ } public String selectby(){ List super.getRequest().setAttribute(\"list\ List super.getRequest().setAttribute(\"list\ }else{ } return \"selectAllasset\"; this.addActionMessage(\"您查询的数据不存在!!\"); }else{ 页脚内容 基于MC9SDG128B智能车设计与实现 } } this.addActionMessage(\"您查询的数据不存在!!\"); return \"selectby\"; @SuppressWarnings(\"unused\") public String updatestatecode(){ Assets sa = (Assets) super.getRequest().getSession().getAttribute(\"sa\"); System.out.println(\"code--------------->>\"+sa.getModify_date()); System.out.println(\"state--------------->>\"+statecode); sa.setAssets_state_code(statecode); int count = is.updateassets(sa); if(count==1){ super.getRequest().getSession().setAttribute(\"sa\ } }else{ } return \"updatestatecode\"; this.addActionMessage(\"更新失败了!!\"); //固定资产折旧 public static void main(String[] args) { List System.out.println(list.get(i)); } public static double getDepvalue(DepreInfo de){ 页脚内容 基于MC9SDG128B智能车设计与实现 double value = 0; if(de.getAssets_depreciation_method().equals(\"平均年限法\")){ value = de.getAssets_cost()*de.getAssets_month_depreciation_rate(); } return value; } 4.2.5 固定资产系统管理窗体 1.实现目标 (1)实现对用户信息的添加和修改,可以修改系统的用户显示信息和背景图片。 (2)最高权限用户可对其他用户分配权限,修改用户的密码。 (3)可修改自己的密码,及查询所有可以查到的用户。 具体操作界面如图4.7、4.8、4.9、4.10所示。 图4.7 用户信息修改 图4.8 修改密码 页脚内容 基于MC9SDG128B智能车设计与实现 图4.9 用户信息新增 图4.10 用户查询 2.实现过程 点击用户管理,出现修改密码窗口,在修改并保存后,然后点刷新,即可将该用户的基本信息更新到主窗体中。更新用户信息时,点击“添加”按钮,即可输入新的公司部门,点确认按钮即可。 具体实现代码如下: //用户查询及修改密码、更新用户 public Users getUpdateuser() { } public Users getUser() { } public void setUser(Users user) { this.user = user; 页脚内容 return updateuser; return user; 基于MC9SDG128B智能车设计与实现 } public String getPassword() { } public void setPassword(String password) { } public String update(){ } public String selectAll(){ List System.out.println(\"pageno-------------->>\"+pageno); Users user = new Users(); Pager pager = new Pager(); pager.setFlag(2); pager.setPagesize(5); pager.setTotal(user); if(pager.getTotal()%pager.getPagesize()==0){ pager.setPage(pager.getTotal()/pager.getPagesize()); 页脚内容 return password; this.password = password; Users users = (Users) super.getRequest().getSession().getAttribute(\"users\"); users.setUser_password(password); int count = userservice.updateUsers(users); if(count==0){ } return \"updatesuccess\"; return \"updatefail\"; 基于MC9SDG128B智能车设计与实现 }else{ } System.out.println(\"pager.setPageno(1)------------>>\"+pager.getTotal()); int page; if(pageno==\"\"){ page = 1; pager.setPage(pager.getTotal()/pager.getPagesize()+1); }else{ if(pageno.equals(\"1\")){ page = 1; }else{ if(pageno.equals(\"last\")){ page = pager.getPage(); System.out.println(\"page================\"+pager.getPage()); } if(page<=0||page>pager.getPage()){ pager.setPageno(1); } }else{ } page = Integer.valueOf(String.valueOf(pageno)); }else{ } System.out.println(\"->>>>>>>>>>>>>>>>>>>>>>>\"+pager.getPage()); list = userservice.selectAllUser(user,5,pager.getPageno()); 页脚内容 pager.setPageno(page); 基于MC9SDG128B智能车设计与实现 } super.getRequest().setAttribute(\"list\ super.getRequest().setAttribute(\"pager\ } catch (BusinessException e) { } return \"selectAllsuccess\"; this.addActionMessage(\"您查询的数据不存在!!\"); public String updateUser(){ } public String deleteuser(){ } System.out.println(\"value-------------------->>\"+valueuser); int count = userservice.deleteuser(valueuser); if(count == 0){ } return \"deleteuser\"; return \"deletefail\"; int count = userservice.updateUsers(updateuser); if(count == 0){ } return \"updateUsersuccess\"; return \"updateUserfail\"; 页脚内容 基于MC9SDG128B智能车设计与实现 第5章 结束语 通过本系统的设计实现,基本上实现XX公司对于固定资产的管理,能很轻松的管理好本企业内部的固定资产信息,对于企业的长期发展,起到了很重要的作用。 通过本系统的初步测试,该企业可以很大的提高工作效率,降低了企业的开发成本和管理发面的支出,很大程度的提高了企业的管理效率。 虽然本系统基本上完成了该企业的需求,但由于时间太短,以及本人的想法和能力有限,本系统还是存在一些问题的,在以后的日子里,还要根据公司的要求进一步进行完善和维护,具体以下几个方面需要改进和完善: (1)在开发过程中没有用到存储过程,这使得在以后的使用中一旦数据很大的情况下,将会影响到软件的运行速度,降低工作效率。 (2)本系统在用户处理较大数据的时候查询固定资产信息比较复杂,只能采用具体信息检索的方式。 (3)信息显示方面不是很美观。 (4)信息查询的方式单一。 因为本软件数据处理的能力制约,因此,本系统适用于大部分中小型的企业。随着信息化的迅速发展,传统的手工管理方式明显落后,必然将被信息化管理所取代。尤其中小企业,因为资金规模,不会投入大量资金购买高价软件。因此,像本管理系统这种小成本、小制作的软件有很大发展空间。 在设计期间,经过了前期需求分析、企业具体调研、系统设计、软件编码和软件测试几个阶段。主要收获如下: (1)第一次一人做这么全面的工作,更加深刻的理解了软件工程的概念。 (2)认识到需求分析是很重要的一件事,如果需求分析做不好,后期需要经常大块的改动,在实际操作中十分吃力。 页脚内容 基于MC9SDG128B智能车设计与实现 (3)数据库设计时尽量考虑全面,一次弄好,不然在以后的设计中随便改动数数据库将会对整个系统造成很大的影响。 (4)在整个软件的设计中,遇到很多问题,需要不时的请教老师和同学,感觉己不会的太多,虚心请教才能获得更大的进步。 (5)在书本上学到的东西要灵活运用,只有这样才能让他们为自己所用,产生自己想要的结果。 (6)通过本系统的开发设计让我认识到,有些事不可能一步到位,需要在以后的日子慢慢完善。 通过本次毕业设计,我不仅学到了许多书本上没有的知识,还真正把书本的知识运用到具体的实践中,让我明白了很多的道理,知识是很重要,不断学习更加重要,只有不断的学习,才能不断的进步,我想这些将会对我以后的工作生活学习有很大的帮助。 致谢 长达三个月的毕业设计终于快要结束,这也意味着我们即将离开生活学习了四年的大学校园。回想这三个月,我觉得从中学到了很多,也成熟了不少,这次的毕业设计不仅让我从书本上学到的很多运用到现实的生活中,还让我懂得了很多学校没有的东西,让我受益匪浅! 这次毕业设计能圆满的完成,首先要感谢我的指导老师徐老师,是他从一开始就很热情的帮助我,从选题到分析到找到合适的单位做模板,不论是开题报告还是中期答辩,徐老师都会很严厉的把关,让我不敢懈怠,而徐老师每次提出的宝贵建议,都让我的成果更加完美,所以,很感谢徐老师对我的大力支持;另外,我要感谢我的室友和同学,使他们在我困难的时候给我大力的支持,不断的帮我解决问题,让我学到很多书本上学不到的东西,感谢他们,不仅仅是他们对我的帮助,更有我们年来深厚的感情。 再次向所有帮助过我的人表示最衷心的感谢! 页脚内容 基于MC9SDG128B智能车设计与实现 参考文献 [1] 萨师煊,王珊.数据库系统概论(第四版).高等教育出版社, 2006 [2] 郑莉.Java语言程序设计(第二版).清华大学出版社,2007. [3] 张海藩.软件工程导论(第5版).清华大学出版社,2008.2. [4] 李劲,谢兆阳.SQL Server 2000数据库设计与系统管理.清华大学出版社,2001. [5] 孙璐.基于Java技术的Web应用开发.电子工业出社,2009 [6] 王国辉,王毅,王殊宇.Java Web开发典型模块大全.人民邮电出版社,2009 [7] 文渊阁工作室.网页制作高手HTML+CSS网页设计与布局.人民邮电出版社,2007. [8] 王俊杰.精通Java Script动态网页编程.人民邮电出版社,2007, [9] 周永和.固定资产核算与管理.航空工业出版社,1990 [10] 李明,费贤文.固定资产会计及其电算化.中国物资出版社,1997 页脚内容 因篇幅问题不能全部显示,请点此查看更多更全内容