网上图书购物系统.docx

上传人:b****3 文档编号:12877641 上传时间:2023-04-22 格式:DOCX 页数:22 大小:612.25KB
下载 相关 举报
网上图书购物系统.docx_第1页
第1页 / 共22页
网上图书购物系统.docx_第2页
第2页 / 共22页
网上图书购物系统.docx_第3页
第3页 / 共22页
网上图书购物系统.docx_第4页
第4页 / 共22页
网上图书购物系统.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

网上图书购物系统.docx

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

网上图书购物系统.docx

网上图书购物系统

 

____软件设计实践___报告

 

实训/实验内容与要求

 

通过实现一个完整的软件,体验软件项目开发的工作流程,加深对相关理论知识的理解,提高实际分析设计能力。

完成软件的需求分析、架构设计、模块划分并编程实现。

 

指导教师:

指导教师评语

 

成绩:

指导教师:

_______________

年月日

目录

1.需求分析1

2.详细设计2

2.1系统功能2

2.2详细设计4

3.数据库设计5

3.1完整性和安全性5

3.2数据字典6

3.3物理结构设计7

4.系统实现9

4.1用户登录界面10

4.2用户查看图书界面12

4.3用户注册界面15

4.4用户订单界16

5.总结19

 

1.需求分析

在当下的信息技术时代,消费者大众越来越热衷于阅读书籍,从书籍中获取更多的知识。

但是现在的实体书店越来越少了,造成了很多消费者很难购买到图书。

而且实体书店有房租、店员工资、库存管理等运营成本,造成了图书的销售价格过高,消费者不愿花费太多的钱在购买图书上,整体导致实体书店经营困难。

考虑到现在消费者都有网上购物的习惯,所以开发了这个图书销售系统,方便消费者浏览和购买图书。

作为一个图书商城管理系统,不仅要求便于管理,而且要求为用户和管理员提供方便快捷的查找、购买、更改等功能,提高工作效率。

商城管理人员可以浏览、查询、删除、修改等操作。

具体功能:

设计用户的登陆权限和登陆方法。

对所有的用户开放浏览购买等功能。

用户查看更改自己的用户信息。

商城管理人员对信息和数据库进行维护,包括信息的增删改。

要进行统一的管理,也要求具有很强的时效性。

一方面,对图书的种类和图书的销售情况进行实时掌握;另一方面,要减少内容的重复,做到图书种类的齐全,对书籍进行有效的管理,提高商城管理有效的利用。

 

2.详细设计

2.1系统功能

本系统主要针对两种用户,一个是消费者,一个是图书管理员。

消费者可以进行登录,修改密码,分类浏览、分类模糊搜索(只需要输入关键字就可以搜索出含有该关键字的相关图书)图书信息,支持组合查询,可以将图书名称、作者名、出版社名组合起来进行查询,将需要购买的图书添加进购物车,提交订单,查看订单等功能。

图书管理员也可以进行登录,修改密码,还能添加、修改、删除、查看图书信息与图书类别,对订单进行处理。

消费者系统如图2-1所示.

 

 

消费者系统图2-1

 

管理员系统如图2-2所示。

 

图书管理系统图2-2

2.2详细设计

1.系统登录,要求用户在登录时必须输入正确的用户名和密码。

2.注册功能,要求用户在注册时应输入用户名、密码、二次输入密码,其中用户名、密码均不能为空且不能与已存在的用户名冲突。

3.修改密码功能,用户需要修改密码时。

如果用户名、原始密码验证成功,则允许密码重置,否则密码重置失败。

4.图书信息搜索功能,用户可以输入关键字对图书名称进行模糊搜索,支持组合条件查询,可以使用图书名称、作者名、出版社名三者形成组合条件进行查询,搜索成功则展示图书,若搜索不到结果,则提示用户没有此图书。

5.图书信息查看功能,用户可以点击某本图书,查看该图书的基本信息,如图书名称、图书作者、出版社名称。

6.购物车管理功能,消费者找到需要购买的图书后,可以点击相应按钮将其加入到购物车,购物车可同时放入多本不同种类图书,同时在购物车中还能增加、减少图书购买数量。

