java+sql企业固定资产管理系统(论文+系统+开题报告+任务书+中期考核报告+任务书+评语表+答辩PPT)

毕业设计(论文)任务书

课题名称: 企业固定资产管理系统

指导教师

所在系

指导教师

接受任务日期

毕业设计(论文)地点

一、原始依据(资料):某公司业务不断发展,人员越来越多,固定资产的管理人员压力逐渐增大,需要建立数据库和使用软件系统来进行管理。公司对固定资产的定义为:价值超过2000元人民币的设备。例如彩色喷墨打印机、计算机、扫描仪、机房其他设备,而打印纸、书籍等不属于固定资产,属于易耗品。
二、设计(论文)内容和要求:(一)内容和要求:毕业设计成绩由开题报告成绩、中期考核成绩、论文成绩、答辩成绩和态度与表现五部分组成。要求学生以积极认真、严谨求实的态度完成毕业设计(论文)的撰写。毕业设计(论文)原则上每生一题,多人一题的情况必须要有明确的分工和侧重,并在设计(论文)成果中得到具体反映和体现。目的及要求:1.培养学生综合运用所学的基础理论、基本知识和基本技能,解决一般工程技术问题的能力,以巩固、扩大、深化所学知识。2.培养学生的独立工作能力,初步掌握专题调查研究的手段和方法,学会正确查阅、收集、分析整理文献资料,并进行设计、计算和科学实验的能力。3.培养学生实事求是、谦虚谨慎、严肃认真的工作作风;培养学生刻苦钻研、勇于创新的科学精神。使他们在解决工程问题中具有正确的指导思想、工作态度和工作方法。4.理工科类专业毕业设计说明书(论文)需八千字以上(不包括程序清单和图纸)。5.论文要求统一格式(正文用B5纸、宋体、小4号字)、统一封面,打印装订成册、一式两份,于答辩前一周交系部。(二)毕业设计(论文)写作指导首先要阐明选题的背景和选题的意义。选题需强调实际背景,说明在计算机研究中或部门信息化建设、管理现代化等工作中引发该问题的原因,问题出现的环境和条件,解决该问题后能起什么作用。结合问题背景的阐述,要使读者感受到此选题确有实用价值和学术价值,确有研究或开发的必要性。其次,还能反映出综合分析的能力。从大量的文献中找到可以借鉴和参考的,这不仅要有一定的专业知识水平,还要有一定的综合能力。对同行研究成果是否能抓住要点,优缺点的评述是否符合实际,恰到好处,这和一个人的分析理解能力是有关的。前言部分也常用“引论”、“概论”、“问题背景”等做标题,在这部分中,主要介绍论文的选题。主体部分的写法,研究型的论文,主体部分一般应包括:理论基础,数学模型,算法推导,形式化描述,求解方法,计算机程序的编制及计算结果的分析和结论。结束语这一节篇幅不大,首先对整个论文工作做一个简单小结。(三)毕业设计(论文)写作框架(参考结构)第一章 引言1.1 本课题的研究意义1.2 本论文的目的、内容及作者的主要贡献第二章 研究现状及设计目标2.1 相近研究课题的特点及优缺点分析2.2 现行研究存在的问题及解决办法2.3 本课题要达到的设计目标第三章 要解决的几个关键问题3.1 研究设计中要解决的问题3.2 具体实现中采用的关键技术及复杂性分析第四章 系统结构与模型4.1 设计实现的策略和算法描述4.2 编程模型及数据结构第五章 系统实现技术5.1 分模块详述系统各部分的实现方法5.2 程序流程第六章 性能测试与分析6.1 测试实例(测试集)的研究与选择6.2 测试环境与测试条件6.3 实例测试(表格与曲线)6.4 性能分析第七章 结束语参考文献
三、建议查阅的技术资料:了解与题目有关的实际生产情况,搜集所要的资料和数据,了解国内外有关科技现状和动态以补充和扩大知识面。参考书目:[1]万建成、卢雷 编著.《软件体系结构的原理、组成与应用》.科学出版社, 2002 [2] 齐治昌、谭庆平、宁洪 编著.《软件工程》.北京高等教育出版社, 1997 [3] (美)Roger S.Pressman 著,黄柏素、梅宏译.《软件工程──实践者的研究方法(第四版)》.北京机械工业出版社. 1999

天津电子信息职业技术学院 页号( 1 )

毕业设计(论文)进度计划表

序号 起止日期 计划完成内容 实际完成内容 检查日期检查人签字
1 3月12日至3月25日第一、二周 毕业设计动员,设计的重要性,目的意义,具体要求,活动时间地点及联系方式,选题及完成开题报告。系统开发调研,收集开发素材资料。
2 3月26日至4月1日第三周 完成项目方案设计。包括整体设计方案,科学性和最后要达到的目标。确定课题实现所需技术、开发环境及具体进度安排。
3 4月2日至4月8日第四周 根据设计方案,建立系统模型。包括数据模型、主要功能窗口模型。
4 4月9日至4月22日第五-六周 按照设计要求和进度,完成各功能模块的开发。准备中期报告,进行中期进度检查。
5 4月23日至4月29日第七周 按照设计要求和进度,完成各功能模块的开发。按照开发目标,开始调试各个功能模块。
6 5月7日至5月20日第八-九周 按照开发目标,进行整体系统测试。按照格式要求,完成毕业设计论文。
7 5月21日至5月27日第十周 修改论文,打印上交,完成答辩准备工作。
系毕业设计(论文)领导小组审阅意见:系主任签字:年 月 日

页号( 2 )

注:1.本任务书一式两份填写,一份由学生所在系留存,一份发给学生,任务完成后附在说明书内。

2.签字部分用笔填写,其余各项均要求打印。(宋体、小4号字)

毕业设计(论文)开题报告

