服装专卖店信息管理系统的设计与实现文档格式.docx
《服装专卖店信息管理系统的设计与实现文档格式.docx》由会员分享,可在线阅读,更多相关《服装专卖店信息管理系统的设计与实现文档格式.docx(25页珍藏版)》请在冰豆网上搜索。
本系统加强对财务的管理功能,更加清楚的了解到库存中的数量、款式等,给用户在操作销售中提高了方便性;
提高服装专卖店的销售量、降低服装专卖店的经营成本、提高服装专卖店服务的质量等。
在另一方面还提高了服装的市场竞争力,节省了更多的时间和精力。
1.1研究现状
经研究表明,在我们国家许多的服装专卖实体店中,很多小型的服装专卖店占了绝大多数。
在这些小型的服装专卖店中也不可避免地要加入到服装管理行业的激烈竞争中来,想要实现服装专卖店的信息管理功能那就得必须改进管理进程。
由于社会对小型的服装店专卖店灵活的多样性和多变的经营管理模式以及在相关投入量的限制下,让许许多多的中小型的服装专卖店没能够进行信息化的标准建设。
在实际上大部分的服装专卖店对服装管理的需求很大,为此我们以开发服装专卖店信息管理系统为首要目标,能够的满足这些中小型的服装专卖店的需要。
1.2设计目标
使用自己所学的知识和对服装专卖店信息理论的知识和实际情况相结合,用C#为开发本系统程序的语言,用SQL2014作为数据库来开发服装专卖店系统,使本系统能够实现仓库管理、出库管理和入库管理、销售管理等。
除此之外,本系统用于提高对服装专卖店的信息管理,使管理员能够快捷方便的使用本系统,提高管理的效率,更快的更新服装中信息的数据,减少数据中的冗余。
第二章开发环境和开发工具
2.1技术基础
通过服装专卖店管理系统中,本文采用css+div布局整个框架,让我使用中觉得样式的调整更加方便,布局中有较大灵活性。
内容和样式的分离,还有使页面和样式的调整变得更加方便,使用起来更加简洁、结构化中的代码更加能突出整个页面中的重点。
用SQLServer2014作为后台数据库,VS2015版,基于三层架构用ASP.net(c#)这个是公共的类,我时用来对数据集提供各层的调用目的,因此操作简单,功能比较完善,使得开发本系统中没有多少的阻碍。
2.2C#三层架构环境
在C#中实现三层架构,使用SQL2014为数据库存储数据。
同时使用三层架构中实现一个小型的可复用的组件来保存客户数据,并提供添加、更新、查找、数据的功能。
在以前使用过的c#语句是在窗体中点击某个出发要发生的事件就要双击事件的地方加入代码引用事件的发生,然后在进行调试,使用起来会比较的麻烦,而且每当要触发一件事,就要写入多行的代码,使用起来比较的麻烦。
现在使用了三层结构的,使得用于服装装卖店的管理系统的重要框架。
本文中三层构架中的DALfu层,是使用做对参数和返回类型,增删改都是返回影响行数,然后在吧MODELfu作为了层的实体类。
最后用BLLfufu去调用DALfu来实现对服装专卖店的中增加、删除、更新、修改事件。
C#三层架构的特点:
1、本文中使用只用来关注整个结构中的其中某MODELfu层;
2、容易的使用新的来实现去替换掉原有层次的实现;
3、不仅还可以降低层与层之间的依赖;
4、有利于服装专卖店的标准化;
5、利于DALfu层、MODELfu层、BLLfufu层逻辑的复用.
6.语言简洁。
7.语言的自由性。
2.3SQLServer2014数据库
SQL2014数据库的系统想比较与SQL2005更好使用。
服装管理后台的数据基于SQL2014的数据库中SQL2014的数据库与SQL2005的数据库进行对比,我们便可使用到高级版本生成结构差异的脚本,从而实现对旧数据库结构的调整。
不仅方便了服装专卖店中数据的使用以及服装信息维护。
SQLServer2014数据库主要用于服装专卖店对后台数据整合。
2.4开发和运行环境
开发工具是:
SQLServer2014,VS2015
运行环境是:
基于三层架构用ASP.net(C#)
第三章需求分析
3.1概述
通过对服装专卖店的分析,本文设计的系统具备了以下几个功能:
(1)登入系统中分别对不同的角色进行不同的管理权限功能;
(2)以操作员的管理身份登入或以操作员的身份登入到界面;
(3)方便数据查询,能够持多条件查询。
(4)跟具服装专卖店需求对数据进行增加、删除、修改。
(5)在相应的权限管理下,可以方便的删除数据。
(6)查询数据,导出相应的报表。
(7)查看服装专卖店系统中的销售信息,方便公司做出决策。
(8)报表基本信息查询时,可根据查询条件显示出查询结果。
3.2需求概述
对于服装店而言,对服装进行系统管理是非常必要的。
通过统计与查询服装资料,可以为销售和管理提供便利。
以前传统的管理方式都是采用手写的标签进行管理服装,并使用应用自制表格的采用手工操作(填写、查询)。
但是在事实上,手工记录很难建立规范的数据库。
并且在数据录入、查询、统计以及展示等操作的效率都显示得较为低下。
如果说当数据量较大的时候,服装数据的管理工作量就显得非常巨大。
如果应用服装专卖店数据管理系统技术进行服装管理,就可以显著地改善管理效率,并达到以节约人力和物力资源的目标。
服装专卖店管理系统即是基于此目的而开发的应用软件系统。
3.3.1登入模块
在用户登录时,根据用户选择的登录方式进行登入,确定用户是以操作员的身份登入还是以是管理员的身份登入进去。
如果用户是操作员的身份登入,必须选择登入的方式才可登入到系统界面。
如是使用管理员的身份登入到系统中那就必须选择登入方式,输入有效的登入密码方可登入进去。
在确定用户身份之后,设置用户的使用权限。
3.3.2服装会员管理
在会员购买服装的时,我们可以给会员用户者使用折扣价,根据不同的用户所购买的东西进行会员折扣,可以享受专卖店的连锁管理,支持各种的实体会员制。
个性化设置的会员资料,在消费者消费时会更新数据,那么就需要对用户信息进行更改、添加、删除等各功能,那这些简单的操作将会带来很多的便利。
3.3.3服装管理模块
在服装管理模块中分别有小模块。
订单管理:
在服装订单中,我们需要购买的服装,需要用到订单,能够通过服装的订单才知道需要购买的服装和品种还有数量,从而能够通过使用服装专卖店管理系统的使用使之快速进行查询或删除及添加等功能。
出库管理:
服装出库系统自动的删除一条记录更新数据库中的数据,使我们知道有哪些服装已经出库了。
服装出库后进行更新就可以得出库中最新的数据。
入库管理:
服装在进货回来要进行入库的登记,使用服装专卖店管理系统可查询到我们的入库的信心,实现对物品进行添加功能,方便管理进行查看服装的入库的信息,能够使管理人员很快的进行查找、更新、删除等各功能的信息。
供应商管理:
在各服装店需要把所需的货物清单列举清楚,然后就联系供货商订货。
销售管理:
消费者通过自己的选购物品,到柜台进行交易付款,对于消费者是否在会员等级中对消费的服装进行记录,那么就需要添加购买者的所购买物品的信息。
采购管理:
在库存中某件物品缺少了就要进行采购,使用服装专卖店管理系统查询后,方可筛选出来各种货物的详细数量来决定所要采购的数目。
库存管理:
使用服装管理系统进行库存的管理,能够清楚库存中有的物品,能够快速的查询到服装的信息,方便管理,减少了手工的操作,提高了速率。
3.3.4员工管理
针对员工管理,可实现员工的添加,新来了一名员工,必须在员工管理模块中添加新员工的信息,员工辞职后,进行在员工管理中删除信息相应的信息,并更新后台的数据信息。
3.3.5报表系统设置
在购买物品的时候会有供应商的汇总表、有销售的汇总表、员工工资的汇总表等。
通过本系统我们可以制作年度、季度、日报表、未收款列表、欠款列表、坏账列表。
让我们能从报表中了解到销售的情况更加一幕了然。
给财务提供了方便快捷的操所、提高了效率。
3.3.6付款信息管理
供应商采购商品时,会产生付款数据,这时我们就需要统计好付款的数据。
客户购买商品,付款的选择方式可以现金、或者刷卡等方式。
但付款的方式可分为:
预付,现付,按月结算或者季度、年度结算等。
用户可以选则较为方便的方式来进行收款,减少人工手动收款方式,提高办事效率。
3.3.7公司信息管理
在服装专卖店中,店中的管理是必须要有完善的规章制度,这就借助与我们的系统,使用这些管理,能够很快速的理解到那位人员在哪个部门。
公司管理中,设置财务部、销售部、前台、后勤部、人力资源部,设立这些部门是为了方便管理公司的员工,能够查询到每位的员工在那个部门,减少数据的散换现象。
3.4开发计划
此系统的设计是针对服装专卖店的服装管理的,通过本系统可以对服装专卖店的服装管理进行了有效的进销存管理。
本系统拟定了以下设计目标:
(1)本系统采用人机交互方式,信息查询灵活、方便,数据存储安全可靠。
(2)并能实现后台监控功能。
(3)利用系统中的查询功能对各个管理模块进行快速查询。
(4)实现各种查询,如条件查询、全部查询等。
(5)实现服装进货分析语统计、销售分析与统计、服装销售成本明细等功能。
(6)强大的库存预警功能,尽可能的减少商家不必要的损失。
(7)实现报表动态分析数据。
(8)对用户输入的数据,进行严格的数据检验,尽可能避免人为错误。
(9)系统最大限度的实现了易维护性和易操作性。
第四章数据库设计与实现
4.1.0系统总体E-R图
图1:
总体E-R图
4.1.1销售单E-R图
销售单实体E-R图:
图2:
销售单-E-R图
4.1.3供应商E-R图
供应商实体E-R图:
图3:
供应商E-R图
4.1.4商品信息E-R图
商品信息实体E-R图:
单价
图4:
商品信息E-R图
4.1.5订货单E-R图
订单实体E-R图:
图5:
订单E-R图
4.1.6库存单E-R图
库存单实体E-R图:
图6:
库存单E-R图
4.1.6采购管理E-R图
采购管理实体E-R图:
4.1.7员工管理E-R图
员工管理实体E-R图:
图9:
员工管理实体E-R图
4.1.8会员管理ER图
会员管理实体E-R图:
图10:
会员管理实体E-R图
4.1.9登入管理ER图
登入管理实体E-R图:
图11:
登入管理实体E-R图
第五章概要设置
5.1系统总体结构
以Clothingsales123为数据库名称,在数据库中建立几个大块的管理模块分别为:
商品管理、用户管理、仓库管理三大模块。
5.2.1登录模块及逻辑模型
登入模块分为两种:
一种时以管理员的身份运行、另一种时以操作员的身份运行;
登入表:
admin(主键、账号、姓名、创建时间、更新时间、角色)
5.2.2销售管理及逻辑模型
采购单表:
cai_mk(主键、采购单id、采购单编号、条码、供应商、商品数量、商品标价、商品id、未折扣金额、折扣、实际进价单、实际总金额、商品名、付款方式、是否已付款、采购时间)
库存表:
cun_mk(主键、仓库id、商品名、商品数量、商品进价)
订单表:
ding_mk(主键、订单号、订单时间、商品名、交货时间、、订购数量、总价、商品id、备注)
供应商表:
gong_mk(主键、供应商编号、供应商、联系人、供应商地址、供应商电话、备注一、备注二)
销售表:
shao_mk(主键、销售表编码、销售单号、业务员、客户编码、销售数量、折扣价、总价格商品id、商品名、备注)
5.2.3商品信息管理
商品信息表:
shang_mk(主键、颜色、商品id、商品编号、商品名、单价、品牌、商品样式、图片、商品类型、尺寸、商品市场售卖、商品市场售卖)
5.2.4员工信息管理
员工信息表:
yuan_mk(主键、员工号、姓名、性别、职位、月薪)
5.2.5会员管理
会员管理:
hui_mk(主键、会员号、姓名、性别、电话号码)
第六章详细设计与实现
6.1.1登录模块
使用系统要求输入的正确用户名和密码,选择相应的登录角色。
输入错误或者非法用户登录则会提示登录失败。
如图下所示:
登入代码如下所示:
namespaceDAL
{
publicclassAdminDAL
{
///<
summary>
///是否存在该记录
///<
/summary>
publicboolExists(Stringa_id)
inta=0;
StringBuilderstrSql=newStringBuilder();
strSql.AppendFormat("
select*"
);
FROMAdminwherea_id='
{0}'
"
a_id);
SqlDataReaderreader=SqlHelper.ExcuteSql(strSql.ToString());
while(reader.Read())//获取表中是否有该记录
if(reader["
id"
]!
=null&
&
reader["
].ToString()!
="
)
a=int.Parse(reader["
].ToString());
}
if(a>
0)
returntrue;
else
returnfalse;
6.1.2商品信息管理模块
管理模块可以根据不同的查询方式,分别可以进行对商品的编号进行查询,或者使用商品名进行查询,所得到不同查询的效果。
如下图所示:
商品信息管理代码如下:
publicclassshangDAL
///查询记录是否该销售表编码以存在
paramname="
sh_id"
>
<
/param>
returns>
/returns>
publicboolExists(stringsh_id)
StringBuilderselectCommand=newStringBuilder();
selectCommand.AppendFormat("
selectcount(Sid)fromshang_mkwheresh_id={0}"
sh_id);
intresult=SqlHelper.ExecuteScalar<
int>
(selectCommand.ToString());
if(result>
0)
///获取全部列表
6.1.3仓库管理模块
仓库管理中,有一件商品已经拿出来了,就应当减少了减少一条记录,表明商品已经出库。
当一件商品入库了仓库管理模块中增加了一条记录,并对仓库管理中的数据进行了更新。
如下图所示;
仓库商管理代码如下:
publicclassgongDAL
publicboolExists(stringg_id)
StringBuilderstrSql=newStringBuilder();
FROMgong_mkwhereg_id='
g_id);
while(reader.Read())//获取表中是否有该记录
=null&
if(a>
returntrue;
returnfalse;
///<
///获取gong_mk列表
publicList<
MODEL.gong_mkmodel>
GetGongList(intpageIndex,intpageSize,MODEL.gong_mkmodelmodel)
StringBuilderselectCommand=newStringBuilder();
selectCommand.AppendFormat(@"
select*from(selectrow_number()over(orderbya.id)asrowNum,a.*from(selecttop({0})[id],[g_id],[g_suppliler],[g_contacts],[g_address],[g_phone]FROM[Clothingsales123].[dbo].[gong_mk]{1})asa)cwherec.rowNum>
{2}"
pageSize*pageIndex,SetWhereCondition(model),pageSize*(pageIndex-1));
SqlDataReaderreader=SqlHelper.ExcuteSql(selectCommand.ToString());
returnGetList(reader);
publicboolAdd(gong_mkmodelmodel)
strSql.Append("
insertintogong_mk("
g_id,g_suppliler,g_contacts,g_address,g_phone)"
values("
@g_id,@g_suppliler,@g_contacts,@g_address,@g_phone)"
;
select@@IDENTITY"
SqlParameter[]parameters={
newSqlParameter("
@id"
SqlDbType.Int,4),
@g_id"
SqlDbType.NVarChar,50),
@g_suppliler"
@g_contacts"
@g_address"
@g_phone"
SqlDbType.NVarChar,50)
};
parameters[0].Direction=ParameterDirection.Output;
parameters[1].Value=model.g_id;
parameters[2].Value=model.g_suppliler;
parameters[3].Value=model.g_contacts;
parameters[4].Value=model.g_address;
parameters[5].Value=model.g_phone;
introws=SqlHelper.ExecuteNonQuery(strSql.ToString(),parameters);
if(rows>
publicboolUpdate(gong_mkmodelmodel)
updategong_mkset"
//strSql.Append("
g_id=@g_id,"
g_suppliler=@g_suppliler,"
g_contacts=@g_contacts,"
g_address=@g_address,"
g_phone=@g_phone"