校园超市购物系统doc.docx

上传人:b****5 文档编号:12016314 上传时间:2023-04-16 格式:DOCX 页数:37 大小:1.37MB
下载 相关 举报
校园超市购物系统doc.docx_第1页
第1页 / 共37页
校园超市购物系统doc.docx_第2页
第2页 / 共37页
校园超市购物系统doc.docx_第3页
第3页 / 共37页
校园超市购物系统doc.docx_第4页
第4页 / 共37页
校园超市购物系统doc.docx_第5页
第5页 / 共37页
点击查看更多>>
下载资源
资源描述

校园超市购物系统doc.docx

《校园超市购物系统doc.docx》由会员分享,可在线阅读,更多相关《校园超市购物系统doc.docx(37页珍藏版)》请在冰豆网上搜索。

校园超市购物系统doc.docx

校园超市购物系统doc

学号:

课程设计

 

题目

校园超市购物系统

教学院

计算机学院

专业

计算机科学与技术

班级

(1)

姓名

指导教师

 

2011

9

28

 

课程设计任务书

2011~2012学年第1学期

学生姓名:

专业班级:

08计算机科学与技术

(1)班

指导教师:

工作部门:

计算机学院

一、课程设计题目校园超市购物系统

二、课程设计内容(含技术指标)

本系统采用CS模式,分为客户端与服务器端,系统要求实现的功能如下:

客户端:

1.商品购买:

用户能够浏览所有商品,以及购买。

2.购买历史:

用户查看自己的购买的历史。

3.用户留言:

在接受到商品后,可以给商品卖家留言,并可以查看其他用户的留言。

4.个人资料:

能够填写个人的信息,并修改。

5.商品状态:

在商品订单提交后,能够查看商品是否发货。

服务器端:

1.订单管理:

查看用户所提交的订单,并修改其状态,如是否发货,是否付款。

2.商品管理:

添加,删除商品。

3.销售分析:

查看销售商品的利润。

4.留言管理:

查看用户的留言,并回复留言。

三、进度安排

1.初步完成系统的总体设计,搭好框架。

2.完成最低要求:

客户端的商品购买、商品状态模块要实现;服务器端的订单管理和商品管理模块要实现。

3.进一步要求:

将所有的功能模块实现,有兴趣的同学可以进一步改进客户端的界面效果。

四、基本要求

1.界面友好,功能模块要划分好。

2.程序要加必要的注释。

3.要提供程序测试方案和数据。

 

1概述

1.1课题简介

计算机信息化现已深入到我们的日常生活中的方方面面,各行各业的人都在使用计算机完成许许多多复杂的工作。

而网络有着信息传送速度快、信息覆盖面广、成本低的特点。

通过网络,您可以随时访问世界各地的购物网,选购您喜欢的物品,并由相关负责人员亲自送到您的手上,让您轻轻松松购物。

以低投入地进行广告宣传活动,既可以提高公司的社会知名度,又可以提高企业的发展效率。

“校园超市网”它是网上商务活动的产物,代表了未来零售业的走向。

学生可以以网络这个媒体,足不出户就可以搜索、查询到自己需要的信息、购买自己需要的食品,衣服,首饰,礼品,而销售商也不必为了烦恼商品没有地方摆放,节省了昂贵的门面费。

1.2设计目的

开发此网上超市购物系统,使超市管理员能够很方便的查询自己的商品销售情况、存货情况,也能够很方便的对商品的种类,价格进行添加,删除,修改,以促使营业额上升,提高工作效率,降低以往需要人工对其进行一一的更改,节省了成本。

该软件的设计目标尽量达到人力与设备的节省,并处理数据的速度高。

该系统面向各大商品店,超市,以及广大学生消费者,实现对商品进行有序交易,并使消费者轻轻松松就可以买到自己所需物品。

2总体方案设计

2.1系统需求分析

2.1.1系统的初步调查

在初步调查后得到管理小型超市的信息:

用户通过网上商城的前台浏览商场中的物品,商场中的物品按类分放,每类商品有一个编号,用户可以直接输入所需的商品名称,查到物品,以及所在位置并显示出来,然后将需要的商品放入购物车生成订单交付给后台处理,后台再按自己最快的方式发送货物。

在录入商品的信息的时候,首先对后台维护人员做适当的培训。

