资源描述
《狼老大店铺进销存管理软件v7.0
》
需求规格说明书
设计题目: 教务系统
专 业: 1 1级软件技术(Java Web开发方向)
班 级: 1 1级软件技术JAVA班
项目成员: 李永宽、孙昱、杨佩玲、刘凡范、何国寄
指导教师: 石凤贵
二〇一三年 四月 十七 日
《小组分工情况》
开发团队:枫叶部落
项目负责人:李永宽
职位划分:
组长:李永宽
组员:孙昱、杨佩玲、刘凡范、何国寄
负责项目:
李永宽:整个项目工程的整体设计,需求分析说明书,概要设计说明书,数据库表的建立,网页整体框架布局,文件名统一定义,布置任务给组员并指导
孙昱:登录及员工档案的的相关 添加 删出 修改 查询 销售订货单 销售出库单 销售退货单的添加 修改 查询
杨佩玲:商品档案用树状菜单框架实现商品的添 删 改 查 采购订货单 采购入库单 采购退货单 的添加 修改 查询
刘凡范:客户档案的添加、删除、修改、查询; 采购付款单、销售付款单的 添加 查询等;编写需求分析说明书
何国寄:仓库档案 添加 删出 修改 查询《目录》
》 1
《小组分工情况》 2
狼老大店铺进销存管理软件v7.0需求分析 5
1引言 5
1.1编写目的 5
1.2背景说明 5
1.3术语定义 6
2概述 6
2.1功能概述 6
2.1.1系统结构连接图 7
2.2约束 8
2.3数据库及流程图 8
2.3.1原料入库 8
2.3.2原料出库 8
2.3.3成品入库 9
2.3.4成品出库 9
2.3.5成品出库 10
3性能需求 11
3.1网络环境下的多用户系统 11
3.2数据的完整性,准确性。 11
3.3安全性 11
3.4平台要求 11
2.教务系统详细设计 12
2.1功能模块图 12
2.1.1登录界面 12
2.1.2错误提示 12
2.1.3系统主界面 12
2.1.4查询界面 13
2.1.5添加界面 14
2.1.6修改界面 14
2.1.7采购付款单界面 15
2.1.8采购订货单界面 15
2.1.9采购退货单界面 16
2.1.10采购入库单界面 17
2.1.11销售订货单界面 17
2.1.12销售出货单界面 18
2.1.13销售退货单界面 18
2.1.14仓库档案信息列显 19
2.1.15员工信息列显 19
2.1.16客户档案 19
2.2数据库设计 20
2.2.1. Province(所属省份表) 20
2.2.2 Unit_property (单位性质表) 20
2.2.3 Customer (客户表) 20
2.2.4 Commodity 商品表 21
2.2.5 Commodity_type 商品类型表 21
2.2.6 Supplier 供货商表 21
2.2.7 Admin管理员表 22
2.2.8 Bank银行表 22
2.2.9 Storehouse商品管理表 22
2.2.10 OederIOrIncome采购付款单表 23
2.2.12 数据库架构图 23
3性能需求 24
3.1数据精确度 24
3.2数据安全性 24
3.3时间特性 24
3.3适应性 24
4核心代码及技术 24
4.1属性 24
4.2 .1数据库描述 25
4.2 .2 struts.xml 25
4.3员工表查询 26
4.4程序部分结构 27
4.5. jsp及配置结构 28
4.6整体结构 28
4.7故障处理 29
5项目总结 29
5.1组长总结: 29
5.2小组成员总结: 29
狼老大店铺进销存管理软件v7.0需求分析
1引言
1.1编写目的
本系统由五大模块构成,分别是:进货管理,销售管理,存货管理,财务管理,系统管理。
其中:
(1)系统设置包括:管理员的增加,修改,删除,以及权限管理;仓库内货物的基本资料的增加,修改,删除;员工客户等的基本资料的增加,修改,删除。
(2)进货管理模块包括:入库单,派工单,等单据的填开及作废操作。
(3)销售管理模块包括:原料及成品的出库单
(4)存货管理模块包括:库存情况的查询,各项明细的查询,工人工资的查询,正在加工产品查询等。
(5)财务管理模块包括:原料库存按月、按季、按年的报表,成品库存按月、按季、按年的报表
1.2背景说明
(1)项目名称:狼老大店铺进销存管理软件v7.0
(2)项目任务开发者:马鞍山师专软件与食品工程系11级Java班,软件基本运行环境为Windows环境,使用eclipse(JavaEE)作为开发工具,使用struts2作为系统基本框架,Spring作为依赖注入工具,hibernate对MySql所搭建的数据库的封装,前台页面采用ext的js框架,动态能力强,界面友好。
(3)本系统可以满足一般企业在生产中对仓库管理的基本需求,高效,准确的完成仓库的进出库,统计,生产,制造等流程。
1.3术语定义
静态数据--系统固化在内的描述系统实现功能的一部分数据。
动态数据--在软件运行过程中用户输入的后系统输出给用户的一部分数据,也就是系统要处理的数据。
数据字典--数据字典中的名字都是一些属性与内容的抽象和概括,它们的特点是数据的“严密性”和“精确性”。
2概述
2.1功能概述
系统功能划分和描述如下:
A.进货管理
A.1原料入库单
A.2成品入库单
B销售管理
B.1原料出库单
B.2成品出库单(送货单)
B.3派工单
B.4单据作废
C存货管理
C.1原料库存查询
C.2成品库存查询
C.3原料出入明细查询
C.4成品出入明细查询
C.5工人工资查询
C.6正在加工产品查询
D财务管理
D.1原料库存月报表
D.2原料库存季报表
D.3原料库存年报表
D.4成品库存月报表
D.5成品库存季报表
D.6成品库存年报表
D.7工人工资月报表
E.系统设置
E.1操作员管理
E.2工资标准管理
E.3原料类型管理
E.4成品类型管理
E.5工人资料设置
E.6客户资料管理
2.1.1系统结构连接图
2.2约束
u 本系统需运行在windows系统下,要求浏览器为IE6及以上版本,百度,火狐等浏览器均可。服务器端需支持java,tomact5.5.23及以上版本,MySql要求5.0版本以上。
2.3数据库及流程图
2.3.1原料入库
填写原料入库单 合法性判断 对数据库进行操作 返回结果
2.3.2原料出库
填写原料出库单 合法性判断 对数据库进行操作 返回结果
2.3.3成品入库
填写成品出库单 合法性判断 对数据库进行操作 返回结果
2.3.4成品出库
填写成品出库单 合法性判断 对数据库进行操作 返回结果
2.3.5成品出库
填写派工单 合法性判断 对数据库进行操作 返回结果
3性能需求
3.1网络环境下的多用户系统
信息主要存储在服务器端的数据库中,由各用户在规定的权限下在各自的客户端上录入,修改,删除相关的内容,各用户还可进行查询,调用,达到信息共享。
3.2数据的完整性,准确性。
录入数据采用表格方式,限制录入数据类型及取值范围以保证数据的完整性及准确性。系统应具有部分反悔修改功能,系统备有的修改功能均可反悔
3.3安全性
本系统采用二级安全保障:
第一级:依赖于网络本身对用户使用权限的规定。
第二级:在程序模块中通过使用密码控制功能对用户使用权限加以限制。
3.4平台要求
开发出的软件要适用于各种WINDOWS平台和SQL SERVER数据库下,支持局域网和INTERNET下的资源共享以及EXCEL的表格输出等,最低配置要求内存以及显存显卡。
² 开发环境:Windows 2000/XP PROFESSIONAL。
² 开发工具:Java。
数据库管理系统:Microsoft SQL Server 2003。
2.教务系统详细设计
2.1功能模块图
2.1.1登录界面
图表2.1.1
2.1.2错误提示
图表 2.1.2
2.1.3系统主界面
图表 2.13
2.1.4查询界面
图表 2.14
2.1.5添加界面
图表 2.15
2.1.6修改界面
图表 2.1.6
2.1.7采购付款单界面
图表 2.1.7
2.1.8采购订货单界面
图表 2.1.8
2.1.9采购退货单界面
图表 2.1.9
2.1.10采购入库单界面
图表 2.1.10
2.1.11销售订货单界面
图表 2.1.11
2.1.12销售出货单界面
图表 2.1.12
2.1.13销售退货单界面
图表 2.1.13
2.1.14仓库档案信息列显
图表 2.1.14
2.1.15员工信息列显
图表 2.1.15
2.1.16客户档案
图表 2.1.16
2.2数据库设计
2.2.1. Province(所属省份表)
Field
Type
Collation
Null
Key
Default
Comment
province_id
int(20)
(NULL)
NO
PRI
(NULL)
所属省份编号
province
varchar(30)
utf8_general_ci
YES
(NULL)
(NULL)
所属省份
图表 2.2.1
2.2.2 Unit_property (单位性质表)
Field
Type
Collation
Null
Key
Default
Comment
unit_property_id
int(20)
(NULL)
NO
PRI
(NULL)
单位性质编号
unit_property
varchar(50)
utf8_general_ci
YES
(NULL)
单位性质
图表 2.2.2
2.2.3 Customer (客户表)
Field
Type
Collation
Null
Key
Default
Comment
cno
int(21)
(NULL)
NO
PRI
(NULL)
编号
unit_name
varchar(50)
utf8_general_ci
YES
(NULL)
null
单位名称
unit_address
varchar(100)
utf8_general_ci
YES
null
null
单位地址
zip_code
int(20)
(NULL)
YES
(NULL)
null
邮编
bank
varchar(100)
utf8_general_ci
YES
null
null
开户银行
account_number
int(30)
(NULL)
YES
null
null
账号
oper_account_name
varchar(100)
utf8_general_ci
YES
null
null
开户姓名
duty_paragraph
int(50)
(NULL)
YES
null
null
税号
province_id
int(100)
(NULL)
YES
null
null
所属省份id
unit_property_id
int(50)
(NULL)
YES
null
null
单位性质id
remarks
varchar(100)
utf8_general_ci
YES
null
null
备注
图表 2.2.3
2.2.4 Commodity 商品表
Field
Type
Collation
Null
Key
Default
Comment
cono
int(2)
(NULL)
NO
PRI
null
商品编码
commodity_type_id
int(100)
(NULL)
YES
MUL
null
商品类型
commodity_name
varchar(100)
utf8_general_ci
YES
null
商品名称
model_number
varchar(50)
utf8_general_ci
YES
null
规格型号
unit
varchar(30)
utf8_general_ci
YES
null
单位
pre_price
varchar(40)
utf8_general_ci
YES
null
预设价格
stock_low
varchar(100)
utf8_general_ci
YES
null
库存下限
Stock_up
varchar(100)
utf8_general_ci
YES
null
库存上限
supplier_id
int(80)
(NULL)
YES
MUL
null
供应商
origin
varchar(100)
utf8_general_ci
YES
null
产地
commodity_code
int(100)
(NULL)
YES
null
商品条码
sell_price1
varchar(100)
utf8_general_ci
YES
null
售价一
Sell_price2
varchar(100)
utf8_general_ci
YES
null
售价二
图表 2.2.4
2.2.5 Commodity_type 商品类型表
Field
Type
Collation
Null
Key
Default
Comment
commodity_type_id
int(20)
(NULL)
NO
PRI
null
商品类型编号
commodity_type
varchar(50)
utf8_general_ci
YES
null
商品类型
图表 2.2.5
2.2.6 Supplier 供货商表
Field
Type
Collation
Null
Key
Default
cno
varchar(20)
utf8_general_ci
YES
PRI
(NULL)
cname
varchar(20)
utf8_general_ci
YES
(NULL)
type
varchar(20)
utf8_general_ci
YES
(NULL)
num
varchar(20)
utf8_general_ci
YES
(NULL)
price
varchar(20)
utf8_general_ci
YES
(NULL)
date
varchar(20)
utf8_general_ci
YES
(NULL)
图表 2.2.6
2.2.7 Admin管理员表
Field
Type
Collation
Null
Key
Default
Comment
ano
int(20)
(NULL)
NO
PRI
null
编号
sex
varchar(50)
utf8_general_ci
YES
null
性别
name
varchar(40)
utf8_general_ci
YES
null
姓名
id
varchar(100)
(NULL)
YES
null
身份证号
tel
Int(20)
utf8_general_ci
YES
null
联系电话
address
varchar(100)
(NULL)
YES
null
地址
salary
int(20)
utf8_general_ci
YES
null
工资
salary_add
int(20)
(NULL)
YES
null
工资津贴
password
varchar(20)
(NULL)
YES
MUL
null
密码
图表 2.2.7
2.2.8 Bank银行表
Field
Type
Collation
Null
Key
Default
Comment
no
int(20)
(NULL)
NO
PRI
null
编号
name
varchar(40)
utf8_general_ci
YES
null
账户名称
remainder
double
(NULL)
YES
null
期初余额
add_money
double
(NULL)
YES
null
本期增加余额
less_money
double
(NULL)
YES
null
本期减少余额
terminal
double
(NULL)
YES
null
期末余额
图表 2.2.8
2.2.9 Storehouse商品管理表
Field
Type
Collation
Null
Key
Default
Comment
Store_no
int(20)
(NULL)
NO
PRI
null
编号
Store_name
varchar(40)
utf8_general_ci
YES
null
仓库名称
Store_admin
Int(20)
(NULL)
YES
null
负责人
remarks
Varchar(20)
utf8_general_ci
YES
null
备注
图表 2.2.9
2.2.10 OederIOrIncome采购付款单表
Field
Type
Collation
Null
Key
Default
Comment
no
int(20)
(NULL)
NO
PRI
null
编号
occur_date
date
(NULL)
YES
null
发成日期
all_money
double
(NULL)
YES
null
总金额
rebate_money
double
(NULL)
YES
null
折扣金额
income_money
double
(NULL)
YES
null
已收金额
noincome_money
double
(NULL)
YES
null
未收金额
present_money
double
(NULL)
YES
null
本次收款
sell_util_id
int(11)
(NULL)
YES
null
付款单位
admin_id
int(11)
(NULL)
YES
null
收款账户
bank_name_id
int(11)
(NULL)
YES
MUL
null
经办人员
图表 2.2.10
2.2.12 数据库架构图
3性能需求
3.1数据精确度
由于采用MySql数据库存储,在本程序设计时全部采用utf-8编码,数据精确度为java自带类型各自精确度,基本可以确保使用需要。。
3.2数据安全性
由于采用MySql数据库存储,密码及权限系统设置,使得本程序的安全性有了保证,在数据库的密码采取MD5方式进行加密操作。
3.3时间特性
本系统的数据库较小,所以程序在响应时间,数据更新处理时间上性能是比较突出的。而且也正由于数据量相对较少,故在数据传输时间和系统运行时间上表现的较让人满意。
3.3适应性
B/S架构以及java的跨平台特性,使得本系统的适应性很高,用户只需要在客户端有IE6以上版本的浏览器即可正常使用本系统。
4核心代码及技术
4.1属性
开发及运行环境:
开发工具:Eclipes(JavaEE)
数据库:mysql
开发语言:Java
具体用到的技术:Servlet、JSP、Struts2、JDBC、Hibernate、Spring等
功能简介:
用户界面要求友好、绚丽,操作方便。
首先用户登录,登陆完毕后按权限显示功能列表,通过点击功能列表中某一功能将所要
点功能页面打开,然后可以查看相应功能的详细信息,并对相关信息进行增加修改,删除等编辑。
4.2 .1数据库描述
采用utf-8编码,支持中文。
Spring中数据库配置如下:
<bean id="dataSource"
class="mons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName">
<value>com.mysql.jdbc.Driver</value>
</property>
<property name="url">
<value>jdbc:mysql://localhost:3306/dataj?useUnicode=true&characterEncoding=utf8</value>
</property>
<property name="username">
<value>root</value>
</property>
<property name="password">
<value>root</value>
</property>
</bean>
4.2 .2 struts.xml
<struts>
<package name="login" namespace="/" extends="struts-default">
<!-- 配置action -->
<!-- ================Login================== -->
<action name="LoginAction" class="LoginAction" method="login">
<result name="success">/index.jsp</result>
<result name="false">loginErr.jsp</result>
</action>
4.3员工表查询
<s:form action="insertpurchase_payment" method="post" >
收款单位:——————
收款账号:——————
<script type="text/javascript" src="../My97DatePicker/WdatePicker.js"></script>
付款日期: <input id="oederOrIncome.occurDate" name="oederOrIncome.occurDate" value="">
<img onclick="WdatePicker({el:$dp.$('oederOrIncome.occurDate')})" src="My97DatePicker/skin/datePicker.gif" _fcksavedurl="My97DatePicker/skin/datePicker.gif" width="16" height="22" align="absmiddle">
<hr width="800" color="yellow"><!-- 添加下划线 -->
经办人员——————
<table border="1" cellspacing="0" bordercolor="yellow" width="800px">
<tr>
<td><s:textfield name="oederOrIncome.allMoney" label="总金额" value="%{oederOrIncome.allMoney}"/></td>
<td><s:textfield name="oederOrIncome.rebateMoney" label="折扣金额" value="%{oederOrIncome.rebateMoney}"/></td>
<td><s:textfield name="oederOrIncome.incomeMoney" label="已收金额" value="%{oederOrIncome.incomeMoney}"/></td>
<td><s:textfield name="oederOrIncome.noincomeMoney" label="未收金额" value="%{oederOrIncome.noincomeMoney}"/></td>
<td><s:textfield name="oederOrIncome.presentMoney" label="本次收款" value="%{oederOrIncome.presentMoney}"/></td>
</tr>
<tr>
<td colspan="3" align="center">
<s:submit value="提交付款单" align="center" onclick="window.close()"/>
</td>
</tr>
</table>
4.4程序部分结构
4.5. jsp及配置结构
4.6整体结构
4.7故障处理
系统在界面进行输入正确性的验证,尽量保证不会因为系统原因而出现故障,若由于服务器未开启,或者数据库响应异常,则会提示用户稍后再进行尝试。其他故障处理主要是靠windows系统进行。
5项目总结
5.1组长总结:
5.2小组成员总结:
孙昱:这次开源框架的实训,说心里话是在是亚历山大啊 、感觉之前没怎么学好,理解有点吃力,尤其是 Hibernate 持久化那一块,感觉很困惑。 但是在这次的实训过程中,自己不断琢磨,同学的帮助,老师的知道。感觉豁然开朗、这次的实训是收获最多,也是最累的一次实训。希望这次实训学的知识能在以后我的职业生涯中充分利用。
杨佩玲:四周说长不长说短不短,明天就要结束了,一开始很多东西还不怎么熟悉,但是通过百度还有找同学帮忙,基本都熟悉了一点,实训中我学会了配置Struts文件,熟悉了业务流程,今后会继续好好学习,完善自己。
刘凡范:经过四周多的的JAVA实训,感触很深,收获也很大,对自己的缺点也有了很多的认识,这次实训学会了配置Struts文件,还有配置Spring映射文件,对之前的所学的Java知识进行了巩固,也很感谢组员和组长的帮忙。同时也认识到了团体力量的强大
何国寄:实训就要结束了,开始好多东西都不会,通过百度,问同学我慢慢搞懂了一些,编写这些代码实现这些功能,这次实训我学会了编写JSP页面,并且实现了里面的一些功能,今后会继续努力好好学习
展开阅读全文