网上书店项目详细设计说明书 | 您所在的位置:网站首页 › 网络书店框架层次结构不包括 › 网上书店项目详细设计说明书 |
1引言
1.1编写目的
编写网上书店系统详细设计说明书的目的在于从详细设计的角度明确网上书店项目的业务品种、功能范围,明确与业务主机/终端系统的接口和业务处理模式,使系统开发人员和产品管理人员明确产品功能,可以有针对性的进行系统开发、测试、验收等各方面的工作。 读者:项目经理、概要设计人员,编码人员,测试人员。 1.2背景说明: 待开发软件系统的名称;网上书店系统b.开发背景:伴随社会的高速发展,即人们对精神文化的追求,现如今人们越来越注重读书,而且随着计算机的普及,越来越多的人通过网络实现购物,购买书籍也在其中,在这样的形式下,网上书店系统应运而生。 1.3定义开发工具:Dev C++ 开发语言:C语言 开发框架:UML 运行环境:Windows7,Windows10. 1.4参考资料[1]软件工程:理论与实践, (美国)弗莱格 (Pfleeger.S.L.) ,(美国)阿特利 (Atlee.J.M.),高等教育出版社,2006年9月1日 [2] UML建模实例教程, 刘志成,电子工业出版社, 2009年11月1日 2程序系统的结构网上书店管理员,主要进行两方面的操作,一是对书店里的图书类型进行增添、删除,同时设定店长推荐的书籍列表。另一方面是对用户的订单尽心管理,例如同意发货,修改物流状态。 3.1程序描述本程序分为两个模块,一个为编辑书籍模块,一个为订单管理情况。订单管理情况与用户登录模块中用户购书情况类似,以下针对编辑书籍模块进行重点讨论。 管理员处理相关订单: 增添相应书籍:
说明该程序应具有的功能,可采用IPO图(即输入一处理一输出图)的形式。 程序(函数) 输入 处理 输出 Menu1 管理员登录 唯一店家 进入店家界面 Display_book 书籍信息 查询代码中关于书籍信息的内容 书籍介绍信息 Search_book 修改书籍信息中的库存 库存数量被修改 原数字被抹点,储存新库存 3.3性能该程序实际面对两方,一方是用户。一旦库存量小于用户所输入的购买量,订单将无法生成。对于店家来说,当库存不充足时,店家可以对书籍信息中的“库存”属性进行修改,修改过后,即可重新进行正常交易。 3.4,3.5输入项,输出项由于本次编写未涉及连接数据库,因此无描述输入输出项的内容。 3.6算法先选择是否对数目 if(getch()=='y') { printf("书籍名: ");gets(book_cur->Name); printf("作者: ");gets(book_cur->Writer); printf("价格: ");scanf("%lf",&book_cur->Price); printf("库存: ");scanf("%d",&book_cur->Stock); printf("销量: ");scanf("%d",&book_cur->Sales); fflush(stdin); printf("简介: ");gets(book_cur->Abstract); printf("分类: ");gets(book_cur->classification); } return; 3.7流程逻辑下图为修改书籍信息的流程图。 程序所存在的层次已在图中说明,参数赋值采用输入的方式,同步调用方式, 3.9存储分配本程序的存储分配,将修改的数据放在堆栈中。 3.10注释设计说明准备在本程序中安排的注释,如: 加在模块首部,介绍模块功能;加在各分枝点,解释调用的函数; 3.11限制条件在修改库存信息时,书籍的其余信息还需要重新输入,比较繁琐。 3.12测试计划在已有图书中,进行书籍信息的修改,选择书籍名称,进入修改页面,输入新的值,测试库存、价格输入非法值后是否报错,以及库存和销量的关系是否合理等。 3.13尚未解决的问题修改库存是侧面补充库存的一种方式,如果库存大于0,但用户购买量大于库存量,此时订单无法生成,但是库存量正常。所以需要有一个提示,使管理员能够按需及时进行库存补充。 4用户登录模块设计说明选择买家登录,输入用户名,即为注册新账户。输入用户名后,进入控制台的操作界面,此时可以选择显示书籍,搜索书籍,添加订单,搜索编辑订单,显示订单,店长推荐的功能。其中,用户反馈在编辑订单中体现。以下主要介绍购书操作中的订单操作。 4.1程序描述购书模块主要分为以下四个部分:
说明该程序应具有的功能,可采用IPO图(即输入一处理一输出图)的形式。 用户购书模块: 程序 输入 处理 输出 Menu1 会员登陆 自动生成新账户,若已存在,则跳转至已有账户 进入用户界面 Add_order 添加订单 查询已有书籍的信息,并判断 书籍介绍信息 Search_order 修改订单 根据卖家的物流信息, 是否收货成功 4.3性能对于店家和用户来说,订单的信息都是自主操作。在用户添加订单之后,店家会获得订单信息,决定发货,决定物流状态,之后用户可以对已有物流信息的订单进行收货处理。确认收货后,完成交易。 4.4、4.5输入项,输出项由于本次编写未涉及连接数据库,因此无描述输入输出项的内容。 4.6算法1.搜索订单及对订单的部分后续操作 void Search_Order(_Order order_head,char account[])//搜索和编辑订单 { int id; //char choose; _Order order_cur = order_head; if(!order_head) { printf("当前没有任何订单!!!\n"); Sleep(1500); return ; } printf("输入您要查询或者修改的订单号: "),scanf("%d",&id);//根据id号找订单 while(order_cur) { if((!strcmp(order_cur->Account,account))&&id == order_cur->roder_id) { printf("订单号:%d\n",order_cur->roder_id); …… ; fflush(stdin); if(strstr(order_cur->Status[0],"未付款"))//搜索到的未付款时则提示是否付款 { printf("是否付款?: y/n"); printf("\n"); if(getch()=='y') { printf("付款成功\n"); strcpy(order_cur->Status[0],"已付款"); strcpy(order_cur->Status[1],"未发货");//物流信息 } else { printf("是否删除订单: y/n");//若不付款则提示是否删除订单,以下都是类似 if(getch()=='y') { printf("订单已删除!!!\n"); strcpy(order_cur->Account,""); strcpy(order_cur->Status[0],"交易关闭"); } } } else if(strstr(order_cur->Status[0],"交易关闭")||strstr(order_cur->Status[0],"交易完成")) 4.7流程逻辑 ![]() 模块关系已经在2—程序结构中,已经体现。函数调用,实现增添订单的功能。 4.9存储分配本程序的参数遵循动态存储分配,将修改的数据放在堆栈中。 4.10注释设计在本程序中所安排的注释,如: 对输入的内容进行解释说明的注释;对是否完成付款的判定操作的注释对是否输入合法从而成功生成订单的注释。 4.11限制条件每次购买都需要重新添加收货信息;付款功能未能真正实现,在本程序中是否付款为订单完成的判定之一。 4.12测试计划当输入的数量不合法或未完成付款操作时,订单均添加失败。 4.13尚未解决的问题1.物流信息需要由店家来填写,未能和真实情况同步; 2.付款的操作未能和时间联系,在本程序中,取决于买家是否选择付款。 |
CopyRight 2018-2019 实验室设备网 版权所有 |