《在线购物系统的设计与实现.doc》由会员分享,可在线阅读,更多相关《在线购物系统的设计与实现.doc(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 软件工程课程设计指指导导老老师师 : :洪洪跃跃山山 学生姓名 :王晓栋 (20030810316)组长姓名 :王晓栋 20030810316同组成员 :邓春武 20030810301、肖璐璐20030810319、周玮 20030810329、沈燕20030810313、周洪芳 20030810327、杨先波200308103221符丽芳 20030810303 2006 年 11 月 7 日一、软件概述一、软件概述一、软件概述一、软件概述软件名称:网上购物系统指导老师:洪跃山开发日期:2006 年 9 月-2006 年 11 月软件简介:本系统采用会员制管理,将人员分为管理员、会员、游客
2、等,分别拥有不同的权限,各司其职,以便提高工作效率。系统功能包括:会员管理、会员购物管理、订单管理、商品资料管理、库存统计、退货统计等。二、软件过程二、软件过程一、项目规划一、项目规划1.11.1 项目目标项目目标本项目要实现一个实用的网上购物系统,本项目需要小组各成员都能够默契和作,但由于成员分布比较分散的原故,使得小组在一起讨论的机会相对较少,增加了项目进行的难度。时间上,由于步入大四学年,小组成员都在各种程度上受到了考研和找工作的压力,所以时间比较紧缺。因此,在很多地方还有不足之处,有些功能还没有全部实现,还请老师见谅!谢谢!1.21.2 项目组织项目组织王晓栋、邓春武、杨先波的计算机功
3、底很深,参与程序编写及系统的数据库设计与开 发,后期测试等任务。 周玮,沈燕,周洪芳有较强的绘画功底,进行操作界面及整体版面等的设计。肖璐璐、 符丽芳 有深厚的文字功底,参与用户文档的制作、内部文档整理等任务。1.31.3 资源需求资源需求主要需求资源为:Eclipse 3.0,Oracle 9i,tomcat4.1。这些都可以从网上免费下 载。安装除了 Oracle 对内存要求较高外,其它都比较容易实现。1.41.4 项目规划与管理项目规划与管理项目安排人员组成成果提交系统分析与设计王晓栋,邓春武,杨先波需求分析报告数据库设计王晓栋,邓春武,杨先波数据库类图及实现程序编制王晓栋,邓春武,杨先
4、波基本功能的程序实现文档整理与制作肖璐璐、符丽芳查询历次进货记录界面及版图设计沈燕,周玮、周洪芳界面及版图设计图系统测试全体小组成员成品21.41.4 项目进度项目进度该系统的工作量相对于我们的开发小组来说很大,必须保证按进度完成任务。实际工 作量预计超过二个月(每天 4-8 小时) 。需求分析预计分析报告及系统结构设计需 10 天, 图形界面及版面设计需 5 天,代码编写预计需 25 天左右。所有参与开发的人员均能够保证 按时完成任务。二、二、需求分析说明书需求分析说明书2.12.1 系统介绍系统介绍本系统定位于网上中小型商店,暂时考虑单机环境下的实现;操作系统选择目前常用 的 Window
5、s 98/2000/XP。系统性质为数据库软件。 本系统采用会员制管理,系统功能应包含会员管理、购物管理、订单管理、退货管理、 库存管理、统计分析、相关人员管理等。系统界面力求简洁、易用,在标准化的基础上考 虑界面的美观和新颖。 系统计划 2006 年 9 月初开始,10 中旬完成初步开发工作,其余工作根据时间安排进行。2.22.2 系统面向的用户群体:系统面向的用户群体:随着网络的日益盛行,网上购物也成为一种流行。本系统就是一个面向互联网的购物 系统,用户群体为网上购物者。2.32.3 系统的功能性需求系统的功能性需求功能序号功能名称功能说明1商品种类管理包含商品大类、小类等的创建2商品资料
6、管理包含商品资料的添加、修改等3库存统计分门别类统计商品现有库存量、入库时间等4进货记录查询查询历次进货记录5退货登记登记供应商、商品种类、退货的数量、原因等6退货记录查询查询历次退货记录7会员购物管理登记销售的种类、数量、单价、折扣、顾客/会员等8会员管理包含会员的创建、修改、删除等9优惠政策管理包含优惠政策的制定与执行10售书记录查询查询历次售书记录11统计分析按年月日时段统计书店经营状况12商品检索提供按商品的编号、书名、责任者、出版社等途径的检索13系统帐号管理提供上级对下级的资料、密码管理,14个人资料、密码管理提供修改个人资料、密码的工具2.42.4 系统的非功能性需求系统的非功能
7、性需求2.4.12.4.1 用户界面需求3简洁、易用、易懂,美观、大方、标准,具备一定的兼容性。 2.4.22.4.2 软硬件环境需求 软件环境:兼容当前主流操作系统 Windows 95/98/NT/Me/2000/XP 等。 2.4.32.4.3 软件质量需求 易用、健壮、兼容性好、运行稳定、有一定安全保障。 2.4.42.4.4 软件实现时限 本软件要求在两个月内实现。三三. 系统的设计实现系统的设计实现3.13.1 系统描述系统描述本系统是网上购物系统,主要分三个部分:一、顾客能够方便的浏览商品信息,可以通过将商品加入购物车继而( 需注册或登陆)下订单来完成网上的购买。二、系统提供业务
8、管理系统来管理产品的进库入库,并制定价格策略,审核会员的订单。三、提供管理员登录系统方便管理,并根据管理员的权限限制其管理功能。系统管理包括员工管理,分配权限、日志管理等。3.23.2 功能需求功能需求3.2.13.2.1 会员部分会员部分(1)注册(登录)服务用户通过填写自己的个人相关资料如姓名、电话、邮件、联系方式等,并能做相关修改。审核通过后方可登录系统。(2)商品信息浏览用户可以根据商品名称、商品分类等条件查找相关商品,查询结果显示详细商品信息。(3)购物车管理用户可以添加产品到购物车,也可以在修改购物车中产品信息。用户可以预订其感兴趣的商品信息。3.2.23.2.2 业务管理部分业务
9、管理部分(1)产品管理1商品分类管理制定管理商品分类策略2商品信息管理增删改商品的信息:录入商品信息,库存数量,会员价格等等。(2)订单管理审核会员的订单信息,取消或完成订单3.2.33.2.3 系统管理部分系统管理部分(1)员工管理只有 admin 管理员才有此权限。可设置、修改、删除员工权限,分为审核员和产品管理员。(2)日志管理按列排序显示用户操作日志。43.23.2 数据库数据库 ERER 模型模型在得到数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体,以及他们之间的关系,为后面的逻辑设计打下了基础。这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。主 E-R 图
10、示(软件:Visio2003):3.33.3 数据库表结构设计数据库表结构设计会员购买商品管理人员NN会员姓名会员ID会员mail商品编码ID姓名审核N1会员电话商品名称日期 会员地址会员昵称会员密码商品ID商品定价商品图示商品描述收件人收件人地址送货方式支付方式收件人电话密码证件号码帐户帐户状态5FK_ORDERHEA_REFERENCE_MEMBERFK_ORDERLIN_REFERENCE_ORDERHEAFK_ORDERLIN_REFERENCE_ORDERLINFK_ORDERHEA_REFERENCE_ORDERSTAFK_ORDERHEA_REFERENCE_PAYMENTTFK
11、_ORDERHEA_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_ORDERLI
12、N_REFERENCE_ORDERLINFK_ORDERCHE_REFERENCE_ORDERHEAMember id username password name gender phone mail postcode address register_date statusINTEGER VARCHAR(20) VARCHAR(20) VARCHAR(50) INTEGER VARCHAR(20) VARCHAR(50) INTEGER VARCHAR(500) DATE INTEGEROrderHead id member_id order_date delivery_address de
13、livery_type payment_type order_man order_phone status less_deal postcodeINTEGER INTEGER DATE VARCHAR(500) INTEGER INTEGER VARCHAR(50) VARCHAR(20) INTEGER INTEGER INTEGERShoppingCartid product_id quantity remark member_idINTEGER INTEGER INTEGER VARCHAR(200) INTEGERProductTypeid name parent_id is_leaf
14、INTEGER VARCHAR(20) INTEGER BOOLEANProduct id code name standard_price barcode pic_url descriptionINTEGER VARCHAR(20) VARCHAR(50) NUMBER(8,3) VARCHAR(50) VARCHAR(100) VARCHAR(500)OrderLineid product_id product_quantity status remark orderhead_id priceINTEGER INTEGER INTEGER INTEGER VARCHAR(200) INTE
15、GER NUMBER(8,3)Managerid name identified_number account password statusINTEGER VARCHAR(20) VARCHAR(20) VARCHAR(20) VARCHAR(20) INTEGERProductPrice id product_id member_price statusINTEGER INTEGER NUMBER(8,3) INTEGERProductTypeRelation id product_id producttype_idINTEGER INTEGER INTEGEROrderStatus id
16、 name descriptionINTEGER VARCHAR(30) VARCHAR(200)ProductStore product_id stock_quantityINTEGER NUMBEROrderLineStatusid name descriptionINTEGER VARCHAR(30) VARCHAR(200)PaymentType id name descriptionINTEGER VARCHAR(30) VARCHAR(200)DeliveryTypeid name descriptionINTEGER VARCHAR(30) VARCHAR(200)LessDea
17、lType id name descriptionINTEGER VARCHAR(30) VARCHAR(200)OrderCheckLog id manager_id order_id action update_dateINTEGER INTEGER INTEGER INTEGER DATEOrderLineCheckLogid manager_id orderline_id action update_dateINTEGER INTEGER INTEGER INTEGER DATE3.43.4 软件体系结构设计软件体系结构设计3.4.13.4.1 架构模式介绍架构模式介绍本系统以 tom
18、cat 为容器,用 eclipse 为开发的平台,采用了 struts 技术,用 jsp 进行编码,来实现了一个在线购物系统的功能。本系统采用 MVC 架构:3.4.23.4.2 架构设计介绍架构设计介绍考虑到系统复杂性和可维护性,可扩展性,可移植性,我们采用 J2EE 多层应用体系6结构,在各层之间提供接口实现调用,共分四层:1.Business 事物层该层主要是对象层,相当于 object 层,针对系统中每个对象建立一个对象类,如会员,商品,订单,订单行等等,并为对象的每个属性设置 set 和 get 方法。2.Action 层该层主要是动作设置层,负责接收服务请求和返回响应信息。Acti
19、on 对象可以处理请求并响应客户端(通常是一个 web browser),或者指出流程应该被指向另一个地方。例如,如果登录成功,一个 login Action 可能希望把流程转移到主菜单。3.Controller 控制层该层主要是控制层,其实严格意义上,该层应该分成 Contain 层、Controller 层、Persistence 层等等,即容器层、控制层和数据持久化层。本系统没有对此进行展开,集中在一层内完成。从 Action 层中接收参数,对数据进行处理。所有对象的处理方法,数据存取等全部在这一层实现。以会员登录为例:在这一层实现,会员的数据字符串校验,数据正确性校验等等 4.Util
20、s 工具层该层主要是工具层,数据库连接池,字符串处理,中文编码处理等等系统中与商务逻辑无关的对象处理工具四、软件测试分析报告四、软件测试分析报告4.14.1 测试范围与主要内容测试范围与主要内容测试范围主要内容简要说明系统登陆验证验证用户身份,进行权限控制功能性测试信息检索功能测试测试数据库检索代码的健壮性功能性测试商品销售管理功能测试测试系统实用性、方便性功能性测试数据完整性测试测试登记失败时的数据完整性控制功能性测试核心代码复检检验核心代码的质量逻辑检错性测试4.24.2 测试方法测试方法功能性测试:黑盒测试 逻辑检错性测试:白盒测试4.34.3 测试报告测试报告测试项目测试目的测试数据测
21、试结果改进意见修改状态商品检索信息检索功能的准确性和健壮性SQL 语法错误暂无尚未修正登陆验证系统安全和权限控制用户名:coolcs密码:123系统响应正常,权限控制正常-商品销售入帐操作的完整性-数据类型控制出错,事务处理成功增强对用户输入数据的控制尚未修正核心代码复检验核心代码的质-编码风格良好,内-7检量与效率部注释不足。五、软件使用说明书五、软件使用说明书5.15.1 使用图解。使用图解。目前只实现了顾客浏览产品,加入到购物车,最后下订单,实现这一流程部分的功能。管目前只实现了顾客浏览产品,加入到购物车,最后下订单,实现这一流程部分的功能。管理模块暂未实现理模块暂未实现5.1.15.1
22、.1 会员模块会员模块用户的注册,登陆设计用户的注册,登陆设计用户的登陆界面如下:用户如果不是以注册用户,那么就可以进行注册,如下图用户还可以进行会员信息的修改,如下图:85.1.25.1.2 产品模块产品模块产品的搜索和信息清单,如下图:产品的详细信息,如下图:5.1.35.1.3 购物车部分购物车部分当用户选中物品之后,那么他的购买信息就在购物车中可以看到,如图:95.1.45.1.4 订单部分订单部分在订单部分中,我们要让顾客填写他的个人信息,这主要是为了送货,邮寄的目的。同时,还要让用户选择送货的方式,付款的方式和缺货情况下,如何进行处理。如下图:当用户填写完提交后,会有订单的信息显示
23、,让用户进一步确认,如图:10用户可以查看自己的订单列表信息如下:点击“详细” ,用户可以查看自己的订单详细信息,如下:11设计总结设计总结:通过这次课程设计,结合软件工程原理,让我们真正明白了一个以前听起来觉得很难理解的道理:一个好的程序是先写好设计文档再进行编程的。在设计文档的指导下,才能写出安全的代码。如果你不写文档,一开始就写程序,这样你就不会按已设计好的路线走,而是想到哪写到哪。小功能还好说,要是大功能,你想想等你写下一个时,回过头来看原来写的,你早就不知所云了,那时你就觉得好像在云里雾里乱走,修改的代码也就更不安全了。随着日益增长的软件需求和软件系统功能的增强,过去一个人开发的历史
24、已不复存在。现在单枪匹马写程序也只是一种娱乐。我们一般开发的系统都是一个小组才能完成的。所以管理才是开发出好的软件的前提条件,没有管理一定出不来好的软件,当然有管理也不一定出软件的。一个成功的软件不一定是最好的技术,但在它背后一定有一个好的管理。所以现在的软件开发已不像从前把技术放在第一,而是该把管理放在第一位。在设计过程中遇到了种种问题,有成功也有失败,但更多的是一种团队精神,这种团队精神一定会。在全体组员们的共同努力下,我们克服了一个又一个的困难,最后按时的完成了设计任务。附件附件 1在线购物系统分析设计部分参照图在线购物系统分析设计部分参照图1、Use 案例 Globe ViewCust
25、omer(from Actors)Manager(from Actors)NetStore Management SystemSysAdmin(from Actors)2、Global View of Actors and Use Cases12Member Info Management(from Use Case Name)Member Register(from Use Case Name)ShoppingCart Management(from Use Case Name)Privilege Management(from Use Case Name)Commodity Managem
26、ent(from Use Case Name)Order Management(from Use Case Name)Manager(from Actors)Customer(from Actors)Purchase Order(from Use Case Name)SysAdmin(from Actors)Log Management(from Use Case Name)3、会员购物实例的事件流程流程图一: Customer: Manager 1: Add to ShoppingCart 2: (Register)Sign In3: Fill Order Table4: Check Order4、会员购物实例的事件流程流程图二: Customer: Manager 1: (Register)Sign In 2: Add to ShoppingCart3: Fill Order Table 4: Check Order