信息系统分析与设计题目:唯品会APP分析与设计学院:管理与经济学院班级: 2012XX专业:信息管理与信息系统小组成员:2012XXXX XXXX2012XXXX XXXX2012XXXX XXXX2012XXXX XXXX2012XXXX XXXX目录一、系统结构二、模块功能三、需求分析3.1、首页分类推荐模块3.2、收藏模块3.3、购物车模块3.4、商品分类模块3.5、账户设置模块3.6、客服模块四、业务流程图4.1、业务流程图(总图)4.2、账户设置详细业务流程图五、数据流程图5.1、顶层数据流程图5.2、一层数据流程图5.3、二层数据流程图(订单处理)六、订单部分的数据字典6.1、数据元素条目6.2、数据结构条目6.3、数据流条目6.4、数据存储条目6.5、处理过程条目6.6、外部实体条目七、E-R图八、数据库表8.1、用户信息表8.2、商品分类表8.3、商品信息表8.4、订单信息表8.5、订单详情表8.6、商家信息表8.7、品牌信息表8.8、财务信息表8.9、客服信息表8.10、仓库信息表8.11、出库单信息表8.12、入库单信息表九、存储过程9.1、初始化商品信息9.2、增加商品信息9.3、修改商品信息9.4、删除商品信息一、系统结构三、需求分析1、首页分类推荐模块页点击APP进入“首页”商品分类推荐→“商品状态分类”展示各类商品上线状态→“商2、收藏模块该区域图片下端不完整,因涉及个人隐私故裁剪,请自行补充页点击“我的”→进入“我的账户”显示账户的功能分类以及订单状态→进入“设置”6、客服模块页点击“唯品客服”→进入“服务中心”显示“自助服务”和“问题查询”两个基四、业务流程图1、业务流程图(总图)2、账户设置详细业务流程图五、数据流程图1、顶层数据流程图2、一层数据流程图3、二层数据流程图(订单处理)六、订单部分的数据字典1、数据元素条目3、数据流条目6、外部实体条目七、E-R图八、数据库表3、商品信息表4、订单信息表5、订单详情表6、商家信息表7、品牌信息表12、入库单信息表1、初始化商品信息1.1、商品初始化代码如下:void initgoods(){FILE *fp;product tmps,show;char datafile[40]="goods";int count=0;fp=fopen(datafile,"wb+");if(fp==NULL){printf("文件%s打不开\n",datafile);exit(1);}printf("请输入商品的序号、名称、价格、折扣\n");while(count<=size){printf("\n请输入商品的序号:");scanf("%ld",&tmps.number);if(tmps.number==0)break;printf("请输入商品的名称:");scanf("%s",);printf("请输入商品的价格:");scanf("%f",&tmps.price);printf("请输入商品的折扣:");scanf("%f",&tmps.discount);tmps.memberprice=tmps.price*tmps.discount;if(fwrite(&tmps,sizeof(product),1,fp)!=1){printf("文件%s打不开\n",datafile);exit(1);}count++;}if(count>size)printf("输入数据已满\n");fclose(fp);printf("所输入商品的信息如下:\n");fp=fopen(datafile,"rb");if(fp==NULL){printf("文件%s打不开\n",datafile);exit(1);}printf("序号\t名称\t价格\t折扣\t会员价\n");while(fread(&show,sizeof(product),1,fp)!=0)printf("%ld\t%s\t%.1f\t%.1f\t%.1f\n",show.number,,show.price,show. discount,show.memberprice);fclose(fp); }1.2、商品初始化界面2、增加商品信息2.1、增加商品信息代码如下:void addgoods(){FILE *fp;product tmps,show;char datafile[40]="goods";int count=0;fp=fopen(datafile,"ab+");if(fp==NULL){printf("文件%s打不开\n",datafile);exit(1);}printf("请输入商品的序号、名称、价格、折扣、会员价\n");while(count<=size){printf("\n请输入商品的序号:");scanf("%ld",&tmps.number);if(tmps.number==0)break;printf("请输入商品的名称:");scanf("%s",);printf("请输入商品的价格:");scanf("%f",&tmps.price);printf("请输入商品的折扣:");scanf("%f",&tmps.discount);tmps.memberprice=tmps.price*tmps.discount;if(fwrite(&tmps,sizeof(product),1,fp)!=1){printf("文件%s打不开\n",datafile);exit(1);}count++;}if(count>size)printf("输入数据已满\n");fclose(fp);printf("所输入商品的信息如下:\n");fp=fopen(datafile,"rb");if(fp==NULL){printf("文件%s打不开\n",datafile);exit(1);}printf("序号\t名称\t价格\t折扣\t会员价\n");while(fread(&show,sizeof(product),1,fp)!=0)printf("%ld\t%s\t%.1f\t%.1f\t%.1f\n",show.number,,show.price,show. discount,show.memberprice);fclose(fp);}2.2、增加商品信息界面3、修改商品信息3.1、修改商品信息代码如下:void modifygoods(){FILE *fp;product tmps,s[size],show,temp;char name[9],next,datafile[40]="goods";int recnumber,i,result=0;float price,discount,memberprice;begin:printf("请输入要修改商品的名称");scanf("%s",name);fp=fopen(datafile,"rb");if(fp==NULL){printf("文件%s打不开\n",datafile);exit(1);}while(feof(fp)==0){if(fread(&temp,sizeof(product),1,fp)!=0){if(strcmp(,name)==0)result=1;}}if(result==0){printf("要修改的商品%s不存在\n",name);fclose(fp);goto begin;}fp=fopen(datafile,"rb");if(fp==NULL){printf("文件%s打不开\n",datafile);exit(1);}recnumber=0;while((fread(&tmps,sizeof(product),1,fp))!=0){if(strcmp(,name)==0){printf("请输入要修改商品%s的价格\n",name);scanf("%f",&price);printf("请输入要修改商品的折扣价\n");scanf("%f",&discount);memberprice=price*discount;s[recnumber].number=tmps.number;strcpy(s[recnumber].name,);s[recnumber].price=price;s[recnumber].discount=discount;s[recnumber].memberprice=memberprice;recnumber++;}else{s[recnumber].number=tmps.number;strcpy(s[recnumber].name,);s[recnumber].price=tmps.price;s[recnumber].discount=tmps.discount;s[recnumber].memberprice=tmps.memberprice;recnumber++;}}fclose(fp);fp=fopen(datafile,"wb+");if(fp==NULL){printf("文件%s打不开\n",datafile);exit(1);}for(i=0;i<recnumber;i++){if(fwrite(&s[i],sizeof(product),1,fp)!=1){printf("文件%s打不开\n",datafile);exit(1);}}fclose(fp);printf("修改成功!\n");printf("是否继续修改(y/n)\n");next=getche();if(next=='y'||next=='Y')goto begin;printf("所修改商品的信息如下:\n");fp=fopen(datafile,"rb");if(fp==NULL){printf("文件%s打不开\n",datafile);exit(1);}printf("序号\t名称\t价格\t折扣\t会员价\n");while(fread(&show,sizeof(product),1,fp)!=0)printf("%ld\t%s\t%.1f\t%.1f\t%.1f\n",show.number,,show.price,show. discount,show.memberprice);fclose(fp);}3.2、修改商品信息界面4、删除商品信息4.1、删除商品信息代码如下:void delgoods(){FILE *fp;product tmps,s[size],show,temp;char name[9],next,datafile[40]="goods";int recnumber,i,result=0;float price,discount,memberprice;begin:printf("请输入要删除商品名称:");scanf("%s",name);fp=fopen(datafile,"rb");if(fp==NULL){printf("文件%s打不开\n",datafile);exit(1);while(feof(fp)==0){if(fread(&temp,sizeof(product),1,fp)!=0){if(strcmp(,name)==0)result=1;}}if(result==0){printf("要删除的商品%s不存在\n",name);fclose(fp);goto begin;}fclose(fp);fp=fopen(datafile,"rb");if(fp==NULL){printf("文件%s打不开\n",datafile);exit(1);}recnumber=0;while((fread(&tmps,sizeof(product),1,fp))!=0){if(strcmp(,name)!=0){s[recnumber].number=tmps.number;strcpy(s[recnumber].name,);s[recnumber].price=tmps.price;s[recnumber].discount=tmps.discount;s[recnumber].memberprice=tmps.memberprice;recnumber++;}}fclose(fp);fp=fopen(datafile,"wb+");if(fp==NULL){printf("文件%s打不开\n",datafile);exit(1);}for(i=0;i<recnumber;i++){if(fwrite(&s[i],sizeof(product),1,fp)!=1)printf("文件%s打不开\n",datafile);exit(1);}}fclose(fp);printf("删除成功!\n");printf("是否继续删除(y/n)\n");next=getche();if(next=='y'||next=='Y')goto begin;printf("删除商品信息如下:\n");fp=fopen(datafile,"rb");if(fp==NULL){printf("文件%s打不开\n",datafile);exit(1);}printf("序号\t名称\t价格\t折扣\t会员价\n");while(fread(&show,sizeof(product),1,fp)!=0)printf("%ld\t%s\t%.1f\t%.1f\t%.1f\n",show.number,,show.price,show. discount,show.memberprice);fclose(fp);}4.2、删除商品信息界面。