当前位置: 首页 > news >正文

jsp企业财务管理系统设计与实现

企业财务管理系统

摘要

对于企业集来说,财务管理的地位很重要。随着计算机和网络在企业中的广泛应用,企业发展速度在不断加快,在这种市场竞争冲击下企业财务管理系统必须优先发展,这样才能保证在竞争中处于优势地位。对此企业必须实现财务管理系统的设计与开发。

在这个系统中综合应用了MySQLServlet、JSP等知识。网页界面的结构设计以实用性出发,具有易于操作、简洁、方便等特点。在设计中,首先,运用HTML语言对网站的静态页面进行精细的加工并且在网站的美工方面取得了良好的效果。其次,对于Java编程、JSP的动态编程以及MySQL数据库进行努力学习和大量实践,并运用到了网站的建设中。

本论文就企业财务管理系统进行了详细全面的论述。访问本系统的用户分为管理员和员工两种角色,管理员的功能有基础信息管理、公司资产、经营、费用信息的管理及年终资产分析表的生成;员工的功能有查看个人工资、查看公司资产、经营、费用及年终资产分析表。

关键字  JSP;MySQLServlet

Enterprise Financial Management System

Abstract

For the enterprise, is an important financial management position. With the wide application of computer and network in the enterprise, enterprise development speed at a constant speed, in this competitive market impact of enterprise financial management system must give first priority to the development, so that we can guarantee in the advantage position in the competition. This enterprise must realize the financial management system design and development.

In this system the integrated application of MySQL, Servlet, JSP knowledge. Structure design of webpage interface to practicality, has the characteristics of easy operation, simple, convenient. In the design, first of all, has obtained the good effect of art using the static page HTML language on the website of the fine processing and in site. Secondly, to learn and practice a lot for the dynamic programming, JSP Java programming and MySQL database, and applied to the construction of the site.

Users to access the system is divided into two kinds of roles, administrators and staff, the administrator has the function of generating surface analysis of year-end assets management and basic information management, the assets of the company, management, cost information; staff function view individual wages, view the company assets, management, cost and year-end assets analysis table.

Key Words: JSP, MySQL, Servlet

目  录

  

1  系统概述与技术介绍

1.1  BS结构介绍

1.2  MySQL数据库

1.3  MyEclipse介绍

1.4  JavaScrip语言

1.5  JSP技术

1.6  MVC模式

2  系统需求分析

2.1  开发环境

2.2  需求分析

2.3  可行性分析

3  系统概要设计

3.1  系统设计概述

3.2  系统用例图

3.3  系统流程图

3.4  系统功能分析

3.5  数据库结构设计

4  数据库设计与实现

4.1  数据库结构设计

4.1.1  表概要说明

4.1.2  数据表的结构

5  系统的详细设计与实现

5.1  系统登陆页面实现

5.2  管理员功能模块

5.2.1  部门信息管理

5.2.2  员工信息管理

5.2.3  员工工资管理

5.2.4  资产类别管理

5.2.5 资产信息管理

5.2.6 经营信息管理

5.2.7 费用信息管理

5.2.8 年终资产分析

5.3  员工功能模块

5.3.1  个人工资查看

5.3.2  公司资产查询

5.3.3  公司经营查询

5.3.4  公司费用查询

5.3.5  资产分析查看

6  系统测试

6.1  测试方法

6.2  系统测试结果

 

参考文献

  

附录

绪  论

财务管理工作随着我国市场经济的发展,在各个企业的管理中扮演着越来越重要的角色,渐渐起到不可替代的核心作用。对于大型企业集团来说,财务管理显得更为重要,财务管理系统的建立将直接受到企业集团管理方式的影响,直接影响企业的管理效率的经济效益。如何在现有经营环境下选择最佳的财务管理模式,使用最优的财务管理系统,实现企业的管理目标,适应企业信息化发展的需要,是一个值得研究和探讨的问题。  

在信息时代,每个企业都紧跟步伐,逐渐转变着经营模式、办公模式。同时,各个企业的传统的管理的模式也在逐步由人工管理向着自动化管理模式转变,财务管理系统应运而生。无论是政府还是企事业单位,成员之间相互的信息沟通对于提高工作效率,更好完成工作显得特别重要。此外,每个单位都希望能和异地的分支机构、各个部门等保持实时联系,进行统一管理,因此,建立一个财务管理系统是可行的。在针对现有的系统进行调查之后,拟开发一套财务管理系统以适应信息化时代的财务管理需求。

我国的生产企业发展十分迅速。但企业的信息化管理一直是影响我国企业进一步发展的难点。企业信息化是企业应用信息化的主要过程,指的是在企业的各个层次,应用先进的通信、计算机、互联网和软件等信息化技术,并充分的整合、广泛的利用企业内外信息的资源,提高企业的生产、经营和管理的水平,增强企业的竞争力和过程。结合我国目前的国情来看,改革开放以来,我国的中小企业得到了迅速发展。这些中小企业存在着一定的普遍特征:资金不是十分雄厚,管理不是非常完善,信息化基础普遍较差,面临着异常激烈的市场竞争。

随着信息时代到来,企业的生存和竞争环境产生了根本性变化。当前中小型企业的信息化具有深刻的内容,其中管理信息化成为及其重要方面。如何运用信息的技术用来增强企业管理,对于如何制定企业信息化的发展战略用来提升企业的核心竞争力,怎样把信息化系统融入日常管理工作来为企业带来效益,是当前我们所面临的重要课题。