毕业设计(论文)题目 企业固定资产管理系统
学生姓名 系别 专业班级
指导教师 职称 工作单位
指导教师 职称 工作单位
实践地点 电子信息职业技术学院 交表日期
毕业设计(论文)开题报告内容要求:①课题的意义、现状及发展趋势。②课题的研究内容、研究方法、研究手段、研究步骤。③课题进程计划安排、所需的参考书目等。注:开题报告占毕业设计(论文)总成绩的10% 。
计算机技术和网络技术的发展使以网络为中心的计算日益得到重视, WWW系统和数据库是网络化信息服务的基础. Web能用一种及时和友好的方式向人们提供大量有用的信息, 而伴随着大量信息, 就需要数据库的管理, Web和数据库的结合是WWW信息服务技术和分布式数据库技术发展的大势所趋. 把数据库同WWW服务器连接起来, 这种一体化的信息网络系统: 数据库+WWW服务器, 将成为Internet开发的新领域.Java是近几年随着网络的发展而流行的, 它能够在短短几年间迅速成为计算机界的热点, 这跟它的种种良好的特性是分不开的. 随着Java标准的确立, Java技术更是不断的成熟. 在数据库处理方面, Java提供了JDBC API, 为数据库开发者开发数据库应用提供了标准的应用程序编程接口. 还有新兴的RMI技术, 它提出了远程对象引用的概念, 这跟当年过程式编程语言年代提出面向对象语言一样具有革命性的意义. RMI技术更适合Java这种纯面向对象语言, 它使得分布式环境下不同Java程序之间的通讯更加简单自然, 符合面向对象的语义. Java已经成为开发网络数据库应用的理想工具之一.客户机/服务器(C/S)应用程序广泛应用了数据库编程,数据库应用涉及的典型活动包括:打开一个连接,与数据库进行通讯,执行SQL语句以及检索查询结果,目前实现这些活动的技术是ODBC和JDBC两中API。 开放式数据库连接(ODBC Open DataBase Connectivity)是Microsoft提供的应用程序接口,用于访问数据库,他使用结构化查询语言(SQL) 作为起数据库语言,并提供了插入,修改及删除数据以及从数据库中获取信息的各种功能JAVA数据库互连(JDBC Java DataBase Connectivity)API是Sun提供的Java API的一部分,他定义了一组API对象以及与数据库进行交互的方法

页号( )

通过同资产管理人员和该公司领导的面谈,总结和归纳之后,他们需要软件 具备以下的功能:1、管理员登录 2、固定资产信息管理3、人员信息管理 4、资产的领用5、资产的归还 6、资产信息浏览和查询阶段规划1.2007年3月12日--3月25日:毕业设计动员,设计的重要性,目的意义,具体要求,活动时间地点及联系方式,选题及完成开题报告。系统开发调研,收集开发素材资料。2.2007年3月26日--4月22 日:完成项目方案设计。包括整体设计方案,科学性和最后要达到的目标。确定课题实现所需技术、开发环境及具体进度安排。根据设计方案,建立系统模型,主要功能窗口模型。按照设计要求和进度,完成各功能模块的开发。准备中期报告,进行中期进度检查。3.2007年4月23日--4月29日:按照设计要求和进度,完成各功能模块的开发。按照开发目标,调试各个功能模块。4.2007 年5月7日-5月20日:测试,总结并书写论文。对详细设计进行编码实现,完成应用Java JDBC技术和数据库进行交互连接系统的源代码,进行系统测试,基本完成设计文档和测试文档以及用户手册5. 2007 年5月21日—5月27日:后期工作阶段,论文的修改和完善。完成答辩准备工作。参考文献:[1]万建成、卢雷 编著.《软件体系结构的原理、组成与应用》.科学出版社, 2002 [2]齐治昌、谭庆平、宁洪 编著.《软件工程》.北京高等教育出版社, 1997 [3] Roger S.Pressman (美)著,黄柏素、梅宏译.《软件工程──实践者的研究方法(第四版)》.北京机械工业出版社. 1999
指导教师审核意见:签字:年 月 日 系毕业设计(论文)领导小组审阅意见:系主任签字:年 月 日

页号( )

注:本报告一式两份由学生本人填写(打印、宋体、小4号字),一份由学生所在系留存,一份由学生完成设计(论文)后附在说明书内。

毕业设计(论文)中期考核报告

毕业设计(论文)题目 企业固定资产管理系统
学生姓名 系别 软件系 专业班级
指导教师 职称 工作单位
指导教师 职称 工作单位
实践地点 交表日期
毕业设计(论文)中期考核内容要求:①依据进度计划对课题的进展情况进行说明。②在完成课题过程中有哪些收获,存在哪些问题。③完成课题的具体安排,列出时间进度表。注:中期考核报告占毕业设计(论文)总成绩的10% 。
调某公司业务不断发展,人员越来越多,固定资产的管理人员压力逐渐增大,需要建立数据库和使用软件系统来进行管理。公司对固定资产的定义为:价值超过2000元人民币的设备。例如彩色喷墨打印机、计算机、扫描仪、机房其他设备,而打印纸、书籍等不属于固定资产,属于易耗品。一、课题进度说明:通过同资产管理人员和该公司领导的面谈,总结和归纳之后,他们需要软件具备以下的功能:1、管理员登录2、固定资产信息管理3、人员信息管理4、资产的领用5、资产的归还6、资产信息浏览和查询系统总体结构设计采用了MVC的思想。根据面向对象分析阶段中类划分结果,规划界面类、控制类、实体类及调用关系。在面向对象分析阶段,我们把类大体上分成了界面和实体两类。但是,为了提高代码的易维护性、易读性,增加类内部的纯度、类之间调用的灵活性,我们把控制代码另封装为一个类,即控制类,使系统中类之间的用关系如下图所示:

页号( 1 )