7.查看订单功能,用户在登录系统后,可以查看订单状态,订单状态包括已支付,未支付。

消费者的主要功能功能如图2-3

 

图2-3

 

3.数据库设计

3.1完整性和安全性

系统安全性要求体现在数据库的安全性、信息的安全性和系统平台的安全性等方面。

安全性先通过视图机制,不同的用户拥有不同的视图权限,这样可提供数据库在一定程度上的安全性,在通过分配权限、设置权限级别来区分对待不同的访问对象,来实现对数据库操作的安全要求;系统平台的安全性体现在操作系统安全和网络安全等方面,通过加强系统平台的安全性,才能更好地保证数据库的正常运行工作。

完整性要求是,要求系统中的数据的正确性以及相容性。

通过建立主、外键,时用约束语句,或是使用触发器和级联更新等。

3.2数据字典

数据项是系统的显示单位,即不可再分的单元。

本系统的数据定义为:

表2-1管理员信息表

名字

Admin

别名

管理员

描述

储存管理员的各项信息

定义

管理员信息=ID+密码

备注

记录管理员信息

表2-2图书信息表

名字

BookInf

别名

图书

描述

储存图书的各项信息

定义

图书=书号+图书名+作者+出版商+价格+库存+类别+图片

备注

记录图书信息

表2-3用户信息表

名字

User

别名

消费者

描述

储存消费者的各项信息

定义

消费者=ID+密码+名字+地址+邮箱号+电话

备注

记消费者信息

表2-4订单信息表

名字

OrderForm

别名

订单

描述

订单各项信息

定义

订单=订单编号+用户号+书号+下单时间+结算价格+图书数量+付款状态

备注

记录订单信息

表2-5充值信息表

名字

Recharge

别名

消费者充值

描述

消费者充值信息

定义

充值=充值编号+消费者帐号+金额+充值时间

备注

记录充值表信息

3.3物理结构设计

数据库在物理设备上的存储结构域存取方法称为数据库的物理结构,它依赖于选定的数据库管理系统,为了一个给定的数据库模型选取一个合适的应用要求的数据结构的过程是数据库的物理设计。

数据库的物理设计主要分两步:

一步是确定数据库的物理结构,在关系数据库中主要存取方法和存储结构;另一步是对数据结构进行评价。

根据题目的要求设计的数据库的物理结构如下:

系统数据库命名为Book数据库中的数据表有:

图书信息表,管理员信息表,用户信息表,订单信息表,订单商品信息表;

表3-7图书信息数据表

字段名

数据类型

长度

主键

描述

BookId

varchar

50

图书编号

BookName

varchar

50

书名

BookAuthor

varchar

50

作者

BookPress

varchar

50

出版社

Image

varchar

50

图片地址

BookClass

varchar

50

类别

Bookprice

varchar

50

价格

Bookstock

varchar

50

库存

表3-8管理员信息数据表

字段名

数据类型

长度

主键

描述

AdminId

Varchar

50

管理员编号

AdminPwd

Varchar

50

密码

表3-9用户信息数据表

字段名

数据类型

长度

主键

描述

UserId

Varchar

50

用户编号

UserName

Varchar

50

昵称

UserPwd

Varchar

50

密码

UserTel

Varchar

50

电话

UserAddr

Varchar

50

住址

UserPost

Varchar

50

邮编

表3-10订单信息数据表

字段名

数据类型

长度

主键

描述

OrderId

Int

订单号

UserId

varchar

50

用户Id

BookId

varchar

50

图书标号

BookName

varchar

50

书名

OrderDate

Datetime

时间

IsConfirm

varchar

50

是否付款

Expenditure

Money

金额

Number

Int

50

数量

表3-11订单详细信息数据表

字段名

数据类型

长度

主键

描述

Id

Int

记录编号

UserId

varchar

50

用户编号

IMoney

Smallmoney

消费记录

Idatetime

Datetime

充值时间

表3-12用户余额信息表

字段名

