在线CD销售系统的开发及其应用_第1页
在线CD销售系统的开发及其应用_第2页
在线CD销售系统的开发及其应用_第3页
在线CD销售系统的开发及其应用_第4页
在线CD销售系统的开发及其应用_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

在线CD销售系统的开发及其应用

4.1.3.2业务处理模块

本模块包含了在线cd销售系统的主要业务工作,相当于一个实体店中的核心营业员。以下用一个营业员所要做的工作来形象的表示系统改模块实现的功能。

(1)cd管理

cd管理包括的主要工作可以笼统的分为对cd的工作和对分类的工作。对于cd的工作可以分为现有cd的盘点、登记和分类管理,新到cd的登记和分类管理。而针对分类的管理工作,主要是对分类信息的维护工作,如准时添加新的分类或者准时删除过时信息。

(2)订单管理

在线cd销售系统对于订单的管理与传统实体店营业员的工作略有不同。一般的cd店营业员只需要处理用户交给他的订单,也就是在线cd销售系统中已经提交胜利的订单。但事实上,在用户提交订单前,会有更多的选择作为被选的选项,把握了这些cd的清单,会关心我们进一步了解该用户的购买动向及爱好所在,从而实施更有针对性也更为有效的营销策略。很简洁,假如我们能够为用户供应更多备选cd的信息,或许就可以促成购买行为的完成。同样的,假如能为用户推举更多他们所感爱好的cd,那么更多的交易行为就有可能发生。所以把握用户购物车里的备选清单,对于下一步的销售有着特别重大的影响。

而在用户购买动向和爱好所在的收集方面,即使是有着多年销售阅历的销售人员也很难在短时间内精确     推断。传统销售中的这一弱点,在线销售系统可以很好的弥补。通常被用户放入购物车的cd一般都是他们所感爱好的,购买的可能也就大许多,所以只要我们准时查看用户购物车资料,就可以了解到每个用户的购买习惯和动向。

总而言之,在线销售系统在订单的管理中包含了已提交订单和购物车订单的管理。

(3)用户管理

针对会员的管理,在线cd销售系统与传统实体店基本相同。对比实体店购买过程,首先要求会员申请会员资格,相当于用户网上的注册。随后进行购物时要出示会员资格证明,即网上的用户登陆行为。购买行为发生时,销售人员要登记该会员的编号和所购买的cd,以便随时更新该会员的,就是在线销售系统的用户管理行为。

(4)销售统计

销售统计对于店主准时把握销售状况有着重大的意义。由于功能强大的sqlserver数据库的使用,在线cd销售系统在销售统计功能方面有着传统实体店无法想象的便捷和高效。从数据库记录中,系统管理用户可以任意查看各日、各周、各季度的销售记录,同时还可以分类查询,获得不同唱片公司、不同歌手、不同风格cd的销售状况。

4.1.3.3数据库模块

本模块主要进行数据的录入、更新、检索等工作,相当于传统实体店里仔细负责而又分毫不差的库存管理员。

运用面对对象思想中类的概念,系统结构设计图如图4-4所示。

4.2数据结构设计

4.2.1数据库需求分析

对比传统实体店,并结合在线购物的特点,综合系统功能分析,本系统的需求信息主要有:用户分一般用户和管理员用户。订单分单张具体订单和总订单。每一张cd都从属于一种类型。一个用户可以购买多张cd。一个用户对应一张订单列表信息。一个列表对应多张订单信息。

经过系统数据库的功能分析和需求总结,将数据项和数据结构做如下设计:

(1)管理员信息,包括数据项:用户名、密码

(2)一般用户,包括数据项:用户id、用户名、密码

(3)cd,包括数据项:cd编号、cd名称、分类编号等

(4)cd分类,包括数据项:分类编号、分类名

(5)订单列表,包括数据项:订单编号、cd编号、购买数量

(6)订单,包括数据项:订单编号、用户编号、下单时间等

.shape\*mergeformat

4.2.2数据库概念结构设计

