一、项目概述及计划
1.1 小组项目分工
学号
姓名
主要工作
评价
评分
参与需求分析;建库建
表;负责物资信息管理、
查看物资库存、物资发
放功能的实现;编写报
告
参与需求分析;负责审
批申请、物资入库功能
的实现;编写报告
参与需求分析;负责登
录、提交申请、查看待
领任务功能的实现;编
写报告
评阅人
评阅时间
1.2 项目计划
时间
任务
需求分析,确定系统的使用对象及具备的功能以及开发
系统所用的编程语言、数据库等
进行数据库设计,包括概念结构设计、逻辑结构设计和
物理结构设计
开发系统
编写报告
二、系统需求分析
设计一个物资发放管理系统,要求实现以人员、物资类别、物资的信息管理;
实现物资发放任务发起管理;实现人员物资签领管理;实现物资统计管理。
三、系统设计
3.1 数据库结构设计
3.1.1 概念结构设计
图 3.1.1 E-R 图
3.1.2 逻辑结构设计
表 3.1.2-1 物资表(material)
序号
字段名
名称
类型
备注
1
mid
物资编号
varchar(20)
主键
2
mname
物资名称
varchar(255)
3
mpic
物资图片
text
4
mkid
物资类别
varchar(255)
外键
5
munit
计量单位
varchar(20)
6
mspec
规格
varchar(20)
表 3.1.2-2 物资类别表(kind)
序号
字段名
名称
类型
备注
1
kid
类别编号
varchar(20)
主键
2
kname
类别名称
varchar(255)
3
knote
备注
text
表 3.1.2-3 入库单表(putin)
序号
字段名
名称
类型
备注
1
pno
入库单编号
varchar(30)
主键
2
mid
物资编号
varchar(20)
外键
3
paccount
数量
int(11)
4
pprice
单价
float(10,2)
5
pdate
入库日期
varchar(30)
6
pagent
经办人
varchar(20)
7
psource
物资来源
varchar(20)
8
pnote
备注
text
表 3.1.2-4 领用单表(requisition)
序号
字段名
名称
类型
备注
1
rid
领用单号
varchar(30)
主键
2
mid
物资编号
varchar(20)
外键
3
rstatus
申请进度
varchar(20)
4
rnum
数量
int(11)
5
rverifier
审核人
varchar(100)
6
rtype
发放类型
varchar(20)
7
rapplytime
申请时间
varchar(30)
8
rtaketime
领取时间
varchar(30)
9
ragent
发放人
varchar(100)
10
rtaker
领用人
varchar(20)
外键
表 3.1.2-5 用户表(user)
序号
字段名
名称
类型
备注
1
uid
账号
varchar(20)
主键
2
uname
姓名
varchar(100)
3
upwd
密码
varchar(20)
4
utype
用户类型
int(11)
5
utel
联系方式
varchar(20)
3.1.3 物理结构设计
建立以上各表的 Sql 语句为:
物资表
CREATE TABLE `material` (
`mid` varchar(20) COLLATE utf8_unicode_ci NOT NULL,
`mname` varchar(255) COLLATE utf8_unicode_ci DEFAULT '',
`mpic` text COLLATE utf8_unicode_ci DEFAULT NULL,
`mkid` varchar(255) COLLATE utf8_unicode_ci DEFAULT '',
`munit` varchar(20) COLLATE utf8_unicode_ci DEFAULT '',
`mspec` varchar(20) COLLATE utf8_unicode_ci DEFAULT '',
PRIMARY KEY (`mid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
物资类别表
CREATE TABLE `kind` (
`kid` varchar(20) COLLATE utf8_unicode_ci NOT NULL,
`kname` varchar(255) COLLATE utf8_unicode_ci DEFAULT '',
`knote` text COLLATE utf8_unicode_ci DEFAULT NULL,
PRIMARY KEY (`kid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
入库单表
CREATE TABLE `putin` (
`pno` varchar(30) COLLATE utf8_unicode_ci NOT NULL,
`mid` varchar(20) COLLATE utf8_unicode_ci DEFAULT '',
`paccount` int(11) DEFAULT NULL,
`pprice` float(10,2) DEFAULT NULL,
`pdate` varchar(30) COLLATE utf8_unicode_ci DEFAULT '',
`pagent` varchar(20) COLLATE utf8_unicode_ci DEFAULT '',