企业固定资产管理系统大致分为:1、管理员登录2、固定资产信息管理3、人员信息管理4、资产的领用5、资产的归还6、资产信息浏览和查询六个大的功能模块。经过一个月的艰辛努力,该系统的框架已基本完成,现正在进行各模块的代码编写工作。二、课题时间进度表说明:已完成任务时间表如下:第一周:3月19日~3月25日:系统开发调研,收集开发素材资料第二周:3月26日~4月1日:整体方案设计,课题及课题环境搭建第三周:4月2日~4月8日:建立数据库模块、主模块与各模块的框架第四周:4月9日~4月15日:完成管理员登录、固定资产信息管理两个模块代码的编写第五周:4月16日~4月22日:人员信息管理、资产的领用两个模块代码的编写及中期报告后续时间进度表安排如下:第六周:4月23日~4月29日:资产的归还、资产信息浏览和查询模块代码的编写工作。第七周:4月30日~5月6日:对企业固定资产管理系统整体调试。第八周:5月7日~5月13日:对企业固定资产系统不完善处进行修改调整第九周:5月14日~5月20日:进行毕业论文的编写第十周:5月21日~5月27日:上交论文、完成论文答辩工作三、收获与不足:通过实践让我学会了开发一个项目的一些基本的工作流程,知道了如何来搭建架构,如何建模,如何分析和解决问题,还让我的动手实践能力得到了锻炼以及提高。实践能够综合提高我们的能力。除了学习到了相关的技术之外,还学会了如何自学、如何独立的解决相关的问题以及如何与同学合作解决问题。一个软件的成功与否不仅和程序设计有关,还与自己的在各个方面的知识的掌握程度、与人合作的能力都有着密切的关系.
指导教师审核意见:签字:年 月 日 系毕业设计(论文)领导小组审阅意见:系主任签字:年 月 日

页号( 2 )

注:本报告一式两份由学生本人填写(打印、宋体、小4号字),一份由学生所在系留存,一份由学生完成设计(论文)后附在说明书内。


毕 业 设 计(论文)
系 别 软件系 专业班级
姓 名 班级学号 18号
毕业设计(论文)题目:企业固定资产管理系统
毕业设计(论文)评语:
指导教师签字: 年 月 日
毕业设计(论文)总评成绩: 系主任签字(盖章): 年 月 日
天津电子信息职业技术学院教务处

90-100:

任务明确;方案论证有理有据、科学合理;有文献综述,进程计划安排恰当、周密。能按照进程计划进行设计并较好的完成系统分析和系统设计,文档规范。方案设计正确,数据计算、处理准确,能综合运用专业基础理论分析、解决设计中的问题,观点正确、论据充分;有独到的见解和创新。论文(含功能、流程图等)结构完整,文理通顺,层次清楚,语言流畅,绘图正确、规范。答辩中报告清楚,逻辑性强,分析论证能力强,能正确运用所学专业基础知识和专业理论回答所提出的问题,理论联系能力强,有创新意识。态度表现好。

80-89:

任务较明确;方案论证较合理;有文献综述,进程计划安排较周密。能按照进程计划进行设计并完成系统分析和设计的任务,有相当的文档。能综合运用所学知识较好的完成毕业设计任务。基础知识较扎实,观点正确、论证较充分;分析解决问题的能力较强。论文(含功能、流程图等)构思合理,文理通顺,论据较充分,质量较好。答辩中报告清楚,逻辑性较强,能正确运用所学专业基础知识和专业理论回答所提出的问题,回答问题较正确,理论联系能力较强。态度表现良好。

70-79:

任务较明确:方案论证存在一定问题;需要进行必要的修改。进程计划安排需调整。按中期任务要求尚有一定的差距,文档书写不够规范需作一定的修改。尚能综合运用所学知识较好的完成毕业设计任务。基础知识尚扎实,有一定分析解决问题的能力。论文(含功能、流程图等)构思合理,文理尚通顺,论据尚充分,质量尚好。答辩中报告尚清楚,主要问题回答也较清楚,无科学性错误。态度表现一般。

60-69:

任务较明确:方案论证有较大问题;整体方案需作较大调整。按中期任务要求有一定的差距,文档需做较大的修改和努力。能基本完成毕业设计任务。能基本掌握所学基本理论,观点基本正确,具有分析解决问题的能力。论文(含功能、流程图等)文理尚通顺,质量基本合格。态度表现尚可。

<59:

任务不明确:方案论证不合理;必需重新写开题报告。按中期任务要求有较大差距,必须做较大的努力。不能按基本要求完成毕业设计任务,有严重科学性错误。论文(含功能、流程图等)结构不完整,层次不清楚,文理不通顺,有科学性错误或有抄袭行为,质量不合格。答辩中基本概念不清,主要问题回答错误或不能回答或有科学性错误。对论文不熟悉,能力甚差。态度表现不好。


毕业论文

题目 企业固定资产管理系统

专业班级

指导教师

完成时间

摘要:

固定资产管理系统是一个企事业单位不可缺少的部分,它的内容对于企事业单位的决策者和管理者来说都至关重要,所以固定资产管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理固定资产的信息,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。

随着计算机技术的不断发展,计算机应用于各大领域,并给人们的生活带来了极大的便利,在固定管理系统亦是如此。以往固定资产员由于缺乏适当的软件而给其工作带来了很多不便。本论文所介绍的便是一个固定资产管理系统,以方便在固定资产安排和固定资产管理上的工作任务。

本论文主要介绍的是固定资产管理系统的整个设计过程。第1章的绪论包括选题的背景,目的和意义,国内外现状;第2章平台简介包括JBuilder2005和SQL Server数据库的介绍;第3章系统分析,需求分析,数据流与数据字典,功能需求;第4章系统设计部分包括系统总体设计,功能模块设计,数据库设计;第5章是系统实现部分包括程序设计,各个功能模块的实现,系统的测试;论文最后为结论、致谢、参考文献。

关键词:固定资产管理 SQL Server数据库 C/S结构

Abstract : Fixed Assets Management System is an enterprise units indispensable part It is an enterprise units for the policy makers and managers are of great importance, Therefore, fixed asset management system should be able to provide users with sufficient information and efficient means of inquiry. But there has been the use of traditional artificial approach in the management of fixed assets information, This mode of administration, there are many drawbacks, such as : low efficiency, poor security, the other over the long term. will have a lot of documents and data, which identify, update and maintenance caused a lot of difficulties. As computer technology continues to develop, computers for all major areas, and to people's lives brought great convenience, In fixed management system is reflected. Members of the previous fixed assets due to the lack of appropriate software, which bring to their work a lot of inconvenience. This paper is presented in a fixed asset management system, to facilitate the arrangements in fixed assets and fixed assets management of the task. This paper introduces the fixed-asset management system throughout the design process. Chapter 1 Introduction of topics including the background, purpose and significance of the domestic and international situation; Chapter 2 Introduction including JBuilder2005 platform and SQL Server database introduced; Chapter 3 analysis, demand analysis, data flow and data dictionary, functional requirements; Chapter 4 of system design, including system design, the module design, database design; Chapter 5 is a systematic process to achieve include design, the various functional modules in the system, system testing; Finally, the paper of the conclusions, thank references. Keywords : fixed assets management SQL Server database client-sever structure

