在线购物系统的设计与实现.DOC

上传人:国*** 文档编号:1195538 上传时间:2018-12-18 格式:DOC 页数:14 大小:511KB
下载 相关 举报
在线购物系统的设计与实现.DOC_第1页
第1页 / 共14页
在线购物系统的设计与实现.DOC_第2页
第2页 / 共14页
在线购物系统的设计与实现.DOC_第3页
第3页 / 共14页
在线购物系统的设计与实现.DOC_第4页
第4页 / 共14页
在线购物系统的设计与实现.DOC_第5页
第5页 / 共14页
点击查看更多>>
资源描述

1、在线购物系统 数据库 2 组在线购物系统的设计与实现文档信息文件类型: 软件开发用技术文档作 者:开发小组:组长:曹汕 成员:曹杨,周南,孙健,徐婷 单位:数据库实践 完成日期: 2018 年 12 月 18 日软件信息软件名称: 网上商店系统语言类型: 简体中文软件主页:授权类型: 免费软件/测试版运行环境: Windows 95/98/NT/Me/2000/XP 等指导老师: 须凌开发日期: 2005 年 10 月-2005 年 12 月软件简介: 本系统采用会员制管理,将人员分为管理员、会员、游客等,分别拥有不同的权限,各司其职,以便提高工作效率。系统功能包括:会员管理、会员购物管理、订

2、单管理、商品资料管理、库存统计、退货统计等等。一、需求分析说明书1.1 系统介绍本系统定位于网上中小型商店,暂时考虑单机环境下的实现;操作系统选择目前常用的 Windows 98/2000/XP。系统性质为数据库软件。本系统采用会员制管理,系统功能应包含会员管理、购物管理、订单管理、退货管理、库存管理、统计分析、相关人员管理等。系统界面力求简洁、易用,在标准化的基础上考虑界面的美观和新颖。系统计划 2005 年 10 月初开始,11 月底完成初步开发工作,其余工作根据时间安排进行。1.2 系统面向的用户群体1系统面向互联网,用户群体为网上购物者。1.3 系统的功能性需求功能序号 功能名称 功能

3、说明1 商品种类管理 包含商品大类、小类等的创建2 商品资料管理 包含商品资料的添加、修改等3 库存统计 分门别类统计商品现有库存量、入库时间等4 进货记录查询 查询历次进货记录5 退货登记 登记供应商、商品种类、退货的数量、原因等6 退货记录查询 查询历次退货记录7 会员购物管理 登记销售的种类、数量、单价、折扣、顾客/会员等8 会员管理 包含会员的创建、修改、删除等9 优惠政策管理 包含优惠政策的制定与执行10 售书记录查询 查询历次售书记录11 统计分析 按年月日时段统计书店经营状况12 商品检索 提供按商品的编号、书名、责任者、出版社等途径的检索13 系统帐号管理 提供上级对下级的资料

4、、密码管理,14 个人资料、密码管理 提供修改个人资料、密码的工具1.4 系统的非功能性需求1.4.1 用户界面需求简洁、易用、易懂,美观、大方、标准,具备一定的兼容性。1.4.2 软硬件环境需求软件环境:兼容当前主流操作系统 Windows 95/98/NT/Me/2000/XP 等。1.4.3 软件质量需求易用、健壮、兼容性好、运行稳定、有一定安全保障。二、可行性分析报告2.1 技术可行性系统的性质为在线购物系统,因此数据库的设计与操纵是系统设计的核心。小组成员具备一定的系统分析与设计能力,熟悉数据库的设计与操纵;指导老师须凌多年从事数据库的教学与研究工作,因而该系统的实现在技术上是可行的

5、。2.2 人员可能性时间充足,可以完成开发任务。曹汕,周南,曹杨的计算机功底很深,可以参与系统的数据库设计与开发。孙健,徐婷有深厚的文字功底,可以参与用户文档的制作、内部文档整理、后期测试等任务。所有人员均可立即投入开发工作。2.3 时间、设备可能性系统设计与开发工作预计耗时一个月,所有参与开发的人员均能够保证按时完成任务。22.4 系统工作量该系统的工作量相对于我们的开发小组来说很大,必须保证按进度完成任务。实际工作量预计超过一个月(每天 4-8 小时) 。如包含软件维护及技术文档的整理、制作,工作量将更大。2.5 代码工作量预计需 25 天左右。2.6 文档要求依据国家计算机软件产品开发文