提高他们的优级服务的思想,让他们在发布信息的时候坚持把用户放在第一位的原则,录入的信息要求准确描述商品的信息,比如图书,录入的时候要求不仅要有书的简介还要有书的评价,在前台的页面中提供个用户写书评的地方,这样让用户了解书的价值。

用户在选择的时候就更加容易一些,而商场的提供的信息方式也会让用户满意,这样企业获得的利润也是可想而知的。

2.1.2可行性分析

并非任何问题都有简单明显的解决方法,事实上,许多问题不可能在预定的系统规模或时间期限之内解决。

如果问题没有可行的解,那么话费在这项工程上的任何时间、人力、软硬件资源和经费,都是无谓的浪费。

可行性研究的目的是用最小的代价在尽可能短的时问内确定问题是否能够解决。

也就是说可行性研究的目的不是解决问题,而是确定问题是否值得去解决,研究在当前的具体条件下,开发新系统是否具备必要的资源和其它条件。

一般说来,应从经济可行性、技术可行性、运行可行性等方面分析系统可行性。

2.1.2.1技术可行性

技术可行性要考虑现有的技术条件是否能够顺利完成开发工作,软硬件配置是否满足开发的需求等。

网上超市购物系统所选用的开发环境VS2008的界面灵活而友好,用户可以迅速的建立数据库;它支持客户机/服务器(C/S)结构,能与其它软件实现数据共享和数据交换;它具有面向对象编程的能力,它既支持交互环境,又支持编程环境,且具有向下兼容性,对数据的完整性和一致性进行控制,以保证只对有效的数据进行处理。

它提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。

系统调试相对简单,当前的计算机硬件配置也完全能满足开发的需求,软件方面:

由于目前单机模式相对发展成熟,故软件的开发平台成熟可行。

因此系统在技术上是绝对可行的。

2.1.2.2经济可行性

主要从对项目的经济上进行分析评价,一方面是支出的费用,包括设备购置费、管理和维护费用、人员工资和培训费等,另一个是取得的收益。

这是个小型的管理系统,从投入的人力,财力与物力来讲是非常之小的,从节省人力方面,可以让管理人员从繁与复杂的工作中解脱出来,做更多的工作,可以将管理提高一个层次。

所以在经济上是可行的。

2.1.2.3运行可行性

随着科学技术的进步和社会经济的发展,计算机在现实生活、工作中扮演越来越重要的角色,PC机价格不断的下降,在大学校园里,越来越多的计算机已经进入同学们的宿舍,成为他们学习,生活中的一部分。

由上可知,开发网上超市购物系统在学校中具有可行性。

2.1.3系统具体功能

2.1.3.1设计要求

系统开发的总体任务是实现网上购物的系统化、规范化和自动化。

设计要求分析显示在系统开发的总体任务的基础上完成的。

本文中的网上超市购物系统的设计要求主要有:

有关商品信息的输入,包括物品的名称、类别、价格、供应商等。

商品信息的查询、修改、删除。

购物车的信息的输入,包括商品的名称、数量、价格等。

订单的管理,包括订单信息的输入,查询,修改订单状态,和删除操作。

建议信息的管理,包括建议人、建议内容等。

销售分析,简单的分析商品的销售情况。

2.1.3.2功能分析的任务

弄清用户对目标系统数据处理功能所提出的需求,根据系统目标和数据需求,本系统的功能需求可以归纳为以下几个方面。

1.密码设置

每个操作员均有自己的密码,可以防止非本系统人员进入本系统;又因每个

人的权限不一致,故可以防止越权操作。

2.初始化

将计算机中保留的上一次操作后的结果清除。

以备重新查询、更新、统计、

输出等功能。

3.数据录入:

实现商品信息的录入。

4.商品查询:

可以实现根据商品的各种信息查询商品。

5.销售分析:

可以实现商品销售利润的计算。

6.信息显示:

可以实现以二维表显示商品信息。

7.信息删除:

可以实现商品数据、订单数据、留言数据的清空操作。

2.1.4系统设计思想

因为该系统涉及到学生成绩的真实性,所以该系统要具有一定的保密性和权限控制,首先应设计一个用户的登陆窗口界面,要求只能由特定的人员对该系统进行操作。

系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未参与开发的技术维护人员进行补充、维护。