数据类型

长度

主键

描述

UserId

Varchar

50

用户编号

UserBlance

Smallmoney

用户余额

4.系统实现

图书销售管理系统是典型的信息系统,其开发包括后台的数据库的建立、维护以及前台应用程序的开发两个方面:

一方面要求建立数据一致和完整性强、数据安全性高的数据库;另一方面要求应用程序具有功能简单、实用。

图书管理涉及图书信息、用户信息、系统用户信息等多种数据的管理。

管理可分三类:

图书信息管理、用户信息管理、和系统用户管理。

4.1用户登录界面

输入用户名和密码,经过数据库的验证即可登录到主页面,登陆界面设计不同用户的登陆权限和登陆方法。

对所有的用户开放图书的浏览功能。

查看自己的信息。

用户登录界面如图4-1。

图4-1

主要代码如下:

publicpartialclass_Default:

System.Web.UI.Page

{

//创建公共类DBClass一个新实例对象

DBClassdbObj=newDBClass();

protectedvoidButton1_Click(objectsender,EventArgse)

{

if(this.Username.Text.Trim()!

=""||this.Userpwd.Text.Trim()!

="")

{

//定义一个字符串,获取用户信息

stringusertest="select*fromUserswhereUserId='"+Username.Text+

"'";

DataTabledstTable=dbObj.GetDataSetStr(usertest,"tbUsers");

//判断用户是否存在

if(dstTable.Rows.Count==0)

useridtest.Text="该用户不存在";

else

{

stringuserlogin=string.Format("select*fromUserswhere

UserId='{0}'andUserPwd='{1}'",Username.Text,Userpwd.Text);

DataTabledslTable=dbObj.GetDataSetStr(userlogin,"tbUsers");

if(dslTable.Rows.Count==0)

{

useridtest.Visible=false;

userpwdtest.Visible=true;

}

else

{

Session["UserId"]=dslTable.Rows[0][0].ToString();//保存用户ID

Session["UserName"]=dslTable.Rows[0][1].ToString();//保存用户名

Response.Write("");

//Response.Redirect("../zhuye2.aspx");

}

}

}

else

{

useridtest.Visible=true;

useridtest.Text="用户名不能为空";

}

}

4.2用户查看图书界面

用户网上购买图书,查看图书信息。

如图4-2

图4-2

主要代码:

publicpartialclasszhuye2:

System.Web.UI.Page

{

CommonClassccObj=newCommonClass();

DBClassdbObj=newDBClass();

protectedvoidPage_Load(objectsender,EventArgse)

{

if(!

Page.IsPostBack)getchanpin();

if(Session["UserId"]!

=null)

{

LinkButton2.Text=Session["UserName"].ToString();

LinkButton2.PostBackUrl="~/users/updatainf.aspx";

}

}

protectedvoidLinkButtonPrev_Click(objectsender,EventArgse)

{

this.LabelPage.Text=Convert.ToString(int.Parse(this.LabelPage.Text)-1);

getchanpin();

}

protectedvoidLinkButtonNext_Click(objectsender,EventArgse)

{

this.LabelPage.Text=Convert.ToString(int.Parse(this.LabelPage.Text)+1);

getchanpin();

}

protectedvoidLinkButtonLast_Click(objectsender,EventArgse)

{

this.LabelPage.Text=this.LabelTotalPage.Text;

}

protectedvoidLinkButtonFirst_Click(objectsender,EventArgse)

{

this.LabelPage.Text="1";

getchanpin();

}

privatevoidgetchanpin()

{

stringstrSql=getstring();

//stringstrSql="select*fromBookInforderbyBookId";

DataTabledsTable=dbObj.GetDataSetStr(strSql,"tbMember");

PagedDataSourceobj=newPagedDataSource();

obj.DataSource=dsTable.DefaultView;

obj.AllowPaging=true;

obj.PageSize=4;

intdpage=Convert.ToInt32(this.LabelPage.Text);

obj.CurrentPageIndex=dpage-1;

if(obj.CurrentPageIndex<0)

{

obj.CurrentPageIndex=0;

}

//只有一页时禁止上下页按钮

if(obj.PageCount==1)

{

LinkButtonPrev.Enabled=false;

LinkButtonNext.Enabled=false;

}

else//duoyeshi

{

if(dpage==1)

{

LinkButtonPrev.Enabled=false;

LinkButtonNext.Enabled=true;

}

if(dpage==obj.PageCount)

{

LinkButtonPrev.Enabled=true;

LinkButtonNext.Enabled=false;

}

}

this.LabelTotalPage.Text=Convert.ToString(obj.PageCount);

DataList1.DataSource=obj;

DataList1.DataBind();

}

protectedvoidButton1_Click(objectsender,EventArgse)

{

getstring();

getchanpin();

}

publicstringgetstring()

{

stringbookname=booknameBox.Text;

stringbookauthor=authorBox.Text;

stringbookpress=TextBox1.Text;

stringbookclass=DropDownList1.Text;

stringstrSql="selectBookId,BookName,BookAuthor,BookPress,BookStock,

BookPrice,BookClass,ImagefromBookInfwhere1=1";

if(bookname!

="")

{

strSql=strSql+"andBookNamelike'%"+bookname+"%'";

}

if(bookauthor!

="")

{

strSql+="andBookAuthorlike'%"+bookauthor+"%'";

}

if(bookpress!

="")

{

strSql+="andBookPresslike'%"+bookpress+"%'";

}

if(bookclass!

="")

{

strSql+="andBookClass='"+bookclass+"'";

}

return(strSql);

}

}

4.3用户注册界面

用户可以注册自己的信息,如图4-3

图4-3

SqlConnectionstrSq=dbObj.GetConnection();

stringstrSql="select*fromUserswhereUserId='"+this.TxtName.Text.Trim()+"'";

DataTabledsTable=dbObj.GetDataSetStr(strSql,"tbAdmin");

if(dsTable.Rows.Count>0)

{

Response.Write(ccObj.MessageBoxPage("该?

用®?

户¡ì已°?

存ä?

在¨²!

ê?

"));

}

else

{

stringstrId=this.TxtName.Text.Trim();

stringstrname=this.txtPassWord.Text.Trim();

stringstrAdd=this.TextBox1.Text.Trim();

stringstrPost=this.TextBox2.Text.Trim();

stringstrPwd=this.TextBox3.Text.Trim();

stringstrTel=this.TextBox5.Text.Trim();

stringstrAddSql="insertintoUsers(UserId,UserName,UserAddr,UserPost,UserPwd,UserTel)";

strAddSql+="values('"+strId+"','"+strname+"','"+strAdd+"','"+strPost+"','"+strPwd+"','"+strTel+"')insertintoBalance(UserId,UserBalance)values('"+strId+"','0')";

SqlCommandmyCmd=dbObj.GetCommandStr(strAddSql);

myCmd.Connection=strSq;

strSq.Open();

myCmd.ExecuteNonQuery();

Response.Write("");

}

4.4用户订单界

用户可以查看已支付和未支付订单,如图4-4。

图4-4

stringconbuy="selectExpenditure,NumberfromOrderFormwhereOrderId='"+TextBox1.Text+"'";

DataTablebbTable=dbObj.GetDataSetStr(conbuy,"tbOrderForm");

if(bbTable.Rows.Count!

=0)

{

stringcombuy="selectUserBalancefromBalancewhereUserId='"+Session["UserId"]+"'";

DataTablebbyTable=dbObj.GetDataSetStr(combuy,"tbBalance");

floata=float.Parse(bbTable.Rows[0][0].ToString());

floatb=float.Parse(bbyTable.Rows[0][0].ToString());

if(a>b)

{

Response.Write("");

}

else

{

SqlConnectionstrSql=dbObj.GetConnection();

SqlCommandupdCmd=newSqlCommand();

strSql.Open();

Response.Write(Session["booknum"]);

updCmd.CommandText="declare@iintselect@i=(se

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

当前位置:首页 > 医药卫生 > 基础医学

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

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