引言
企业的设备管理在企业的生产制造和管理过程之中意义比较重大,明确企业的设备的产权和维护成本对于企业的成本控制和财务管理之中起到了重要的作用。随着市场竞争的加剧,现代企业所处的市场环境发生了深刻的变革,企业竞争越来越强调基于客户需求的竞争。因此,企业的生产方式逐渐转向以柔性自动化生产为基础的各种先进生产模式,目前生产类型大致可以划分为三种:大量流水生产、多品种小批量生产和单件生产。当下中国制造业多集中在多品种小批量生产企业,这种生产方式开始占有越来越重要的地位。为了适应这种生产方式,企业需要不断的改变生产线,并且不断的购买和租赁机器设备。这种转变给企业的设备管理和财务信息收集带来了巨大的挑战。
设备管理系统是一个以设备为中心,对设备从统计到报废的一个全生命周期中所发生的各种事件进行跟踪的一个管理信息系统。系统可以为企业提供一个简便实用的管理平台,将设备全生命周期的管理工作信息化,有效地进行设备管理工作,以提高设备生命周期的利润率,直接为企业创造价值。设计优良的设备管理系统,实现安全性和高质量,防止故障发生,从而使企业达到降低成本和全面生产效率的提高。
因此,模具制造企业要提高管理水平,具备快速反应和及时调整的能力,没有一套先进的管理系统实现管理的信息化是很难做到的。通过信息化建设,实现模具制造企业的集成化管理,是促进企业提高经营管理水平的一个有效途径
在中小型企业,设备管理业务往往从设备的入库开始,其主要包含以下几部分工作:
设备购进之初,又设备部门的专业人员对设备情况进行核对,并填写设备情况登记表。再又管理人员负责将设备情况登记表登记存档,并将有关使用说明进行编号存档,以备维修之用。对于一些附属设备,仅做登记入库管理,以便进行及时核对和调配。
设备日常运行中,要对日常检测到的数据进行必要存储和监督。在有经验的技师的指导下,根据日常使用记录,制订日常维护计划,力争降低装置因设备问题造成的非计划停工次数。 (3)在设备发生事故的情况下,登记事故记录,并向技术人员提交事故维修表。由技术人员进行现场观察,根据事故维修表和日常运行数据,确定维修标准及要求。以便进行及时,合理的维修。在维修结束后,编写维修情况报告和设备状态报告。 管理人员对有关资产数据进行统计,产品报表,以便高层管理人员根据该报表把握设备运营的宏观情况。
系统设计的目标 信息系统的目标应与企业对该业务的管理目标相一致,分析信息系统的目标应从企业的管理目标入手。根据现代企业分层次的管理模式,设置不同的权限级别,分别提供普通用户,设备管理者和系统管理员三个层次。系统目标如下:
提供简单,方便的操作。
对系统提供必要的权限管理。
根据企业原有的设备管理业务,为企业不同管理层次的职员提供相应的功能。 (4)
使企业的设备管理更加科学和规X,杜绝设备的丢失和设备账目混乱的情况。 (5)
节约设备管理的成本。
目录
TOC \o "1-3"\h \u
2.1实现设备信息录入、浏览、删除、修改、检索和统计等。............................ 4
2.5实现外借、回收、损害估价.................................................................................. 4
2.8实现国家标准设备代码的维护.............................................................................. 4
2.9具有数据备份和数据恢复功能.............................................................................. 4
2.10能够对设备进行方便的检索................................................................................ 4
5.1.3设备类型表建立;.................................................................................... 18
1企业管理系统概述
系统概述
本文首先概要的论述了数据库的有关知识与现状。之后,对当代计算机数据库技术的现状,尤其是对关系型数据库作了系统的描述。在此基础上,本文重点对数据库的开发环境— Microsoft VisualBasic 2005 作了详细的介绍,然后,对开发一个小型的现代流通企业设备管理系统所用到的语句、函数、对象进行了详细的阐述。最后,结合自己编写的现代流通企业设备管理系统,给出了完整的、可实际使用的数据库管理系统。并给出了该系统的使用方法和设计方法。
1、从企业设备资产管理实际需求出发,建立符合中国企业设备管理普遍模式的软件管理工作体系; 中设EAM2008以中国企业的设备管理模式为立足点,以设备资产全寿命周期管理为原则,通过运行、维护维修等核心工作与日常管理分析相结合,对设备实行标准化管理和综合管理,可以为企业建立符合其实际管理模式的,全过程综合管理的计算机工作体系。
2、建立设备资产全生命周期的基础管理体系; 中设EAM2008通过建立标准的信息结构,从资产引入的购置与更新作为主要管理点,以单体设备为主要数据对象,按照设备购置、安装验收、立卡建帐、资产折旧、变动、设备报废、档案建立、资产统计等日常管理流程进行数据记录,进而自动集成有关一台设备的全部数据,从而高效地建立设备整个寿命周期的、完整的基础管理档案和技术档案。 为了解决企业帐实对应的问题,中设EAM2008系统专门设置了设备与资产对帐功能,通过资产编号与设备编号的对应关系,实现设备台帐与资产台帐的自动对帐功能。
建立以设备部位为核心的维护维修管理体系,帮助企业实现对设备运行、维护、维修的标准化管理; 中设EAM2008在设备运维功能中,以设备部位为核心,通过对运行、维护、维修发生部位进行细化管理,使设备维修维护管理更系统,同时通过控制工作进程,结合人力资源、备件资源、技术资源、维修工具、资金的合理配置,实现最高效的管理。 通过中设EAM2008帮助企业建立完整的设备技术工作标准规程,包括点检定标、保养周期定标、设备润滑五定、维修周期定标等等,并对故障、事故、停机等进行分类管理,实现设备运行、维护、维修等设备管理的主要工作的知识管理和统计分析管理。
建立异常问题台帐中心,及时发现设备运行中存在的问题; 中设EAM2008建立了异常问题台帐中心,解决设备运行异常问题。异常问题台帐中心实现企业设备管理的工作有序化和任务明确化,在没有出现停机或明显故障时,可以通过异常问题记录通报设备状况,并提交维护人员进行处理,及时发现设备运行中的异常并采取措施,避免引起停机造成损失。
1.2选题背景
在中小型企业,设备管理业务往往从设备的入库开始,其主要包含以下几部分工作:
设备购进之初,又设备部门的专业人员对设备情况进行核对,并填写设备情况登记表。再又管理人员负责将设备情况登记表登记存档,并将有关使用说明进行编号存档,以备维修之用。对于一些附属设备,仅做登记入库管理,以便进行及时核对和调配。
设备日常运行中,要对日常检测到的数据进行必要存储和监督。在有经验的技师的指导下,根据日常使用记录,制订日常维护计划,力争降低装置因设备问题造成的非计划停工次数。
在设备发生事故的情况下,登记事故记录,并向技术人员提交事故维修表。由技术人员进行现场观察,根据事故维修表和日常运行数据,确定维修标准及要求。以便进行及时,合理的维修。在维修结束后,编写维修情况报告和设备状态报告。 管理人员对有关资产数据进行统计,产品报表,以便高层管理人员根据该报表把握设备运营的宏观情况。
1.3系统设计的目标
信息系统的目标应与企业对该业务的管理目标相一致,分析信息系统的目标应从企业的管理目标入手。根据现代企业分层次的管理模式,设置不同的权限级别,分别提供普通用户,设备管理者和系统管理员三个层次。系统目标如下:
提供简单,方便的操作。
对系统提供必要的权限管理。
根据企业原有的设备管理业务,为企业不同管理层次的职员提供相应的功能。
使企业的设备管理更加科学和规范,杜绝设备的丢失和设备账目混乱的情况。
节约设备管理的成本。
对日常的设备运行情况进行管理,同时提供一些必要的报表。
为企业实现整体信息化和其他相关系统提供必要的数据支持。
1.4系统设计思想
信息系统的建设需要遵循正确的方法和步骤。目前比较流行和成熟的开发方法有结构化生命周期法,原型法,面向对象的方法和计算机辅助软件工程。本系统采用结构化生命周期法进行系统开发,这种方法的基本思想是建立面向用户的观念,严格区分工作阶段,自顶向下地完成系统的研制工作,并充分考虑变化的情况。
2需求分析
2.1实现设备信息录入、浏览、删除、修改、检索和统计等。
不同的企业只需要对其稍作修改即可开发出符合本企业要求的设备管理系统
2.2 可以查询设备的购买记录
2.3 可以实现登录输入密码
2.4实现报修、维护信息更改
2.5实现外借、回收、损害估价
2.6部门信息、员工信息录入
2.7设备预算及实际报销
2.8实现国家标准设备代码的维护
2.9具有数据备份和数据恢复功能
2.10能够对设备进行方便的检索
3数据需求
3.1主键约束、非空值约束
八个表中都有主键,在设备表和用户表中,设备号和用户名是主键,因为一个公司中可能一种设备不只只有一个,也许有多个,用户密码也可能会一样的,所以以设备号和用户名为主键,能保证数据的唯一。在其他中,一般以ID为主键。
3.2外键约束
将严格遵循外键约束条件。
3.3数据表的建立
在数据库中可以直接对设备管理系统之间新建表,也可以用代码建表。这里我们用直接建表法实现。
部门表:
图3.3 SEQ 图3.3 \* ARABIC 1
用户表:
图3.3 SEQ 图3.3 \* ARABIC 2
权限表:
图3.3 SEQ 图3.3 \* ARABIC 3
设备表:
图3.3 SEQ 图3.3 \* ARABIC 4
设备大类表
图3.3 SEQ 图3.3 \* ARABIC 5
设备种类表
图3.3 SEQ 图3.3 \* ARABIC 6
设备维修表
图3.3
设备调拨表
图3.3 SEQ 图3.3 \* ARABIC 7
3.4约定
数据库SQL Server2005
4关系模式
4.1 E-R图
用户图
图4.1 SEQ 图4.1 \* ARABIC 1
设备图:
图4.1 SEQ 图4.1 \* ARABIC 2
设备调拨表:
图4.1 SEQ 图4.1 \* ARABIC 3
用户等级表:
图4.1 SEQ 图4.1 \* ARABIC 4
部门信息:
图4.1 SEQ 图4.1 \* ARABIC 5
4.2 数据库模型
图4.2 SEQ 图4.2 \* ARABIC 1
4.3关系图的建立
关系图是表之间的连接,用一个表中的外键引用另一个表中的主键。关系线的终点显示一个主键符号—表示主键到外键的关系,或者显示一个无穷符号以表示一对多关系的外键端。
用户等级和用户表的关系图:
图4.3 SEQ 图4.3 \* ARABIC 1
5数据库源代码
5.1数据库建立
5.1.1创建数据库;
USEmaster
GO
CREATEDATABASE librarysystem
ON
( NAME = librarysystem,
FILENAME = 'd:\librarysystem.mdf',
SIZE = 10,
MAXSIZE = 50,
FILEGROWTH = 5)LOG ON( NAME = 'library',
FILENAME = 'd:\librarysystem.ldf',
SIZE = 5MB,
MAXSIZE = 25MB,
FILEGROWTH = 5MB )
GO
5.1.2创建用户表;
if exists(select * from sysobjects where name='用户信息')
DROP TABLE 用户信息
go
CREATE TABLE 用户信息
(
id INT PRIMARY KEY IDENTITY(1,1),
UserName NVARCHAR(40) UNIQUE,--账号
Password NVARCHAR(50),--密码
)
INSERT INTO UserInfo(UserName,Password) VALUES('admin','admin')
SELECT * FROM 用户信息
5.1.4部门表建立;
me varchar(10) not null,
)
INSERT INTO 部门GO
if exists(select * from sysobjects where name='部门表')
DROP TABLE 部门表
go
--创建部门表
CREATE TABLE 部门表 (
id int identity(1,1) primary key ,
deptNa表 (deptName) VALUES('生产部')
INSERT INTO 部门表 (deptName) VALUES('销售部')
INSERT INTO 部门表 (deptName) VALUES('人力部')
·
5.1.3设备类型表建立;
go
if exists(select * from sysobjects where name='设备类型表')
DROP TABLE 设备类型表
go
--创建设备类型表
CREATE TABLE 设备类型表 (
id int identity(1,1) primary key ,
typeName varchar(10) not null,
)
INSERT INTO 设备类型表 (typeName)VALUES('电子')
INSERT INTO 设备类型表 (typeName)VALUES('办公')
INSERT INTO 设备类型表 (typeName)VALUES('生产')
INSERT INTO 设备类型表 (typeName)VALUES('生活')
select * from 设备类型表
5.1.4设备状态表建立
go
if exists(select * from sysobjects where name='设备状态表')
DROP TABLE 设备状态表
go
--创建设备状态表
CREATE TABLE 设备状态表 (
id int identity(1,1) primary key ,
stateName varchar(10) not null,
)
INSERT INTO设备状态表 (stateName) VALUES('空闲')
INSERT INTO 设备状态表 (stateName) VALUES('借出')
INSERT INTO 设备状态表 (stateName) VALUES('维修')
INSERT INTO 设备状态表 (stateName) VALUES('报废')
select * from 设备状态表
5.2创建设备信息表
5.2.1信息填入
将设备ID,设备种类,类型,分类,状态,价格,折现率加入到表中;
go
--创建设备信息表
CREATE TABLE 设备信息表(
id INT identity(1001,1) primary key, --'主键'
equipmentName VARCHAR(100) NOT NULL, --'设备名称'
equipmentPrice decimal(16,2) NOT NULL, --'设备价格'
typeId int foreign key references 设备类型表(id) NOT NULL ,-- '类型',
factory VARCHAR(100) DEFAULT NULL, -- '厂商'
factoryDate varchar(100) DEFAULT NULL, --'出厂日期'
buyDate VARCHAR(100) DEFAULTNULL, -- '购买日期'
equipmentState INT foreign key references 设备状态表(id), -- '设备状态'
content nvarchar(100)
--pictureUrl NVARCHAR(100)--设备图片路径
)
5.2.2设备填入
将使用年限,维修信息,报废日期,设备ID,维修人员ID加入表中;
if exists(select * from sysobjects where name='设备维修表')
DROP TABLE 设备维修表
go
CREATE TABLE 设备维修表 (
id INT identity(1,1) primary key ,-- '主键',
equipmentid INT foreign key references 设备维修表(id), -- '设备编号',
repairtime VARCHAR(20) DEFAULT NULL,-- '送修时间',
dealier VARCHAR(100) DEFAULT NULL, -- '维修人员',
place VARCHAR(100) DEFAULTNULL, -- '送修地点',
reason VARCHAR(1000) DEFAULT NULL, -- '故障原因',
equipmentrepair VARCHAR(20) DEFAULT NULL ,-- '完修时间',
worktime INT DEFAULT NULL, -- '维修天数',
repairmoney Money DEFAULT NULL ,-- '维修费用',
)
5.2.3人员信息
将使用人,调拨信息,备注,部门ID,人员ID,设备ID加入表中;
if exists(select * from sysobjects where name='设备报废表')
DROP TABLE 设备报废表
go
CREATE TABLE 设备报废表 (
id int identity(1,1) primary key ,-- '主键',
equipmentid INT foreign key references 设备报废表(id), -- '报废设备编号',
--scrapmoney money DEFAULT NULL, -- '剩余价值',
scraptime VARCHAR(20) DEFAULT NULL,-- '报废时间',
reason VARCHAR(1000) DEFAULTNULL -- '报废原因',
)
5.2.4部门信息
将部门ID,部门名称,父部门加入表中;
if exists(select * from sysobjects where name='设备借还表')
DROP TABLE 设备借还表
go
oreign key references equipment(id), -- '设备编号',
lendperson VARCHAR(100) DEFAULT NULL, -- '借用人',
lenddept INT foreign key references department(id) ,-- '借用部门',
lendtime VARCHAR(100) DEFAULT NULL,-- '借用时间',
lendday INT DEFAULT NULL, -- '借用天数',
returntime VARCHAR(100) DEFAULT NULL -- '归还时间
)
6结果数据检验
6.1过程要求
在设备信息管理模块中,不允许出现相同的设备编号,再添加、修改记录时,应进行测试,如果当前值已存在,则禁止操作,当删除一个设备编号时,其对应的其他信息也一并删除;
在设备维修管理模块中,当送修设备完成后要对其库存状态进行修改,加以测试,观察相应设备状态的变换是否与预期保持一致。按照上面进行测试,符合数据要求的操作均可行,不符合要求的操作均被拒绝操作,并给出不服合某项需求的提示。
系统登录测试 操作要求: 输入错误的密码看系统是否能进入本系统,重复三次能否退出登录窗口;
在口令中输入一个不规范的符号,看系统的处理方式;
按正确的用户名和密码检查登陆是否成功。
过程要求:在登录时,不同的用户级别有不同的口令、权限,系统管理员可以对其他用户多的信息进行修改;
普通用户登录后,系统管理员可以查看其操作的信息。 按照上述的内容进行测试,正确的操作可以进入本系统,并进行操作;错误或非法的操作都不可以进入本系统,并给出错误提示。
模块接口测试 系统各功能模块间的接口测试是检测系统各个模块之间处理问题的一致性,当系统检测到某一操作在作用时,各个功能模块间工作的衔接不应出现问题。
6.2添加设备信息
insert into 设备信息表 values('沙发','300.00',3,'湖北电子制造厂','2017-04-10','2017-04-15',1,'物品')
insert into 设备信息表values('iPhone5s','3000.00',1,'美国苹果公司','2017-04-10','2017-04-15',1,'物品')
insert into 设备信息表 values('电扇','100.00',4,'湖北电子制造厂','2017-04-10','2017-04-15',1,'物品')
insert into 设备信息表 values('冰箱','5000.00',4,'湖北电子制造厂','2017-04-10','2017-04-15',1,'物品')
insert into 设备信息表 values('饮水机','400.00',4,'湖北电子制造厂','2017-04-10','2017-04-15',1,'物品')
insert into 设备信息表 values('电脑','3000.00',1,'湖北电子制造厂','2017-04-10','2017-04-15',1,'物品')
insert into 设备信息表 values('键盘','150.00',1,'湖北电子制造厂','2017-04-10','2017-04-15',1,'物品')
insert into 设备信息表 values('洗衣机','6000.00',4,'湖北电子制造厂','2017-04-10','2017-04-15',1,'物品')
insert into 设备信息表 values('板床','500.00',4,'湖北电子制造厂','2017-04-10','2017-04-15',1,'物品')
insert into 设备信息表 values('电脑机箱','4000.00',1,'湖北电子制造厂','2017-04-10','2017-04-15',1,'物品')
insert into 设备信息表 values('时钟','500.00',1,'湖北电子制造厂','2017-04-10','2017-04-15',1,'物品')
6.3插入新的设备信息
go
if exists(select * fromsys.procedures where name='设备信息表_Add')
drop proc 设备信息表_Add
go
create proc 设备信息表_Add
(@equipmentNameVARCHAR(100),@typeId int,@factory VARCHAR(100),@factoryDatevarchar(100),@buyDate VARCHAR(100),@content nvarchar(100))
as
declare @equipmentPricedecimal(16,2)
declare @equipmentStateint
set @equipmentPrice=500
set @equipmentState=1
insert into 设备信息表values(@equipmentName,@equipmentPrice,@typeId,@factory,@factoryDate,@buyDate,@equipmentState,@content)
go
select * from 设备信息表 where equipmentName= '电扇'
go
create procEquiment_Update
(@equimentIDint,@equipmentName VARCHAR(100),@typeId int,@factory VARCHAR(100),@factoryDatevarchar(100),@buyDate VARCHAR(100),@content nvarchar(100))
as
update equipment setequipmentName=@equipmentName,typeId=@typeId,factory=@factory,factoryDate=@factoryDate,buyDate=@buyDate,content=@content
where id=@equimentID
go
6.4更新设备状态
go
create procEquiment_UpdateSate
(@equimentIDint,@equimentState int)
as
update equipment setequipmentState=@equimentState
where id=@equimentID
go
GO
4.设备借还添加
if exists(select * from sys.procedures wherename='设备借还表_Add')
drop proc 设备借还表_Add
go
create proc 设备借还表_Add
(@equipmentid int,@lendpersonVARCHAR(100),@lenddept INT,@lendtime VARCHAR(100),@lendday INT)
as
declare @returntime VARCHAR(100)
set @returntime=null
insert into 设备借还表values(@equipmentid,@lendperson,@lenddept,@lendtime,@lendday,@returntime)
go
5.设备借还更新
go
create proc 设备借还表_Update
(@equipmentid int,@returntime VARCHAR(100))
as
update 设备借还表 set returntime=@returntime where id=@equipmentid
6.5设备维修添加
go
create proc 设备维修表_Insert(
@equipmentidINT,@repairtime VARCHAR(20) ,@dealier VARCHAR(100) ,@place VARCHAR(100),@reason VARCHAR(1000)
)
as
insert into 设备维修表(equipmentid,repairtime,dealier,place,reason)values(@equipmentid,@repairtime,@dealier,@place,@reason)
go
create proc 设备维修表_Update(
@id int,@worktime int,@equipmentrepair varchar(20)
)
as
update equipmentrepairset worktime=@worktime ,equipmentrepair=@equipmentrepair where id=@id
go
6.6设备报废更新
selectes.id,equipmentName,scraptime,reason from 设备报废表 es join 设备信息表 e on es.equipmentid=e.id
go
if exists(select * fromsys.procedures where name='equimentscrap_insert')
drop procequimentscrap_insert
go
create procequimentscrap_insert
(@equipmentidINT,@scraptime VARCHAR(20),@reason VARCHAR(1000))
as
insert into 设备报废表(equipmentid,scraptime,reason)values(@equipmentid,@scraptime,@reason)
7结束语
通过这些天的准备和系统设计,经过指导老师的辛勤帮助和指导,完成了《公司设备管理系统》的设计。设计期间,我遇到了很多的问题,也学到了很多在学校学不到的知识。这些让我深深地体现到进行软件开发不是一件简单的事情,它需要设计者具有全面的专业知识、缜密的思维、严谨的态度以及较高的分析问题、解决问题的能力,而我在很多方面还有欠缺。要想设计一个功能完整、操作简单的软件确实不是一件很容易的事情。首先要进行需求分析,确定本系统要解决的问题。然后是总体设计,数据库设计是非常重要的。接着是详细设计,将上述功能完善起来。最后是运行调试,在调试过程中发现问题及时加以改正、完善。在实现的过程中,由于自己的水平有限,要不断的咨询老师和翻阅书籍,通过这次的课程设计我更加了解了软件这一词的真正含义,以及软件开发的大概流程以及主要步骤,概要设计。其中包括了编写的目的和背景,总体设计等,详细设计主要是确定系统的综合要求以及分析系统的数据要求。我收获了许多,对于软件工程的知识有了很好的巩固和应用,比课堂上的学习更多,只有当做具体的项目时所学的知识才是最有价值的,对于我们以后更加的有好处。
在项目进行的过程中,我们要不断去整理自己的工作情况和做好总结,这样以来,无论是在自己的技术还是其它方面,都会对我们有很大的提高,在长期的积累后,无论是我们个人能力,还是我们的团队能力都会有很大的提高。
在整个项目的实施工作中,也让我们了解与积累相关经验教训:
1、我们应该完善对内部承包合同的管理,加强对内部承包合同的执行力度;
2、我们应该完善对项目风险评估的机制;
3、我们应该完善对项目风险防范的机制;
4、我们应该完善对项目风险控制的机制;
作为此次项目测试的负责人,对于日常的测试流程、测试任务分配、测试执行、缺陷跟踪、协调内部测试及协调客户测试方面能力均得到了进一步提高,理清了项目整个过程中测试小组的工作过程以及后期的项目移交工作。同时也对各子系统相应的业务知识有了更进一步认知。相关业务知识方面还需要进一步加强,测试技能及测试管理方面还需要进一步完善学习。更好的吸收项目经验,做好以后的补丁测试工作及其他项目的测试工作。