目 录

第一章绪论 11

1.1选题的背景11

1.2目的和意义11

第二章平台简介 22

2.1开发平台和技术简介22

2.2 Jbuilder2005工具简介33

2.3 MVC开发模式简介44

2.4 JDBC技术简介66

2.5 数据库平台介绍1010

2.5.1SQL Server 数据库 1010

第三章系统分析 1010

3.1 需求分析1010

3.2功能需求1010

3.2.1 管理员登录 1010

3.2.2固定资产信息管理 1111

3.2.3人员信息管理 1111

3.2.4资产的领用 1212

3.2.5资产的归还 1212

3.2.6资产信息浏览和查询 1212

3.3数据字典1212

第四章系统设计 1515

4.1系统总体设计1515

4.2功能模块设计2121

第五章系统实现 2525

5.1程序设计2525

5.1.1设备管理模块 2626

第六章 系统测试 3333

6.1 测试的任务与目标3333

6.1.1测试的任务 3333

6.1.2测试的目标 3434

6.2测试方案3434

3535

参考文献:3636

第一章绪论

1.1选题的背景

某公司业务不断发展,人员越来越多,固定资产的管理人员压力逐渐增大,需要建立数据库和使用软件系统来进行管理。

公司对固定资产的定义为:价值超过2000元人民币的设备。例如彩色喷墨打印机、计算机、扫描仪、机房其他设备,而打印纸、书籍等不属于固定资产,属于易耗品。

通过调研,总结和归纳之后,他们需要软件具备以下的功能:

1、管理员登录

2、固定资产信息管理

3、人员信息管理

4、资产的领用

5、资产的归还

6、资产信息浏览和查询

1.2目的和意义

固定资产管理是企业管理中的一个重要组成部分,固定资产具有数量大、种类多、价值高、使用周期长、使用地点分散等特点,管理难度大。很多单位目前仍然依赖手工记账的管理方式,由于管理单据众多、盘点工作繁重,需占用大量的人力物力,而且固定资产的历史操作和资产统计工作异常困难,导致资产流失和资产重复购置。

近些年出现了一些固定资产管理的软件,虽然在很大程度上解决了手工记账方式的问题,但多数系统采用手工方式录入数据,不仅速度慢、易产生错误,而且存在资产管理中资产实物与帐务信息脱节的严重问题,难于满足现代企业管理的需要。

在充分研究企业固定资产管理业务需求的基础上,我发现客户对企业固定资产管理系统的要求大致可以归纳为:方便、快速、准确,因为这样可以大大提高清查工作的效率,同时保证了信息流和资产实物流的对应。有效解决企业固定资产的管理难题,使企业更轻松、更有效地管理固定资产。

第二章平台简介

2.1开发平台和技术简介

项目开发在Jbuilder2005上进行,开发语言为JAVA,系统总体结构设计采用了MVC的思想。根据面向对象分析阶段中类划分结果,规划界面类、控制类、实体类及调用关系。

在面向对象分析阶段,我们把类大体上分成了界面和实体两类。但是,为了提高代码的易维护性、易读性,增加类内部的纯度、类之间调用的灵活性,我们把控制代码另封装为一个类,即控制类,使系统中类之间的调用关系由于需要与数据库进行连接,所以我们用JAVA的JDBC技术与数据库进行数据交互,数据库用SQL Server。

2.2 Jbuilder2005工具简介

Borland JBuilder是业界领先的Java可视化开发环境,可用于构建基于Java 2平台的应用程序、Applets、JSP/Serverlets、JavaBeansTM、Enterprise JavaBeans,以及分布式J2EE 应用。
JBuilder 2005加速企业JavaBeans,WEB服务器,XML,移动产品和数据库应用开发,双向可视化设计工具和迅速调用J2EE应用服务器,这些应用服务器包括BEA® WebLogic,® IBM® WebSphere,® Sybase® EAServer, JBoss,® 和 integrated Borland® Enterprise Server。拥有创新强大的JavaServer™ Faces, Struts, 和 Web服务设计工具,支持J2SE 5.0 (JDK™ 1.5), UML代码可视化,分布式因子分解,代码审核,企业单位测试,支持多语控制系统。 JBuilder 2005新特性 -JavaServer Faces 编辑器和可视化流程设计工具 -J2SE 5.0 和 J2EE 1.4支持 -分布式因子分解 -代码审核 -额外优化执行工具 -扩展ALM综合

JBuilder 2005 speeds Enterprise JavaBeans,™ Web, Web Services, XML, mobile, and database application development with two-way visual designers and rapid deployment to leading J2EE™ application servers, including BEA® WebLogic,® IBM® WebSphere,® Sybase® EAServer, JBoss,® and the integrated Borland® Enterprise Server. Power productivity with innovative JavaServer™ Faces, Struts, and Web Services designers, support for J2SE 5.0 (JDK™ 1.5), UML® code visualization, distributed refactoring, code audits, enterprise unit testing, and support for multiple version-control systems. Build in quality with integrated Borland® Optimizeit™ Suite performance tools and J2EE profiling.

2.3 MVC开发模式简介

模型-视图-控制器开发模式简称MVC(Model-View-Control)

1.用户界面,特别是图形用户界面,承担着向用户显示问题模型和与用户进行操作和I/O交互的作用。用户希望保持交互操作界面的相对稳定,但更希望根据需要改变和调整显示的内容和形式。例如,要求支持不同的界面标准或得到不同的显示效果,适应不同的操作需求。这就要求界面结构能够在不改变软件的功能和模型情况下,支持用户对界面构成的调整。

要做到这一点,从界面构成的角度看,困难在于:在满足对界面要求的同时,如何使软件的计算模型独立于界面的构成。模型-视图-控制(MVC:Model-View-Controller)就是这样的一种交互界面的结构组织模型。

2. MVC由Trygve Reenskaug提出,首先被应用在SmallTalk-80环境中,使许多交互和界面系统的构成基础,Microsoft的MFC基础类也遵循了MVC的思想。

对于界面设计可变性的需求,MVC把交互系统的组成分解成模型、视图、控制三种部件。