此外还应设计登陆后系统的主窗口,要求能够显示商品的基本信息,可以实现数据的录入、更新、删除、查询、统计等功能。

窗口界面要多用按钮和快捷键,少用菜单,窗口的控件布局要合理、美观。

要充分的利用VS2008提供的强大的功能,多用窗口和控件,充分体现窗口的多元化格局。

尽量使用现有的软硬件环境,在原有的管理系统的基础上,采用先进的管理系统开发方案,从而达到充分利用现有资源,提高系统开发水平和应用效果的目的。

系统要符合商品信息管理的规定,满足对网上购物的需要,并达到操作过程中的直观、方便、实用、安全等的要求。

2.2系统逻辑方案

2.2.1数据流图

数据流图(DataFlowDiagram,简称DFD)是一种最常用的结构化分析工具,它从数据传递和加工角度,以图形的方式刻画系统内的数据运动情况。

2.2.2数据字典

1.数据源点

 

2.数据加工

 

 

 

 

 

 

 

 

 

数据加工编号:

P10.1

数据加工名称:

库存查看

加工逻辑描述:

管理员可以通过库存查看对库存进行管理

输入数据:

F24.1库存信息

输出数据:

F23.1库存信息

 

3.数据流

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.3数据库的设计

数据库在一个信息管理系统中占有相当重要的地位,数据库结构设计的好坏将直接对应用系统的效率,以及实现的效果产生影响。

合理的数据库结构设计可以提高数据的存储效率,保证数据的完整和一致。

设计数据库系统时应该首先充分了解用户各个方面的需求,包括现有的及将来可能增加的需求。

数据库设计一般包括如下几个步骤。

1.数据库需求分析。

2.数据库概念结构设计。

3.数据库逻辑结构设计。

2.3.1数据库需求分析

尽量合理地减少数据库数据的冗余,使重复的数据保持在最小限度,这样将不必要的多占用存储空间,减少产生混乱影响的危险,还能提高计算机的运行速度。

作为网上超市购物系统,必须能解决下面的问题:

能录入信息。

所需录入的表有:

1.商品基本信息表

2.购物车表

3.商品类别表

4.留言表

5.订单表

6.用户信息表

创建任何一个数据库的第一步是仔细的规划数据库,设计必须是灵活的、有逻辑的。

创建一个数据库结构的过程被认为是数据模型设计。

(1)标识需要的数据;

(2)收集被标识的字段到表中;

(3)标识主关键字字段;

(4)绘制一个简单的数据图表;

(5)规范数据:

(6)标识指定字段的信息;

(7)创建物理表。

2.3.2数据库概念设计(E-R图)

在需求分析阶段数据库设计人员充分调查并描述了用户的应用需求,但这些应用需求还是现实世界的具体要求,下面,应该首先把他们抽象为信息世界的结构,才能更好的、更准确地用某一个DBMS实现用户的这些要求。

概念结构独立于数据库逻辑结构,也独立于支持数据库的DBMS。

它是现实世界与机器世界的中介,它一方面能够充分反映现实世界,包括实体和实体之间的联系,同时又易于向关系、网状、层次等各种数据模型转换。

它是现实世界的一个真实模型,易于理解,便于和不同属性计算机的用户交换意见,使用户易于参与,当现实世界需求改变时,概念结构又可以很容易的相应调整。

2.3.3数据库逻辑设计

为了能够用某一DBMS实现用户需求,还必须将概念结构进一步转化为相应的数据模型。

设计逻辑结构应该选择最施用于描述与表达相应概念结构的数据模型,然后对支持这种数据模型的各种DBMS进行比较,综合考虑性能、价格等各种因素,从而选出最合适的DBMS。

设计时一般要分三步进行:

(1)将概念经过转化为一般的关系、网状、层次模型;

(2)将转化来的关系、网状、层次模型向特定DBMS支持下的数据模型转换;

(3)对数据模型进行优化。

2.3.3.1逻辑结构设计

逻辑结构设计从分析输入数据着手,输入数据中的某类相关数据可以归纳为一个表,对需要同时调用的若干表,应使它们符合关联要求。

数据库设计好后,可以通过分析输出数据来验证其可用性,若发现有的输出数据不能从输入数据导出,须继续向用户征集数据。

根据输入表单可以归纳出包括几个表的数据库,现将这些列出如下:

(1)商品信息表:

(商品编号,种类编号,商品名称,单价,生产厂家,保质期,成本价,商品详情,数量)

(2)种类表:

(种类编号,种类名称)

(3)购物车表:

(商品编号,用户名,购买数量,购买日期)

(4)留言信息表:

(留言编号,顾客名称,留言内容,留言日期,管理员回复)

(5)用户表:

(用户名,密码,姓名,性别,电话号码,地址)

(6)订单信息表:

(订单编号,商品编号,用户名,购买数量,购买日期,是否发货,是否结账)

以上括号外的符号串是表名,括号内为字段名表,有下划线的字段为关键字,根据系统数据处理的需要,这些表的关联情况如图所示。

2.3.3.2数据库物理结构设计

(1)表的选取

根据该系统的要求以及将来可能和其它学生信息管理系统结合,本系统需要有一个管理学生的基本信息的表;作为成绩管理系统,要有成绩表;需要包括课程的信息表,这就要建立一个课程表;成绩管理系统与考试密切相关,完整的考试数据要包括缺考、缓考、作弊情况的记录,因此需要在选课信息表里需要加入这些字段;由于系统只有指定用户才可以修改使用,因此要设计一个用户登录的管理员信息表。

(2)表的规范化

 

表2-1用户表

数据项

数据类型

长度

主键

备注

UserName

varchar

20

用户名

PassWord

varchar

20

密码

Sex

varchar

2

性别

Tel

varchar

20

电话号码

Address

varchar

50

地址

表2-2商品信息表

数据项

数据类型

长度

主键

备注

GoodsId

int

4

商品编号

GoodsName

varchar

20

商品名称

GKindId

int

4

种类编号

SellPrice

decimal

9,2

单价

Prod_Name

varchar

20

生产厂家

Vali_Date

varchar

10

保质期

CostPrice

decimal

9,2

成本价

Bewrite

text

16

商品详情

Count

Int

数量

表2-3订单表

数据项

数据类型

长度

主键

备注

OrderId

int

4

订单编号

GoodsId

int

4

商品编号

UserName

int

4

顾客名称

BuyCount

int

4

购买数量

BuyDate

date

购买日期

Sent

varchar

2

是否发货

Check

varchar

2

是否结账

表2-4购物车表

数据项

数据类型

长度

主键

备注

GoodsId

int

4

商品编号

UserName

int

4

顾客名称

BuyCount

int

4

购买数量

BuyDate

date

购买日期

表2-5留言信息表

数据项

数据类型

长度

主键

备注

LeaveWordId

int

4

留言编号

UserName

int

4

顾客名称

LWContent

varchar

100

留言内容

LWTime

varchar

20

留言日期

AdminRestore

varchar

50

管理员回复

表2-6种类表

数据项

数据类型

长度

主键

备注

GKindId

int

4

种类编号

GKindName

varchar

20

种类名称

表的规范化是一系列能够应用到数据库结构上的测试,通过这些测试可以消除数据的冗余程度,使数据库结构处于一种优化形式,测试方法有:

对于每一行和列的交叉点,是否仅有一个值;是否所有非主码依赖全部主码;表中是否有依赖其它非主码的非主码。

2.4模块功能设计

模块化就是把程序分为若干个模块,每个模块完成一个功能,把这些模块集中起来组成一个整体,可以完成指定的功能并满足问题的要求。

开发具有独立功能而且和其他模块之间没有相互作用的模块,就可以做到模块独立。

模块的独立程度可以由两个定性的标准来度量,这两个标准分别称为内聚和耦合。

耦合衡量不同模块彼此间相互依赖的紧密程度;内聚衡量一个模块内部各个元素彼此结合的紧密程度。

设计时,应力求提高模块的内聚程度,降低模块间的耦合程度。

网上超市购物系统按此标准可分为服务器和客户端共10个模块。

2.4.1订单信息管理子模块和建议信息管理

我所承担的功能模块为,订单信息管理和建议信息管理。

订单信息管理模块主要是为了解决,当用户购买商品后从客户端将用户信息和商品信息传给服务器端,然后生成订单后,显示给管理员,管理员对其进行管理,能够查看未发货和未付款的订单,在发货或付款后可以进行修改其状态。

