《化妆品电子营销进销存管理系统可行性研究报告.docx》由会员分享,可在线阅读,更多相关《化妆品电子营销进销存管理系统可行性研究报告.docx(46页珍藏版)》请在三一办公上搜索。
1、化妆品电子营销进销存管理系统可行性研究报告编写日期:20一三年5月目录一、技术领域及研发必要性分析31.1技术相关31.2系统研发背景31.3技术必要性分析4二、内容与可行性分析52.1进销存管理系统设计分析52.1.1应用系统分析52.1.2现有状况分析52.1.3系统可行性分析62.1.4数据流图72.1.5系统数据库分析与设计72.2技术内容112.2.1登陆界面设计112.2.2 部分功能模块设计及部分代码一五2.3关键技术及创新点34三、市场需求与风险分析353.1市场需求分析353.2风险分析与对策363.2.1风险分析363.2.2风险对策38四、经济效益与社会效益404.1经济
2、效益分析404.2社会效益分析42五、总结422一、技术领域及研发必要性分析1.1技术相关技术名称:化妆品电子营销进销存管理系统持有人:1.2系统研发背景本文介绍的营销管理系统,主要指化妆品的进销存系统。进销存管理系统是管理信息系统的一个分支,主要用于商品贸易行业。它利用计算机网络和信息处理技术,综合监督和控制各部门的物流、资金流、工作流和信息流,使企业管理人员、业务人员和相关操作人员能够随时准确掌握审计、计划、采购、销售、物管、质检和财务等各环节的操作经营状况,并及时做出经营管理决策和适时制定或调整企业发展计划,优化企业管理的效率和质量。化妆品贸易企业经济活动中各种要素是不断变化和流通的。其
3、中物流、资金流、工作流和信息流最为重要。只有保证各种流通顺畅,化妆品贸易企业才能获得好的经济效益。进销存管理系统只有掌握这些流,才能在一定高度上掌握化妆品贸易企业各项业务之间内在和本质的关系。进销存管理系统适用于企业的采购、销售和库存部门,能够对企业采购、库存和销售等业务进行全程有效控制和跟踪。通过应用性能较好的进销存管理系统对企业经营活动中的进、销、存进行管理,可以有效地减少盲目采购、降低采购成本、合理控制库存、减少资金占用并提高市场灵敏度,提升企业市场竞争力。1.3技术必要性分析随着信息技术的不断发展,企业信息化程度不断提高,信息化水平的提高有效的提高了企业的生产效率,减少了管理成本,在一
4、段时期内发挥了很大的效用。随着经济的发展以及企业的扩张、各企业管理思想的提升,现有的信息化系统也面临不少的问题。1、业务财务的分离造成数据流的脱节,增加了手工操作的工作量,降低了效率。各钢材贸易企业基本上都建立了内部的贸易管理系统,解决了企业的进销存问题;同时,为了解决企业的财务信息管理问题,各钢材贸易企业普遍建立了相应的财务软件系统。但由于两个系统没有建立数据接口,使得业务系统产生的数据财务系统无法使用,财务系统产生的报表,业务数据也无法调用,这就增加了手工进行数据交互的工作量,降低了工作效率。2、随着企业的发展和扩张,现有系统支持多组织多帐套的能力有所欠缺。这几年中国经济的飞速发展,为企业
5、的发展和规模扩张创造了有利的条件,有相当一部分的钢材贸易企业都建立起了全国各地的分子公司,抢占市场,但由于现有信息化系统的功能和业务覆盖能力有限,无法建立起对这些分子公司的有效管理和监控,增加了企业的经营风险。如果对这些分子公司都建立起相应的系统,就需要投入比较大的设备成本和系统运维成本。3、现有信息系统的访问方式复杂,存在访问区域和访问方式有的许多限制。目前各化妆品贸易企业普遍采用的是基于架构的信息化系统,采用此种架构的系统存在许多访问条件的限制,比如只能在公司局域网内部访问、只能安装客户端才可访问,这些限制为没有固定地点工作的销售人员及公司领导造成了很多系统访问的不方便性,信息访问不够通畅
6、。对于中小企业来说,现有贸易管理系统的成本是个巨大的负担。信息化的发展离不开企业的资金投入,如何达到投入少、见效快、效率高的目标,是每个化妆品贸易企业需要解决的一个问题。目前市场上的化妆品贸易管理系统普遍需要投入设备成本、软件成本和运维成本,这些成本的客观存在阻碍了一些企业特别是小企业的发展。从以上几个化妆品贸易企业面临的信息化问题来看,建立一套业务财务一体化、支持多组织多构架、访问方便快捷并且投入成本较少的营销管理系统势在必行。不仅可以提高企业的运营效率,降低人力资源成本,提高企业核心数据的安全性,同时更能够通过高效的流水线服务,为客户提供更好的服务,提升企业的价值。二、内容与可行性分析2.
7、1进销存管理系统设计分析2.1.1应用系统分析在市场经济中,销售是企业运作的重要环节。为了更好地推动销售,不少企业建立分公司后实行代理制,通过分公司或代理上把产品推向最终用户。这些分公司或代理商大多分布在全国各地,甚至是在过为,远距离频繁的业务信息交流是这些企业业务活动的主要特点。在传统方式上,公司之间通常采用电传、电报、电话等方式传递订货、发货、到货、压货、换货、退货等信息,总公司的商务部门在接到分公司或代理商穿来的定单和银行汇款单据传真件后,开具产品出库通知,然后再把相关的进、销、存信息手工存档,再对这些信息进行统计分析,才能了解到整个公司的生产、销售和库存情况。进销存管理是现代商业企业经
8、营管理中的核心环节,也是一个企业能否取得效益的关键。现代电子商务型企业如果能做到合理生产、及时销售、库存量最小、减少积压,那么企业就能取得最佳的效益。2.1.2现有状况分析当前,客户现有的数据运行管理方式是通过手工记录数据,后期借助办公软件和一些固定格式的文档进行数据整理。虽然可以满足目前的需求,但随着企业的发展壮大,业务量的成倍提升,这种主要通过人工来管理的数据运行方式必然会成为企业发展的枷锁,影响企业的运行效率和服务质量,主要原因如下:首先,当前的数据处理方式无法进行权限管理和跟踪。因为主要通过手工记录和办公软件整理,企业的任何人员都会比较容易的接触到企业的所有数据,包括一些涉及到企业核心
9、机密的客户资料以及销售报表等。而且,数据一旦出现丢失或者泄露,当前的数据保存方式也不会留下任何记录。办公软件虽然可以进行简单的加密处理,但安全防范功能相对比较薄弱,远远不能满足企业级的数据安全要求。而实施信息系统可以根据人员岗位分工来设置权限,保证核心数据只有部分人员才能接触,并且数据的任何变更都会被记录下来,可以很好的解决上述问题。其次,当前的数据处理方式很难应付日益增长的信息量。手工记录和办公软件处理可以满足小规模的信息量。但随着企业运营年限增长以及业务的日益发展壮大,这种处理方式就很难支持企业的日常运行。无论是数据修改还是数据查找,都需要先从庞大的数据集合中进行查找提取,但数据集合的规模
10、上升到一定级别,是很难用人力在短时间内完成的,必须建立一套后台数据库存储系统,储备企业的信息数据。另外,化妆品贸易中涉及较多审批流转环节,单纯纸质文档的公文流转由于没有任何限制有可能会发生越权审批的情况,而且不会留下任何跟踪记录,进而危害到企业自身的利益。另外,office系列软件对于用户的并发控制缺乏有效的控制机制,基本没有相应的考虑,随着用户的增加,并发的需求越来越高,office系列软件难以满足用户的需求。2.1.3系统可行性分析在技术方面,本系统采用Microsoft公司的C#.NET以及SQL Server 2000设计一个既满足用户需求又操作方便而且界面友好的中小型书店管理系统软件
11、。C#是一种基于窗体的可视化组件安排的联合,具有强大的数据库管理功能,支持SQL数据库查询,利用C#中嵌入的数据库管理功能几乎可以操纵各种格式的数据库。在经济方面,由于商场规模的日益增大,进出货物数量繁多,且工作量大。原有的手工操作耗时费力,又不能保证数据的正确性,迫切需要实现计算机信息化管理,用信息化管理实现对数据的录入、查询、打印等的处理。比起传统的方法这样可以节省大量的人力物力资源,又可以缩短业务处理的时间,加强对物资安全的管理,具有很强的实用性和经济性。2.1.4数据流图2.1.5系统数据库分析与设计2.1.5.1 E-R图2.1.5.2数据库设计根据对系统数据的分析,本系统共需要11
12、张表,用途如表2-1所示:表2-1数据库数据清单 数据表名称数据表用途系统管理员表(web_admin)保存管理员信息库存表(t_save)保存进货信息出货表(t_out)保存出货信息订单表(t_order)保存订单信息 商品表(product)保存商品信息现存商品表(now_product) 保存现存商品信息我的订单表(myorder) 保存我的订单信息供货商表(ghs)保存供货商信息客户表(custorm)保存客户信息仓库表(ck)保存仓库信息表2-2系统管理员表(web_admin)(管理员编号为主键)字段名描述数据类型数据长度主键是否为空admin_id管理员编号int4是否web_a
13、dmin管理员帐号varchar50否是password管理员密码varchar50否是qx权限等级int4否是表2-3库存表(t_save)(库存编号为主键)字段名描述数据类型数据长度主键是否为空save_id库存编号int4是否product商品名称varchar50否是in_number进货数量int4否是in_price进货价格varchar50否是ghs供货商varchar50否是ck仓库varchar50否是in_date进货时间datetime8否是表2-4 出货表(t_out)(出货编号为主键)字段名描述数据类型数据长度主键是否为空out_id出货编号int4是否product
14、商品名称nvarchar50否是out_number出货数量int4否是return_number退货数量int4否是out_price出货价格decimal9否是ck仓库varchar50否是order_number订单号varchar50否是out_date出货时间datetime8否是表2-5订单表(t_order)(订单编号为主键)字段名描述数据类型数据长度主键是否为空order_id订单编号int4是否order_no订单号varchar50否是custormer客户varchar50否是表2-6商品表(product)(商品编号为主键)字段名描述数据类型数据长度主键是否为空prod
15、uct_id商品编号int4是否name商品名称varchar50否是price 商品价格numeric9否是guige规格char20否是jldw计量单位char20否是sccs生产厂商varchar50否是ck仓库varchar50否是ghs供货商varchar50否是up_num上限int4否是down_num下限int4否否表2-7现存商品表(now_product)(现存商品编号为主键)字段名描述数据类型数据长度主键是否为空now_id现存商品编号int4是否product商品名称varchar50否是now_number现存商品数量int4否是in_number进货数量int4否是
16、in_money进货价格decimal9否是out_number出货数量int4否是out_money出货价格decimal9否是表2-8我的订单表(myorder)(订单编号为主键)字段名描述数据类型数据长度主键是否为空order_id订单编号int4是否order_number订单号varchar50否是cust_name客户名称varchar50否是product商品名称varchar50否是order_date下单日期datetime8否是order_num订货数量int4否是表2-9供货商表(ghs)(供货商编号为主键)字段名描述数据类型数据长度主键是否为空ghs_id供货商编号in
17、t4是否ghs_name供货商名称varchar50否是g_telephone供货商电话号码varchar50否是g_address供货商地址varchar50否是g_person联系人varchar50否是g_email电子邮箱varchar50否是表2-10客户表(custorm)(客户编号为主键)字段名描述数据类型数据长度主键是否为空custmer_id客户编号int4是否cust_name客户名称varchar50否是cust_tel客户电话号码varchar50否是cust_add客户地址varchar50否是cust_person联系人varchar50否是cust_email电子
18、邮箱varchar50否是表2-11仓库表(ck)(仓库编号为主键)字段名描述数据类型数据长度主键是否为空ck_id仓库编号int4是否ck仓库名称varchar50否是2.2技术内容2.2.1登陆界面设计本系统采用Microsoft Visual Studio 2005(C#)实现,数据库采用SQL Server 2000。登录界面代码如下:using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;u
19、sing System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Data.SqlClient;public partial class login : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) protected void Button1_Click(object sender, Ev
20、entArgs e) string user = txt_user.Text.ToString(); string password = txt_password.Text.ToString(); /为存储过程准备参数 SqlParameter sys_user = SqlHelper.CreateParam(xuser, SqlDbType.VarChar, 100, ParameterDirection.Input, user); SqlParameter sys_password = SqlHelper.CreateParam(xpassword, SqlDbType.VarChar,
21、100, ParameterDirection.Input, password); SqlParameter paralist = sys_user,sys_password ; SqlDataReader dr = SqlHelper.ExecuteReader(CommandType.StoredProcedure, pr_login, paralist); if (dr.Read() /将值放入cookie HttpCookie cookie = new HttpCookie(jxcglxt); cookie.Values.Add(admin_id, dradmin_id.ToStrin
22、g(); cookie.Values.Add(Admin, yes); cookie.Expires = DateTime.Now.AddDays(1); Response.AppendCookie(cookie); Response.Redirect(default.aspx); dr.Dispose(); else Response.Write(alert(请输入正确的帐号和密码);); Response.Write(javascript:window.top.location.href=login.aspx;); 2.2.2 部分功能模块设计及部分代码2.2.2.1管理员注册模块设计此部
23、分主要用于管理员的注册,及其密码的修改。2.2.2.2基本资料管理模块设计及部分代码添加仓库此部分主要用于添加仓库的具体信息。添加供货商此部分主要用于家庭各个供应商的具体信息。添加商品此部分主要用于添加各种商品信息。商品库存设置该部分设置库存数量的最低数量和最高数量,超过这两个限度,系统据会报警产品库存设置部分代码如下:using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.
24、Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Data.SqlClient;public partial class kcsz : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) if (!IsPostBack) bind(); public void bind() SqlDataReader d
25、r = SqlHelper.ExecuteReader(CommandType.Text, select * from product, null); DataTable dt = SystemTools.ConvertDataReaderToDataTable(dr); this.GridView1.DataSource = dt; this.GridView1.DataBind(); dr.Close(); protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e) int id = int.
26、Parse(this.GridView1.DataKeyse.RowIndex.Value.ToString(); SqlParameter product_id = SqlHelper.CreateParam(xproduct_id, SqlDbType.Int, 4, ParameterDirection.Input, id); SqlHelper.ExecuteNonQuery(CommandType.Text, delete product where product_id=xproduct_id, product_id); bind(); protected void GridVie
27、w1_PageIndexChanging(object sender, GridViewPageEventArgs e) this.GridView1.PageIndex = e.NewPageIndex; /e.NewPageIndex = this.GridView1.PageIndex + 1; bind(); 2.2.2.3进货模块设计及部分代码该部分主要用于录入进货的各种信息,包括商品名称、进货价格、进货数量、存放仓库、供货商和进货时间等信息。添加进货部分代码如下:using System;using System.Data;using System.Configuration;us
28、ing System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Data.SqlClient;public partial class add_save : System.Web.UI.Page protected void Page_Load(obje
29、ct sender, EventArgs e) if(!IsPostBack) bind(); public void bind() SqlDataReader dr_ck = SqlHelper.ExecuteReader(CommandType.Text, select * from ck, null); DataTable dt_ck = SystemTools.ConvertDataReaderToDataTable(dr_ck); this.ddl_ck.DataSource = dt_ck; this.ddl_ck.DataTextField =ck; this.ddl_ck.Da
30、taBind(); /绑定供货商 SqlDataReader dr_ghs = SqlHelper.ExecuteReader(CommandType.Text, select * from ghs, null); DataTable dt_ghs = SystemTools.ConvertDataReaderToDataTable(dr_ghs); this.ddl_ghs.DataSource=dt_ghs; this.ddl_ghs.DataTextField=g_name; this.ddl_ghs.DataBind(); /绑定商品列表 SqlDataReader dr_produc
31、t = SqlHelper.ExecuteReader(CommandType.Text, select * from product, null); DataTable dt_product= SystemTools.ConvertDataReaderToDataTable(dr_product); this.ddl_product.DataSource = dt_product; this.ddl_product.DataTextField = name; this.ddl_product.DataBind(); protected void Button1_Click(object se
32、nder, EventArgs e) SqlParameter name = SqlHelper.CreateParam(xname, SqlDbType.VarChar, 50, ParameterDirection.Input,this.ddl_product.SelectedValue.ToString().Trim(); SqlParameter in_price= SqlHelper.CreateParam(xin_price, SqlDbType.Decimal,8, ParameterDirection.Input,this.tb_inprice.Text.ToString().
33、Trim(); SqlParameter in_number=SqlHelper.CreateParam(xin_number, SqlDbType.Int,4, ParameterDirection.Input, int.Parse(this.tb_innumber.Text.ToString().Trim(); SqlParameter ck = SqlHelper.CreateParam(xck, SqlDbType.VarChar, 50, ParameterDirection.Input, ddl_ck.SelectedValue.ToString().Trim(); SqlPara
34、meter ghs = SqlHelper.CreateParam(xghs, SqlDbType.VarChar, 50, ParameterDirection.Input, ddl_ghs.SelectedValue.ToString().Trim(); SqlParameter in_date = SqlHelper.CreateParam(xin_date, SqlDbType.DateTime, 8, ParameterDirection.Input, DateTime.Now.ToShortDateString(); SqlParameter paralist = name,in_
35、price,in_number,ck,ghs,in_date ; SqlHelper.ExecuteNonQuery(CommandType.StoredProcedure,pr_insert_tsave, paralist); Response.Write(alert(数据添加成功!);); Response.Write(javascript:window.location.href=add_save.aspx;); protected void Button2_Click(object sender, EventArgs e) Response.Redirect(add_save.aspx
36、); 2.2.2.4销售模块设计及部分代码添加出货用于记录货物的出库信息,包括商品名称、定货单、销售价格、销售数量和出货仓库等信息。商品销售部分代码如下:using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;usin
37、g System.Web.UI.HtmlControls;using System.Data.SqlClient;public partial class add_out : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) if(!IsPostBack) bind(); public void bind() SqlDataReader dr_ck = SqlHelper.ExecuteReader(CommandType.Text, select * from ck, null); DataTabl
38、e dt_ck = SystemTools.ConvertDataReaderToDataTable(dr_ck); this.ddl_ck.DataSource = dt_ck; this.ddl_ck.DataTextField =ck; this.ddl_ck.DataBind(); /绑定商品列表 SqlDataReader dr_product = SqlHelper.ExecuteReader(CommandType.Text, select * from product, null); DataTable dt_product= SystemTools.ConvertDataRe
39、aderToDataTable(dr_product); this.ddl_product.DataSource = dt_product; this.ddl_product.DataTextField = name; this.ddl_product.DataBind(); /绑定订单号 SqlDataReader dr_order = SqlHelper.ExecuteReader(CommandType.Text, select * from myorder, null); DataTable dt_order = SystemTools.ConvertDataReaderToDataT
40、able(dr_order); this.ddl_order.DataSource = dt_order; this.ddl_order.DataTextField = order_number; this.ddl_order.DataBind(); protected void Button1_Click(object sender, EventArgs e) SqlParameter name = SqlHelper.CreateParam(xname, SqlDbType.VarChar, 50, ParameterDirection.Input,this.ddl_product.SelectedValue.ToString().Trim(); SqlParameter order_number=SqlHelper.CreateParam(xorder_number, SqlDbType.VarChar, 50, ParameterDirection.Input, this.ddl_order.SelectedValue.ToString().Trim(); SqlParameter out_price = SqlHelper.CreateParam(xout_price, SqlDbType.Decimal, 8, ParameterDirection.In