依据数据项和数据结构的分析,在数据库概念结构设计部分可以设计出满意用户需求的各种实体以及实体之间的关系,为规律结构设计打下基础。实体包含各种详细信息,通过相互之间的作用形成层数据流淌。

本系统数据库中包含的实体有:管理员信息实体、一般用户实体、cd实体、cd分类实体、订单实体、订单列表实体。

实体之间关系的e-r图如图4-5所示。

管理员信息实体e-r图如图4-6所示。

一般用户信息实体e-r图如图4-7所示。

cd实体e-r图如图4-8所示。

cd分类实体e-r图如图4-9所示。

订单实体e-r图如图4-10所示。

订单列表实体e-r图如图4-11所示。

shape\*mergeformat

shape\*mergeformat

shape\*mergeformat

shape\*mergeformat

4.2.3数据库规律结构设计

数据库概念结构设计完毕后,可以将数据库概念结构转化为sqlserver数据库系统所支持的实际数据模型,就构成了数据库的规律结构。

在线cd销售系统数据库中各个表的设计结果如表4-1到表4-6所示。

(1)每个表格表示数据库中的一个表,订单信息列表allorders如表4-1所示,记录每个用户的订单总信息。

表4-seq表格\*arabic1订单信息列表allorders

field

type

null

key

default

extra

ment

id

int

null

pri

null

identity(1,1)

主键,递增

order

int

null

订单号

cdno

int

null

cd编号

amount

int

null

yes

null

订货数量

(2)cd信息列表cdname如表4-2所示,记录商店现有的cd信息。

表4-2cd信息列表cdname

field

type

null

key

default

extra

ment

id

int

pri

(null)

identity(1,1)

主键,递增

cdname

varchar(10)

cd名称

cdclass

int

cd分类名称

singer

varchar(25)

yes

(null)

歌手名

publish

varchar(150)

yes

(null)

发行唱片公司

cdno

varchar(30)

yes

(null)

cd发行编号

musiclist

varchar(30)

yes

(null)

歌曲列表

price

float

yes

(null)

原价

amount

int

yes

(null)

总数量

leav_no

int

yes

(null)

剩余数量

regtime

datetime

登记时间

picture

varchar(200)

yes

(null)

cd封面

(3)商店管理员信息表cdadmin如表4-3所示,记录管理员的帐号密码。

表4-3管理员信息表cdadmin

field

type

null

key

default

extra

ment

adminuser

varchar(20)

yes

(null)

用户名

adminpass

varchar(50)

yes

(null)

密码

(4)商店cd类别列表cdclass如表4-4所示,记录商店现有的cd分类。

表4-4商店cd类别列表cdclass

field

type

null

key

default

extra

ment

id

int

pri

(null)

identity(1,1)

分类编号

classname

varchar(30)

(null)

分类名称

(5)订单具体表orders如表4-5所示,记录单张订单的详细信息。

表4-5订单具体表orders

field

type

null

key

default

extra

ment

id

int

pri

(null)

identity(1,1)

主键,递增

orderid

varchar(20)

订单编号

userid

int

用户编号

submittime

datetime

订单提交时间

consignmenttime

datetime

yes

(null)

交货时间

totalprice

float

yes

(null)

总金额

content

text

yes

(null)

备注

ipaddress

varchar(20)

yes

(null)

用户ip

ispayoff

int

yes

(null)

是否已付款

issales

int

yes

(null)

是否发货

(6)用户信息表shop_user如表4-6所示,记录商店的全部用户的具体信息。

4.2.4数据流图

依据“自顶向下、逐层分解”的思想,使用分解和抽象两种手段来掌握系统的简单度。依据前述分析,得出系统顶层数据流图如图4-12所示。

登陆功能数据流图如图4-13所示。

查询功能数据流图如图4-14所示。

购买功能数据流图如图4-15所示。

表4-6用户信息表shop_user

field

type

null

key

default

extra

ment

id

int

pri

(null)

identity(1,1)

主键,递增

username

varchar(20)

用户名

password

varchar(50)

密码

names

varchar(20)

yes

(null)

真实姓名

sex

char(2)

yes

(null)