模型部件是软件所处理问题逻辑在独立于外在显示内容和形式情况下的内在抽象,封装了问题的核心数据、逻辑和功能的计算关系,他独立于具体的界面表达和I/O操作。

视图部件把表示模型数据及逻辑关系和状态的信息及特定形式展示给用户。它从模型获得显示信息,对于相同的信息可以有多个不同的显示形式或视图。

控制部件是处理用户与软件的交互操作的,其职责是控制提供模型中任何变化的传播,确保用户界面于模型间的对应联系;它接受用户的输入,将输入反馈给模型,进而实现对模型的计算控制,是使模型和视图协调工作的部件。通常一个视图具有一个控制器。

模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都应反映到这些变化。因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。这实际上是一种模型的变化-传播机制。

1 MVC中的模型、视图和控制类

MVC中的模型、视图和控制类如图1所示。

(1) 模型包含了应用问题的核心数据、逻辑关系和计算功能,它封装了所需的数据,提供了完成问题处理的操作过程。控制器依据I/O的需要调用这些操作过程。模型还为视图获取显示数据而提供了访问其数据的操作。

这种变化-传播机制体现在各个相互依赖部件之间的注册关系上。模型数据和状态的变化会激发这种变化-传播机制,它是模型、视图和控制器之间联系的纽带。

(2) 视图通过显示的形式,把信息转达给用户。不同视图通过不同的显示,来表达模型的数据和状态信息。每个视图有一个更新操作,它可被变化-传播机制所激活。当调用更新操作时,视图获得来自模型的数据值,并用它们来更新显示。

在初始化时,通过与变化-传播机制的注册关系建立起所有视图与模型间的关联。视图与控制器之间保持着一对一的关系,每个视图创建一个相应的控制器。视图提供给控制器处理显示的操作。因此,控制器可以获得主动激发界面更新的能力。

(3) 控制器通过时间触发的方式,接受用户的输入。控制器如何获得事件依赖于界面的运行平台。控制器通过事件处理过程对输入事件进行处理,并为每个输入事件提供了相应的操作服务,把事件转化成对模型或相关视图的激发操作。

如果控制器的行为依赖于模型的状态,则控制器应该在变化-传播机制中进行注册,并提供一个更新操作。这样,可以由模型的变化来改变控制器的行为,如禁止某些操作。

2.4 JDBC技术简介

JDBC是执行SQL语句的Java API。JDBC本身是一个产品的商标名,但它也可被看作为"Java Database Connecivity(Java数据库连接)"。它由一组用Java语言编写的类与接口组成。

JDBC已成为一种供工具/数据库开发者使用的标准API,用户可以用纯Java API来编写数据库应用。使用JDBC可以很容易地把SQL语句传送到任何关系型数据库中。换言之,用户不必为访问Sybase数据库写一个程序,又为访问Oracle数据库写另一个程序。你可以用JDBC API写出唯一的程序,它能够将SQL语句发送到相应的任何一种数据库。Java与JDBC的结合,使程序员可以只写一次数据库应用软件后,就能在各种数据库系统上运行。由于Java语言具有健壮性、安全、易使用、易理解和自动下载到网络等优点,因此,它是数据库应用的一个极好的基础语言。现在需要找到一种能使Java应用与各种不同数据库对话的方式,而JDBC正是实现这种对话的一种机制。
JDBC扩充了Java的应用范围。例如,用Java与JDBC API可以发布一种包含远程数据库信息的Applet的Web页面。企业使用JDBC可以把它的所有雇员信息通过Intranet连接到一个或多个内部数据库里。毫无疑问,随着Java程序员的不断增加,对Java的数据库的访问需求会越来越迫切。MIS管理员希望Java与JDBC结合,因为这有助于更容易、更经济地发布企业信息。商界可以不断地使用已安装的数据库,方便地存取信息,而不必顾及这些数据库是在何种DBMS系统下存储的。它有助于缩短新应用的开发时间,并可大大简化数据库的安装与版本控制。一旦程序员编写或更新了应用,并把它放入服务器之后,那么每个人都可以获得这个最新版本。在商业销售信息服务领域,Java与JDBC则可以更好地向外界客户提供最新信息。
JDBC的功能与特点
1.JDBC的基本功能
简单地说,JDBC可以做三件事:
·建立与数据库的连接。
·发送SQL语句。
·处理结果。

  1. JDBC是低级的API与高级API的基础
    JDBC是一种"低级"的接口,因为它直接调用SQL命令,但它又可作以为构造高级接口与工具的基础。高级接口是"用户友善的"、更易理解和更为方便的API,由后台将它翻译成如JDBC这样的低级接口。有两种基于JDBC的高级API正处在开发之中:一种是嵌入SQL的Java。JDBC要求把SQL语句作为字符串传递给Java方法。嵌入SQL预处理程序,可让程序员把SQL与Java直接混合使用。例如,在SQL语句中可用Java变量接收或提供SQL值。嵌入SQL预处理程序,把这种混合的Java/SQL翻译成带JDBC调用的Java。另一种是把关系数据库表直接映射成Java类。在"对象/关系"的映射中,表中的每一行变成类的一个实例,每一列的值对应于该实例的一个属性。然后程序员可直接操作Java对象,并自动生成取、存数据的SQL调用。另外它还提供了更高级的映射,例如在Java类中把多个表的行结合起来。

DbConn()类,与数据库建立连接

import java.sql.*;

import java.math.*;

public class DbConn {

private Connection conn;

public DbConn() {

try {

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

conn = DriverManager.getConnection("jdbc:odbc:MyDatabase");

}

catch (java.sql.SQLException s) {

s.printStackTrace();

} catch (ClassNotFoundException ex) {

/** @todo Handle this exception */

ex.printStackTrace();

}

}

public Connection getConnection() {

return conn;

}

}

2.5 数据库平台介绍

2.5.1SQL Server 数据库

SQL Server 是Microsoft(微软)公司的数据库产品,在设计上,SQL Server大量利用了Microsoft Windows 操作系统的底层结构,直接面向Microsoft Windows ,尤其是NT系列服务器操作系统用户。他基本不能移植到其他的操作系统上运行。Microsoft Windows 拥有最多的用户群,上手比较容易。

第三章系统分析

