网上购物系统设计报告

2023-03-16

由于报告格式复杂,内容要求简要明确,很多人对写作报告,甚是感到苦恼。非常需要一份正确的报告格式范文。以下是小编精心整理的《网上购物系统设计报告》,仅供参考,大家一起来看看吧。

第一篇:网上购物系统设计报告

网上书店信息系统分析设计报告

网上书店网站实验报告

1、 项目说明

网上书店:顾名思义,网站式的书店。是一种高质量,更快捷,更方便的购书方式。网上书店不仅可用于图书的再线销售,也有音碟、影碟的在线销售。而且网站式的书店对图书的管理更加合理化,信息化。售书的同时还具有书籍类商品管理、购物车、订单管理、会员管理等功能,非常灵活的网站内容和文章管理功能。但网上书店的真实性是消费者的最大顾虑,这也是网上书店还不被大多数消费者所接受的原因之一。

在网上书店买书,可以查到所买图书的更多信息,因为网上书店是一个网站,它有它独特的售书方式和功能。如用户注册会员功能等,会员类型有:高级会员、金牌会员等。有的网上书店有会员积分设置,如达到一定积分时自动成为高级会员,高级会员会有优惠和特别的服务。还有就是支付方式了,一般网上书店都有三种类型的支付方式:汇款类支付、在线支付、其他支付方式,其中在线支付只要到支付平台开户后,将所获开户信息填入即可。当在网上书店购书后,用户所购图书都在网站上有记录,方便用户查询。

2、 需求分析

网上书店和现实书店区别比较:

网上书店的优势:涉及范围广,经营成本低,劣势:信用度如果低,影响

生意;

现实书店的优势:直观,信用度高。劣势:涉及范围有限,经营成本高;

现在有部分现实书店已经开始从网上书店进货了。本系统开发的目的是为 了学习这样去做一个交互式的网页以及了解这种强大的网络编程工具,方 便客户端和浏览器端之间的交流。

数据库采用实用,易学的SQL Sever 2000,以Tomcat作为JSP的WEB服务器,XP作为系统运行平台。

3、 总体设计

(1) 实验目的:

1.利用本次机会来了解JSP一般的技术及使用模式,并能够使用这种技术,建立

一个简单的论坛网站。

2.通过本次学习,使自己巩固所学过的书本理论知识,加深对相关内容的理解。

(2) 实验要求:

要基本了解JSP编程技术,学会使用JSP开发一个小型网站的基本知识,巩固数据库基本理论,并用于开发一个小型的网站。

三技术简介

JavaServer Pages(JSP)是一种实现普通静态HTML和动态HTML混合编码的技术,许多由CGI程序生成的页面大部分仍旧是静态HTML,动态内容只在页面中有限的几个部分出现。但是包括Servlet在内的大多数CGI技术及其变种,总是通过程序生成整个页面。JSP使得我们可以分别创建这两个部分。 (3)系统设计特点:

网上书店具有:

(1)提供了全面,详细的图书购物入口,轻松实现快捷购买。

(2)可以通过不同分类进行导航,用最方便,最快捷的方式找到你需要的图书。

(3)提供了图书购物所需的各种工具与网站,满足你的图书购买需求。

(4)公正性很强 (大站.专站.小站)排列顺序分明.公平公正的图书网址TOP排行

4、 数据库设计

本系统使用数据库引擎为HSQLDB。数据库文件SIMS(student information management system)。该系统表: 1 图书基本信息表(book)

2 图书分类基本信息表(bookcat)

3 客户基本信息表(storeuser)

4 订单信息表(orders)

5 订单条目详细信息表(orderdetails)

== 1 =========================================== 字段名 描述

类型

id 图书编号

int catid 图书分类编号 int

name 图书名称

varchar price 图书价格

int saleprice 销售价格

int descript 图书介绍

varchar author 图书作者

varchar contents 图书目录

varchar image 图书封面图片存放路径 varchar

== 2 =========================================== 字段名 描述

类型

id 图书分类编号 int

catname 图书分类名称 varchar

== 3 =========================================== 字段名 描述

类型

username 用户名

varchar password 密码

varchar name 客户姓名

varchar tel 客户电话

varchar

address 客户地址

varchar email 客户电子邮件地址 varchar

== 4 =========================================== 字段名 描述

类型

id 订单编号 int

username 订单对应用户名 varchar time 产生订单的时间 smalldatetime delivery 订单对应送货方式 varchar payment 订单对应付款方式 varchar

== 5 =========================================== 字段名 描述

类型

orderid 订单编号

int bookid 图书编号

int count 订购数量

int price 该条目对应价格 int 建立数据库

1、

2、 数据库连接

package s2jsp.lg.dao.impl; import java.sql.*; public class BaseDao {

public final static String DRIVER = "com.microsoft.jdbc.sqlserver.SQLServerDriver";

// 数据库驱动

public final static String URL

= "jdbc:microsoft:sqlserver://localhost:1433;DataBaseName=bbs";

// url

public final static String DBNAME = "";

// 数据库用户名

public final static String DBPASS = "sa";

// 数据库密码

/**

* 得到数据库连接

* @throws ClassNotFoundException

* @throws SQLException

* @return 数据库连接

*/

public Connection getConn() throws ClassNotFoundException, SQLException{

Class.forName(DRIVER);

//注册驱动

Connection conn = DriverManager.getConnection(URL,DBNAME,DBPASS);

//获得数

据库连接

return conn ;

//返回连接

}

/**

* 释放资源

* @param conn 数据库连接

* @param pstmt PreparedStatement对象

* @param rs 结果集

*/

public void closeAll( Connection conn, PreparedStatement pstmt, ResultSet rs ) {

/* 如果rs不空,关闭rs */

if(rs != null){

try { rs.close();} catch (SQLException e) {e.printStackTrace();}

}

/* 如果pstmt不空,关闭pstmt */

if(pstmt != null){

try { pstmt.close();} catch (SQLException e) {e.printStackTrace();}

}

/* 如果conn不空,关闭conn */

if(conn != null){

try { conn.close();} catch (SQLException e) {e.printStackTrace();}

}

}

/**

* 执行SQL语句,可以进行增、删、改的操作,不能执行查询

* @param sql 预编译的 SQL 语句

* @param param 预编译的 SQL 语句中的‘?’参数的字符串数组

* @return 影响的条数

*/

public int executeSQL(String preparedSql,String[] param) {

Connection

conn = null;

PreparedStatement pstmt = null;

int

num

= 0;

/* 处理SQL,执行SQL */

try {

conn = getConn();

// 得到数据库连接

pstmt = conn.prepareStatement(preparedSql);

// 得到PreparedStatement对象

if( param != null ) {

for( int i = 0; i < param.length; i++ ) {

pstmt.setString(i+1, param[i]);

// 为预编译sql设置参数

}

}

num = pstmt.executeUpdate();

// 执行SQL语句

} catch (ClassNotFoundException e) {

e.printStackTrace();

// 处理ClassNotFoundException异常

} catch (SQLException e) {

e.printStackTrace();

// 处理SQLException异常

} finally {

closeAll(conn,pstmt,null);

// 释放资源

}

return num;

} }