性别

address

varchar(450)

yes

(null)

地址

phone

varchar(25)

yes

(null)

联系电话

post

varchar(8)

yes

(null)

邮编

email

varchar(50)

yes

(null)

e-mail地址

regtime

datetime

yes

(null)

注册时间

regipadress

varchar(20)

yes

(null)

注册ip

shape\*mergeformat

shape\*mergeformat

shape\*mergeformat

shape\*mergeformat

4.3界面设计

为了提高代码的重用性,在线cd销售系统的界面采纳框架形式,即页面头尾部分只需要设计一次。之后的jsp文件,其中只需写上以下两句代码,就可以观察页面头尾效果。

%@includefile=”inc/head.inc”

%@includefile=”inc/tail.inc”

4.3.1用户图形界面的设计

(1)用户登陆模块设计

为了验证用户是否合法,系统需要用户供应用户名和密码来进行验证,这一功能由用户登陆模块完成。本模块需要运用login.java这个bean,来设计一个表单让用户输入用户名和密码。在本模块中,对于用户输入的用户名和密码,系统在发觉错误时,应准时做出错误报告。

用户登陆模块的预览效果如图4-16所示。

(2)在线购买功能模块设计

针对用户界面,由于“cd列表”和用户导航条等部分是只有用户界面可以看到的,所以将这两部分设计成一个新的框架形式,提高复用性。在本模块中用户可以扫瞄现有cd、用不同的方法查找cd(分类查询、关键字查询)、查看cd具体资料、把cd放入购物车、转到其他模块等。

在线购买功能模块运行截图如图4-17所示。

图4-16用户登陆模块的预览效果

图4-17在线购买功能模块运行截图

(3)我的购物车功能模块设计

在本模块中,用户可以修改购买数量、删除已经选购的cd、提交购物车(在提交时可以简洁附言说明)、清空购物车、连续购买或查询cd、转到其他模块等。

我的购物车功能模块运行效果图如图4-18所示。

图4-18我的购物车功能模块运行效果

(4)订单信息功能模块设计

本模块中用户可以观察自己已经提交的全部订单,可以查看订单的具体状况。确认订单时,系统采纳弹出窗口的形式显示相信信息,在弹出窗口中可以进行付款。

订单信息功能模块的运行效果图如图4-19所示。

图4-19订单信息功能模块的运行效果图

(5)销量统计功能模块设计

这个模块可以显示销量排名在前100的cd名称和数量。销量统计模块首先生成销量统计管理类op_sale_statistics的实例对象,然后调用该对象的getsalenumorder()方法,从数据库取出销量前100名的cd的名称和销售数量并显示在页面上。销量统计功能模块的运行效果图如图4-20所示。

4.3.2管理员图形界面的设计(1)管理员登陆功能模块设计

为了验证管理员的身份,系统需要进行用户名和密码的验证,与用户图形界面的设计类似,本模块也需要运用login.java这个bean,设计一个表单让管理员输入用户名和密码。

(2)现有cd管理功能模块设计

在这个模块里,管理员拥有对现有cd的具体资料进行查看、修改cd名称、删除cd

等权限。

图4-20销量统计功能模块的运行效果图

(3)添加新cd功能模块设计

在这个模块中,要添加一段javascript代码,对表单数据的合法性进行验证。

scriptlanguage="javascript"

functioncheckform(){

if(document.form1.cdname.value==""){

document.form1.cdname.focus();

alert("cd名为空!");

returnfalse;

}

if(document.form1.singer.value==""){

alert("歌手名为空!");

document.form1.singer.focus();

returnfalse;

}

returntrue;

}

/script

(4)添加新cd分类功能模块设计

这个模块列出了商店现有cd分类,管理员可以删除现有分类,也可以添加新的分类。但在删除操作之前,通过在连接的onclick大事里调用confirm方法,提示用户是否真的要删除选中的信息,削减误操作。

(5)订单管理功能模块设计

管理员可以查看下订单用户的具体资料、查看订单的具体状况并且可以删除订单。