3  系统概要设计

3.1  系统设计概述

系统设计是在系统分析基础上通过抽象得到具体的过程,同时,还考虑到系统所实现的环境和主客观条件。

系统设计阶段主要目的是将系统分析阶段所提出的反映用户信息需求的系统逻辑方案转换成可以实施的基于计算机与通信系统的物理方案。

这一阶段的主要任务就是从管理信息系统的总体目标出发,根据系统分析阶段对系统逻辑功能的需求,考虑到经济、技术和环境等方面的条件,可以确定系统的总体结构和系统组成部分的方案,合理选择计算机和通信设备,提出系统的实施计划,确保系统总体目标的实现。

系统设计工作的特点:

1)在系统设计阶段,大量工作是技术性的。

2)允许用户对已提出信息需求做非原则性修改或补充。

3)用户在操作使用环境等方面的要求也要在系统设计阶段加以说明并在系统的技术方案中得反映,因此系统设计人员必须同管理环境打交道。

4)系统设计的环境是管理环境和技术环境的结合,是系统设计工作的重要特点也是整个系统成功的一个必不可缺的环节

系统设计原则

1) 易用性原则:方便上网客户浏览和操作,最大限度地减轻后台管理人员的负担,做到部分业务的自动化处理,提供良好的用户体验

2) 阶段开发原则:系统框架和数据结构全面设计,具体功能实现分阶段进行。

3) 业务规范化原则:在系统设计的同时,也为将来的业务流程制定了较为完善的规范,具有较强的实际操作性,也给整个系统带来安全性

4) 可扩展性原则:系统设计要考虑到业务未来发展的需要,要尽可能设计得简明,各个功能模块间的耦合度小,便于系统的扩展。如果存在旧有的数据库系统,则需要充分考虑兼容性,比如说浏览器的兼容

5) 业务完整性原则:对于业务进行中的特殊情况能够做出及时、正确的响应,保证业务数据的完整性,减少数据的误读

3.2  系统用例图

员工的操作:

1、员工以查看个人工资情况

2、员工可以查询公司资产情况

3、员工可以查询公司经营情况

4员工可以查询公司费用情况

5员工可以查询年终资产分析表

员工用例图,如图3-1所示:

图 3-1 员工的用例图

管理员的操作:

1、管理员可以管理部门信息

2、管理员可以管理员工信息

3、管理员可以管理员工工资信息

4、管理员可以管理资产信息

5、管理员可以管理经营信息

6、管理员可以管理费用信息

管理员用例图,如图3-2所示:

图 3-2 管理员用例图

3.3  系统流程图

当管理员进入本系统之后,管理员首先要登录之后,才能管理后台。登录失败,给管理员相关的提示,请管理员重新登录。登录成功之后,管理员可管理员工、公司资产、经营、费用等信息。管理员的后台管理的基本流程如下图3-3所示:

图 3-3 管理员流程图

3.4  系统功能分析

图 3-4 系统后台功能图

管理员的所有模块的功能分析:

部门信息管理模块对公司部门信息进行管理,包括部门信息的添加、修改、删除等。

员工信息管理模块:对公司员工信息进行管理,包括员工信息的添加、修改、删除等。

员工工资管理模块:对员工工资信息进行管理,包括员工工资的添加、修改等。

资产信息管理模块:对公司资产信息进行管理,包括资产信息的添加、修改、删除等。

经营信息管理模块:对公司经营信息进行管理,包括经营信息的添加、修改、删除等。

费用信息管理模块:对公司费用信息进行管理,包括费用信息的添加、修改、删除等。

年终资产分析模块:对公司产终资产情况进行分析,查看分析报表。

修改个人密码:管理员登录系统,可以修改自己的登录密码。

3.5  数据库结构设计

数据库是“按照数据结构来组织、存储和管理数据的仓库”。作为网络中的一个重要的应用,数据库在网站建设中起着非常重要的作用,对于普通网站相对而言,具有数据库功能的网站,我们通常称为动态页面,也就是说页面是动态的,它可以根据数据库中相应内容的调整而变化,使网站更新更便捷,维护更方便,内容更灵活。MySQL数据库作为Oracle推出的以标准数据库系统,由于具有操作简单、界面友好等特点,具有较大的用户群体。本系统数据库采用MySQL数据库,下面分别给出数据表概要说明。

4  数据库设计与实现

4.1  数据库结构设计

4.1.1  表概要说明

系统数据库db_cwgl中含有8张数据表,部门信息表t_bumen、员工信息表t_zhigong、员工工资表t_gongzi、资产类别表t_catelog、资产信息表t_zichan、经营信息表t_jingying、费用信息表t_feiyong、管理员信息表t_admin,本章将简单介绍其中一些表的结构。

4.1.2  数据表的结构

(1)t_bumen(部门信息表)

部门信息表主要用于保存单位的部门信息,如部门名称、人数、工资系数,该表结构如表4-1所示。

表4-1 t_bumen的结构

字段名

数据类型

长度

主键否

描述

id

int

4

自动编号

mingcheng

varchar

50

部门名称

renshu

int

4

编制人数

xishu

decimal

8,2

工资系数