6、件编制指南和现代软件工程的理论与原则编制标准的软件技术文档。三、开发环境与项目规划3.1 开发环境开发平台:Eclipse 3.0 数据库环境:Oracle 9i3.2 项目规划与管理开发人员安排:系统分析与设计:曹汕程序编制:曹汕,周南,曹杨 数据库设计: 曹汕,周南,曹杨文档整理与制作: 孙健,徐婷系统测试:曹汕,周南,曹杨,孙健,徐婷等四、软件编码设计标准与规范4.1 目的 对于代码,首要要求是它必须正确,能够按照程序员的真实思想去运行;第二个的要求是代码必须清晰易懂,使别的程序员能够容易理解代码所进行的实际工作。在软件工程领域,源程序的风格统一标志着可维护性、可读性,是软件项目的一个重

7、要组成部分。而目前还没有成文的编码风格文档,以致于很多时候,程序员没有一个共同的标准可以遵守,编码风格各异,程序可维护性差、可读性也很差。通过建立代码编写规范,形成开发小组编码约定,提高程序的可靠性、可读性、可修改性、可维护性、可继承性和一致性,可以保证程序代码的质量,继承软件开发成果,充分利用资源,使开发人员之间的工作成果可以共享。4.2 整体编码风格4.2.1 注释注释是软件可读性的具体体现。程序注释量一般占程序编码量的 20%,软件工程要求不少于 20%。程序注释不能用抽象的语言,类似于“处理“、“循环“这样的计算机抽象语言,要精确表达出程序的处理说明。例如:“计算净需求“、“计算第一道

8、工序的加工工时“等。3避免每行程序都使用注释,可以在一段程序的前面加一段注释,具有明确的处理逻辑。注释必不可少,但也不应过多,不要被动的为写注释而写注释。以下是四种必要的注释:A. 标题、附加说明。B. 函数、类等的说明。对几乎每个函数都应有适当的说明,通常加在函数实现之前,在没有函数实现部分的情况下则加在函数原型前,其内容主要是函数的功能、目的、算法等说明,参数说明、返回值说明等,必要时还要有一些如特别的软硬件要求等说明。公用函数、公用类的声明必须由注解说明其使用方法和设计思路,当然选择恰当的命名格式能够帮助你把事情解释得更清楚。C. 在代码不明晰或不可移植处必须有一定的说明。D. 及少量的