订单管理模块中首先生成op_buy类的对象,然后调用该对象的ger()order方法,取得当前商店的全部订单,分页显示在页面上,下单用户名供应链接,当管理员在用户名列单击某个用户名时,能够弹出新的页面显示该用户的具体资料。然后为每个订单供应查看订单具体状况和删除订单的链接,当管理员单击“具体状况”链接时能够弹出新的窗口显示订单信息。当管理员单击“删除”链接时弹出提示,提示管理员是否确认删除当前订单,假如管理员选择“是”,则从数据库删除该订单,假如选择“否”,则退回具体订单状况页面。

(6)用户管理功能模块

管理员通过这个模块对用户进行管理,其中包括:查看用户资料、修改用户资料、删除已存在用户等。

4.4本章小结

本章主要对系统的具体设计过程进行阐述。具体设计是在总体设计基础上进一步细化、详细化、物理化,主要内容有:模块设计是根据功能独立、规模适当的模块化设计方法,对总体设计中各大模块进一步分细,成为各功能小模块,并绘出它们之间的联系及各模块内容及功能,它们的算法及流程;数据分级分类及编码设计;数据库设计。具体设计阶段最重要的目标就是编写出可读性好、简单理解、简单测试、简单修改的程序,对系统实现具有重大意义。

第5章系统实现

5.1组件的编写

基于系统功能分析,首先利用jbuilder新建一个工程,在这个工程里新建议个包cdshop,然后在这个包下新建三个包cd、util和run。系统包图如图5-1所示。

shape\*mergeformat

5.1.1util包

如图4-12所示,util包里包含2个类,作用分别为:

(1)database类:主要负责数据库的连接。

(2)dataformat类:负责数据的格式转换,如将字符串格式化成html代码输出等。

5.1.2cd包

这个包中共有6个类,其作用为:

(1)allorder类:订单列表类。

(2)cd类:cd类,时cd实体的抽象。

(3)cdclass类:cd分类类,是cd分类实体的抽象。

(4)order类:订单类,是订单实体的抽象。

(5)shopcar类:购物车类,是购物车实体的抽象。

(6)user类:用户类,是用户实体的的抽象。

5.1.3run包

在系统run包下,共包含了6个类,分别是:

(1)login类:管理用户登陆类。

(2)op_cd类:管理cd类,包括cd的查询、修改、删除、添加等。

(3)op_cdclass类:管理cd分类类,包括cd分类的查询、删除和添加。

(4)op_buy类:管理订单类,包括订单的查询、添加、修改和删除。

(5)op_user类:管理用户类,包括用户的查询、添加、删除和修改等。

(6)op_sale_statistics类:管理cd的销售统计。

5.2部分源代码摘录及分析

5.2.1数据库连接问题和实现

首先安装sqlserver数据库软件时,在选择时,选择混合验证模式,在学习的时候可以设置用户名sa,密码为空;利用jdbc驱动程序连接数据库肯定要设置好驱动程序,使用数据源名称时,首先要在掌握面板配置好数据源。

本系统采纳通过jdbc驱动连接数据库的方式链接数据库。需要在微软的官方网站下载microsoftsqlserverdriverforjdbc驱动程序在本地机器上进行安装。