建议信息管理模块主要是解决,在用户收到货后,并且管理员确认付款后,客户能够提出各种建议,并传回到服务器端,管理员在查看了留言后可以对其进行回复,供所有客户点击查看,管理员能够对那些恶意的留言进行删除操作。

3详细设计

3.1界面设计

3.1.1订单信息管理界面设计

首先,创建一个Form,用来容纳各种控件显示数据和按钮操作数据的。

然后,创建八个Button,分别是同一用户订单,未发货的订单,未付款的订单,未发货和未付款的订单,已发货和已付款的订单,确认付款,确认发货,返回。

主要是用来实现对订单的查看和对商品状态的修改。

其次,创建两个dataGridView,一个是用来显示所有订单的容器,另一个是用来显示根据条件而显示的订单信息的容器。

最后,设计背景图片,用来使页面更加美观。

3.1.2建议信息管理界面设计

首先,创建两个Form1,Form2,Form1是用来查看所有留言信息,Form2是用来回复。

然后,Form1上创建三个Button,分别用来查看具体留言,刷新,返回。

Form2上创建两个Button,分别是提交,返回。

最后,在Form1上创建dataGridView用来显示所有留言的表,在Form2上建tabcontrol,分别显示留言信息和卖家的回复。

3.2代码的实现

3.2.1订单管理的代码实现

3.2.1.1界面后台必要的函数

用来填充第一个dataGridView的函数

privatevoidfillG1(stringq)

{

DataSetda1;

da1=main.selectsql(q);

dataGridView1.DataSource=da1.Tables[0].DefaultView;

}

用来填充第二个dataGridView的函数

privatevoidfillG2(stringq)

{

DataSetda2;

da2=main.selectsql(q);

dataGridView2.DataSource=da2.Tables[0].DefaultView;

}

在执行每次操作后调用该函数刷新dataGridView

privatevoidshuaxin()

{strings;

s="selectOrdersIdas订单号,GoodsNameas商品名,Orders.UserNameas用户名,BuyCountas购买数量,BuyTimeas购买时间,Sentas是否发货,Payas是否付款,Addressas地址fromUsers,Orders,GoodswhereOrders.GoodsId=Goods.GoodsIdandUsers.UserName=Orders.UserName";

fillG1(s);

s=s0;

fillG2(s);

}

3.2.1.2界面初始加载

privatevoidorder_Load(objectsender,EventArgse)

{strings;

s="selectOrdersIdas订单号,GoodsNameas商名,Orders.UserNameas用户名,BuyCountas购买数量,BuyTimeas购买时间,Sentas是否发货,Payas是否付款,Addressas地址fromUsers,Orders,GoodswhereOrders.GoodsId=Goods.GoodsIdandUsers.UserName=Orders.UserName";

fillG1(s);

}

3.2.1.3Button1(同一用户订单)

privatevoidbutton1_Click(objectsender,EventArgse)//同一用户订单

{Stringq=dataGridView1.CurrentRow.Cells[2].Value.ToString();

Strings="selectOrdersIdas订单号,GoodsNameas商品名,Orders.UserNameas用户名,BuyCountas购买数量,BuyTimeas购买时间,Sentas是否发货,Payas是否付款,Addressas地址fromOrders,Goods,UserswhereUsers.UserName=Orders.UserNameandOrders.GoodsId=Goods.GoodsIdandOrders.UserName='"+q+"'";

s0=s;

fillG2(s);

}

3.2.1.4Button2(未发货的订单)

privatevoidbutton2_Click(objectsender,EventArgse)//未发货的订单

{

Strings="selectOrdersIdas订单号,GoodsNameas商品名,Orders.UserNameas用户名,BuyCountas购买数量,BuyTimeas购买时间,Sentas是否发货,Payas是否付款,Addressas地址fromOrders,Goods,UserswhereOrders.GoodsId=Goods.GoodsIdandSent='否'andUsers.UserName=Orders.UserName";

s0=s;

fillG2(s);

}

3.2.1.5Button3(未付款的订单)

privatevoidbutton3_Click(objectsender,EventArgse)//未付款

{Strings="selectOrdersIdas订单号,GoodsNameas商品名,Orders.UserNameas用户名,BuyCountas购买数量,BuyTimeas购买时间,Sentas是否发货,Payas是否付款,Addressas地址fromOrders,Goods,UserswhereOrders.G

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1