3.1 需求分析

本系统的主要功能如下:

1、管理员登录

2、固定资产信息管理

3、人员信息管理

4、资产的领用

5、资产的归还

6、资产信息浏览和查询

3.2功能需求

3.2.1 管理员登录

要使用本系统必须先登录,并且只有固定资产管理员能够登录。登录的时候需要填写正确的用户名和密码,管理员可以修改自己的密码。

系统允许有有多个固定资产的管理员,每个管理员的权限相同。

3.2.2固定资产信息管理

固定资产信息管理又分为:

  • 固定资产类别管理
    固定资产的类别在录入资产信息之前就定义好,录入资产信息之后可以增加新的类别。
    类别要求分为两级,如大类可以是办公外设、数码产品、计算机等;小类分为办公外设:传真机、复印机、打印机、其它;数码产品:数码相机、投影仪;计算机:笔记本电脑、台式机、服务器等。
    类别应允许添加和删除操作。
  • 固定资产信息管理
    资产的信息包括编号、名称、类别、型号、价值、购买日期、状态、使用者、备注等。
    资产型号是文本信息,资产的状态分为:正常、维修、报废,使用者为空表示资产未被使用。
    资产应允许执行添加、修改和删除操作。
    3.2.3人员信息管理
    这里的“人员”是指可能领用资产的人,人员的信息包括人员编号、姓名、职务和备注。
    3.2.4资产的领用
    已经登记的人员,可以领用固定资产,领用时需要记录的信息有:设备编号、领用日期、管理员、用途、备注。
    只有状态为正常且使用者为空的资产才能被领用,在维修或者已经报废的资产不能够领用。
    3.2.5资产的归还
    资产使用完毕后要归还给管理员,归还时根据要依据领用时的记录来填写如下信息:归还日期、管理员等。
    3.2.6资产信息浏览和查询
    资产信息查询又可以分为:
  • 按资产类别浏览
    按资产类别浏览资产信息,类别分成两级,要求能够显示大类和小类下面的资产情况、资产状况。
  • 查询资产信息

可以按资产编号、资产类别、使用者查询资产详细信息,按使用者查询显示该人员领用的所有资产。

3.3 数据字典

数据库共有5个基表,分别是:

  • 固定资本表ASSET
  • 职工表EMPLOYEE
  • 资产类别表CATEGORY
  • 用户表OPERATOR
  • 借用和归还表LEND

固定资本表ASSET详细信息

表3.1

字段名称 含义 类型 约束
assetid 固定资产编号 整数(最大10位) 主键
asset_name 固定资产名称 字符(最长40位) 非空
cateid 大类编码 整数(最大10位) 非空
subcateid 小类编码 整数(最大10位) 非空
model 样式 字符(最长40位)
price 价格 浮点数(最大7位,小数点后2位) 非空
purchase_date 购入日期 字符(最长12位) 非空
status 状态 字符(最长1位) 非空
useby 经手人 字符(最长10位)
remarks 备注 字符(最长255位)

表3.2职工表EMPLOYEE详细信息

字段名称 含义 类型 约束
empno 职工编号 整数(最大10位) 主键
ename 职工姓名 字符(最长40位) 非空
position 职位 字符(最长40位) 非空
remarks 备注 字符(最长255位)

表3.3资产类别表CATEGORY详细信息

字段名称 含义 类型 约束
cateid 大类编号 整数(最大10位) 联合主键
catename 大类名称 字符(最长40位) 非空
subcateid 小类编号 整数(最大10位) 联合主键
subcatename 小类名称 字符(最长40位) 非空

表3.4用户表OPERATOR详细信息

字段名称 含义 类型 约束
name 用户名 字符(最长10位)
pwd 口令 字符(最长20位)

表3.5借用和归还表LEND详细信息

字段名称 含义 类型 约束
assetid 固定资产编号 整数(最大10位) 主键
empno 借用人编码 整数(最大10位) 非空
usedate 借用日期 字符(最长12位) 非空
retdate 归还日期 字符(最长12位)
isreturn 是否归还 字符(最长4位) 非空
lender 操作员 字符(最长12位)
remarks 备注 字符(最长255位)

第四章系统设计

4.1系统总体设计

主要界面类有:

  • 主界面(包括查询条件界面类、固定资产卡片界面类、资产类别树型结构界面类、固定资产表格界面类);
  • 固定资产管理弹出界面类
  • 职工管理弹出界面类
  • 资产类别管理弹出界面类
  • 借用和归还管理弹出界面类
  • 用户管理弹出界面类

主要实体类包括:

  • 固定资产实体类
  • 职工实体类
  • 用户实体类
  • 资产类别实体类
  • 借用和归还实体类

界面类与实体类之间的关系:

界面类负责显示实体类的内容,实体类负责存储当前操作的内容,而永久保存的内容需存储到数据库中。见如下示意图:

图4.1

系统中主要的、关键实体类图如下:

基于分析和设计,整个系统的主要类设计见下表:

表4.1

层次 父类名称 子类名称 作用简要描述
界面类 MM / 生成主菜单
TSearch / 输入查询信息
TTree / 显示树状类别信息
Branch / 显示树分枝类别信息
TCard / 生成资产卡片
TJtable / 生成资产表格
AssetView AddAssetView 生成增加固定资产界面
UptAssetView 生成修改固定资产界面
DelAssetView 生成删除固定资产界面
EmpView AddEmpView 生成增加职工界面
UptEmpView 生成修改职工界面
DelEmpView 生成删除职工界面
CateView AddCateView 生成增加类别界面
UptCateView 生成修改类别界面
DelCateView 生成删除类别界面
LendView LenLendView 生成借用固定资产界面
RetLendView 生成归还固定资产界面
ButPanel AddButPanel 生成增加按键界面
UptButPanel 生成修改按键界面
DelButPanel 生成删除按键界面
LenButPanel 生成借用按键界面
RetButPanel 生成归还按键界面
控制类 MenuHandler 控制菜单的调用
MyHandler AssetHandler 控制固定资产的操作,关联 AssetView 和 AssetModel
EmpHandler 控制职工的操作,关联EmpView和EmpModel
CateHandler 控制类别的操作,关联CateView和CateModel
LendHandler 控制借还的操作,关联LendView和LendModel
DbConn 控制对数据库的连接
Share 提供共享属性和方法
实体类 AssetModel 存储固定资产信息
EmpModel 存储职工信息
CateModel 存储固定资产类别信息
CateIdChoices 提供类别信息
LendModel 存储借还固定资产信息
TreeDataModel 提供类别树型结构信息
TJtableModel 提供固定资产表格信息
TCardModel 提供固定资产卡片信息