publicbooleanconnect(){

try{

class.forname(“.microsoft.jdbc.sqlserver.sqlserverdriver”)

newinstance();

//注册驱动程序

stringurl=”jdbc:microsoft:sqlserver://localhost:1433;databasename

=cdstore”;

//连接字符串,cdstore为数据库名称

stringuser=”sa”;//数据库用户名称

stringpassword=””;//数据库密码,这里设为空

conn=drivermanager.getconnection(url,user,password);//获得连接

……

5.2.2jsp的大小写敏感

jsp程序是区分大小写的,在编写jsp程序时肯定留意不要将大小写混淆,例如:

stringacd;与stringacd;

他们代表两个不同的字符串形变量。用过其他编程语言的人最简单犯这个错误。

另外,在扫瞄器的地址栏中输入的,访问jsp页面的地址也是区分大小写的。

5.2.3管理用户登陆bean的编写

为了验证用户的合法性,系统需要用户输入用户名和密码,管理用户的登陆由javabean:login.java来完成。login类类图如图5-2所示。

shape\*mergeformat

第四章中的图4-13中省略了部分方法,下面简洁介绍getsql()方法。

这个方法的功能是依据用户的不同获得不同的查询sql语句,返回的是字符串型的sql语句。其设计思路见图5-3所示。

shape\*mergeformat

5.3本章小结

通过本章的系统实现,最组件的的编写介绍,可以概要的说明系统的实现的前提条件和一些方法。

第6章系统运行评估

在线cd销售系统开发完毕到投入使用之前,需要进行一系列系统集成和确认测试。软件测试的根本目的应当是找出软件中存在的漏洞和问题,而开发人员往往不简单找出自己的程序中存在的漏洞和问题,所以从理论上讲,系统的测试工作应当由专业测试人员进行。但鉴于本系统为个人毕业设计作品,所以临时由本人进行测试。

6.1软件测试概述

软件测试是软件开发过程的重要组成部分,是用来确认一个程序的品质或性能是否符合开发之前所提出的一些要求。软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码的最终复审,是软件质量保证的关键步骤。软件测试是为了发觉错误而执行程序的过程。软件测试在软件生存期中横跨两个阶段:通常在编写出每一个模块之后就对它做必要的测试(称为单元测试)。编码和单元测试属于软件生存期中的同一个阶段。在结束这个阶段后对软件系统还要进行各种综合测试,这是软件生存期的另一个独立阶段,即测试阶段。

6.1.1软件测试的目的

软件测试的目的,第一是确认软件的质量,其一方面是确认软件做了你所期望的事情(dotherightthing),另一方面是确认软件以正确的方式来做了这个大事(doitright)。

其次是供应信息,比如供应给开发人员或程序经理的反馈信息,为风险评估所预备的信息。

第三软件测试不仅是在测试软件产品的本身,而且还包括软件开发的过程。假如一个软件产品开发完成之后发觉了许多问题,这说明此软件开发过程很可能是有缺陷的。因此软件测试的第三个目的是保证整个软件开发过程是高质量的。

6.1.2软件测试的原则

软件测试从不同的角度动身会派生出两种不同的测试原则,从用户的角度动身,就是盼望通过软件测试能充分暴露软件中存在的问题和缺陷,从而考虑是否可以接受该产品,从开发者的角度动身,就是盼望测试能表明软件产品不存在错误,已经正确地实现了用户的需求,确立人们对软件质量的信念。

为了达到上述的原则,那么需要留意以下几点:

(1)应当把“尽早和不断的测试”作为开发者的座右铭。

(2)程序员应当避开检查自己的程序,测试工作应当由独立的专业的软件测试机构来完。

(3)设计测试用例时应当考虑到合法的输入和不合法的输入以及各种边界条件,特别状况要制造极端状态和意外状态,比如网络特别中断、电源断电等状况。

(4)肯定要留意测试中的错误集中发生现象,这和程序员的编程水平和习惯有很大的关系。

(5)对测试错误结果肯定要有一个确认的过程,一般有a测试出来的错误,肯定要有一个b来确认,严峻的错误可以召开评审会进行争论和分析。

(6)制定严格的测试方案,并把测试时间支配的尽量宽松,不要盼望在极短的时间内完成一个高水平的测试。

(7)回归测试的关联性肯定要引起充分的留意,修改一个错误而引起更多的错误消失的现象并不少见。

(8)妥当保存一切测试过程文档,意义是不言而喻的,测试的重现性往往要靠测试文档。

6.2系统测试

6.2.1系统入口测试要点

测试要点:用户名、密码和验证码。

测试路径:用户名、密码验证码是否为真。

测试结果:为真,进入系统;为假,提示重新输入用户信息。

适用范围:管理员登录、用户登录等。

6.2.2数据录入测试要点

测试要点:数据录入类型。

测试路径:录入类型是否正确。

测试结果:录入类型正确能写入数据库增加新记录;否则提示重新输入。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论