9、其它注释,如自定义变量的注释、代码书写时间等。注释有块注释和行注释两种,分别是指:“/*/“和“/“建议对 A 用块注释,D 用行注释,B、C 则视情况而定,但应统一,至少在一个单元中 B 类注释形式应统一。具体对不同文件、结构的注释会在后面详细说明。4.2.2 代码长度对于每一个函数建议尽可能控制其代码长度为 53 行左右,超过 53 行的代码要重新考虑将其拆分为两个或两个以上的函数。函数拆分规则应该一不破坏原有算法为基础,同时拆分出来的部分应该是可以重复利用的。对于在多个模块或者窗体中都要用到的重复性代码,完全可以将起独立成为一个具备公用性质的函数,放置于一个公用模块中。4.3 代码文件风

10、格所有的 Java(*.java) 文件都必须遵守如下的样式规则:4.3.1 package/import package 行要在 import 行之前,import 中标准的包名要在本地的包名之前,而且按照字母顺序排列。如果 import 行中包含了同一个包中的不同子目录,则应该用 * 来处理。package com.struts.utils;import java.io.*;import java.util.Date;4.4、函数编写风格4.4.1 函数的命名通常,函数的命名也是以能表达函数的动作意义为原则的,一般是由动词打头,然后跟上表示动作对象的名词,各单词的首字母应该大写。另外,还有

11、一些函数命名的通用规则。如取数,则用 Get 打头,然后跟上要取的对象的名字;设置数,则用 Set 打头,然后跟上要设的对象的名字;而对象中为了响应消息进行动作的函数,可以命名为 On 打头,然后是相应的消息的名称;进行主动动作的函数,可以命名为 Do 打头,然后是相应的动作名称。类似的规则还有很多,需要程序员多读优秀的程序,逐渐积累经验,才能作出好的函数命名。4.5 符号风格4.5.1 总体要求对于各种符号的定义,都有一个共通点,就是应该使用有实际意义的英文单词或英文单词的缩写,不要使用简单但没有意义的字串,尽可能不使用阿拉伯数字,更切忌使用中4文拼音的首字母。如这样的名称是不提倡的:Val

12、ue1,Value2,Value3,Value4 。例如:file(文件),code(编号),data(数据),pagepoint(页面指针), faxcode(传真号) ,address(地址),bank(开户银行),4.5.2 变量名称变量命名由(前缀+修饰语)构成。现在比较流行的是一套由微软的一个匈牙利软件工程师首先使用,并且在微软推广开来,现在被称之为匈牙利命名法的命名规则。匈牙利命名法规定,使用表示标识符所对应的变量类型的英文小写缩写作为标识符的前缀,后面在使用表示变量意义的英文单词或缩写进行命名。下面是匈牙利命名法中的一些命名方式:(1)生存期修饰:用 l(local)表示局域变量

13、,p(public)表示全局变量,s(send)表示参数变量(2)类型修饰:用 s(AnsiString)表示字符串,c(char)表示字符,n(number)数值,i(intger)表示整数,d(double)表示双精度,f(float)浮点型,b(bool)布尔型,d(date)表示日期型.例如:li_length 表示整形的局域变量,是用来标识长度的.ls_code 表示字符型的局域变量,用来标识代码. Package 的命名 Package 的名字应该都是由一个小写单词组成。 . Class 的命名 Class 的名字必须由一个或数个能表达该类的意思的大写字母开头而其它字母都小写的单词

14、或缩写组成,这样能使这个 Class 的名称能更容易被理解。4.5.3 Class 变量的命名 变量的名字必须用一个小写字母开头。后面的单词用大写字母开头。对于类的成员变量,在对其标识符命名时,要加上代表 member(成员)的前缀 m_。例如一个标识符为m_dwFlag,则它表示的变量是一个类型为双字的成员变量,它是代表一个标志。4.5.4 方法的参数使用有意义的参数命名,如果可能的话,使用和要赋值的字段一样的名字: setCounter(int size)this.size = size; 五. 系统的设计实现5.1 系统描述本系统是网上购物系统,主要分三个部分:一、顾客能够方便的浏览商品

15、信息,可以通过将商品加入购物车继而( 需注册或登陆)下订单来完成网上的购买。二、系统提供业务管理系统来管理产品的进库入库,并制定价格策略,审核会员的订单。三、提供管理员登录系统方便管理,并根据管理员的权限限制其管理功能。系统管理包括员工管理,分配权限、日志管理等。5.2 功能需求5.2.1 会员部分5(1)注册(登录)服务用户通过填写自己的个人相关资料如姓名、电话、邮件、联系方式等,并能做相关修改。审核通过后方可登录系统。(2)商品信息浏览用户可以根据商品名称、商品分类等条件查找相关商品,查询结果显示详细商品信息。(3)购物车管理用户可以添加产品到购物车,也可以在修改购物车中产品信息。用户可以

16、预订其感兴趣的商品信息。5.2.2 业务管理部分(1)产品管理1商品分类管理制定管理商品分类策略2商品信息管理增删改商品的信息:录入商品信息,库存数量,会员价格等等。(2)订单管理审核会员的订单信息,取消或完成订单5.2.3 系统管理部分(1)员工管理只有 admin 管理员才有此权限。可设置、修改、删除员工权限,分为审核员和产品管理员。(2)日志管理按列排序显示用户操作日志。5.2 数据库 ER 模型在得到数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体,以及他们之间的关系,为后面的逻辑设计打下了基础。这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。主 E-R 图示(

17、软件:Visio2003):会员 购买 商品管理人员N N会员姓名会员 I D会员 m a i l商品编码I D姓名审核N1会员电话商品名称日期会员地址会员昵称会员密码商品 I D商品定价商品图示商品描述收件人收件人地址送货方式支付方式收件人电话密码证件号码帐户帐户状态65.3 数据库表结构设计FK_ORDERHEA_REFERENCE_MEMBERFK_ORDERLIN_REFERENCE_ORDERHEAFK_ORDERLIN_REFERENCE_ORDERLINFK_ORDERHEA_REFERENCE_ORDERSTAFK_ORDERHEA_REFERENCE_PAYMENTTFK_O

18、RDERHEA_REFERENCE_DELIVERYFK_ORDERHEA_REFERENCE_LESSDEALFK_PRODUCTS_REFERENCE_PRODUCTFK_PRODUCTP_REFERENCE_PRODUCTFK_PRODUCTT_REFERENCE_PRODUCTFK_PRODUCTT_REFERENCE_PRODUCTTFK_SHOPPING_REFERENCE_MEMBERFK_SHOPPING_REFERENCE_PRODUCTFK_ORDERCHE_REFERENCE_MANAGERFK_ORDERLIN_REFERENCE_MANAGERFK_ORDERLIN_

19、REFERENCE_ORDERLINFK_ORDERCHE_REFERENCE_ORDERHEAMemberidusernamepasswordnamegenderphonemailpostcodeaddressregister_datestatusINTEGERVARCHAR(20)VARCHAR(20)VARCHAR(50)INTEGERVARCHAR(20)VARCHAR(50)INTEGERVARCHAR(500)DATEINTEGEROrderHeadidmember_idorder_datedelivery_addressdelivery_typepayment_typeorder

20、_manorder_phonestatusless_dealpostcodeINTEGERINTEGERDATEVARCHAR(500)INTEGERINTEGERVARCHAR(50)VARCHAR(20)INTEGERINTEGERINTEGERShoppingCartidproduct_idquantityremarkmember_idINTEGERINTEGERINTEGERVARCHAR(200)INTEGERProductTypeidnameparent_idis_leafINTEGERVARCHAR(20)INTEGERBOOLEANProductidcodenamestanda

21、rd_pricebarcodepic_urldescriptionINTEGERVARCHAR(20)VARCHAR(50)NUMBER(8,3)VARCHAR(50)VARCHAR(100)VARCHAR(500)OrderLineidproduct_idproduct_quantitystatusremarkorderhead_idpriceINTEGERINTEGERINTEGERINTEGERVARCHAR(200)INTEGERNUMBER(8,3)Manageridnameidentified_numberaccountpasswordstatusINTEGERVARCHAR(20

22、)VARCHAR(20)VARCHAR(20)VARCHAR(20)INTEGERProductPriceidproduct_idmember_pricestatusINTEGERINTEGERNUMBER(8,3)INTEGERProductTypeRelationidproduct_idproducttype_id INTEGERINTEGERINTEGER OrderStatusidnamedescription INTEGERVARCHAR(30)VARCHAR(200) ProductStoreproduct_idstock_quantity INTEGERNUMBER OrderL

23、ineStatusidnamedescriptionINTEGERVARCHAR(30)VARCHAR(200)PaymentTypeidnamedescription INTEGERVARCHAR(30)VARCHAR(200) DeliveryTypeidnamedescriptionINTEGERVARCHAR(30)VARCHAR(200)LessDealTypeidnamedescription INTEGERVARCHAR(30)VARCHAR(200) OrderCheckLogidmanager_idorder_idactionupdate_dateINTEGERINTEGER

24、INTEGERINTEGERDATEOrderLineCheckLogidmanager_idorderline_idactionupdate_dateINTEGERINTEGERINTEGERINTEGERDATE5.4 软件体系结构设计5.4.1 架构模式介绍本系统以 tomcat 为容器,用 eclipse 为开发的平台,采用了 struts 技术,用 jsp 进行编码,来实现了一个在线购物系统的功能。本系统采用 MVC 架构:75.4.2 架构设计介绍考虑到系统复杂性和可维护性,可扩展性,可移植性,我们采用 J2EE 多层应用体系结构,在各层之间提供接口实现调用,共分四层:1. Bus

25、iness 事物层该层主要是对象层,相当于 object 层,针对系统中每个对象建立一个对象类,如会员,商品,订单,订单行等等,并为对象的每个属性设置 set 和 get 方法。2. Action 层该层主要是动作设置层,负责接收服务请求和返回响应信息。Action 对象可以处理请求并响应客户端(通常是一个 web browser),或者指出流程应该被指向另一个地方。例如,如果登录成功,一个 login Action 可能希望把流程转移到主菜单。3. Controller 控制层该层主要是控制层,其实严格意义上,该层应该分成 Contain 层、Controller 层、Persistence

26、 层等等,即容器层、控制层和数据持久化层。本系统没有对此进行展开,集中在一层内完成。从 Action 层中接收参数,对数据进行处理。所有对象的处理方法,数据存取等全部在这一层实现。以会员登录为例:在这一层实现,会员的数据字符串校验,数据正确性校验等等 4. Utils 工具层该层主要是工具层,数据库连接池,字符串处理,中文编码处理等等系统中与商务逻辑无关的对象处理工具5.4.3 系统详细设计略六、软件测试分析报告6.1 测试范围与主要内容8测试范围 主要内容 简要说明系统登陆验证 验证用户身份,进行权限控制 功能性测试信息检索功能测试 测试数据库检索代码的健壮性 功能性测试商品销售管理功能测试

27、 测试系统实用性、方便性 功能性测试数据完整性测试 测试登记失败时的数据完整性控制 功能性测试核心代码复检 检验核心代码的质量 逻辑检错性测试6.2 测试方法功能性测试:黑盒测试 逻辑检错性测试:白盒测试6.3 测试报告测试项目 测试目的 测试数据 测试结果 改进意见 修改状态商品检索 信息检索功能的准确性和健壮性 SQL 语法错误 暂无 尚未修正登陆验证 系统安全和权限控制用户名:coolcs密码:123系统响应正常,权限控制正常- -商品销售 入帐操作的完整性 - 数据类型控制出错,事务处理成功增强对用户输入数据的控制尚未修正核心代码复检检验核心代码的质量与效率- 编码风格良好,内部注释不足。- -6.4 改进建议与措施略七、软件使用说明书7.1 使用图解。目前只实现了顾客浏览产品,加入到购物车,最后下订单,实现这一流程部分的功能。管理模块暂未实现7.1.1 会员模块用户的注册,登陆设计用户的登陆界面如下:用户如果不是以注册用户,那么就可以进行注册,如下图9用户还可以进行会员信息的修改,如下图:7.1.2 产品模块产品的搜索和信息清单,如下图:产品的详细信息,如图:

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 企业管理资料库 > 人力资源

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。