资源描述
软件学院课程考查报告
课程名称:ASP.NET高级应用
分数:
项目名称:网络书城的设计与实现
考查时间:2012年12月
班级:10软工.net2班 姓名:张孟杰 学号:105150240027
需求分析:
随着网络在中国的广泛普及,网络支付手段的逐步完善,越来越多的中国人逐渐习惯于网上购物,习惯于鼠标点击下订单,送货上门的快捷便利的购物方式。在这个时间就是金钱的时代,省时的购物成为了人们的首选,传统书店的购书观念正在被网上书店这一方便快捷的购书方式所冲击。网上书店在国际互联网上可以实现的商务功能已经越来越多样化,本产品肯定能给顾客朋友们带来意想不到的快捷,百万图书任你搜,只有你想不到的,没有我们做不到的。本项目采用vs2010和sql2008为开发工具,以ASP.NET,核心技术,实现了网上自由搜索和购买图书的功能。而且对于网上书店管理员来说,也更方便简单的管理图书的添加和删除等操作,更有利于书店的长期发展。综上所述,网上书店已经成为互联网时代购书者的最佳选择,必将获得巨大的成功。下面是功能需求分析。
1.用户功能分析 用户需要注册成会员用户,需要用户注册使用的功能有:
1) 用户注册。
2) 用户添加图书到购物车的功能。购物车的设计,必须做到清晰、简单和方便。
3) 用户信息的自我管理。用户的注册信息中,用户的地址、联系方式等都是图书配送的重要依据,所以应该允许用户对这些信息进行修改,并使得用户在用户信息中,可以查阅购物详情等信息。
2.管理功能分析
对网站的管理者来说,分析网站的管理要求,以下功能是必不可少的。
1) 新书登记。将新书的各种信息:书名、价格、出版社、作者、
2)封面等录入到数据库中,是网站管理中的一项基本的工作。
用户管理。网站应该可以对用户进行诸如删除、查看部分用户信息等功能。
3)订单管理。这是最重要的管理功能。管理者应该可以每天清晰的查阅有多少订单生成、每个订单的详情等信息,并了解个订单的处理情况。
对于销售厂家来说可以浏览书店信息,也可以购买图书。但不可以管理图书。
4)信息的实时发布
新闻让客户对充分了解书店的动向,决策,新闻可用来发
布本行业或相关行业的动态,让客户及时了解行业变化.
5)、购书的详细过程
会员注册-->选择图书-->去下订单
6)、多种检索方式
本系统运用了先进的检索方式,按出版社、按书名,按作者,按图书价格,等多种查询方法,同时查询方法简单易懂。
7)、图书展示
(1)新书上架 (2) 图书新闻游览 (3) 图书详细分类(4)这里设计了一个留言板 ,可以写下书店的建议和意见。
---进入友情链接:可以去一些友情链接网站多多浏览信息。
4、图书管理
(a)、添加新图书:管理员和添加人员可以通过这个功能向书店录入新的图书。
(b)、查看与修改:管理员与添加人员所拥有的权限,进行以往添加过的图书进行查看与修改,假如有某种图书出现缺书情况,您可以利用此修改功能进行图书修改。由于时间久了,数据库中的图书量也就大了,您可以利用图书搜索功能查找到你需要修改的图书,修改方法与添加新图书方法一样。
5、图书订单管理
6、用户管理
管理网站用户:此功能只有最高权限管理员拥有,可管理前台的所有个人用户,拥有查看、修改、删除权限,也可根据某用户查找此用户所有订单。利用查找用户功能可查询到你需用查找的用户。
管理后台用户:此功能只有最高权限管理员拥有,这是用来管理后台管理员的功能、可能添加、修改、删除新的管理员以及分配权限。
7、信息发布管理
添加首页新闻:由最高权限管理员进行操作,可添加书店新闻,显视在网站首页新闻栏目上。
新闻修改删除:由最高权限管理员进行操作,可修改、删除以往添加过的新闻。
首页公告设置:由最高权限管理员进行操作,或修改显视在书店首页的滚动公告,也可设置为本书店的简介信息。
设计过程:
一、 网上书店设计过程流程图
功能分析:
1. 对于用户:打开首页,然后可以浏览首页图书新闻,登陆可以购买图书,可以加入购物车评论图书,和查询图书。
2. 对于管理员,可以对图书进行增删改查,可以添加图书公告图书新分类等等,对用户进行管理,对用户评论进行管理,对订单管理。
二、数据库设计图
1>图书大分类 类别表bigsort
2>图书表book表
3>评分表level表
4>购物车orderbook表
5>图书小分类类别表
6>用户权限表userqx表
实现过程:
★ 本网站我主要有两个大部分构成。
第一部分:
Admin下面的页面包括1.大类管理bigsort.aspx,2.图书管理bookadmin.aspx,3.后台管理页面的css的底部页面显示bottom.aspx,4.后台管理页面的左边部分的管理显示left.aspx5.留言管理页面leveladminaspx,6.留言信息页面levelinfo.aspx 7.logoin.aspx登录页面8.订单管理页面orderadmin.aspx9.订单信息页面orderinfo.aspx10.注册页面register.aspx11.小类管理页面12.后台管理页面的css上面部分显示smallsort.aspx13.用户管理页面useradmin.aspx.
第二部分:
浏览每本书的信息的页面about.aspx2.图书分类显示页面class.aspx3.网站主页面default.aspx4.图书订购页面order.aspx。
★ 本网站数据库包括五个表图书1.类别管理表bigsort,2.图书表book,3.用户评价表level,4.订单表orderbook,5.图书小分类表smallsort,6用户权限表userqx
1. 网站首页面
2.图书详细页面截图
3. 后台管理图书页面
课程心得:
课程总结:
刚开始感觉网上书店系统比较容易,可是当我开始做的时候却发现真的不容易,首先是整个网站的构思,要实现的功能有哪些,大概要有多少页面,数据库的设计大概有多少表,对于个人而言,最难得是对整个网站这么多页面的把控,后来加上以前写过的类似网站系统还有老师的帮助以及同学的解答,我最后磕磕绊绊写出了,虽然不是很好,但勉强实现功能,最后总结一下写网站时需要注意的,
1. 在做购物网站过程中,购物车的模块很关键,其逻辑比起其他模块要稍稍复杂一点。
2. 整个网站的页面数据传递有很多种方式,但其安全性和灵活度都不一样,要考虑相 应的情况选择合适的传值方式。
3后台数据完善后,要考虑如何将数据更合理地呈现给前台的用户,不需要呈现所有 数据,要站在用户的角度进行思考,将有效呈现数据最大提高。
4,对于一些数据库绑定控件的使用,这次让我又温故而知新了,以前总是对控件一知半解或者只是纯属拖拽而已,现在感觉到学号asp真不容易,,以后我会为了它好好努力的,当看到自己居然也能做出一个网站时,真的很开心呢。
总之,网上书店这个网站的练习让我学到了很多,并且还懂得了 ,要注重基础踏踏实实一步一步好好做。
附 录:(核心代码)
1.本网上书店主页面default.aspx下面的代码:
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
databand();
}
}
/// <summary>
/// Sqlbase.ExecuteTable 读取一张表的内容,返回类型为DataTable 即一张表
/// </summary>
public void databand()
{
//书讯
rpliset.DataSource = Sqlbase.ExecuteTable(CommandType.Text, "select top 9 * from book", null);//CommandType.Text为sql语句还有种为存储过程CommandType.StoredProcedure null代表为不要用存过程
rpliset.DataBind();
//类别
rpbig.DataSource = Sqlbase.ExecuteTable(CommandType.Text, "select top 3 * from bigsort", null);
rpbig.DataBind();
for(int i=0;i<rpbig.Items.Count;i++)
{
Repeater rpsmalls = (Repeater)rpbig.Items[i].FindControl("rpsmall");//取得小类别的Repeater控件
HiddenField ids=(HiddenField)rpbig.Items[i].FindControl("types");//取得大类别的id
rpsmalls.DataSource = Sqlbase.ExecuteTable(CommandType.Text, "select top 8 * from smallsort where bigtypeid="+Convert.ToInt32(ids.Value), null);//根据大类id读取相应小类别
rpsmalls.DataBind();
}
//推荐图书
rptui.DataSource = Sqlbase.ExecuteTable(CommandType.Text, "select top 5 * from book where ishot=1 order by id desc", null);
rptui.DataBind();
//热门图书
rprei.DataSource = Sqlbase.ExecuteTable(CommandType.Text, "select top 10 * from book where istop=1 order by id desc", null);
rprei.DataBind();
}
protected void btnserch_Click(object sender, EventArgs e)
{
Response.Redirect("class.aspx?id=-1&name=" + TextBox1.Text);
}
protected void rpliset_ItemCommand(object source, RepeaterCommandEventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
Response.Redirect("admin/logoin.aspx");
}
protected void Button2_Click(object sender, EventArgs e)
{
Response.Redirect("admin/register.aspx");
展开阅读全文