030_网络商店销售管理系统

1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
密 惠 保
项目方案需求
3.1 项目特色
项目采用Visual Studio .net2003 与SQL Server 2000进行开发。Visual Studio .net2003是微软最新推出的强大的可视化集成开发环境. VS.NET是ASP. NET中的一员,它继承了VB6.0通俗易懂的语法和可视化的应用程序界面设计,同时加入完全面向对象的设计思想,使应用程序的设计更加方便、快捷。另外,ADO.NET的引入使得访问数据库更加容易。
项目在启动时需要进行登录验证,由于用户的信息保存在服务器的数据库中,所以在本地应当连接数据库服务器的信息 把所得到的信息进行验证(服务器的名称,登录数据库的用户名、密码等),用户通过验证后在给予用户相应的权限,在进入系统进行操作。
3.2 方案选择
3.2.1 数据库需求分析
网络商店销售管理系统数据库系统,针对它要实现的业务功能,数据库中应该具有以下的模块:
用户信息:包括用户的编号、用户名、密码、帐户金额、姓名等内容。
商品信息:包括商品编号、商品名称、商品价格、描述以及所属类别等。 【买计算机毕业论文就到计算机毕业论文网】
管理员信息:与用户信息相类似,包括管理员编号、登录名、密码、角色类别等。
管理员日志:包括日志编号、发生事件以及时间。
think58.com
购物车:用来存储用户购物的信息,如商品的编号、数量等
定单:一笔完整的定单记录应该包括它所相关的商品集合以及各个商品的数量等信息
3.2.2数据库逻辑结构设计
系统共涉及9张表,分别是:用户信息表Userinfo、商品信息表Productinfo、商品类别字典表Category、购物车表Shoppingcate、定单表Orders、定单信息表Orderitems、管理员信息表Admin、管理员角色字典表Adminrole和管理员日志表Adminaction。
主要设计思想:
尽管在需求分析中,商品类别仅仅是商品的一个属性,但是数据库设计中一般将其分离出去创建单独的表。这就是面向对象的思想,这种做法有利于系统的扩展,同样的思想也体现在了Admin和Adminrole表的设计中。还有就是由于定单可能包括多种商品。而且数量不一。所以也用两个表来共同体现定单的这个实体。9张表如下:
表1:用户基本信息表Userinfo
编号 字段名称 数据类型 说明
1 Userid int 用户ID(主键)
2 Username Nvarchar(50) 用户登录名
3 Userpwd Nvarchar(50) 用户密码
4 Qustion Nvarchar(50) 密码提示问题
5 Answer Nvarchar(50) 提示问题答案
6 Acount Decimal 账户金额
7 Userrealname Nvarchar(50) 用户真实姓名 think58.com
[版权所有:http://think58.com]
8 Sex Nvarchar(50) 性别
9 Address Nvarchar(50) 地址
10 Email Nvarchar(50) 电子邮件
11 Zipcode Nvarchar(50) 邮编
表2:商品信息表Productifo
编号 字段名称 数据类型 说明
1 Productid int 商品编号(主键)
2 Productname Nvarchar(50) 商品名称
3 Productprice Decimal 价格
4 Intro Nvarchar(50) 商品介绍
5 Categoryid int 所属分类编号
6 Clickcount int 点击数量
表3:商品分类表Category
编号 字段名称 数据类型 说明
1 Categoryid int 商品分类ID(主键)
2 Categoryname Nvarchar(50) 分类名称
表4:购物车表Shopping
编号 字段名称 数据类型 说明
1 Recordid int 记录ID(主键)
2 Cartid Nvarchar(50) 购物车ID
3 Productid int 所购商品编号
4 Createdate Datetime 购物时间
5 Quantity int 购买数量
表5:定单表Orders
编号 字段名称 数据类型 说明
1 Orderid int 定单号(主键)
2 Userid int 所属用户ID
3 Orderdate Datetime 成交时间
表6:定单详细信息表Orderitems
编号 字段名称 数据类型 说明
copyright think58 [资料来源:http://www.THINK58.com]
1 Orderid int 定单号(主键)
2 Productid int 商品ID(主键)
3 Quantity int 该商品的购买数量
4 Unitcost Decimal 该商品的单价
表7:管理员信息表Admin
编号 字段名称 数据类型 说明
1 Adminid int 管理员id(主键)
2 Liginname Nvarchar(50) 管理员登录名
3 Loginpwd Nvarchar(50) 管理员密码
4 Rolreid int 管理员角色ID [资料来源:www.THINK58.com]
表8:管理员角色表Adminrole
编号 字段名称 数据类型 说明
1 Roleid int 角色ID(主键)
2 Rolename Nvarchar(50) 角色名称
表9:管理员日志表Adminaction
编号 字段名称 数据类型 说明
1 Actionid int 日志ID(主键)
2 Action Nvarchar(50) 角色名称
3 Actiondate Datetime 日志时间
4 Adminid int 所属管理员编号
3.2.3业务模式
系统分为两大功能模块:前台和后台管理员。前台包括商品信息模块、用户信息管理模块。后台有管理员信息、商品信息用户信息、销售管理等模块。后台数据库管理系统采用SQL 2000。
•查询系统:
采用浏览器-Web应用服务器-数据库服务器三层结构,供用户、各管理员在网上查询信息,编程技术主要运用C#.net
•管理系统:
采用B/S结构,供管理员对用户和商品的各种信息进行输入、查询和更新和删改的操作,实现工具主要是ASP.NET。应用程序通过ODBC与SQL2000相连。
B/S是Brower/Server的缩写,客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix或 SQL Server等数据库。浏览器通过Web Server 同数据库进行数据交互。 think58.com
B/S最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。只要有一台能上网的电脑就能使用,客户端零维护。系统的扩展非常容易,只要能上网,再由系统管理员分配一个用户名和密码,就可以使用了。甚至可以在线申请,通过公司内部的安全认证(如CA证书)后,不需要人的参与,系统可以自动分配给用户一个账号进入系统。服务器负责有效地管理系统的资源,其任务集中于:
a. 数据库安全性的要求。
b. 数据库访问并发性的控制。
c. 数据库前端的客户应用程序的全局数据完整性规则。
d. 数据库的备份与恢复。
4.模块设计、分析、开发
4.1主页面设计
主页面是直接展示给用户的部分。在这一模块中,主要包括以下自定义控件和页面的实现:
页面头部控件(HeadMenu.ascx):主要包括登录链接和搜索框
商品分类导航控件(CategoryList.ascx):显示所有商品的列表,作为页面的左侧导航目录。
4.1.1页面头部控件设计
页面头部控件是为了方便用户快速导航到某个页面的,在HeaderMenu.ascx的设计中,具有技巧性的地方是如何展示给登录用户和匿名用户不同的导航条,为了区别登录用户和匿名用户,在HeaderMenu.ascx中将匿名用户所拥有的链接放在一个Span容器中,并将Span设为“Runat=Server”,这样就方便在代码中对去是否可见进行控制。同样,将登录用户需要的链接也放在另一个Span中。另 内容来自think58 [资料来源:http://THINK58.com]
外,“搜索”也是一个超级链接,但它并非链接到某个Url。而是执行一条JavaScript语句“javascript:searh.submit()”,即把页面提交。如下图所示:
图3登录用户导航条 图 4匿名用户导航条
控件代码的实现
在HeaderMenu的代码中,主要是判断用户的情况并控制Span容器的可见性。在HeaderMenu.ascx.cs中定义了下面的方法:
void showButton()
{
//是否是匿名用户
if (Request.IsAuthenticated != true)
{
//登录用户区域不可见
areaLoggedIn.Visible = false;
//匿名用户区域可见
areaLoggedOut.Visible = true;
}
else
{
areaLoggedIn.Visible = true;
areaLoggedOut.Visible = false;
}
}
这样在窗体加载即执行Pvage_Load()是调用上面的方法就可以实现效果了:
Private void Page_Load(object sender,System.EventArgs e)
{
showButton();
}
本文来自think58
[资料来源:http://THINK58.com]
上一篇:162_电子相册