5.详细设计

(1) JSP概述

网上书店系统中把数据库的连接参数写在dbconn.properties文件中,再用一个Java类来生成一个数据库连接对象以供其他程序使用。 网上书店的首页显示的内容最多,但源代码并不长,原因是:一是因为一些多个页面共用的代码被放入另一个文本文件或JSP文件中,在需要的地方包含进来,减少了代码量,提高了代码的可复用程度;二是系统较好地进行了模块化的设计与开发,在JSP页面中很少用到Java代码,所有业务逻辑都用Java类来完成,JSP页面中只是简单的展现数据。JSP是Sun公司在Java和Servlet技术基础上推出的一种新型的服务器端动态脚本技术。它已经逐渐成为架设电子商务网站的主流技术。它的以下特点决定了本系统为什么采用JSP作为Web应用程序的开发工具。 ⒈JSP将内容的生成和显示进行分离 2.JSP程序运行在服务端

3.高性能的编译运行机制 4.继承了Java的跨平台特性 5.可重用组件 6.可扩展标签库 7.强大的数据库支持

( 2 ) 封装的操作;

*/ public class bookTypeOPBean extends dbOpertaion{ public ArrayList bookTypeArray=new ArrayList(); public String bookTypeIdStr=new String(""); /**。

(3)构造函数,将所有书藉类型信息查询出来:

*/

public bookTypeOPBean() { String sqlString="select * from book_type"; ResultSet rs=this.executeQuery(sqlString); try{ int i=0; while(rs.next()){ bookTypeBean bookType=new bookTypeBean(); bookType.setBookTypeId(rs.getInt("type_id")); bookType.setBookTypeName(rs.getString("type_name")); bookTypeArray.add(i,bookType); i++; } } catch (SQLException e) { e.printStackTrace(); bookTypeArray=null; } } /**

(4) 通过书藉分类名称查找类型信息:

*/

public bookTypeBean selectBookTypeByName(String bookTypeName){ if(bookTypeName==null) return null; bookTypeBean bookType=new bookTypeBean(); String sqlString="select * from book_type where type_name= +bookTypeName+"; ResultSet rs=this.executeQuery(sqlString); try{ int i=0; if(rs.next()){ bookType.setBookTypeId(rs.getInt("type_id")); bookType.setBookTypeName(rs.getString("type_name")); } } catch (SQLException e) { e.printStackTrace(); }

return bookType; } /**

(5) 根据属性bookTypeIdStr查找书藉类型信息:

*/ public bookTypeBean selectBookTypeId(){ int bookTypeId=0; if(bookTypeIdStr!=null&&bookTypeIdStr.length()>1) try{ bookTypeId=Integer.parseInt(bookTypeIdStr); }catch (Exception e) { e.printStackTrace(); } if(bookTypeId==0) return null; bookTypeBean bookType=new bookTypeBean(); String sqlString="select * from book_type where type_id="+bookTypeId; ResultSet rs=this.executeQuery(sqlString); try{ if(rs.next()){ bookType.setBookTypeId(rs.getInt("type_id")); bookType.setBookTypeName(rs.getString("type_name")); } } catch (SQLException e) { e.printStackTrace(); }

return bookType; } /**

(6) 更新书藉分类:

* @param bookTypeId:类型ID号

* @param bookTypeName:类型名称

* @return int:返回更新的行数

*/ public int updateBookType(int bookTypeId,String bookTypeName){ if(bookTypeId==0||bookTypeName==null||bookTypeName.length()<=0) return 0; //------构造SQL语句------ String sqlString="update book_type set type_name=+bookTypeName + where type_id="+bookTypeId; //------执行SQL语句------ int i=this.executeUpdate(sqlString); return i; } /**

(7)新增一个书藉类型:

*/ public int insertBookType(String bookTypeName){ int i=0; //------构造SQL语句------ String sqlString="insert into book_type(type_name) values(+bookTypeName+)"; //------执行SQL语句------ i=this.executeUpdate(sqlString); return i; } /**

(8)删除一个书藉类型:

* @param bookTypeId:要删除的类型ID号

* @return int:返回删除的类型个数

*/ public int deleteBookType(int bookTypeId){ int i=0; //------构造SQL语句------ String sqlString="delete book_type where type_id="+bookTypeId;

//------执行SQL语句------ i=this.executeUpdate(sqlString); return i; } public ArrayList getBookTypeArray() { return bookTypeArray; } public void setBookTypeArray(ArrayList bookTypeArray) { this.bookTypeArray = bookTypeArray; } public String getBookTypeIdStr() { return bookTypeIdStr; } public void setBookTypeIdStr(String bookTypeIdStr) { this.bookTypeIdStr = bookTypeIdStr; } } (9)网上书店系统中所有的报错信息都保存在一个“.properties”文件中,文件内容如下:book.bookNameNull=书藉名没有输入!

book.typeIdNull=书藉所属类型没有选择!

book.priceNotFloat=价格不为数字!

book.priceRebateNotFloat=折扣输入不正确!

book.publishDateError=出版日期输入有误!

book.pageCountError=页数不为数字!

addbook.insertError=插入新书时出错!

updatebook.updateError=更新书藉信息时出错!

bookType.bookTypeHaved=书藉类型已存在!

bookType.insertError=插入新的书藉类型时出错!

booktype.updateError=更新书藉类型信息时出错!

user.userNameNull=用户名输入为空!

user.userPasswordNull=用户密码输入为空!

user.passwordNotEqual=两次输入的密码不一致!

user.insertError=插入新的用户时出错!

user.certCodeError=验证码不对!

user.userError=用户名或密码输入有误!

user.sessionError=用户会话已失效!

orderform.newError=生成新的订单时出错!

orderform.saveError=保存订单时出错!

(10):CREATE TABLE members (

member_id

int auto_increment primary key,

member_login

varchar(20) NOT NULL,

member_password

varchar(20) NOT NULL,

member_level

int NOT NULL DEFAULT 1,

first_name

varchar(50) NOT NULL,

last_name

varchar(50) NOT NULL,

email

varchar(50) NOT NULL,

phone

varchar(50) NULL,

address

varchar(50) NULL,

notes

text NULL,

card_type_id

int NULL,

card_number

varchar(50) NULL ); (11):CREATE TABLE items (

item_id

int auto_increment primary key,

category_id

int NOT NULL,

name

varchar(255) NOT NULL,

author

varchar(100) NULL,

price

float NOT NULL,

product_url

varchar(255) NULL,

image_url

varchar(100) NULL,

notes

text NULL,

is_recommended

tinyint NULL DEFAULT 0,

rating

int default 0,

rating_count

int default 0 );

6 用户手册:

(1) 本程序运行环境为JDK1.4.2,可在windows98/windows2000/windows XP下运行。

(2) 为了发布应用程序,我把本JAVA应用程序中涉及到的类文件压缩成一个JAR文件,名为StudentManager.jar,现在只要将StudentManager.jar文件拷贝到任何一个安装了JAVA运行环境(版本应为1.4.0及以上)的计算机上,双击鼠标就可以运行JAVA应用程序了。但如果计算机上安装了中文版的WinRAR解压缩软件并将该JAR文件与压缩软件做了关联,WinRAR解压缩软件会自动运行进行解压缩操作,使的JAVA程序无法运行。因此,创建了一个StudentManager.bat的批处理文件。所以,只要双击这个批处理文件就可以直接运行本程序了,省去了每次运行程序都要运行JDK软件的麻烦。

7.参考书籍

1.java面向对象程序设计 (清华大学出版社) 2. java课程设计 (清华大学出版社)

3. java信息系统设计与开发实例 (机械工业出版社)

8.心得体会:

通过这次课程设计我对JAVA面向对象的编程语言有了深刻的了解,对JAVA语言的简洁性和高效性有了自己进一步的体会,同时对JAVA的一些设计模式也有了一个大致的认识与了解,这门语言对于异常的控制非常有用,写出来的程序有更高的容错能力,系统稳定性也很好。

在整个程序的设计过程中,对软件编程的流程,包括需求分析、概要设计、详细设计等步骤又有了一个新的认识,尤其是需求分析的好坏在整个程序的设计中有着举足轻重的作用。需求分析没有做好,后面的步骤很容易受到负面的影响。

另外,在程序设计过程中,我们加强了团队的合作,了解了团队精神对于程序设计是至关重要的,这将会对我们以后的工作有很大的启发。

八.教师评语

第二篇:购物卡管理系统设计(报告源代码)――C语言.

购物卡管理系统 【题目要求】

设计购物卡管理系统,系统主要模块: (1 实现系统内制卡、发卡功能; (2 实现系统内账户及相关账户管理; (3 实现卡交易和合法性检查; (4 实现卡交易积分功能; (5 实现卡报表功能; (6 数据以文件形式存储。 【提示】

制卡:指申请一张购物卡,但还没有使用。 发卡:该购物卡已经启用。

实现卡交易:指从卡中消费掉一定的金额。

一、 系统需求分析

根据题目要求, 由于数据要以文件形式存储, 所以应提供文件的输入、 输出等操作;在程序中要实现银行卡的各项功能,应提供制卡、发卡、存 款、消费、查询账户相关信息、查询账户交易记录、查询全部信息、退出 程序等一系列操作;另外还应提供键盘式选择菜单实现功能选择。

二、 系统总体设计

分析了整个系统之后,根据上面的系统需求分析,可以将这个系统的 设计分为如下七大模块:制卡、发卡、存款、消费、查询账户相关信息、

查询账户交易记录、查询全部信息。

三、 系统详细设计 1. 主函数设计

主函数的设计比较简介,只包括一个菜单函数,主要实现菜单功能, 提供了菜单输入、模块选择、退出系统等模块的调用。其中各功能模块用 菜单方式选择。

【流程图】 1 N 2

3 【小结】

函数开头有“文件包含”的预处理命令,所谓“文件包含”处理是指 一个源文件可以将另外一个源文件的全部内容包含进来,即将另外的文件 包含到本文件之中。 C 语言提供了 #include命令用来实现“文件包含”的 操作。

在本程序中包含了一下头文件:"string.h" 、 "ctype.h" 、 "stdio.h" ,方便 调用库函数实现某些功能。

在程序设计中,只使用一些基本类型(或称简单类型的变量(如整 型、实型、字符型变量等和构造类型数据——数组,是远远不够的。有 时候需要将不同类型的数据组合成一个有机的整体,以便于引用。这些组 合在一个整体中的数据是相互联系的。

在这个程序中,定义了一个结构体数组来存放购物卡用户的各种信 息,包括账户卡号、户主姓名、账户余额、账户状态、账户积分,结构体 如下:

struct user { int num;/*账户号码 */ char name[20];/*户主名称 */ float surplus;/*账户余额 */ char state[2];/*账户状态, y :已启用, n :未启用 */ int point;/*账户积分 */ }u[100]; 同时在各分函数中,定义了 int 、 float 、 char 等一系列变量类型,用来 实现函数功能。

在主函数前面,要加上对各功能函数的声明,声明的作用是把函数的 4 名字、函数的类型以及形参的类型、个数和顺序通知编译系统,以便在调 用该函数时系统按此进行对照检查,例如函数名是否正确,实参与形参的 类型和个数是否一致等。

主函数比较简单,但是函数的调用很多,所以,在程序的开头就加上 了各函数的声明,如下: void c_c(;/*制卡函数模块 */ void s_u(;/*发卡函数模块 */ void in_m(;/*存款函数模块 */

void out_m(;/*取款函数模块 */ void c_i(;/*查询账户相关信息函数模块 */ void c_r(;/*查询账户交易记录函数模块 */ void check(;/*查询全部信息函数模块 */ void menu(;/*主菜单函数模块 */ void back(;/*返回函数模块 */ void check_b(;/*给用户提示已有信息 */ 实现菜单选择功能,使用的是 switch 语句,根据用户输入的菜单选项 a ,调用不同的函数实现各种功能: switch(a { case 1:c_c(;break;/*制卡模块 */ case 2:s_u(;break;/*发卡模块 */ case 3:in_m(;break;/*存款模块 */ case 4:out_m(;break;/*取款模块 */ case 5:c_i(;break;/*查询账户相关信息模块 */ case 6:c_r(;break;/*查询交易记录模块 */ case 7:check(;break;/*查看所有信息模块 */ case 8:exit(0;break;/*退出模块 */ } 2. 各功能模块设计

2.1 制卡模块 【流程图】

2.2 发卡模块 【流程图】

N

2.3 存款模块 【流程图】

10

2.4 消费模块

【流程图】 11 12

2.5 查询账户相关信息模块

【流程图】 13 N 14

2.7 查询全部信息模块 【流程图】 15 开始 打开存有数据的文本文件 将文件中的用户信息输入到 系统定义的结构体中 关闭文本文件 将全部用户的信 息输出到屏幕 结束 3. 公共函数设计 返回模块,即在完成一项命令之后,可以选择返回主菜单或者是退出 程序。 【流程图】 16 开始 输出菜单供 用户选择 输入菜单编号 判断编号是否 为“1” N Y 返回主菜单 结束 17

第三篇:网上购物系统设计与实现

1、绪论

在Internet飞速发展的今天,互联网成为人们快速获取、发布和传递信息的重要渠道,它在人们政治、经济、生活等各个方面发挥着重要的作用。Internet上发布信息主要是通过网站来实现的,获取信息也是要在Internet“海洋”中按照一定的检索方式将所需要的信息从网站上下载下来。因此网上购物系统应运而生,网上购物弥补了传统购物的一些局限性,成为传统购物的补充。通过网上购物,无论你在哪里都可以轻松地买到心仪的物品,只要那里有一台接入了Internet的电脑,通过网上购物可以很清楚的了解各个商品的信息,从而对它们进行比较,最后买到自己称心的物品。对于管理人员来说,利用购物系统能轻松地管理大量的商品,而且可以通过系统查看各种商品的销售状况,通过各种数据能够及时地知道那种商品正在热卖,而那些商品属于冷门地,从而在运营上进行调整,更好地管理好商店。

我设计的是基于网上的购物系统。用户可以根据自己的喜好浏览自己喜欢的东西,但要想购买商品,就必须通过注册成为会员才能进行购买,登陆后就可以购物了。商店的各种商品都进行了详细地分类,可以轻松地找到想要地商品,同时查找系统能很容易地找到相关的商品。同时买到自己喜欢的东西后就可以去结算,通过下订单你可以填写自己的相关信息,而完成购物的流程。

2、系统分析

系统分析是平台开发的一个不可缺少的环节,为了能够使本系统更好、更完善地被设计出来,就必须先进行调查研究。在系统调查的基础上,对新系统的功能进行细致的分析,从而才能够开发出完整的系统设计 。本平台利用现在比较广泛的ASP+access数据库的架构实现的,进行系统分析,为将来进一步的实施打下一个坚实的技术基础。从而实现信息化,规范化,系统化,网络化的平台,具有较好的适应性和推广性。 2.1 网上购物系统平台的设计目标

本平台利用现在比较广泛的ASP+access数据库的架构实现的,进行系统析,为将来进一步的实施打下一个坚实的技术基础。从而实现信息化,规范化,系统化,网络化的平台,具有较好的适应性和推广性。

此系统分为前台管理和后台管理。前台管理是友好的操作界面,供用户浏览、查询使用。包括:浏览商品、查询商品、购物车、用户维护等功能;后台管理是提供给管理员的,其中包括:商品管理、用户管理、订单管理等。使管理员从繁琐的手工操作中解脱出来,并提高了办公效率。

2.2 网上购物系统设计的功能及特点

2、

2、1该平台功能

1、能够完成用户基本信息录入的注册和用户基本信息的个人前台与后台管理。

2、能够完成管理员对网站的商品资料(添加大类、添加小类、商品添加、商品审查)、商品交易(外理订单、发货查询)的功能。

3、能够通过查看购物车对所选商品进行确定、挑选,通过定单查询对支付费用进行确定。

2、

2、2该系统特点

我们所设计和开发的网上购物平台是经过很长时间的调查和分析才开始具体实施的,它的主要特点是改变了以往的购物只能过现实的商场才能达到的结果,采用Wed技术,借助于Internet互联网广泛应用技术,达到资源共享,提高以往购物的局限性,缩短人们的时间和提高工作效率,具有较好的交互性,从而实现信息化,规范化,系统化,网络化的平台,使整个购物活动过程简单、方便、易行。 2.3 网上购物系统开发的设计思想

网上购物平台主要是对后台管理和前台操作。

前台操作是用户登录到本网站,可以进行用户注册,通过网站的新品速递、商品热卖、商品分类或商品搜索功能,找到自己想要买的商品,装入购物车,提交定单进行购买。

后台管理是管理员对本网站的维护,通过商品资料(添加大类、添加小类、商品添加、商品审查)、商品交易(处理订单、发货查询)、等功能达到对网站的管理。

2、4网上购物系统的功能需求设计

对于网上购物,总结出该平台需要完成的一些具体功能,分析如下:

用户管理:能够完成用户最基本的信息录入的注册和用户基本信息的个人前台与后台管理。

管理员管理 :能够完成管理员对网站的商品资料(添加大类、添加小类、商品添加、商品审查)、商品交易(外理订单、发货查询)、会员管理(会员审查)、操作管理(管理员添加、管理员审查、管理员退出)的功能。

搜索功能 :通过商品的名称,商品的分类进行搜索。

查询功能 :能够通过查看购物车对所选商品进行确定、挑选,通过定单查询对支付费用进行确定。

其功能模块图如下:

第四篇:电子商务网站网上购物系统设计

摘要:伴随互联网的广泛应用和电子商务的迅速发展,网上购物系统渐渐走入人们的视野。本文通过对网上购物系统的基本流程及功能进行说明,提出了该系统的设计方法。因此本人结合网络购物系统的要求,对 Access 数据库管理系统、ASP 设计平台,ASP数据库技术进行了较深入的学习和应用,主要完成对网络购物系统的需求分析、功能模块划分、数据库模式分析

关键词:电子商务网站 网上购物系统 系统设计

在二十一世纪的现在,电子商务已经越来越流行,在网上购物已经是一件很平常的事情。随着互联网宽带和技术应用的成熟,以及物流和支付系统的完善,可以预见,随着时间流逝,网上购物将成为互联网普及应用的主流,必将持续影响着千家万户的生活和经济行为,并最终成为社会商业活动的重要形式。面临众多的网上购物系统,如何根据技术现状和客户的需求设计一个合理的网上购物系统显得尤为重要,建立和开发这样的电子商务平台不但可以扩大商家的规模和市场影响力,而且可以减少企业的经营成本,提高工作效率。

一.系统开发工具

系统的定位是一个电子商务站点,作为面向 Internet Web 上的应用,传统的客户端/服务端架构很明显不适应,浏览器/服务器架构是必然的选择。根据当前 Internet 现状,确定系统运行在微软公司的 Windows 平台上,使用 IIS 信息服务起作为 Web 服务器,前台使用流行的网页制作工具 Dreamweaver,后台的数据库则用 Access,用 Asp 动态网页技术完成动态交互功能。

二.网上购物系统基本操作流程分析

用户在浏览网站时首先看到的就是网站首页。在首页用户可以快速浏览最新商品,了解热门商品和推荐商品,也可以搜索已知的商品查看具体信息。首页聚 I 集了大量的信息,除了商品以外,还有站内公告信息和站内新闻信息,此时用户已经对商城有了一定的了解。用户如果想要购买商品时必须注册成会员,再用户查看完商品的详细信息后,可以把自己想要购买的商品放入购物车当中,也可以随时修改、删除购物车里的商品,如果用户对购物车里的商品都很满意,也可以去收银台结账,下订单。这时相关的程序模块会将用户所提交的所有信息都记录在数据库里以便整个商城的管理人员可以核对信息并在收款后准备发货,发货成功并且用户确认收到货物时整个购物过程便结束了。在电子商城后台管理方面还需要添加、修改、删除商品,同时要对商品进行分类,包括用户信息的管理、站内公告的设置、站内新闻的发布和订单的处理等都需要电子商城的管理人员来操作。工作人员也会根据用户的订单随时调整库存、进货、发货等。

所以,由上可知,网上商城应分两个部分:第一部分是面向用户系统前台的部分包括:顾客在线注册、选择商品、进行购物、付款等操作;第二部分是商城后台系统管理部分,这部分的内容包括:产品的添加、删除、查询、订单的管理、操作员的管理、注册用户的管理等。

系统主要涉及普通用户和管理员两部分人员,普通用户通过简单的注册成为会员后可以对商品进行浏览、加入购物车、下达订单等操作,管理员用户可以对商品进行添加与维护、处理订单、管理用户、管理评论等操作。

三.网上购物系统详细设计

(一)系统前台设计

注册 当用户第一次进入购物网站时,如果想在网站上购买东西,就需要注册成网站的会员,以便将自己想要的商品放入购物车。用户注册必须填写一些基本信息,主要包括用户名、密码、真实姓名、联系电话和详细地址等。

登录管理 用户也只有登录后才可以进行购买和下订单等操作。当用户在完成注册以后购买商品的时候系统会先检查一下该用户有没有登录,若登录过了则可以直接对自己选购的商品下订单,否则返同登录窗口。登录后,可填写修改详细个人信息及收货人信息,同时可修改密码、查询、查看订单信息、修改订单 (已经过管理员处理的商品除外 )。

II 寻找商品 选择产品通过四种方式:通过类别自行浏览;通过浏览推荐商品选择;通过热卖排行榜选择商品 ;通过搜索条件搜索。产品放到购物车后,购物车可连续添加商品,一次性结账付款购买;

管理购物车 顾客选择完商品后可进入购物车页面,查看自己要购买 的商 品,亦可修改某一商品数量、取消购买某商品或清空整个购物车等。

用户订单模块 顾客确定购物车想买的商品后提交订单如顾客已填写收货人信息则页面实时显示订单信息。如尚未填写则显示相应表单请其填写,顾客提交订单后可随时在登录网上商城后查询该订单,并可对尚未处理的订单进行取消、修改等操作。顾客在订单被销售方确认后,选择付款方式,并付款给销售方,点击“确定已付款”,这样系统就会将默认的“未付款”更改为”已付款”,然后才可以收到货 。

(二)系统后台管理设计

管理人员部分 该部分的用户有一个超级管理员以及若干个普通管理员。超级管理员拥有最高权限可访问所有订单,浏览、修改普通管理员和会员的资料;普通管理员分两种,一种是销售管理员:主要负责订单管理,可浏览、修改订单状态,也可浏览会员信息;另一种是产品管理员:主要负责界面管理,可增删商品和公告及广告等操作。

用户订单管理 订单管理主要是指管理员对用户已付款的订单做一个简单的管理查看,这样很方便杳看到是哪一位用购买了哪一件,同时显示该用户购买了几件该商品。系统管理员会根据这些信息给已付款的用户配送相应的商品。若订单的状态在一定时限后仍没有发生变化(“订单关闭”状态除外),系统自动提醒管理员,订单状态发生变化 ,系统自动发E—mail给顾客,(“无效订单”、“订单关闭”状态除外)。

管理商品 展示并出售商品是在线网店的真正目的,这样就需要管理员在后台可以添加、删除商品并可以对商品信息加以修改。

预警功能 为更好的使用,系统应该引入预警功能,为商品数量设置下限,达到设置的下限,管理员应提示用户进货;订单应设置处理时限,超过时限提示管理员操作。

III 用户评论管理 用户评论主要是指所有参与网购的会员都可以对本商城中的每一件商品留言评论,写下自己对于商品的看法,供以后买的会员参考。为避免商家遭受不公平待遇,管理员可以将恶意留言内容加以删除,以确保广大用户和谐的购物。

(三)数据库设计

一个结构良好的数据库可以很好地实现系统的查询和管理,并且能够极大地提高系统的运行效率,所以数据库的设计也是本系统非常重要的设计环节之一。

分析购物系统的特点可以发现2类信息存储在数据库中。一个是用户信息表、商品信息表及评论信息表——包括用户注册信息、商品信息、评论内容等。

订单表——这一类表主要是存储用户订单。

中国电子商务发展到今天经历了低潮、曲折等一系列的变化,但困难并没有抹杀大家对其的热忱。电子商务将成为 21 世纪的网络发展的主流,电子商务在未来的应用将愈来愈广。目前国内企业正纷纷加入到阿里巴巴等一系列大型电子商务网站中,通过网络进行 B2B(企业对企业)的网上交易之后,也充分认识到网络交易将成为未来商品交易的重要组成部分,在建立企业宣传网络的同时,也

逐步扩大企业自身的网络销售渠道,建立起自己的电子商务网站,完成从 B2B 到 B2C(企业到个人)同时进行网络交易的过渡,大大提高了企业生产效益。企业信息化水平已成为企业参与市场竞争的关键,网上交易作为基本的电子商务功能之一,有着强大的优势。网上交易市场是企业间电子商务所需要的电子化和网络化的商务平台。通过网上交易市场,可以改变传统贸易中的一对一或一对多的模式,变成了多对多模式,并创造众多买卖商家聚集的在线交易空间。买卖双方不仅可以寻找到更多的贸易伙伴,增加更多的商业机会,还能够享受更多的方便和标准化的商务服务,获得一个良好的商务环境

参考资料:

[1]白以恩.计算机网络基础及应用[M].哈尔滨:哈尔滨工业大学出版社,2000.

IV [2]刘锦绣.电子商务的实现网上购物系统的分析与研究[期刊论文]——《中国电子商务》2012(6)

[3]王健南.ASP 数据库管理项目方案精解.航空工业出版社,2006。

[4] 许多顶 电子商务的发展现状与展望[期刊论文]-上海应用技术学院学报 2001(02) [5].辛峰 基于JSP的网上购物系统设计与实现[期刊论文]-哈尔滨职业技术学院学报 2010(1)

V

第五篇:网上商城购物系统 详细设计说明书

软件工程详细设计说明书

1.引言

1.1编写目的

编写详细设计说明书的目的是为了使开发人员在完成概要设计说明书的基础上,完成概要设计的各项功能规定;为程序员写出实际的程序代码提供依据。它是软件设计阶段所有任务和所有相关人员所需的参考资料。 预期的读者为系统的开发者、使用者和指导老师。

1.2背景

说明:

(1)开发软件系统的名称:网上商城购物系统;

(2)任务提出者:XX;

(3)开发者:计算机科学与技术的小组成员xx;

(4)用户:XX;

(5)本系统将使用SQLServer2000作为数据库存储系统。 1.3定义

(1) Asp(active server pages)是微软公司推出的一种用以取代CGI的技术,基于目前绝大多数网站应用于windows平台,asp是一个位于windows服务器端的脚本运行环境,通过这种环境,用户可以创建和运行动态的交互式的web服务器应用程序以及EDI(电子数据交换);

(2)ADO:ActiveX Data Object, ActiveX 数据对象;

(3)SQL:Structured Query Language。

1.4参考资料

(1)本小组成员撰写的《概要设计说明书》; (2)本小组成员撰写的《需求分析说明书》。

2. 系统的结构

根据网上购商城系统的概要设计,本系统按照功能分解,可以分解为前台管理子系统和后台管理子系统;前台管理系统和后台管理系统又分为几个小子系统,总的系统结构图如下:

结构流程图如下:

3.模块1(商品查询)设计说明

3.1模块描述

商品查询主要是帮助顾客快速定位到所想了解的商品,达到查询商品的目的。 3.2功能

完成查询商品的功能 3.3性能

灵活性:窗口响应绝大部分的快捷菜单和控制面板操作 时间性:响应鼠标单击时间在2——3秒之间 3.4输入项

组合、模糊查询条件 3.5输出项

标准的SQL语句,发送设置浏览区命令 3.6设计方法(算法)

本部分没有采用自定义的算法 3.7流程逻辑

3.8接口

硬件接口:主要就是TCP/IP层中的网络接口层

软件接口:具体来说开发中可能用到的ADO的常用对象有以下几个: (1)连接对象(Connection):用来连接数据库。

(2)记录集对象(RecordSet):用来保存查询语句的返回结果。

(3)命令对象(Command):用来执行SQL语句或SQL Server的存储过程。 (4)参数对象(Parameter):用来为存储过程或查询提供参数。 3.9存储分配

本模块用ASP在Dreamweaver中进行编码,直接的内存分配由Dreamweaver运行时分配。 3.10注释设计

在代码部分的适当位置有中文代码注释。 3.11限制条件

(1)由于本系统的开发是基于浏览器B/S结构,所以浏览器的语言使用HTML,服务器端的语言使用ASP,开发人员将不能用其他的开发语言(编写组件除外)。而数据库也将随之才用SQL Server2000。

(2)开发人员在编写代码的过程中需要严格按照软件工程的要求来进行,以利于接下来的测试而后维护升级。 3.12测试计划

测试要点:测试各种组合、模糊查询方式。

3.13尚未解决的问题

暂时没有要解决的问题。

4.模块2(订单查询)设计说明

4.1模块描述

订单查询主要是方便管理员查询未处理、已处理、已发货、已结账的订单。 4.2功能

完成查询订单相关情况的功能 4.3性能

这是经常使用的一个模块,对性能要求在1-6秒内做出反应。 4.4输入项

查询条件 4.5输出项

标准的SQL语句,发送设置浏览区命令 4.6设计方法(算法)

本部分没有采用自定义的算法 4.7流程逻辑

4.8接口

硬件接口:主要就是TCP/IP层中的网络接口层

软件接口:具体来说开发中可能用到的ADO的常用对象有以下几个: (1)连接对象(Connection):用来连接数据库。

(2)记录集对象(RecordSet):用来保存查询语句的返回结果。

(3)命令对象(Command):用来执行SQL语句或SQL Server的存储过程。 (4)参数对象(Parameter):用来为存储过程或查询提供参数。

4.9存储分配

本模块用ASP在Dreamweaver中进行编码,直接的内存分配由Dreamweaver运行时分配。 4.10注释设计

在代码部分的适当位置有中文代码注释。 4.11限制条件

(1)由于本系统的开发是基于浏览器B/S结构,所以浏览器的语言使用HTML,服务器端的语言使用ASP,开发人员将不能用其他的开发语言(编写组件除外)。而数据库也将随之才用SQL Server2000。

(2)开发人员在编写代码的过程中需要严格按照软件工程的要求来进行,以利于接下来的测试而后维护升级。 4.12测试计划

进入后台管理订单管理的界面,分别点击未处理、已处理、已发货、已结账的订单查看相关情况,对于已结账订单可以执行删除操作。 4.13尚未解决的问题

暂时没有要解决的问题。

5.模块3(购物车)设计说明

5.1模块描述

提供网络用户对所选购商品的订购确定,并选择商品数量。 5.2功能

提供网络用户对所选购商品的订购确定,并选择商品数量。

5.3性能

用户选中所需要购买商品,点击订购的商品后出现订购商品的界面,输入商品编号、商品价格及订购数量之后确定,订单信息就会写入数据库完成订购操作。 5.4输入项

输入的数据时用户执行的各种操作,包括鼠标、键盘各项操作。 5.5输出项

输出是从数据库中读取的数据,或错误警告信息。 5.6设计方法(算法)

本部分没有采用自定义的算法 5.7流程逻辑

5.8接口

硬件接口:主要就是TCP/IP层中的网络接口层

软件接口:具体来说开发中可能用到的ADO的常用对象有以下几个: (1)连接对象(Connection):用来连接数据库。

(2)记录集对象(RecordSet):用来保存查询语句的返回结果。

(3)命令对象(Command):用来执行SQL语句或SQL Server的存储过程。 7

(4)参数对象(Parameter):用来为存储过程或查询提供参数。 5.9存储分配

本模块用ASP在Dreamweaver中进行编码,直接的内存分配由Dreamweaver运行时分配。 5.10注释设计

在代码部分的适当位置有中文代码注释。 5.11限制条件

(1)由于本系统的开发是基于浏览器B/S结构,所以浏览器的语言使用HTML,服务器端的语言使用ASP,开发人员将不能用其他的开发语言(编写组件除外)。而数据库也将随之才用SQL Server2000。

(2)开发人员在编写代码的过程中需要严格按照软件工程的要求来进行,以利于接下来的测试而后维护升级。 5.12测试计划

进入后台管理订单管理的界面,分别点击未处理、已处理、已发货、已结账的订单查看相关情况,对于已结账订单可以执行删除操作。 5.13尚未解决的问题

暂无

6.模块4(登录管理)设计说明

6.1模块描述

对用户身份验证,通过验证则登入系统。 6.2功能

完成对用户身份验证的功能。 6.3性能

灵活性:窗口响应绝大部分的快捷菜单和控制面板操作 时间性:响应鼠标单击时间在2——3秒之间 6.4输入项

输入用户名和密码。 6.5输出项

输出是从数据库中读取的数据,或错误警告信息。 6.6设计方法(算法)

本部分没有采用自定义的算法 6.7流程逻辑

6.8接口

硬件接口:主要就是TCP/IP层中的网络接口层

软件接口:具体来说开发中可能用到的ADO的常用对象有以下几个:(1)连接对象(Connection):用来连接数据库。

(2)记录集对象(RecordSet):用来保存查询语句的返回结果。

(3)命令对象(Command):用来执行SQL语句或SQL Server的存储过程。 (4)参数对象(Parameter):用来为存储过程或查询提供参数。 6.9存储分配

本模块用ASP在Dreamweaver中进行编码,直接的内存分配由Dreamweaver运行时分配。 6.10注释设计

在代码部分的适当位置有中文代码注释。 6.11限制条件

(1)由于本系统的开发是基于浏览器B/S结构,所以浏览器的语言使用HTML,服务器端的语言使用ASP,开发人员将不能用其他的开发语言(编写组件除外)。而数据库也将随之才用SQL Server2000。

(2)开发人员在编写代码的过程中需要严格按照软件工程的要求来进行,以利于接下来的测试而后维护升级。

6.12测试计划

登入登录界面,输入用户名和密码,如果正确则能直接进入后台管理的界面。否则提示出错信息。

6.13尚未解决的问题

暂时没有要解决的问题。

7.模块5(商品管理)设计说明

7.1模块描述

实现对站内商品进行划分类别,定期更新管理商品,进行添加、删除操作。 7.2功能

完成对商场内的商品的类别划分、产品的更新、添加及删除等操作。 7.3性能

灵活性:窗口响应绝大部分的快捷菜单和控制面板操作 时间性:响应鼠标单击时间在2——3秒之间 7.4输入项

商品的名称。 7.5输出项

商品的相关信息。 7.6设计方法(算法)

本部分没有采用自定义的算法 7.7流程逻辑

添加商品

7.8接口 修改商品全选商品清空商品删除商品 硬件接口:主要就是TCP/IP层中的网络接口层

软件接口:具体来说开发中可能用到的ADO的常用对象有以下几个: (1)连接对象(Connection):用来连接数据库。

(2)记录集对象(RecordSet):用来保存查询语句的返回结果。

(3)命令对象(Command):用来执行SQL语句或SQL Server的存储过程。 (4)参数对象(Parameter):用来为存储过程或查询提供参数。 7.9存储分配

本模块用ASP在Dreamweaver中进行编码,直接的内存分配由Dreamweaver运行时分配。 7.10注释设计

在代码部分的适当位置有中文代码注释。

7.11限制条件

(1)由于本系统的开发是基于浏览器B/S结构,所以浏览器的语言使用HTML,服务器端的语言使用ASP,开发人员将不能用其他的开发语言(编写组件除外)。而数据库也将随之才用SQL Server2000。

(2)开发人员在编写代码的过程中需要严格按照软件工程的要求来进行,以利于接下来的测试而后维护升级。

7.12测试计划

进入后台管理商品管理的界面,可对商品进行添加、删除、清空、全选等操作以测试操作是否正常。 7.13尚未解决的问题

在商品管理界面上全选了之后,再按全选按钮不能取消选定,而是要一项一项地取消选定。

8.模块6(订单管理)设计说明

8.1模块描述

使用户完成订购商品的活动 8.2功能

完成用户对订购商品的操作功能。 8.3性能

灵活性:窗口响应绝大部分的快捷菜单和控制面板操作 时间性:响应鼠标单击时间在2——3秒之间 8.4输入项

商品名称 8.5输出项

商品相关信息 8.6设计方法(算法)

本部分没有采用自定义的算法 8.7流程逻辑

用户订单

8.8接口 订单处理订单发货订单结账订单删除 硬件接口:主要就是TCP/IP层中的网络接口层

软件接口:具体来说开发中可能用到的ADO的常用对象有以下几个: (1)连接对象(Connection):用来连接数据库。

(2)记录集对象(RecordSet):用来保存查询语句的返回结果。

(3)命令对象(Command):用来执行SQL语句或SQL Server的存储过程。 (4)参数对象(Parameter):用来为存储过程或查询提供参数。 8.9存储分配

本模块用ASP在Dreamweaver中进行编码,直接的内存分配由Dreamweaver运行时分配。 8.10注释设计

在代码部分的适当位置有中文代码注释。 8.11限制条件

(1)由于本系统的开发是基于浏览器B/S结构,所以浏览器的语言使用HTML,服务器端的语言使用ASP,开发人员将不能用其他的开发语言(编写组件除外)。而数据库也将随之才用SQL Server2000。

(2)开发人员在编写代码的过程中需要严格按照软件工程的要求来进行,以利于接下来的测试而后维护升级。

8.12测试计划

进入后台管理商品管理的界面,可对商品进行添加、删除、清空、全选等操作以测试操作是否正常。 8.13尚未解决的问题

如何处理用户在购买商品后的金钱支付交易以及确保交易的安全性。

9.模块7(用户管理)设计说明

9.1模块描述

本模块实现管理员对已注册用户的相关信息的管理。 9.2功能

管理员可以对已注册用户进行删除、修改信息、查询等不同功能。 9.3性能

灵活性:窗口响应绝大部分的快捷菜单和控制面板操作 时间性:响应鼠标单击时间在2——3秒之间 9.4输入项

输入的数据时用户执行的各种操作,包括鼠标、键盘各项操作。 9.5输出项

输出是从数据库中读取的数据,或错误警告信息。 9.6设计方法(算法)

本部分没有采用自定义的算法 9.7流程逻辑

9.8接口

硬件接口:主要就是TCP/IP层中的网络接口层

软件接口:具体来说开发中可能用到的ADO的常用对象有以下几个: (1)连接对象(Connection):用来连接数据库。

(2)记录集对象(RecordSet):用来保存查询语句的返回结果。

(3)命令对象(Command):用来执行SQL语句或SQL Server的存储过程。 (4)参数对象(Parameter):用来为存储过程或查询提供参数。

9.9存储分配

本模块用ASP在Dreamweaver中进行编码,直接的内存分配由Dreamweaver运行时分配。 9.10注释设计

在代码部分的适当位置有中文代码注释。 9.11限制条件

(1)由于本系统的开发是基于浏览器B/S结构,所以浏览器的语言使用HTML,服务器端的语言使用ASP,开发人员将不能用其他的开发语言(编写组件除外)。而数据库也将随之才用SQL Server2000。

(2)开发人员在编写代码的过程中需要严格按照软件工程的要求来进行,以利于接下来的测试而后维护升级。 9.12测试计划

进入后台管理订单管理的界面,分别点击未处理、已处理、已发货、已结账的订单查看相关情况,对于已结账订单可以执行删除操作。 9.13尚未解决的问题

暂时没有要解决的问题。

上一篇:卫生服务中心工作计划下一篇:温泉度假酒店规划方案