另外,为了美化界面并使系统结构更加灵活,又提供如下Panel类:

TrPanel

TbPanel

AssetPanel

EmpPanel

CatePanel

LendPanel

共计49个类。

  • 系统用例图
  • [用例1]
    A、用例图


B、描述
操作员登录系统,输入用户名和密码,按确认键。
C、参与者
操作员

  • [用例2]
    A、用例图


B、描述
操作员登录系统后,选择用户管理菜单,修改密码。
C、参与者
操作员

  • [用例3]
    A、用例图


B、描述
操作员登录系统后,选择主屏幕左侧的资产查询或树型分类查询。
C、参与者
操作员

  • [用例4]
    A、用例图


B、描述
操作员登录系统后,选择固定资产管理菜单,进行固定资产的增、删、改、查。
C、参与者
操作员

  • [用例5]
    A、用例图


B、描述
操作员登录系统后,选择分类管理菜单,进行分类的增、删、改、查。
C、参与者
操作员

  • [用例6]
    A、用例图


B、描述
操作员登录系统后,选择职工管理菜单,进行职工的增、删、改、查。
C、参与者
操作员

  • [用例7]

A、用例图

B、描述

操作员登录系统后,选择借用与归还固定资产管理菜单,进行固定资产的借用与归还操作。

C、参与者

操作员

登录用例完成后,方可进行其它用例操作。

4.2功能模块设计

根据需求文档,找出所有相关概念,并提炼成表格形式。见如下表格,也称为“概念清单”。一般来说,名词归为初级类、属性等信息;动词形成主要功能或者类的方法;短语形成业务逻辑或者条件限制

名称 词性 简要描述
固定资产 名词 大于2000的资产
职工 名词
资产类别 名词 分为大类和小类两层
借用 动词 某职工借用固定资产
归还 动词 某职工归还借用的固定资产
资产名称 名词
样式 名词 例如:包、箱。。。
价格 名词 固定资产的价格,必须大于2000
购入日期 名词
资产状态 名词 分为1表示“可用”或0表示“不可用”
购入人 名词
借用人 名词 必须是职工
归还人 名词 必须是借用人
操作人 名词
借用日期 名词
归还日期 名词
超级用户 名词 可修改资产状态
当删除职工时,系统会检查该员工是否已全部归还了固定资产 短语 条件限制
只有固定资产的状态是“1”时,才可以借用 短语 条件限制
借用和归还固定资产时,系统会自动记录在案 短语 业务逻辑
。。。

2、确定初级类

根据反复讨论的概念清单和需求说明等相关文档,确定如下初级类,见下表:

类名 属性或方法 属性或方法名称 简要描述
1.固定资产 属性 资产名称
所属大类 资产类别中的大类
所属小类 资产类别中的小类
样式
价格
购入日期
资产状态
购入人 超级用户
方法 增加固定资产()
修改固定资产信息() 只能修改某些信息,比如样式、价格、购入日期、资产状态
删除固定资产信息()
查询固定资产信息()
2.职工 属性 名称
职务
方法 增加新职工()
修改员工信息()
删除员工信息()
查询员工信息()
。。。

3、确定主要功能和菜单项

根据细化结果和需求说明,提出主要功能如下:

  • 固定资产的增、删、改、查功能;
  • 职工的增、删、改、查功能;
  • 资产类别的增、删、改、查功能;
  • 固定资产的借用和归还;
  • 用户登陆、退出和密码修改。

根据主要功能,可确定菜单项如下:

  • 固定资产管理菜单,包括:增、删、改、查4个子菜单;
  • 职工管理菜单,包括:增、删、改、查4个子菜单;
  • 资产类别管理菜单,包括:增、删、改、查4个子菜单;
  • 固定资产的借用和归还管理菜单,包括:借用、归还2个子菜单;
  • 用户管理菜单,包括:退出和密码修改2个子菜单。
    菜单均采用下拉方式,示意图如下:
固定资产管理 职工管理 资产类别管理 借用和归还管理 用户管理
增加。。。 增加。。。 增加。。。 借用 密码修改
删除。。。 删除。。。 删除。。。 归还 退出
修改。。。 修改。。。 修改。。。
查询。。。 查询。。。 查询。。。

第五章系统实现
5.1程序设计
登陆界面如下
图5.1


主界面模型图如下
图5.2


5.1.1设备管理模块
固定资产管理弹出界面描述:
界面示意图如下:
图5.3


