目录1.前言········································32.系统需求分析与开发背景······················33.系统的分析与设计····························43.1系统结构设计······························43.2系统流程设计······························63.3ER图设计·································63.4数据库结构描述····························73.5实体类图··································94.各个模块的实现方法描述······················105.结论········································131、前言随着物质和精神生活的日益丰富,各商家陆续推出花样繁多的服务来迎合庞大的消费需求。美国的菲利普•科特勤曾在《营销管理》中说过这样一句话:“吸引一个新客户所耗费的成本大约相当于保持一个现有客户的5倍。”为了刺激消费、积累沉淀资金,各种各样的会员卡、储值卡、打折卡、积分卡如雨后春笋般大量涌现,以客户为中心,进行信息识别、建立及维护的会员管理系统也应运而生,成为企业创造自我价值的制胜法宝。会员管理系统,顾名思义就是专为管理消费会员信息和资料而设计的会员管理软件。它能给企业建立长期稳定的消费市场,培养大批品牌忠诚者,加强企业与会员之间互动交流,改进产品,提高新产品开发能力和服务能力,获取市场消费的第一手资料,维护新客户,留住回头客。目前,会员管理系统正逐步广泛应用于餐饮、美容美发、SPA会所、物业、培训、聚会、酒店、超市、KTV娱乐场所、旅游、物流、干洗连锁、票务、物业等领域。根据不同行业的个性,会员管理系统可以根据商家要求定制出更有行业特点的功能。放眼未来,在信息系统的全力支撑与推动下,会员管理必将精益求精、不断迁跃,只为一个目的:如何为各种行业用户创造出更多的企业价值,这也是会员管理系统的核心所在。Java是一门优秀的编程语言,具有面向对象、与平台无关、安全、稳定和多线程等特点,是目前软件设计中极为健壮的编程语言。Java具备了“一次写成,处处运行”的特点。它已经成为网络时代最重要的编程语言之一。商场每天都会接待大量的顾客,而某些重要的顾客对于商场来说是不可缺失的资源,给与适当的优惠政策,可以留住老顾客,并吸引新的顾客,使用商场VIP消费查询系统可以大大的提高工作效率,减少工作中可能出的错误,是提高商场办公自动化水平的重要手段之一。其开发主要包括后台数据库的建立和维护以及前端应用程序界面开发两个方面。对于后台数据库的建立和维护要求建立起数据的一致性和完整性强、数据安全性好。而前端应用程序的开发则要求应用程序能提供强大的数据操纵功能,界面友好、使用简单方便等特点。在中国软件行业日益进步的今天,如何利用这些资源来帮助减轻商家和顾客的负担。因而设计一个好的消费情况查询管理系统,能提高商场的经济效益。编写此文档的目的是进一步定制软件开发的细节问题,便于商场VIP用户与商场协调工作。本文档为该系统的软件详细设计说明书,较详细阐述了用户的系统概况,和对系统中的各项功能。2、需求分析与开发背景商场VIP消费查询系统是适应社会、顾客需求,提高管理的效率而开发设计的通过对信息的录入、存储、统计和信息共享,及时为商场领导及各部门管理人员提供全面、准确的各种数据,实现了商场管理的简单化和规划化,提高了商场的工作效率,从而使商场能够获得更大的经济效益。经过综合分析,确定商场VIP消费情况查询系统共有4个大的模块:商品信息模块、VIP信息模块、系统维护模块和帮助模块。商品信息模块又划分为两个子模块:商品信息录入模块和商品信息查询模块。同样VIP信息模块划分为3个模块:VIP购物登记模块、VIP信息查询模块和VIP信息管理模块。主要包括以下功能:(1)登录本系统为商场VIP消费情况查询系统,具有一定的保密性。因此必须要有一定的权限才能使用本系统查询,即要进行查询就必须先登录使用本系统。登录之后进入系统的主界面,在主界面可以选择用户想要执行的功能模块。(2)VIP信息管理本系统为商场VIP消费情况查询系统,因此对VIP的信息管理是核心。本模块是进行VIP信息登记的模块。(3)VIP信息查询对VIP的信息查询是经常性的操作,本模块可以查询指定VIP的信息,以了解某会员的购物情况,以及对所购物情况的删除以及更新。(4)VIP购物登记当VIP购物时,要对其所购物品进行登记,以便以后对其进行统计。(5)商品信息录入用户在本模块可以查询想知道的商品的详细信息,并就可以对已存在的商品进行修改、删除。(6)帮助使用者可以在本模块学习怎样使用系统,以方便操作。3、系统的分析与设计3.1系统结构设计系统的概要设计中最重要的就是系统的模块化。模块化是指解决一个复杂问题时自项向下逐层把软件系统划分成若干个模块的过程。每个模块完成一个特定的功能,所有的模块按某种方法组织起来,成为一个整体,完成整个系统所要求的功能。将系统划分为多个模块是为了降低软件系统的复杂性,使系统容易修改,提高可读性、可维护性,但模块的划分不能是任意的,应尽量保持其独立性。也就是说,每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单,即尽量做到高内聚低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。系统的结构图,如图所示:商场VIP消费查询系统登录管理员VIP用户注册VIP查询VIP信息添加消费记录VIP个人信息消费记录查询VIP信息删除VIP用户查询VIP用户消费记录修改个人信息查看个人信息查看个人消费记录1.登录:当不同的用户登录时,系统会验证其身份是商场管理员还是VIP用户,然后跳转到不同的主页,以实现不同的功能。2.用户注册:只有商场管理员有注册新的VIP用户的权限,但注册后管理员只能查看VIP个人信息或删除VIP用户,VIP用户则能对自己的信息进行查看和修改。3.添加消费记录:当VIP有新的消费时,系统即管理员会对其消费情况进行录入,管理员也能查看VIP用户的消费记录,而VIP用户只能查看个人的消费记录。4.商品信息管理:录入VIP用户购买的商品信息并与VIP的ID和姓名相匹配的录入数据库中。3.2系统流程设计系统在用户登录的时候,对账号的合法性进行判断,从而显示不同的界面给用户。管理员可以管理用户信息,如删除VIP用户,可以录入消费者所购买的商品以及对商品信息的修改。VIP用户可以查询、修改个人信息,可以查看自己的消费记录以及商品信息。根据这些功能的要求,如图所示登陆页面管理员登陆VIP用户登陆管理员页面用户页面注册VIP用户页面查询VIP信息页面VIP消费记录导入页面个人信息页面个人消费记录页面VIP信息页面VIP消费记录页面失败失败成功成功3.3、ER图设计ER模型直接从现实世界抽象出实体类型及实体间联系,然后用ER图来表示数据模型。它有两个明显的优点:接近于人的思维,容易理解;与计算机无关,用户容易接受。E-R图为实体-联系图,提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。构成E-R图的基本要素是实体型、属性和联系,其表示方法为:实体型:用矩形表示,矩形框内写明实体名;属性:用椭圆形表示,并用无向边将其与相应的实体连接起来;本系统的各实体类的属性图如下所示:管理员用户名管理员管理员用户口令VIP用户编号ID性别姓名电话出生日期商品单价数量名称折扣总价购买VIP的ID购买VIP的姓名3.4、数据库结构描述在完成系统的ER图之后,需要将ER模型转化为关系模型,即要设计出数据库所需要的表格。本系统,选用关系数据库。根据系统ER图,针对本系统的特点,在对所搜集的数据进行规范化之后,定义了如下三张表格:分别是用户信息表tuser、VIP用户信息表vip、商品信息表cost。通过对这四张表格的操作可以较好地完成系统设计的各项功能,三张表格之间有着不同程度的联系。此软件文档系统采用MySQL数据库管理系统。首先在MySQL中建立一个数据库,将其命名为student,然后根据数据库的逻辑结构分析创建三张数据表。1、用户信息表tuser:用于存放所有用户的信息,包括管理员和VIP用户,分布存放了他们的账号、姓名、密码和用户性质。字段名称字段类型字段说明Idint用户账号usernamevarchar用户姓名passwordvarchar用户密码charNamevarchar用户性质2、VIP用户信息表vip:用于存放所有VIP用户的信息,包括账号Id、姓名、出生日期、性别和电话号码。字段名称字段类型字段说明IdvarcharVIP用户账号namevarcharVIP用户姓名birthvarcharVIP用户出生日期gendervarcharVIP用户性别telvarcharVIP用户电话3、商品信息表cost:用于存放所有VIP用户所购买的商品的信息,包括购买该商品的VIP用户的编号和姓名、商品的编号、商品的名称、VIP用户购买该商品的时间、商品单价、购买的数量、折扣、最后总价。字段名称Id字段类型varchar字段说明该商品编号vipIdvarchar购买该商品的VIP用户的编号namevarchar购买该商品的VIP用户的姓名ProdNamevarchar商品名称timevarcharVIP用户购买该商品的时间discountvarcharVIP用户购买该商品的折扣pricevarchar商品单价countvarchar最后总价numbervarcharVIP用户购买该商品的数量3.5、实体类图系统流程的各种控制器:Dao包及数据库连接包:4、各个模块的实现方法描述(1)用户登录:在登录窗口,用户可以输入账号和密码进行登录,只有合法的账号和密码才成功登录到系统。在登录页面loginForm.jsp中实现登录,这是系统会验证其身份,若为管理员,接下来页面跳转到管理员的主要页面mainForm.jsp,从而管理员开始执行权力范围内的操作;若为VIP用户,接下来页面跳转到VIP用户的主要页面vipForm.jsp。(2)VIP用户注册:如果需要注册新VIP用户,可以使用VIP用户注册功能,添加的信息包括VIP用户的账号、姓名、性别、出生日期、手机号码、初始登录密码。由注册页面reginForm.jsp提交给RegController.java控制器保存用户注册信息到数据库。(3)查询VIP信息管理员可以根据所需,根据不同的信息搜索查看VIP用户的信息,并且该系统支持模糊查询。由查询页面queryChoose.jsp提交给QueryServlet.java控制器从数据库中提取出相对应的VIP用户信息到查看页面showStudent.jsp。查看VIP信息页面截图(4)查看消费记录VIP用户可以通过调用QueryServlet.java从数据库中调出该VIP用户的消费记录显示在vShowCost.jsp页面。5.结论(1)不足:1.本系统界面做的比较丑,因为不熟悉html和css前台开发。2.还有一个功能没有实现,就是管理员用户在添加用vip消费记录时,老是显示错误。3.对数据库表的字段属性设置不严格,全部是用的varchar型,这是比较差的地方,比方说cost表中,price字段就肯定必须为浮点型或int型,这样会给以后添加数据造成很多不安全的因素。4.也是最严重的问题,就是对数据表的字段值没有判断正误,比方说当用户插入birth到vip表时,只能按照日期格式的。这需要用正则表达判断。(2)值得肯定的地方:1.做一个功能时,就尽量完善它。比方说在做查询时,对id,name,gender,birth,都能实现,,,=,like的查询。并且尽力排除逻辑错误。2.数据库的增删改查功能都能够正确实现,对数据表的设计也比较合理,如建立了vip表用来