网上化妆品先手系统详细设计说明书文档格式.docx
《网上化妆品先手系统详细设计说明书文档格式.docx》由会员分享,可在线阅读,更多相关《网上化妆品先手系统详细设计说明书文档格式.docx(22页珍藏版)》请在冰点文库上搜索。
1.2背景
说明:
a.网上化妆品销售系统;
b.本项目任务提出者王璐;
c.开发者王璐;
d.用户对化妆品需求的人,多为女性;
e.运行所需最低配置计算机系统Windows2000;
1.3定义
化妆品销售系统:
化妆品市场在全国其他产品市场所占份额也越来越大。
但由于国进口关税较高,柜台费贵,使得以国际品牌为主流的较多抗皱系列化妆品、香水等国价格极高,消费者不易接受,所以利用现代科学技术配合网上销售,改善这个问题。
管理员:
通过账号密码进入系统,随时查询产品信息,纠正错误信息。
供应商:
通过账号密码进入系统,上传新的产品信息,更新旧的产品信息。
随时查看产品交易信息。
会员:
直接在登录账号密码,查看自己账号信息,随时浏览产品信息,可以购买或取消产品订单。
客服人员:
登录账号密码查看物流订单,安排统一邮寄,上传物流跟踪情况。
数据库管理软件:
SQLServer
运行环境:
WinXP
1.4参考资料
1.《jsp程序设计》立峰、乔世全、程文斌人民邮电
2.《电子商务教程(下)——实例探讨篇》劲中国青年
3.《JSP程序员成长攻略》蒙祖强龚涛中国水利水电
4.《软件工程导论》海清华大学
2程序系统的结构
图1:
会员业务流程图
图2:
整个软件层次
图3:
前台用户操作流程
图4:
后台业务流程
3程序1(标识符)设计说明
3.1程序描述
由供应商自己完成对产品的添加操作,可以自己登陆数据库,查看自己需要的信息,通过Request的参数形式传到浏览器和服务器端。
包括商品的查询,修改,删除等操作。
本程序设计的特点就是要简洁,高效,方便。
为使用者提供一个方便的使用环境。
3.2功能
图5.1:
主要功能结构1
图5.2:
主要功能结构2
3.3性能
在录入的时候保证数据的正确性与记录的唯一性,根据编号的唯一性确保记录的准确查询的时候保证查全性,所有相应域包含查询关键字的记录都应能查到。
查询的时候保证查准性,查到的记录应与给定的单项或组合查询条件完全匹配。
该程序的最长响应时间:
1s;
更新处理时间:
5s;
数据的转换和传送时间:
5s;
解题时间;
3s。
当外部硬件软件发生变化时,要做出及时的改变相适应,有较强的灵活性。
3.4输人项
商品清单(MerchBill)表:
中文字段名
英文字段名
字段类型
长度
主键/外键
字段值约束
商品编号
merchID
char
6
P
NOTNULL
供货商号
profferID
F
名称
fullName
varchar
80
条形码
barCode
15
计量单位
metricUnit
4
类别
kind
8
NULL
产地
birthPlace
50
单价
unitCost
money
备注
others
text
基本数据都是从键盘输入进入系统。
3.5输出项
输出数据会显示在现显示屏上。
3.6算法
主要代码:
JSP:
<
formaction=”<
%=request.getContextPath()%>
/admin/addProduct.do”method=”post”>
<
tablecellpadding=3cellspacing=1align=centerclass=tableborder1>
tr>
tdclass=tablebody1valign=middlealign=centerwidth=”20%”>
/td>
tdclass=tablebody1valign=middlewidth=”80%”>
&
nbsp;
&
inputetype=”text”name=”name”/>
fontcolor=”#FFOOOO”>
*<
/font>
/form>
详细说明商品信息管理的算法:
添加一条商品信息
/*添加一条商品信息,输出商品编号和执行结果*/
CREATEPROCdbo.GoodsAddNew
(
merchIDvarchar(100),--商品编号
fullNamevarchar(100),--名称
barCodevarchar(15),--条形码
Amountdecimal(18,2),--库存数量
kindint,--类型编号
birthPlacevarchar(100),--产地
profferIDint,--供货商编号
Introducevarchar(1000),--商品名称
othersvarchar(1000),--备注
profferIDntOUTPUT,--商品编号
ReturnValueintOUTPUT--执行结果(VB组件的自定义枚举值)
)
AS
DECLAREErrNoint--保存错误号
BEGINTRANSACTION--开始事务
/*手动维护数据唯一性的代码。
*/
DECLAREExistNamebit
EXECExistByName'
Goods'
'
GoodsName'
GoodsName,ExistNameOUTPUT
IFExistName=1--当前商品名称已存在
BEGIN
ROLLBACKTRANSACTION--回滚事务
SELECTReturnValue=3--返回VB组件的自定义枚举值
RETURN--结束存储过程
END
/*添加记录*/
INSERTINTOGoodsValues(GoodsName,Amount,UnitName,TypeID,SupplierID,Introduce,Remark)
--记录当前的错误号
SELECTErrNo=ERROR
/*输出参数*/
IFErrNo=0--没有发生错误
SELECTID=(SELECTMAX(GoodsID)FROMGoods)
SELECTReturnValue=0
ELSEIFErrNo=2627--违反唯一约束
ROLLBACKTRANSACTION--遇到错误则回滚事务
SELECTReturnValue=3
RETURN
ELSE--其他未知错误
SELECTReturnValue=1
COMMITTRANSACTION--提交事务
GO
SETQUOTED_IDENTIFIEROFF
SETANSI_NULLSON
SETQUOTED_IDENTIFIERON
删除一条商品信息
/*删除一条商品信息,输出执行结果*/
CREATEPROCdbo.GoodsDelete
(
GoodsIDint,--商品编号
/*验证是否存在当前商品编号,若否则不能删除*/
DECLAREExistIDbit
EXECExistByID'
GoodsID'
GoodsID,ExistIDOUTPUT
IFExistID=0--当前商品编号不存在
SELECTReturnValue=2--返回VB组件的自定义枚举值
/*手动维护数据完整性的代码*/
Buy'
BuyID'
IFExistID=1
ROLLBACKTRANSACTION
/*验证销售信息是否包含当前商品,若是则不能删除*/
Sale'
SaleID'
IFExistID=1
SELECTReturnValue=3
/*删除记录*/
DELETEFROMGoodsWHEREGoodsID=GoodsID
ELSEIFErrNo=547--发生外键冲突
返回所有供货商
CREATEVIEWdbo.view_Supplier
/*返回所有供货商*/
SELECTSupplierID,SupplierName,Contact,Introduce,RemarkFROMSupplier
CREATEVIEWdbo.view_Buy
AS
SELECTB.BuyID,B.GoodsID,G.GoodsName,
B.UnitPrice,B.Amount,G.UnitName,
B.UnitPrice*B.AmountASTotalPrice,
B.Deliverer,B.Transactor,B.RegistrarID,
B.RegDate,G.TypeID,G.SupplierID,B.Remark
FROMBuyASBLEFTOUTERJOINGoodsASG
ONB.GoodsID=G.GoodsID
3.7流程逻辑
图6.1:
流程逻辑图1
图6.2:
流程逻辑图2
3.8接口
图7:
接口图
3.9存储分配
本程序采用的是malloc/free动态管理存,在程序需要的时候想系统申请空间,适当的时候释放不使用的空间。
由于程序中某些地方可能不通过malloc调用申请空间,因此,malloc管理的空间不一下是连续的。
这样,空闲存储空间以空闲链表的方式组织,每个块包含一个长度、一个指向下一块的指针以及一个指向自身的存储空间的指针。
这些块按照存储地址的升序组织,最后一块指向第一块。
3.10注释设计
说明准备在本程序中安排的注释,如:
a.加在模块首部的注释;
b.加在各分枝点处的注释;
c.对各变量的功能、围、缺省条件等所加的注释;
d.对使用的逻辑所加的注释等等。
3.11限制条件
1.运行本软件程序首先要有员工信息密码等信息确认;
2.本程序受到机器本身硬件设备的影响,在速度上可能会出现一定的差异;
3.本程序的输入值要按照预定的输入,不然会报错;
4.如果需要新的功能这要在程序中增加代码。
3.12测试计划
这计划将在下一个测试报告中详细的说明。
3.13尚未解决的问题
无。
4程序2(标识符)设计说明
无