(2)t_zhigong(职工信息表)

职工信息表主要用于保存职工的基本信息,如职工所在部门、姓名、性别等,该表结构如表4-2所示:

表4-2 t_zhigong的结构

字段名

数据类型

长度

主键否

描述

id

int

4

自动编号

bumen_id

int

4

所在部门

bianhao

varchar

50

编号

loginpw

varchar

50

登录密码

xingming

varchar

50

姓名

xingbie

varchar

50

性别

ruzhi

varchar

50

入职时间

(3)t_catelog(资产类别表)

资产类别表主要用于资产类别信息,如类别名称,该表结构如表4-3所示:

表4-3 t_catlog的结构

字段名

数据类型

长度

主键否

描述

id

int

4

自动编号

name

varchar

50

类别名称

(4)t_zichan(资产信息表)

资产信息表主要用于保存资产基本信息,如资产类别、编号、名称、添加时间等,通过主键编号和产品类别来队公司的资产信息进行增删改查,内容包括资产的名称,修改时间,此资产的实际价值,资产的类型和本次资产产生的方式,例如出租,贷款等方式来反映。 

(5)t_jingying(经营信息表)

经营信息表主要用于保存企业经营信息,如项目名称、时间、投入等内容。该表结构如表4-5所示:

表4-5 t_jingying的结构

字段名

数据类型

长度

主键否

描述

id

int

4

自动编号

mingcheng

varchar

50

名称

riqi

varchar

4

日期

touru

decimal

8,2

投入

shouri

decimal

8,2

收益

lirun

decimal

8,2

利润

(6)t_feiyong(费用信息表)

费用信息表主要用于保存日常费用信息,如费用名称、发生时间、费用等内容。该表结构如表4-6所示:

表4-6 t_feiyong的结构

字段名

数据类型

长度

主键否

描述

id

int

4

自动编号

mingcheng

varchar

50

名称

shijian

varchar

4

日期

feiyong

decimal

8,2

金额

leixing

int

4

类型

(7)t_gongzi(工资信息表)

工资信息表主要用于保存职工工资信息,通过主键id使得员工能够登陆后查询自己的工资情况并且能使管理员对工资修改后,员工能够正确的看到工资的情况,此表中包括了职工信息,基本工资情况,工龄对工资的加成,职务和补贴对总工资的影响。

(8)t_admin(管理员信息表)

管理员信息表主要用于保存管理员的基本信息,该表结构如表4-8所示。

表4-8 t_admin的结构

字段名

数据类型

长度

主键否

描述

id

int

4

自动编号

userName

varchar

50

登录账号

userPw

varchar

50

登录密码

5  系统的详细设计与实现

在管理系统的生命周期中,经过了需求分析、系统设计等阶段之后,便开始了系统的设计实施阶段。在系统分析和设计阶段,系统开发的工作主要是集中在逻辑和技术设计上,系统的实施阶段要继承此前各个阶段所实现的工作成果,将技术的设计转化为物理的实现,因此系统实施的成果其实是系统的分析和设计阶段的结晶。

5.1  系统登陆页面实现

1.描述:为了保证系统的安全性,要先使用本系统必须先登陆到系统中,用户需要正确的账号和密码登录本系统。

2.程序运行效果图如图5-1所示:

5-1 系统登陆页面设计

3.在登陆页面输入用户名和密码以后,当点击提交按钮后,就会跳转到loginservice中,在该service中会对用户名,密码进行判断,验证通过进入对应的页面。

5.2  管理员功能模块

1.描述:管理员进入系统主页面,左方页面展示了管理员可操作的功能模块,进入相关的管理页面可以链接到子菜单,并且高亮显示,每个管理模块下面都有相应的子菜单。

2.程序运行效果图如图5-2所示:

5-2管理员主页面

5.2.1  部门信息管理

1.部门信息录入

(1)描述:管理员输入部门信息相关正确信息后点击录入按钮,如果是没有输入完整的部门信息,都会给出相应的错误提示,不能录入成功。输入数据都通过form表单中定义的方法οnsubmit="return checkForm()"来检查,checkForm()函数中是各种的校验输入数据的方式。

(2)程序效果图如下图5-3所示:

5-3 部门信息录入

2. 部门信息管理

(1).描述:管理员点击左侧的菜单“部门信息管理”,页面跳转到部门信息管理界面,调用后台的action类查询出所有的部门信息,并把这些信息封转到数据集合List中,绑定到request对象,然后页面跳转到相应的jsp,显示出部门信息。

(2).程序效果图如下图5-4所示

5-4 部门信息管理

部门信息管理关键代码:

public void bumenMana(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOException

{

String sql="select * from t_bumen where del='no'";

req.setAttribute("bumenList", getBumenList(sql));

req.getRequestDispatcher("admin/bumen/bumenMana.jsp").forward(req, res);

}

3.部门信息修改

(1)描述:先是点击部门信息管理,页面跳转到部门信息管理界面,浏览所有的部门信息,点击要修改的部门信息,跳转到部门信息修改页面修改该条部门信息。

(2)程序效果图如下图5-5所示

5-5 部门信息管理

4.部门信息删除

(1).描述:先是点击部门信息管理,页面跳转到部门信息管理界面,浏览所有的部门信息,点击要删除的部门信息,点击确定按钮,即可删除该部门信息。

5.2.2  员工信息管理

1.员工信息录入

描述:管理员输入员工正确信息后点击录入按钮,如果没有输入正确的员工信息,都会给出相应的错误提示,不能录入成功。输入数据都通过form表单中定义的方法οnsubmit="return checkForm()"来检查,checkForm()函数中是全部校验输入数据的方式。

2.员工信息管理

(1).描述:管理员点击左侧的菜单“员工信息管理”,页面跳转到员工信息管理界面,调用后台的action类查询出所有的员工信息,并把这些信息封转到数据集合List中,绑定到request对象,然后页面跳转到相应的jsp,显示出员工信息。

(2).程序效果图如下图5-8所示

5-8 员工信息管理

员工信息管理关键代码:

public void zhigongMana(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOException

{

String sql="select ta.*,tb.mingcheng bmmc,tb.xishu from t_zhigong ta,t_bumen tb " +

"where ta.del='no' and ta.bumen_id=tb.id";

req.setAttribute("zhigongList", getZhigongList(sql));

req.getRequestDispatcher("admin/zhigong/zhigongMana.jsp").forward(req, res);

}

3.员工信息修改

描述:先是点击员工信息管理,页面跳转到员工信息管理界面,浏览所有的员工信息,点击要修改的员工信息,跳转到员工信息修改页面修改该条员工信息。

4.员工信息删除

(1).描述:先是点击员工信息管理,页面跳转到员工信息管理界面,浏览所有的员工信息,点击要删除的员工信息,点击确定按钮,即可删除该员工信息。

(2).程序效果图如下图5-10所示

5-10 员工信息删除

5.2.3  员工工资管理

1.员工工资录入

(1).描述:管理员输入员工工资相关正确的信息后点录入按钮,如果没有输入正确的员工工资,一定会给出相应的错误提示,必定不能录入成功。输入数据都通过form表单中定义的方法οnsubmit="return checkForm()"来检查,checkForm()函数中是各种的校验输入数据的方式。

(2).程序效果图如下图5-11所示:

5-11 员工工资录入

2.员工工资管理

(1).描述:管理员点击左侧的菜单“员工工资管理”,页面跳转到员工工资管理界面,调用后台的action类查询出所有的员工工资,并把这些信息封转到数据集合List中,绑定到request对象,然后页面跳转到相应的jsp,显示出员工工资。

(2).程序效果图如下图5-12所示

5-12 员工工资管理

3.员工工资修改

(1).描述:先是点击员工工资管理,页面跳转到员工工资管理界面,浏览所有员工工资,点击要修改的员工工资,跳转到员工工资修改页面修改该员工工资。

(2).程序效果图如下图5-13所示

5-13 员工工资修改界面

5.2.4  资产类别管理

1.资产类别录入

(1).描述:管理员输入资产类别相关正确信息后点击录入按钮,如果是没有输入完整的资产类别,都会给出相应的错误提示,不能录入成功。输入数据都通过form表单中定义的方法οnsubmit="return checkForm()"来检查,checkForm()函数中是各种的校验输入数据的方式。

(2).程序效果图如下图5-14所示:

5-14 资产类别录入

2.资产类别管理

(1).描述:管理员点击左侧的菜单“资产类别管理”,页面跳转到资产类别管理界面,调用后台的action类查询出所有的资产类别,并把这些信息封转到数据集合List中,绑定到request对象,然后页面跳转到相应的jsp,显示出资产类别。

(2).程序效果图如下图5-15所示

5-15 资产类别管理

资产类别管理关键代码:

public void catelogMana(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOException

{

List catelogList=new ArrayList();

String sql="select * from t_catelog where del='no'";

Object[] params={};

DB mydb=new DB();

try

{

mydb.doPstm(sql, params);

ResultSet rs=mydb.getRs();

while(rs.next())

{

TCatelog catelog=new TCatelog();

catelog.setId(rs.getInt("id"));

catelog.setName(rs.getString("name"));

catelogList.add(catelog);

    }

rs.close();

}

catch(Exception e)

{

e.printStackTrace();

}

mydb.closed();

req.setAttribute("catelogList", catelogList);

req.getRequestDispatcher("admin/catelog/catelogMana.jsp").forward(req, res);

}

3.资产类别删除

(1).描述:先是点击资产类别管理,页面跳转到资产类别管理界面,浏览所有的资产类别,点击要删除的资产类别,点击确定按钮,即可删除该资产类别。

(2).程序效果图如下图5-16示

5-16资产类别删除

5.3  员工功能模块

5.3.1  个人工资查看

1.描述:员工点击左侧的菜单“个人工资查看”,页面跳转到个人工资查看界面,调用后台的action类查询出当前登录职工的工资信息,并把这些信息封转到数据集合List中,绑定到request对象,然后页面跳转到相应的jsp,显示出工资信息。

2.程序效果图如下图5-22所示

5-22 个人工资查看管理

5.3.2  公司资产查询

1.描述:员工点击左侧的菜单“公司资产查询”,页面跳转到公司资产查询界面,调用后台的action类查询出当前公司的资产信息,并把这些信息封转到数据集合List中,绑定到request对象,然后页面跳转到相应的jsp,显示出资产信息。

2.程序效果图如下图5-23所示

5-23 公司资产查询

5.3.3  公司经营查询

1.描述:员工点击左侧的菜单“公司经营查询”,页面跳转到公司经营查询界面,调用后台的action类查询出当前公司经营信息,并把这些信息封转到数据集合List中,绑定到request对象,然后页面跳转到相应的jsp,显示出经营信息。

2.程序效果图如下图5-24所示

5-24 公司经营查询

5.3.4  公司费用查询

1.描述:员工点击左侧的菜单“ 公司费用查询”,页面跳转到公司费用查询界面,调用后台的action类查询出公司费用信息,并把这些信息封转到数据集合List中,绑定到request对象,然后页面跳转到相应的jsp,显示出费用信息。

5.3.5  资产分析查看

1.描述:员工点击左侧的菜单“资产分析查看”,页面跳转到资产分析查看界面,调用后台的action类查询出资产分析信息,并把这些信息封转到数据集合List中,绑定到request对象,然后页面跳转到相应的jsp,显示出资产分析信息。

2.程序效果图如下图5-26所示

5-26 资产分析查看

6  系统测试

系统测试这一模块系统开发过程的重要部分,是用来评定一个系统的品质或性能是否符合开发前所提出的部分要求。系统测试的目的是在系统投入运行前,对系统需求分析、设计说明和编码的最终复审,是系统质量保证的关键。系统测试是为了发现错误而执行程序过程。

在设计系统的过程中,存在一些错误是必然的。对于语句的语法错误,在程序运行时自动提示,并请求立即纠正,因此,这类错误比较容易发现和纠正。但另一类的错误是在程序执行的时候,由于不正确的操作或着对某些数据的计算公式运用错误导致的结果。这类错误隐蔽性极强,有时会直接出现,有时又不直接出现,因此,排查这一类动态的错误的是耗时费力的。

对于软件来讲,不论采用何种技术或方法,软件中仍然会有错。采用新的语言、新的开发方式、完善的开发过程,可有效减少错误的引入,但并是不可能完全杜绝软件中的错误,这些引入的错误则需要测试来找出,软件中错误的密度也需要测试来进行具体的估计。测试是所有工程学科的基本组成单元,是软件开发的重要部分。自有程序设计的那天起测试就一直伴随着。统计表明,在典型的软件开发项目中,软件测试工作量往往占软件开发总工作量的40%以上。而在软件开发的总成本中,用在测试上的开销要占30%到50%。如果把维护阶段也考虑在内,讨论整个软件生存期时,测试的成本比例也许会有所降低,但实际上维护工作相当于二次开发,乃至多次开发,其中必定还包含有许多测试工作。

6.1  测试方法

测试的方法可分三种:传统测试方法、功能验证、系统测试。

传统测试方法包括简单单元测试,通常由开发人员执行。设计这些测试需要了解系统内部知识,并且这些测试几乎是针对产品的特定的部分。这些类型的测试非常适合与其他代码组件极少交互,甚至没有交互的简单部分。

功能验证也是一种测试过程,在这个过程中,对产品源代码了解有限的设计者进行测试以确认产品或服务的核心功能。设计这种测试是为了证明这个核心功能符合某个规范。举个例子,登录时输入的邮箱错误时是不是有提示?如果测试失败,通常就意味着检测到了系统的一个基本问题。这种测试也是适合简单的 Web 服务,使您可以检查服务是否能够正确执行它的各个功能。

系统测试通常是在功能验证阶段完成,验证了核心功能后进行。它倾向于把整个系统作为一个整体来查找问题。弄清Web服务作为系统的一部分怎样运作,以及Web服务之间如何交互。由于系统测试实际是在开发生命周期快结束时才进行,所以经常不能给它分配充足的时间来完成。系统测试阶段常常被忽略,并且一些通常都可以发现的、极为少见的错误都不能被发现。即使发现了这种错误,这时也来不及确定错误的原因并设法修复它们了。因此,在查找代码错误时,必需把系统测试应用设计得尽可能高效。

6.2  系统测试结果

在系统开发完成后,对系统进行了测试,所用方法是系统测试和功能测试,

主要内容包括:

  功能测试。即测试系统的功能是否正确,它的依据是需求文档,如《产品需求规格说明书》。软件最重要的质量因素,所以功能测试肯定是必不可少

健壮性测试。即测试软件系统在异常情况下能否正常运行的能力。健壮性有两层含义:一是容错能力,二是恢复能力。

测试如表6-1测试表所示:

表  6-1测试结果表

方法

目的

预期结果

过程

测试结果

比较

结论

功能测试方法

测试录入功能的正确性

有出错并弹出警告

在设置用户信息中并未填写任何内容,直接提交

无法保存,有出错警告

与预期结果相当

正确

功能测试方法

登录功能的正确性

有出错弹出警告,并返回登陆界面

在设置用户信息中并未填写任何内容,直接提交

登录出错,有出错警告,返回登录界面

与预期结果相当

正确

功能测试方法

修改信息功能的正确性

修改完成,提示完成并录入数据库

在修改用户信息处修改信息并提交

修改成功,并修改数据库中内容

与预期结果相当

正确

系统总体情况如下:

(1) 各功能模块都可以正常进行,基本实现了系统设计时的各项功能要求;

(2) 界面简洁,操作简单,系统使用方便;

本系统的下一步开发方向如下:

(1) 加强网站个性化设计;

(2) 加强网站人性化服务功能;

总之,本此系统开发圆满成功,各模块运行正常。本次的设计开发为下一步的完善提供了重要的帮助和支持,将会更加提高我们的系统的功能。

总 结

在毕业设计和开发期间,经过老师的指导和三个多月的认真学习,同时翻阅了大量的资料,终于完成了中小型企业财务管理系统的开发设计。其功能基本符合用户需求,能够完成课题的提交。我感觉自己从理论到实践都有了长足的进步和很大的提高,使我在数据库设计方面、JSP编程技术方面有了长足的进步,对中小型企业财务管理系统开发过程、步骤有了比较深刻的认识。

在系统开发之前,作为开发人员,必须要对开发系统有全方位的认识,例如该系统的特点、适用范围等,通过对系统的了解作为基础再对客户或使用者所需实现的功能进行分析并按照客户要求写出需求分析并设计初步方案。系统开发不仅仅是对代码的准确性的要求,而且要考虑系统的稳定性,实用性,开发过程中及时与客户交流,在开发过程中不断地改进代码,更加贴近客户需求。

设计实践上的体会:在这次做毕业设计的过程中,我对JSP、servlet等编程知识又有了更深层次的了解和应用,认识到自己很多的不足和对知识的不成熟,还需要多加锻炼并深入学习,在本次设计过程中所遇到的问题我尽量通过自己的方式进行解决,很大的提高了自己的自学能力,在没办法解决的情况下,对基地和学校老师进行认真的询问并解决问题,学到了很多知识,在这感谢老师对我的指导起到了画龙点睛的作用。

通过毕业设计,我还明白了一点,合作是至关重要的。虽然我是自己一个人为一组,但是在设计过程中也经常和同学们商量,相互借鉴。一个完整软件程序需要若干个人的通力合作。在中小型企业财务管理系统开发过程中,我加强和同学们的沟通和交流,使得对每一个问题的解决获得较优的方案,从而保证中小型企业财务管理系统系统的合理性、完整性,为该平台的进一步完善和扩充打下了良好的基础。

撰写毕业论文期间,我深刻体会到,实践到理论的重要性。在实践到理论的转化中,我将自己的工作过程清晰的展现在面前,而且增强了自己查阅资料的能力,获得了一些必要的知识。

    总之,在整个毕业设计期间,我既有收获,也发现了自己的不足。今后,我一定更加努力,弥补自己的不足,提高自己的水平。

相关文章:

jsp企业财务管理系统设计与实现

企业财务管理系统 摘要 对于企业集来说,财务管理的地位很重要。随着计算机和网络在企业中的广泛应用,企业发展速度在不断加快,在这种市场竞争冲击下企业财务管理系统必须优先发展,这样才能保证在竞争中处于优势地位。对此企业必须实现财务管理…...

EscherNet运行笔记

文章标题:EscherNet: A Generative Model for Scalable View Synthesis 1. 环境配置 conda env create -f environment.yml -n eschernet conda activate eschernet 2. 数据下载 wget https://tri-ml-public.s3.amazonaws.com/datasets/views_release.tar.gz 3…...

Java中的反射机制及其应用场景

目录 什么是Java反射机制? 工作原理 主要应用场景 注意事项 总结 什么是Java反射机制? Java反射机制是一种强大的工具,它允许程序在运行时访问、检查和修改其本身的类和对象的信息。通过反射,开发者可以在不知道类的具体实现…...

信息科技伦理与道德3:智能决策

1 概述 1.1 发展历史 1950s-1980s:人工智能的诞生与早期发展热潮 1950年:图灵发表了一篇划时代的论文,并提出了著名的“图灵测试”;1956年:达特茅斯会议首次提出“人工智能”概念;1956年-20世纪70年代&a…...

青少年编程与数学 02-006 前端开发框架VUE 16课题、组件基础

青少年编程与数学 02-006 前端开发框架VUE 16课题、组件基础 一、定义一个组件二、使用组件三、传递 props四、监听事件五、通过插槽来分配内容六、动态组件七、DOM 内模板解析注意事项1、大小写区分2、闭合标签3、元素位置限制 课题摘要:本文介绍了Vue.js中的组件基础&#xf…...

25/1/11 算法笔记 Yolov8物体识别

这几天做了给Yolov8检测物体的小任务,今天来做下总结。 首先介绍下整个Yolov8检测的步骤吧,安装库那些就不讲了。 这是我的文件包的对象树。 有images包,里面装了训练和验证的图像。 labels包,装了标注好的labels的txt文件&…...

水水水水水水

为了拿推广卷,但不想把我原本完整的文章拆成零散的多篇,只能出此下策随便发一篇,认真写的都笔记专栏里 网络技术:数字时代的基础设施 在当今社会,网络技术无疑是推动现代生活和经济发展的核心动力之一。从简单的信息传…...

XS5037C一款应用于专业安防摄像机的图像信号处理芯片,支持MIPI和 DVP 接口,内置高性能ISP处理器,支持3D降噪和数字宽动态

XS5037C是一款应用于专业安防摄像机的图像信号处理芯片,支持MIPI和 DVP 接口,最 大支持 5M sensor接入。内置高性能ISP处理器,支持3D降噪和数字宽动态。标清模拟输出支 持960H,高清模拟输出支持HDCCTV 720P/1080P/4M/5M。高度集成…...

机器学习无处不在,AI顺势而为,创新未来

机器学习无处不在: 1、推荐广告和搜索:推广搜不分家,属于数据科学中,对人的行为进行理解 2、计算机视觉CV:对人看到的东西进行理解 3、自然语言处理:对人交流的东西进行理解 4、数据挖掘和数据分析&…...

pandas处理json的相关操作

Pandas 是一个强大的数据处理库,它提供了丰富的功能来处理 JSON 数据。以下是 Pandas 中处理 JSON 的所有常见操作: 1. 读取 JSON 文件 使用 pandas.read_json() 函数可以从 JSON 文件或 JSON 字符串中读取数据。 从 JSON 文件读取 import pandas as …...

linux内存泄露定位过程(kmemleak和slab debug)

1,当遇到内存增加过多时,或者由于内存导致系统oom时我们怎么定位呢,定位时需要确认是内核态还是用户态内存泄露。 排查步骤 top查看VIRT和RES内存 rootubuntu2004:~# top top - 21:05:39 up 7 min, 1 user, load average: 5.01, 4.09, 2.…...

2025年安卓面试复习总结

文章目录 深入理解并熟练运用常用设计模式及反射原理,能够自定义注解及泛型,多次通过设计模式对 app 代码进行高效重构,显著提升代码的可维护性与扩展性。设计模式自定义注解泛型Kotlin泛型 精通多线程原理,对 ThreadPoolExecutor…...

JS scrollIntoView 技巧揭秘:解锁网页流畅交互

文章目录 一.基本概念二.语法和参数基本语法:element.scrollIntoView();参数详解: 三.应用场景和示例场景一:点击目录点位到相应的位置React 示例代码:Vue3 示例代码: 场景二:轮播图定位到指定图片示例代码…...

【Ubuntu 24.04】常见问题解决

1.24开启3D加速黑屏 参考文章:Ubuntu24开机黑屏,VMware卡死,虚拟机繁忙解决方案 没有3D加速就没有动画,所以我们需要开启3D加速,但是直接开启3D加速会黑屏 由于Ubuntu24内部的图形加速驱动异常,因此需要更新…...

前端依赖安装指南

前端依赖安装指南 一、NVM管理工具安装 1.在 Windows 上安装 下载 NVM for Windows 的安装程序:(最新版本可以在 nvm-windows Releases 页面 找到)运行下载的安装程序并按步骤操作。 2.配置 NVM exe安装自动配置环境变量 3. 验证 NVM 安装 验证 NVM 是否成功…...

灌区闸门自动化控制系统-精准渠道量测水-灌区现代化建设

项目背景 本项目聚焦于黑龙江某一灌区的现代化改造工程,该灌区覆盖广阔,灌溉面积高达7.5万亩,地域上跨越6个乡镇及涵盖17个村庄。项目核心在于通过全面的信息化建设,强力推动节水灌溉措施的实施,旨在显著提升农业用水的…...

ELK实战(最详细)

一、什么是ELK ELK是三个产品的简称:ElasticSearch(简称ES) 、Logstash 、Kibana 。其中: ElasticSearch:是一个开源分布式搜索引擎Logstash :是一个数据收集引擎,支持日志搜集、分析、过滤,支持大量数据…...

《大型语言模型与强化学习的融合:探索问题的新解决方案与开源验证需求》

强化学习在2020年代初期通过开源项目如CleanRL的多学习者PPO算法取得了显著进展,但在语言模型领域未能充分利用其潜力 1. 开源项目CleanRL的贡献 CleanRL 是一个致力于提供简单、高效且易于理解的强化学习(RL)算法实现的开源项目。该项目通…...

springboot 默认的 mysql 驱动版本

本案例以 springboot 3.1.12 版本为例 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.1.12</version><relativePath/> </parent> 点击 spring-…...

10分钟快速了解OceanGPT(沧渊)

10分钟快速了解OceanGPT(沧渊) 海洋科学任务的大语言模型——OceanGPT OceanGPT是如何训练的?为了训练 OceanGPT (沧渊) ,收集了一个跨越多个领域的海洋科学语料库。由于每个子领域和主题都有其独特的数据特征和模式,因此提出了一个特定于领域的指令生成框架,称为 DoDirec…...

蓝桥杯嵌入式速通(1)

1.工程准备 创建一文件夹存放自己的代码&#xff0c;并在mdk中include上文件夹地址 把所有自身代码的头文件都放在headfile头文件中&#xff0c;之后只需要在新的文件中引用headfile即可 headfile中先提前可加入 #include "stdio.h" #include "string.h"…...

Redis优化建议详解

Redis优化建议详解 1. 内存优化 1.1 内存配置 设置最大内存 maxmemory 4gb 内存淘汰策略 maxmemory-policy allkeys-lru 样本数量 maxmemory-samples 51.2 内存优化策略 数据结构优化 使用压缩列表&#xff08;ziplist&#xff09;合理设置hash-max-ziplist-entries使用整数…...

ceph 存储 full 阈值调整

前言 在 Ceph 集群中,默认情况下,当某些 OSD(对象存储守护进程)的使用率达到 85% 时,系统会发出 nearfull 警告,并可能限制进一步的写入操作,以防止数据丢失或集群不稳定。 要允许在 OSD 使用率超过 85% 的情况下继续写入,您可以调整以下两个参数: mon_osd_nearful…...

后端技术选型 sa-token校验学习 下 结合项目学习 后端鉴权

目录 后端注册拦截器 实现对 WebMvcConfigurer 接口的类实现 静态变量 方法重写 注册 Spring Framework拦截器 Sa-Token中SaServletFilter拦截器 思考 为什么使用两个拦截器 1. Spring Framework 拦截器 2. SaServletFilter 为什么要注册两个拦截器&#xff1f; 总结 …...

Vue.js组件开发-实现组件切换效果的两种方法 条件渲染、动态组件

在Vue.js中&#xff0c;实现组件切换效果通常依赖于条件渲染或动态组件。 方法一&#xff1a;条件渲染 条件渲染使用v-if、v-else-if和v-else指令来根据条件展示或隐藏组件。这种方法适用于需要在不同条件下展示不同组件的场景。 <template><div><button cli…...

primitive 的 Appearance编写着色器材质

import { nextTick, onMounted, ref } from vue import * as Cesium from cesium import gsap from gsaponMounted(() > { ... })// 1、创建矩形几何体&#xff0c;Cesium.RectangleGeometry&#xff1a;几何体&#xff0c;Rectangle&#xff1a;矩形 let rectGeometry new…...

Seata搭建

1.初识Seata Quick Start | Apache Seata 官网 2.准备nacos和 seata 启动nacos startup.cmd -m standalone账号nacos 密码nacos 搭建seata TC 这里下载的 1.4.2 seata-server-1.4.2 1.修改seata配置文件 registry.conf 这里我们使用nacos作为注册中心 和 配置中心 r…...

流浪猫流浪狗领养PHP网站源码

源码介绍 流浪猫流浪狗领养PHP网站源码&#xff0c;适合做猫狗宠物类的发信息发布。当然其他信息发布也是可以的。 导入数据库&#xff0c;修改数据库配置/application/database.php 设置TP伪静态&#xff0c;设置运行目录&#xff0c; 后台&#xff1a;/abcd.php/dashboard?…...

asammdf python 处理MF4文件库简介

asammdf 是一个功能强大的 Python 库&#xff0c;专门用于处理汽车行业常用的 MDF&#xff08;Measured Data Format&#xff09;文件。以下是 asammdf 的主要功能总结&#xff1a; 主要功能 读取和写入 MDF 文件&#xff1a; 支持 MDF 文件的版本 3.x 和 4.x。 能够读取和…...

【“软件工程”基础概念学习】

基础和相关概念 英文&#xff1a;Software Engineering 软&#xff1a;物体内部的组织疏松&#xff0c;受外力作用后容易改变形状软件&#xff1a; 计算机系统的组成部分&#xff0c;是指挥计算机进行计算、判断、处理信息的程序系统。通常分为系统软件和应用软件。借指某项活…...

自建站怎么接入支付/拉新推广怎么找渠道

一、概述 原始视频帧&#xff08;最原始的视频数据&#xff09;根据编码的需要&#xff0c;以不同的方式进行扫描产生两种视频帧&#xff1a;连续或隔行视频帧&#xff0c;隔行视频帧包括顶场和底场&#xff0c;连续&#xff08;遂行&#xff09;扫描的视频帧与隔行扫描视频帧有…...

如何建立一个网站支持chrome/公司在百度怎么推广

目录2c简介2b、2a问题测试时间2c简介 简单的说&#xff0c;raft需要将currentTerm、voteFor、entries(当前的所有日志)保存到硬盘进行持久化存储。 保存的方法&#xff1a;在变量改变时&#xff0c;利用persist()中的gob将变量序列化&#xff0c;存储在persister结构体中。&a…...

电子邮箱怎么申请/上海seo公司排名

pyse 更名为 seldom WebUI automation testing framework based on Selenium and unittest. 基于 selenium 和 unittest 的 Web UI自动化测试框架。 特点 提供更加简单API编写自动化测试。提供脚手架&#xff0c;快速生成自动化测试项目。自动生成HTML测试报告生成。自带断言方…...

什么网站可以做市场分析呢/谷歌优化推广

1&#xff09;实验平台&#xff1a;正点原子水星 STM32F4/F7 开发板2&#xff09;摘自《STM32F7 开发指南(HAL 库版)》关注官方微信号公众号&#xff0c;获取更多资料&#xff1a;正点原子http://weixin.qq.com/r/hEhUTLbEdesKrfIv9x2W (二维码自动识别)第十六章 电容触摸按键实…...

沈阳网站开发培训/网络营销工程师培训

bootstrap源码分析之scrollspy&#xff08;滚动侦听&#xff09; 源码文件&#xff1a; Scrollspy.js 实现功能1、当滚动区域内设置的hashkey距离顶点到有效位置时&#xff0c;就关联设置其导航上的指定项 2、导航必须是 .nav > li > a 结构&#xff0c;并且a上href或dat…...

有没有专门做帽子的网站/精准引流推广团队

1. 学生模块list页面 不能正常跳转 说是找不到stuid属性&#xff0c;但是我在entity里面和数据库建表的属性就是stuid&#xff1b;Grade模块代码一样&#xff0c;却可以正常运行 这是什么问题&#xff1f; <c:forEach items"slist" var"student"> &l…...