摘 要
如今社会上各行各业,都喜欢用自己行业的专属软件工作,互联网发展到这个时候,人们已经发现离不开了互联网。新技术的产生,往往能解决一些老技术的弊端问题。因为传统收支信息和销售订单信息管理难度大,容错率低,管理人员处理数据费工费时,所以专门为解决这个难题开发了一个商业辅助决策系统,可以解决许多问题。
商业辅助决策系统实现的功能包括收入信息管理与支出信息管理,员工销售订单信息管理,员工薪资管理,员工管理,公告管理等功能。该系统采用了Mysql数据库,Java语言,Spring Boot框架等技术进行编程实现。
商业辅助决策系统可以提高收支信息和销售订单信息管理问题的解决效率,优化收支信息和销售订单信息处理流程,保证收支信息和销售订单信息数据的安全,它是一个非常可靠,非常安全的应用程序。
关键词:商业辅助决策系统;Mysql数据库;Java语言
目 录
第1章 绪论
1.1 课题背景
二十一世纪互联网的出现,改变了几千年以来人们的生活,不仅仅是生活物资的丰富,还有精神层次的丰富。在互联网诞生之前,地域位置往往是人们思想上不可跨域的鸿沟,信息的传播速度极慢,信息处理的速度和要求还是通过人们骑马或者是信鸽传递,这些信息传递都是不可控制的,中间很有可能丢失,信息的传递水平决定了人们生活的水平。如今大家都在使用互联网软件产品,从内部管理设置计算机管理,提高内部信息化的管理水准,从外部市场也可以用计算机获取相关数据进行处理,如今各行各业已经严重依赖于计算机了。
本课题研究和开发商业辅助决策系统,让安装在计算机上的该系统变成管理人员的小帮手,提高收支信息和销售订单信息处理速度,规范收支信息和销售订单信息处理流程,让管理人员的产出效益更高。
第4章 系统设计
用户对着浏览器操作,肯定会出现某些不可预料的问题,但是不代表着系统对于用户在浏览器上的操作不进行处理,所以说,要提前考虑可能会出现的问题。
4.1 系统设计思想
系统设计,肯定要把设计的思想进行统一,只有统一的思想才能指导程序的开发,并且可以让众多的程序开发人员更快速的进入状态,提高开发速度。根据当前系统的既定需求,下面将进行本系统设计思想的阐述。
(1)扩展性:开发任何一个系统的时候不可避免要考虑这个问题。软件版本的更迭是一种常识,任何一个软件都不会一次性开发就成永恒,软件是一个不断成长的东西。所以考虑问题的时候需要对当前问题进行数据上的扩大化,然后进行归纳整理,最终形成具有一定扩展性的程序。程序的可扩展性必然会影响开发进度,所以最终需要综合评估程序的可扩展程度,进而有的放矢,循序开发。
(2)实用性:程序设计是一个先高屋建瓴式的设想,然后再具体化,实用性就是具体化的第一个步骤,要充分考虑使用者是不懂程序设计的这一点,使用者只是懂得常规性的上网操作步骤,并不需要对程序进行理解,所以一定要让使用者感觉到便利,感觉到实用性的存在,如果使用者使用程序过程中没发现使用程序的好处,那么程序设计的实用性将大大降低。
(3)安全性:当使用者使用的过程中,会产生大量的相关数据,这些数据必须有安全性的保证,否则当使用者发现数据出现问题的原因是程序设计问题的时候,将会对程序开发者失去信任,甚至可能会产生大量的费用赔偿问题,这是一个不可避免的问题。所以安全性关系开发与使用者双方的经济利益,程序的安全性是一定要保证的。
(4)先进性:程序设计的先进性是开发者进行考虑的,必须要在满足系统功能的前提下,必须要选择好当下最合适的技术。最合适的技术要从开发成本,使用成本以及维护成本里面综合分析,经过综合分析后要让技术实现最优解,保持先进的技术生产力。
(5)维护性:程序开发之初就要考虑以后的维护问题。维护是在程序开发完毕,已经上线可以运作,进入生产试用过程和使用过程中才会发现需要维护的必要。要通过各方面降低维护成本,不是说维护的越少就代表程序开发的越完美,程序既然是人类进行设计制造的,肯定有很多不可避免的问题产生,那么如何维护好程序的正常运作也是一门很重要的学问。
4.2 功能结构设计
图4.1即为设计的管理员功能结构,管理员权限操作的功能包括管理员工基本信息,管理收入信息,管理支出信息,增删改查销售订单信息,增删改查员工薪资信息等。
4.3.2 数据库物理设计
本小节主要任务即是根据上述内容进行数据存储结构的设计,实体的属性就用来表示字段名称,不同的字段表示的数据类型以及取值都不相同,以及该表各个字段是否能够保持空等进行说明,设计完成一张数据表的结构之后,在保存时同样要命名,尽量选择英文名称进行命名并保存,还不容易导致系统出错。接下来就对设计的表进行简单说明。
表4.1 公告信息表
字段 | 注释 | 类型 | 空 |
id (主键) | 主键 | int(11) | 否 |
gonggao_name | 公告名称 | varchar(200) | 是 |
gonggao_photo | 公告图片 | varchar(200) | 是 |
gonggao_types | 公告类型 | int(11) | 否 |
insert_time | 公告发布时间 | timestamp | 是 |
gonggao_content | 公告详情 | text | 是 |
create_time | 创建时间 | timestamp | 是 |
表4.2 收支信息表
字段 | 注释 | 类型 | 空 |
id (主键) | 主键 | int(11) | 否 |
shouzhi_uuid_number | 唯一编号 | varchar(200) | 是 |
shouzhi_name | 收支名称 | varchar(200) | 是 |
shouzhi_types | 收支类型 | int(11) | 否 |
shouzhi_erji_types | 二级类型 | int(11) | 否 |
shouzhi_money | 收支金额 | decimal(10,2) | 是 |
shouzhi_content | 收支详情 | text | 是 |
insert_time | 添加时间 | timestamp | 是 |
create_time | 创建时间 | timestamp | 是 |
表4.3 管理员信息表
字段 | 注释 | 类型 | 空 |
id (主键) | 主键 | bigint(20) | 否 |
username | 用户名 | varchar(100) | 否 |
password | 密码 | varchar(100) | 否 |
role | 角色 | varchar(100) | 是 |
addtime | 新增时间 | timestamp | 否 |
表4.4 销售订单信息表
字段 | 注释 | 类型 | 空 |
id (主键) | 主键 | int(11) | 否 |
xiaoshou_uuid_number | 唯一编号 | varchar(200) | 是 |
yuangong_id | 员工 | int(11) | 是 |
xiaoshou_name | 销售名称 | varchar(200) | 是 |
xiaoshou_number | 销售数量 | int(11) | 是 |
xiaoshou_types | 销售类型 | int(11) | 是 |
xiaoshou_time | 销售时间 | timestamp | 是 |
xiaoshou_jine | 销售金额 | decimal(10,2) | 是 |
xiaoshou_content | 销售备注 | text | 是 |
insert_time | 添加时间 | timestamp | 是 |
create_time | 创建时间 | timestamp | 是 |
表4.5 薪资信息表
字段 | 注释 | 类型 | 空 |
id (主键) | 主键 | int(11) | 否 |
yuangong_id | 员工 | int(11) | 是 |
xinzi_uuid_number | 薪资编号 | varchar(200) | 是 |
xinzi_name | 标题 | varchar(200) | 是 |
xinzi_month | 月份 | varchar(200) | 是 |
jiben_jine | 基本工资 | decimal(10,2) | 是 |
jiangjin_jine | 奖金 | decimal(10,2) | 是 |
jixiao_jine | 绩效 | decimal(10,2) | 是 |
butie_jine | 补贴 | decimal(10,2) | 是 |
shifa_jine | 实发 | decimal(10,2) | 是 |
xinzi_content | 备注 | text | 是 |
insert_time | 添加时间 | timestamp | 是 |
create_time | 创建时间 | timestamp | 是 |
表4.6 员工信息表
字段 | 注释 | 类型 | 空 |
id (主键) | 主键 | int(11) | 否 |
username | 账户 | varchar(200) | 是 |
password | 密码 | varchar(200) | 是 |
yuangong_name | 员工姓名 | varchar(200) | 是 |
yuangong_phone | 员工手机号 | varchar(200) | 是 |
yuangong_id_number | 员工身份证号 | varchar(200) | 是 |
yuangong_photo | 员工头像 | varchar(200) | 是 |
sex_types | 性别 | int(11) | 是 |
bumen_types | 部门 | int(11) | 是 |
zhiwei_types | 职位 | int(11) | 是 |
yuangong_email | 电子邮箱 | varchar(200) | 是 |
yuangong_address | 现住址 | varchar(200) | 是 |
yuangong_huji | 户籍 | varchar(200) | 是 |
insert_time | 添加时间 | timestamp | 是 |
create_time | 创建时间 | timestamp | 是 |
第5章 系统实现
编程人员在搭建的开发环境中,会让各种编程技术一起呈现出最终效果。本节就展示关键部分的页面效果。
5.1 管理员功能实现
5.1.1 公告管理
图5.1 即为编码实现的公告管理界面,管理员在公告管理界面中发布公告,已经发布的公告信息如果存在错误信息,可以及时更改,在公告管理界面,管理员对需要删除的公告进行删除,查询公告信息时,需要在查询框中编辑公告名称才可以查询出公告信息,公告信息不仅包括公告图片,公告类型,也包括公告名称,公告发布时间等信息。
5.1.2 收支管理
图5.2 即为编码实现的收支管理界面,管理员在收支管理界面中新增收支信息,主要是对支出信息或者是收入信息进行登记,已经新增的收支信息存在登记错误的情况,也能及时更改,在收支管理界面,管理员也能删除需要删除的收支信息,查看收支报表,收支信息主要包括收支类型,收支金额信息,以及收支名称等信息。
5.1.3 销售订单管理
图5.3 即为编码实现的销售订单管理界面,管理员在销售订单管理界面可以新增销售订单信息,销售订单信息主要包括销售数量,销售时间,销售金额,员工姓名,销售名称,添加时间等信息,销售订单信息存在登记错误的情况也能及时更改,同时在销售订单管理界面,管理员也能删除需要删除的销售订单信息,根据员工姓名查询销售订单,或者是选择销售类型来完成对销售订单信息的筛选。
5.1.4 薪资管理
图5.4 即为编码实现的薪资管理界面,管理员在薪资管理界面新增员工薪资,员工薪资主要包括基本工资,奖金,绩效,补贴,实发薪资,添加时间,月份,员工姓名,员工头像,员工手机号等信息,已经存在的员工薪资信息如果存在登记错误的情况,也可以及时更改,在薪资管理界面,管理员可以删除需要删除的薪资信息,提供员工姓名可以对员工薪资信息进行查询,或者选择月份来完成对员工薪资信息的筛选等。
结 论
由于本人学习的是计算机方面的专业,学习了一定的开发知识,因此,对于开发一款已经确定了课题的商业辅助决策系统,从功能需求,功能模块划分,数据库的选择与设计,编程语言的确定,系统界面的布局和设计等知识,我都有个大致的思路。我运用已经具备的理论知识,加上后期从网络渠道获取的相关技术知识,能够在系统完成开发后期,编写相应的系统文档。
商业辅助决策系统制作期间,我也遇到过一些难题,模块拆分不够精细,以及数据表需要设计几张表,还有对于开发技术的深度理论学习还不充分等,不过我能够通过网络或者通过学院提供的图书馆寻求解决办法。比如在不知道具体功能的情况下,我从网上下载了很多的与商业辅助决策系统相关的程序,分析了它们的功能之后,我再结合即将开发的商业辅助决策系统进行综合分析,选取了适合商业辅助决策系统的功能部分,再具体模块具体分析,设计专属项目功能。对于数据表的设计,先在图书馆学习,然后查看相似系统对于数据表的结构设计等知识,然后在本系统功能确定的情况下,结合本系统设计了配套的数据表,对于难度最大的开发技术部分,这是需要大量时间调试的,一般都是对基础数据的增加,更新,查询或修改方面的代码,然后把本系统能够运用的代码部分在简单更改后进行使用,又经过了简单的测试工作,最终呈现出一个完整的能够解决用户实际问题的商业辅助决策系统。该系统唯一不足的就是代码方面还有很多重复的部分,不够精简,还有用户操作本系统,对于用户的误操作行为,本系统还不能及时反馈,这也是一大缺点。
商业辅助决策系统完成了,其相应的配套文档也需要进行编写,该文档主要描述商业辅助决策系统是如何进行分析,设计以及实现的,让其他阅读本文档的人增加对该系统的了解,编写文档过程中,由于自己平时对于办公软件的操作不是很频繁,根据学院要求的文档排版格式进行编辑也花了很多时间,在不断学习排版技巧以及对本系统配套文档的反复修改之后,最终在学院规定的时间内进行了文档定稿。
毕业项目各个工作进行到此,我也是收获颇丰,正因为自己努力学习知识,积极寻求解决办法,才让我能够提交一个完整的作品。制作毕业项目让我又得到了成长,不仅是专业知识的增加,也学到了解决问题的能力和方法。