库存分销管理系统数据库设计、统计报表管理开发与实现、测试.doc_第1页
库存分销管理系统数据库设计、统计报表管理开发与实现、测试.doc_第2页
库存分销管理系统数据库设计、统计报表管理开发与实现、测试.doc_第3页
库存分销管理系统数据库设计、统计报表管理开发与实现、测试.doc_第4页
库存分销管理系统数据库设计、统计报表管理开发与实现、测试.doc_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

库存分销管理系统 数据库设计、统计报表管理开发与实现、测试 摘 要:本文针对目前库存管理系统存在的有关权限授权和认证问题分析,采用面向对象的开发方法,分析设计了库存分销管理系统,采用Java语言实现了库存分销管理系统中的子功能统计报表管理与用户登录。本文对系统的数据库设计进行说明,并对统的系统管理模块进行测试说明。关键词:库存;报表;登录;测试Abstract:This article according to the present stock management system existed the problem of the authorization and authentication problem, used the object-oriented development method, analysis and design of the distribution of inventory management system, and used Java language to realize the the distribution of inventory management systems -manage statistic forms and user login. This article brieflydescribed thedesign of thesystem,and the systemmanagement module of the systemtestinstructions.Key words:Inventory; Report forms; Login; Test 1 引言1.1 编写目的 库存分销管理系统是管理企业的分销网络的系统,目的是使企业具有对订单和供货具有快速反应和持续补充库存的能力。 通过互联网将供应商与经销商有机地联系在一起,为企业的业务经营及与贸易伙伴的合作提供了一种全新的模式。供应商和经销商之间可以实时地提交订单、查询产品供应和库存状况、并获得市场、销售信息及客户支持,实现了供应商与经销商之间端到端的供应链管理,有效地缩短了供销链。新的模式借助互联网的延申性及便利性,使商务过程不再受时间、地点和人员的限制,企业的工作效率和业务范围都得到了有效提高。企业可以在兼容互联网时代现有业务模式和现有基础设施情况下,扩展现有的业务和销售能力,实现零风险库存,大大降低分销成本,提高周转效率,确保获得领先一步的竞争优势。1.2 范围 库存分销管理系统是管理企业的分销网络的系统,目的是使企业具有对订单和供货具有快速的反应和持续的补充库存的能力而开发的系统。通过互联网将供应商与经销商有机地联系在一起,为企业的业务经营及与贸易伙伴的合作提供了一种全新的模式。适用于所有的管理企业,主要用于企业对订单和库存的掌握和管理。1.3 定义 数据库开发软件:Navicat for Mysql 数据库管理系统:Mysql 运行环境:Windows XP/ Win 7开发语言:Java1.4 本文可行性分析 可行性研究阶段的主要任务是在系统初步调查的基础上,对新系统是否能够实现和值得实现等问题作出判断,避免在花费了大量人力和物力之后才发现系统不能实现或新系统投入使用后没有任何实际意义而引起的浪费,对新系统的可行性的分析,要求用最小的代价在尽量短的时间内确定系统是否可行。为了保证系统开发成功,采取面向对象的分析方法,采用面向对象的开发方法,可以将现实世界的复杂问题简单化,从现实世界中抽取出实体对象,通过协作关系将实体对象关联起来,从而达到整个系统正常运行。采用面向对象的开发方法,可以将复杂的问题简单化,有利于编程。2 项目概述2.1 产品描述 在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的库存分销管理系统。主要有如下几个方面的目标: 确保系统用户及其权限的维护和数据的安全 实现分销商库存时的各种数据计算、显示和记录 为供货厂商和客户建立档案 能对库存的管理和商品资料维护 自动记录订单和报表情况并分析当天数据得到用户需要盈亏报表结果等。 根据客户的要求,分析现有情况及问题,采用Browser/Server结构,将分销资源计划管理系统做成一个独立的网站。2.2 产品功能 公司所有产品都是通过一级分销商出货,一级分销商的货品分四种方式出库,即调拨到二级分销商调拨到三级分销商、纯销售到批发、销售到其他经销点(如超市等),二级分销商的货品分三种方式出库,即调拨到三级分销商、纯销售到批发、销售到其他经销点(如超市等),三级分销商的货品分两种方式出库,即纯销售到批发、销售到其他经销点(如超市等),超市和其他经销点都作为终端客户。 程序功能:进行用户身份验证,根据不同登入的用户权限采用不同权限策略。分销商库存管理:分销商库存数量初始化确认、流向单维护、流向单审核、流向单抽查、流向单复审、盘点结果维护、盘点结果审核。 统计报表管理: 分销商级别分布图、流向单录入审核报告、流向单抽查报告、分销商月度分销(调拨)明细表、分销商库存报表。 基础数据管理: 物料维护、分销商维护、终端客户维护 系统管理: 用户维护、修改密码2.3 用户特点知道本系统的密码用户就可在浏览器上打开以使用,不同用户所拥有的权限不同。2.4 一般约束 系统的实现约束如下:(a) 操作系统为Win2000以上(b) 开发平台为:MyEclipse-SDK-3.1.2-win32(c) 数据库为Mysql2.5 假设和依据a.本系统需要运行计算机为一般的PC机,计算机上一般都安装了浏览器。b.本系统采用JSP+struts开发,JSP在现在的web开发中比较流行。3 数据库设计 数据库设计与实现是系统开发中的一个重要环节,一个结构合理的数据库可以提高系统的整体的运行效率,同时可以缩短系统的开发时间。本系统主要采用MySql Server作为数据库。3.1 数据库的设计原则在数据库的设计中,本系统按照以下原则进行设计,以尽量满足系统的要求。 (1)数据库中数据的可操作性数据库设计时注意保证在整个系统运行和业务操作过程中,数据库都能便于访问和查询,同时还需要考虑要尽量节省数据库操作时的相应时间,尽可能的提高数据库对程序和业务请求的响应速度。 (2)数据库设计的准确性和完整性数据库中的数据设计要满足程序设计的要求,对于程序中使用的数据和存储的数据内容,都有严格的数据和准确的数据类型与之对应,同时在数据库设计时要对关键数据进行详细说明,以方便系统设计人员的开发工作。 (3)数据库冗余性过多的冗余数据会大大增加数据库的工作量,降低数据库的响应时间和准确性。因此改善数据库性能的一个非常重要的方面就是减少或消除数据库中的冗余信息,要通过规范化处理使冗余数据减少。3.2 数据库连接设计为了方便连接数据库,本系统把数据库连接保存在DB.java中,采用TOMCAT服务器提供的数据库连接池。private DB() try ctx = new InitialContext();/ 采用jndi查找连接池ds = (DataSource) ctx.lookup(java:comp/env/jdbc/drp); catch (NamingException namee) System.out.println(查询连接池失败!n + namee.getMessage(); finally if (ctx != null) try ctx.close(); catch (NamingException e) / TODO Auto-generated catch blocke.printStackTrace(); String driver=com.mysql.jdbc.Driver;String url=jdbc:mysql:/localhost:3306/drp;String username=root;String pwd=123456;3.3 标识符和状态表3.1 系统表名用表 表名名称或标识符描述状态(试验/测试使用)t_user用户信息表使用t_client分销商信息表使用t_temi_client终端信息表未使用t_items物料信息表使用t_fiscal_year_period会计核算期表使用t_flow_card_master流向单信息使用t_flow_card_detail流向单详细信息使用t_data_dict数据字典使用3.4 数据库表格设计3.4.1 数据字典数据字典是系统中各类数据描述集合,其中规定了每个字段名称,数据类型,长度,主键等基本信息。有时为了方便使用,在设计数据库时会有意增加一些数据冗余,对于本系统中出现的数据,这次系统中我们用以下数据字典做详细描述如下表所示:表3.2 t_user表 t_user列名中文名称数据类型长度是否能为空备注user_id用户IDVarchar 10not nullprimary keyuser_name用户名varchar20not nullpassword密码varchar20contact_tel联系电话varchar30email邮箱varchar30create_date创建日期datetime表3.3 t_client表 t_client 列名中文名称数据类型长度是否能为空备注id序列IDintnot nullprimary keypid上级分销商IDintnot nullname名称varchar40not nullclient_id分销商代码varchar10client_level分销商等级char3bank_acct_no银行账号varchar30contact_tel联系电话varchar20address地址varchar50zip_code邮编varchar20is_leaf是否为叶子节点chardefault Nis_client是否为分销商chardefault N 表3.4 t_temi_client表t_temi_client列名中文名称数据类型长度是否能为空备注id序列IDintnot nullprimary keypid上级分销商IDintnot nullname名称varchar40not nulltemi_id分销商IDvarchar20temi_level分销商级别char3contact_tel联系电话varchar18contactor联系人varchar30address地址varchar50zip_code邮编varchar20is_leaf是否为叶子节点char1default Nis_temi_client是否为分销商char1default N表3.5 t_items表t_items列名中文名称数据类型长度是否能为空备注item_no编号varchar10not nullprimary keyitem_name名称varchar30not nullspec物料规格varchar30pattern型号varchar30category种类char3not nullunit 单位char3not null表3.6 t_fiscal_year_period表t_fiscal_year_period列名中文名称数据类型长度是否能为空备注id主键intnot nullprimary keyfiscal_year核算年intnot nullfiscal_period核算月tinyintnot nullbegin_date起始时间datetimenot nullend_date截止时间datetimenot nullperiod_sts是否可用标识char1default N表3.7 t_flow_card表t_flow_card列名中文名称数据类型长度是否能为空备注vou_no流向单标识主键varchar16not nullprimary keyfiscal_year核算年intnot nullfiscal_period核算月tinyintnot nullclient_id客户IDvarchar10not nullopr_type操作类型char1not nullrecord_date录入日期当前日期datetimenot nullrecorder_id录入人IDvarchar10not nullvou_sts录入N 送审Schar1default Nconfirmer_id复审人IDvarchar10conf_date复审日期datetimespotter_id抽查人IDvarchar10spot_date抽查日期datetimespot_remark抽查结果描述varchar60spot_flag抽查标记Y/Nchar1default Nadjust_time调整时间datetimeadjuster_id调整人IDvarchar10表3.8 t_flow_card_detail表t_flow_card_detail列名中文名称数据类型长度是否能为空备注id主键intnot nullprimary keyvou_no流向单标识varchar16not nullaim_id客户IDvarchar10not nullitem_no物料标识varchar10not nullqty数量decimal(10,2)default 0amt金额decimal(10,2)default 0adjust_qty调整数量decimal(10,2)default 0adjust_reason调整原因varchar50adjust_flag调整标识char1default N表3.9 t_data_dict表t_data_dict列名中文名称数据类型长度是否能为空备注id主键char3not nullprimary keyname名称varchar20not nullcategory种类varchar30not null3.4.2 安全保密设计 在我们的系统中,因为是面向公司的后台系统,所以只有管理员的权限,用户名和密码不对普通用户开放。用户名和密码保存在数据库中,每次登录需匹配数据库中保存的管理员的用户名和密码,还是随机验证码,只要用户名或密码不正确,都不能登录该系统,安全度极高。 3.5 结构设计3.5.1 概念结构设计图3-1 各表关系图3.5.2 逻辑结构设计/*=*/* Database name: drp */* DBMS name: MySQL */* Created on: 2015-01-22 */*=*/*=*/* Table: t_user */*=*/create table if not exists t_user( user_id varchar(10) primary key not null, user_name varchar(20) not null, password varchar(20), contact_tel varchar(30), email varchar(30), create_date datetime);/*=*/* Table: t_client */*=*/create table if not exists t_client( id int primary key auto_increment not null, pid int not null, name varchar(40) not null, client_id varchar(10), client_level char(3), bank_acct_no varchar(30), contact_tel varchar(20), address varchar(50), zip_code varchar(20), is_leaf char(1) default N, is_client char(1) default N);/*=*/* Table: t_temi_client */*=*/create table if not exists t_temi_client( id int primary key auto_increment not null, pid int not null, name varchar(40) not null, temi_id varchar(20), temi_lelve char(3), contact_tel varchar(18), contactor varchar(30), address varchar(50), zip_code varchar(20), is_leaf char(1) default N, is_temi_client char(1) default N);/*=*/* Table: t_items */*=*/create table if not exists t_items( item_no varchar(10) primary key not null, item_name varchar(30) not null, spec varchar(30), pattern varchar(30), category char(3) not null, unit char(3) not null );/*=*/* Table: t_fiscal_year_period */*=*/create table if not exists t_fiscal_year_period( id int primary key auto_increment not null, fiscal_year int not null, fiscal_period tinyint not null, begin_date datetime not null, end_date datetime not null, period_sts char(1) default N);/*=*/* Table: t_flow_card_master */*=*/create table if not exists t_flow_card( vou_no varchar(16) primary key not null, fiscal_year int not null, fiscal_period tinyint not null, client_id varchar(10) not null, opr_type char(1) not null, record_date datetime not null, recorder_id varchar(10) not null, vou_sts char(1) default N, confirmer_id varchar(10), conf_date datetime, spotter_id varchar(10), spot_date datetime, spot_remark varchar(60), spot_flag char(1) default N, adjust_time datetime, adjuster_id varchar(10);/*=*/* Table: t_flow_card_detail */*=*/create table if not exists t_flow_card_detail( id int primary key auto_increment not null, vou_no varchar(16) not null, aim_id varchar(10) not null, item_no varchar(10) not null, qty decimal(10,2) default 0, amt decimal(10,2) default 0, adjust_qty decimal(10,2) default 0, adjust_reason varchar(50), adjust_flag char(1) default N);/*=*/* Table: t_data_dict */*=*/create table if not exists t_data_dict( id char(3) primary key not null, name varchar(20) not null, category varchar(30) not null ); /*=*/* View: v_aim_client */*=*/create view v_aim_client(id, name, level_id, level_name) asselect a.client_id as id, , a.client_level as type_id, as type_name from t_client a, t_data_dict b where a.client_level=b.idunionselect a.temi_id as id, , a.temi_lelve as type_id, as type_name from t_temi_client a, t_data_dict b where a.temi_lelve=b.id4 子功能模块的开发与实现4.1 统计报表管理模块统计报表管理是用报表统计对分销商级别的分布。选择分销商或者分销省,可以用饼图来统计出分销商级别分布图4.1.1 功能图4-1 统计报表管理功能图4.1.2 输入项 选择下拉框4.1.3 输出项 显示图表4.1.4 算法分销商级别分布图 分销商级别分布图 function findClient()with(document.getElementById(clientLevelChartForm)action=client_level_chart.jsp?pid=&command=command;method=post;submit(); function selectProvince()var region = document.getElementById(region);if(region.value0)findProvince(region.value);5 系统管理模块的测试5.1 测试概要编号测试类型预期测试内容测试人数(人)工作时间(天)与实际是否有差别差别1功能测试根据系统需求文档和设计文档,检查产品是否正确实现了功能。22无无2性能测试提取系统性能数据,检查系统是否满足在需求中所规定达到的性能。21无无3界面测试检查界面是否美观合理20.5无无4文挡测试检查文档是否足够、描述是否合理20.5无无5兼容性测试对于 B/S 架构的系统来说需要考虑用户端浏览器的版本。20.5有无6容错性测试检查系统的容错能力,错误的数据输入不会对功能和系统产生非正常的影响,且程序对错误的输入有正确的提示信息20.5无无7易用性测试检查系统是否易用友好20.5无无8流程测试按操作流程进行的测试,主要有业务流程、数据流程、逻辑流程、正反流程,检查软件在按流程操作时是否能够正确处理21无无9安装测试检查系统能否正确安装、配置20.5无无10配置测试检查配置是否合理、配置是否正常20.5无无11异常测试检查系统能否处理异常20.5无无5.2 测试描述随着应用的增多,新的模式解决方案中以Web为核心的应用也越来越多,很多公司各种应用的架构都以B/S及Web应用程序为主,但是有关Web测试方面内容没有相应总结。因此,在此次测试中,采取黑盒测试法。黑盒测试具有如下优点:(1)可以有针对性地寻找问题,并且定位问题更准确。(2)黑盒测试可以证明软件系统是否达到用户要求功能,符合用户工作要求。(3)能重复执行相同的功用,测试工作中最枯燥的部分可交由机器完成。5.3 功能测试结果分析5.3.1 系统管理模块测试 模块模块编号操作步骤操作描述数据期望结果实际结果测试状态(P/F)系统管理1(用户维护)1点击可选框选中“全部”可选中选中2点击某个框选中“audit”可选中选中3点击“添加”选中,输入相应信息用户代码=12345,用户名称=root,密码=root123,联系电话=123,Email=123提示“用户代码第一个字符必须为字符”提示“用户代码第一个字符必须为字符”4点击“添加”选中,输入相应信息用户代码=*,用户名称=root,密码=root123,联系电话=123,Email=123提示“用户代码不能小于四个字符”提示“用户代码不能小于四个字符”5点击“添加”选中,输入相应信息用户代码=*1234,用户名称=root,密码=root123,联系电话=123,Email=123提示“用户代码第一个字符必须为字符”提示“用户代码第一个字符必须为字符”6点击“添加”选中,输入相应信息用户代码=q1234,用户名称=root,密码=root123,联系电话=123,Email=123提示“Email格式不正确”提示“Email格式不正确”7点击“返回”选中 空界面跳转成功界面跳转成功8点击“添加”选中,输入相应信息用户代码=q1234,用户名称=root,密码=root123,联系电话=123,Email=123456提示“添加用户成功”,跳转回界面提示“添加用户成功”,跳转回界面9点击“删除”按钮 空提示“请选择要删除的用户”提示“请选择要删除的用户”10点击“删除”按钮勾选任已可选框提示“确认删除吗?”提示“确认删除吗?”11点击“删除”按钮勾选任已可选框,点击“确认”提示“操作成功”提示“操作成功”12点击“删除”按钮勾选任已可选框,点击“取消”数据不动数据不动13点击“修改” 空界面跳转修改界面界面跳转修改界面14进入修改界面,点击用户代码用户代码=audit不可修改不可修改15进入修改界面,修改用户名称用户名=waye修改成功,跳转原界面修改成功,跳转原界面16进入修改界面,修改密码密码=123456789修改成功,跳转原界面修改成功,跳转原界面17进入修改界面,修改EmailEmail=417858修改成功,跳转原界面修改成功,跳转原界面18进入修改界面,修改联系电话联系电话=17897868修改成功,跳转原界面修改成功,跳转原界面2(修改密码)19输入原密码,按“修改”原密码=root123提示“密码最少六位”提示“密码最少六位”20输入原密码、新密码,按“修改”原密码=root23,新密码=234567提示“密码最少六位”提示“密码最少六位”21输入原密码,按“修改”原密码=123456提示“密码最少六位”且原密码框

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论