源代码:
/*
*AssetModel.java:建立固定资产实体类。
*包括:与数据库进行增、删、改、查操作。
*/
import java.sql.*;
import java.math.*;
public class AssetModel {String assetid;String assetname;String cateid;String subcateid;String model;String price;String purchasedate;String status;String useby;String remarks;DbConn dbc;Connection conn;
public AssetModel() {
}
/*
* 添加方法
*/
public void insert() {
dbc = new DbConn();
conn = dbc.getConnection();
try {
Statement stmt = conn.createStatement();
ResultSet rset = stmt.executeQuery ("select max(assetid)+1 from asset");
while (rset.next()) {
assetid = rset.getString(1);
}
if (assetid == null) assetid = "1";
PreparedStatement pstmt = conn.prepareStatement("inser tinto ASSET
(assetid,asset_name,cateid,subcateid,model,price,purchase_date,status,useby,remarks) values (?,?,?,?,?,?,?,?,?,?)");
pstmt.setInt(1, Integer.parseInt(assetid));
pstmt.setString(2, assetname);
pstmt.setInt(3, Integer.parseInt(cateid));
pstmt.setInt(4, Integer.parseInt(subcateid));
pstmt.setString(5, model);
pstmt.setFloat(6, Float.parseFloat(price));
pstmt.setString(7, purchasedate);
pstmt.setString(8, status);
pstmt.setString(9, useby);
pstmt.setString(10, remarks);
pstmt.execute();
PreparedStatement pstmt1 =
conn.prepareStatement("insert into LEND (assetid) values (?)");
pstmt1.setInt(1, Integer.parseInt(assetid));
pstmt1.execute();
conn.commit();
conn.close();
}
catch (java.sql.SQLException s) {
System.out.println("exception: " + s.getMessage());
}
}
/*
* 查询方法
*/
public void select() {
String sql;
dbc = new DbConn();
conn = dbc.getConnection();
sql = "SELECT assetid,rtrim(asset_name),cateid,subcateid,rtrim(model),price,purchase_date,status,useby,rtrim(remarks) FROM asset where assetid = "+Integer.parseInt(assetid);
try {
Statement stmt = conn.createStatement();
ResultSet rset = stmt.executeQuery (sql);
while (rset.next()) {
assetname = rset.getString(2);
cateid = rset.getString(3);
subcateid = rset.getString(4);
model = rset.getString(5);
price = rset.getString(6);
purchasedate = rset.getString(7);
status = rset.getString(8);
useby = rset.getString(9);
remarks = rset.getString(10);
}
conn.commit();
rset.close();
stmt.close();
conn.close();
}
catch (java.sql.SQLException s) {
System.out.println("exception: " + s.getMessage());
}
}
public void update() {
dbc = new DbConn();
conn = dbc.getConnection();
try {
PreparedStatement pstmt = conn.prepareStatement("update ASSET set asset_name=?,model=?,price=?,purchase_date=?,status=?,useby=?,remarks=? where assetid = ?");
pstmt.setString(1, assetname);
pstmt.setString(2, model);
pstmt.setFloat(3, Float.parseFloat(price));
pstmt.setString(4, purchasedate);
pstmt.setString(5, status);
pstmt.setString(6, useby);
pstmt.setString(7, remarks);
pstmt.setInt(8, Integer.parseInt(assetid));
pstmt.execute();
conn.commit();
conn.close();
}
catch (java.sql.SQLException s) {
System.out.println("exception: " + s.getMessage());
}
}
/*
* 删除方法
*/
public void delete() {
dbc = new DbConn();
conn = dbc.getConnection();
String sql = "delete asset where assetid = "+Integer.parseInt(assetid) ;
try {
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.execute();
String sql1 = "delete lend where assetid = "+Integer.parseInt(assetid) ;
PreparedStatement pstmt1 = conn.prepareStatement(sql1);
pstmt1.execute();
conn.commit();
conn.close();
assetid = null;
assetname = null;
cateid = "";
subcateid = "";
model = null;
price = null;
purchasedate = null;
status = "";
useby = null;
remarks = null;
}
catch (java.sql.SQLException s) {
System.out.println("exception: " + s.getMessage());
}
}
}
其余4块管理弹出界面描述同上。
第六章 系统测试
6.1 测试的任务与目标
6.1.1测试的任务
主要测试软件的下面几个方面

    1. 功能性:软件所实现的功能达到它的设计规范和满足用户需求的程度;
    2. 可靠性:在规定的时间和条件下,软件所能维持其性能水平的程度;
    3. 易使用性:对于一个软件,用户学习、操作、准备输入和理解输出所作努力的程度;
    4. 效率:在指定条件下,用软件实现某种功能所需的计算机资源(包括时间)的有效程度;
    5. 可维护性:在一个运行软件中,当环境改变或软件发生错误时,进行相应修改所做努力的程度;


(6) 可移植性:软件从一个计算机系统或环境移植到另一个系统或环境的容易程度。

软件质量是一个软件企业成功的必要条件,其重要性无论怎样强调都不过分。软件质量与传统意义上的质量概念并无本质差别,只是针对软件的某些特性进行了调整。

6.1.2测试的目标

软件测试的目的决定了如何去组织测试。如果测试的目的是为了尽可能多地找出错误,那么测试就应该直接针对软件比较复杂的部分或是以前出错比较多的位置。如果测试目的是为了给最终用户提供具有一定可信度的质量评价,那么测试就应该直接针对在实际应用中会经常用到的商业假设。

不同的机构会有不同的测试目的;相同的机构也可能有不同测试目的,可能是测试不同区域或是对同一区域的不同层次的测试。

首先,测试并不仅仅是为了要找出错误。通过分析错误产生的原因和错误的分布特征,可以帮助项目管理者发现当前所采用的软件过程的缺陷,以便改进。同时,这种分析也能帮助我们设计出有针对性地检测方法,改善测试的有效性。

其次,没有发现错误的测试也是有价值的,完整的测试是评定测试质量的一种方法。详细而严谨的可靠性增长模型可以证明这一点。例如 Bev Littlewood发现一个经过测试而正常运行了n小时的系统有继续正常运行n小时的概率。

6.2测试方案

1、打开类别管理窗口,输入:大类编号,1;大类名称,办公外设;小类编号,101;小类名称,传真机;依次进行增加,查询,修改和删除的操作。

2、打开固定资产管理窗口,依次输入资产编号,资产名称,大类编号,小类编号,样式,价格,购入日期,状态以及备注,进行增加,查询,修改和删除的操作。

3、打开职工管理窗口,输入职工号,姓名,工位和备注,进行增加,查询,修改和删除的操作。

4、打开用户管理窗口,输入新密码,进行修改密码的操作。

结 论

通过实践让我学会了开发一个项目的一些基本的工作流程,知道了如何来搭建架构,如何建模,如何分析和解决问题,还让我的动手实践能力得到了锻炼以及提高。实践能够综合提高我们的能力。除了学习到了相关的技术之外,还学会了如何自学、如何独立的解决相关的问题以及如何与同学合作解决问题。一个软件的成功与否不仅和程序设计有关,还与自己的在各个方面的知识的掌握程度、与人合作的能力都有着密切的关系。

参考文献:

[1]万建成、卢雷 编著.《软件体系结构的原理、组成与应用》.科学出版社,

[2] 齐治昌、谭庆平、宁洪 编著.《软件工程》.北京高等教育出版社,

[3] (美)Roger S.Pressman 著,黄柏素、梅宏译.《软件工程──实践者的研究方法(第四版)》.北京机械工业出版社.

发布于 2023-01-07 22:22 ・IP 属地安徽

文章被以下专栏收录