武 汉 科 技 大 学 城 市 学 院
课 程 设 计 报 告
课程设计名称 WEB应用开发(ASP.NET)课程设计
1. 课程设计教学条件要求 Visual Studio2010+SQL Server2005
2. 课程设计任务
1、主要功能
设计一个服装销售的电子商务网站,该网站的用户分别是:客户和网站管理员。顾客可以在该购物网站进行服装购买,用SQL Server2005创建后台数据库,然后利用ASP.NET技术编写程序实现对数据库的操作,按照要求完成所有的功能和模块。
读者的主要功能模块包括:
(1)用户注册与登录
(2)查询、订购商品
(3)查看、修改自己的购物信息
(4)购物结算
网站管理员的主要功能模块包括:
(1)管理员登录
(2)服装新增、服装信息修改、查询
(3)订单查询以及订单处理
2、主要数据库表单
(1)用户基本信息表单
主要字段有:用户编号、用户名、性别、E-mail、联系电话,用户密码、注册时间、累计积分、等级
(2)商品信息表单
主要字段有:商品编号、商品名称、商品数量、商品单价、商品类型、商品介绍,是否推荐,上架日期、商品积分。
(3)商品订购表单
主要字段有:订单号、商品编号、用户编号、用户名、订购日期、地址、付款方式、联系方式、运送方式、订单核对、备注。
3. 课程设计报告书主要内容
1、系统功能模块设计:
2、数据库设计:系统主要的数据库表单的结构定义。
3、各功能模块的程序设计及运行测试结果。
4、小结:收获、体会与建议
5、参考文献:按正确格式列出3篇以上的参考文献
4.课程设计参考资料
[1] 段克奇 . ASP.NET基础教程 . 北京. 清华大学出版社. 2009
[2] 吴志祥. 高级Web程序设计—ASP.NET网站开发.北京. 科学出版社.2013
[3] 郑齐心. ASP.NET项目开发案例全程实录(第2版). 北京:清华大学出版社.2011
1需求分析
系统介绍:随着当今互联网的迅速发展,信息借以网络平台,不存在时间和地域的限制,传播的更为迅速,经济的发展使得电脑得以普及,人们对网上购物要求以及需求日益增加。网上购物的兴起诞生了一批B2C和C2C帝国,淘宝、京东、当当等就是其中的代表,此外还诞生了众多的追随者。当前形势下,覆盖全方位产品的购物平台市场上基本趋于饱和,要想在电子商务的竞争中获得生存空间,必须对网站内容进行定位,网上购物可以解决实体服装店的众多问题,而且用户不需出门,只要会上网就可以满足自己购物的欲望,并且可以享受送货上门的服务。
整个平台分为前台和后台,前台为商品展示和销售界面,面向广大消费者,后台为管理员界面,面向网站管理和运营者。在前台顾客可以注册,登录并浏览商品,也可直接浏览,查看商品信息,但购买商品必须登陆才能进行。在后台管理人可以管理商品、订单等信息,并对此做相应的增删查改。
其开发内容主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。网站建设基于SQL Server2005和Visual Studio2010为平台,以ASP.NET为编程基础,功能强大,安全性好,易于操作,可视化的界面开发出更为完备的应用程序。经过调试、编译与实现,该程序界面友好、程序设计风格朴素,简单明了。
此系统的主要功能分为商品展示界面功能、用户信息界面功能和系统管理员界面功能:
(1) 商品展示界面功能:
1.用户注册,登录功能:用户可以进行注册,登录之后,才可进行相关操作。
2.查看商品:用户可以在网页中浏览众多服装,也可以查看某件服装的详细信息。
3.购物功能:用户可以实现将商品加入购物车的功能,提交并生成订单。
(2)用户信息界面功能:
1.用户注册,登录功能:用户可以注册为网站会员,登录之后,进行相关操作。
2.订单查询:用户登录后可对自己曾经购买过的商品进行订单查询。
(3)管理员界面功能:
1.商品管理:管理员可以添加商品和对商品信息进行相应的修改。
2.订单管理:管理员可以对用户所提交的订单进行查看、删除及更改订单状态。
3.管理员管理:添加、修改管理员的用户名及密码,以及删除管理员。
(1)用户系统: 用户可以直接查看相关商品的详细介绍、登录添加商品至购物车生成订单,并进行结算。
(2)商品系统:管理员可以在线添加新产品,并对添加的商品进行查询、更新及删除操作。
(3)管理员:该系统为后台管理员使用,通过修改,更新,删除可以实现对商品管理,订单管理。
(1)用户:用户可以在网站上对商品进行浏览和查询,并购买商品。
(2)管理员:管理员通过后台登录的使用,可以实现对商品、订单、管理员进行相应的增删查改。
服装销售电子商务网站系统主要分为两大模块,分别是用户功能模块和管理员功能模块,用户在不登录情况下可以浏览所有商品信息,但只有在登录之后才可加入购物车、生成订单,完成购买,管理员必须进行管理员登录才可进行一系列修改,更新,删除的操作。
用户功能模块主要包括用户注册,浏览商品,加入购物车,提交订单。注册页面主要包括用户名,密码,性别,年龄,电话等几个方面。商品信息浏览方面主要有展示各类服装信息,用户可根据自己需要查看浏览自己需要的服装信息,首页设置有热销商品。在商品详细内容页面有商品的价格,数量及详细介绍,未登录用户在加入购物车时将被提示登录后才能继续购买,并提交订单,当完成整个订单流程,管理员会对历史订单订单状态进行修改。管理员功能模块主要包括管理员登陆,订单管理,药品管理,用户管理,管理员等管理界面,进行相关的修改,更新,删除的操作。
word/media/image1.gif
word/media/image2.gifword/media/image3.gif
word/media/image4.gifword/media/image5.gifword/media/image6.gifword/media/image7.gifword/media/image8.gifword/media/image9.gif
图2.1用户能结构图
word/media/image10.gifword/media/image11.gifword/media/image12.gifword/media/image13.gifword/media/image14.gifword/media/image15.gifword/media/image16.gifword/media/image17.gifword/media/image18.gifword/media/image19.gifword/media/image20.gifword/media/image21.gif
图2.2网站管理员功能结构图
2.2.1表设计
1.管理员表设计
管理员表的主要功能是:用来存储管理员的信息。详细见表2-1:
表2-1管理员表
2.用户表设计
用户表的功能是:用来存储用户注册时的信息,其中包括用户注册的用户名,密码以及用户个人的真实信息有年龄,电话,性别等详细信息。详细见表2-2。
表2-2 用户表
3.服装表设计
服装表的主要功能是:用来存储商品详细信息,其中包括商品名称、商品数量、商品价格、商品图片等信息。详细见表2-3:
表2-3 服装表
4.购物车表设计
购物车表的主要功能是:用来存各用户加入购物车的商品编号、商品名称以及购买数量。详细见表2-4:
表2-4 购物车表
5.订单表设计
订单表的主要功能是:用来存储用户提交的订单,其中包括订单编号、商品编号、商品名称、用户名、购买数量、购买总额、订单状态、收件人电话、收件人地址、下单时间等内容。详细见表2-5:
表2-6 订单表
6.服装类型表设计
服装类型表的主要功能是:用来存储服装类型的详细信息,其中包括类型编号、类型名、图片,详细见表2-6。
表2-6 服装类型表
7.详细订单表设计
详细订单表的主要功能是:用来存储订单信息,包括订单编号、用户名、服装编号、数量。详细见表2-7。
表2-7 详细订单表
服装销售网站为一个开放性网站,任何用户都可进行浏览,访问,但用户只有注册了并登陆后才可将商品加入购物车,提交订单,查看订单等等。
用户未在网站首页进行登录,在上装、下装、裙装等页面都可以进行登录,点击登录,进入登陆页面,成功登陆之后可进行所有操作。
word/media/image22.gif
图3.1 用户登陆界面
图3.2 网站首页界面
用户可以将所需商品加入购物车,在购物车中可选择删除不需要的商品,并进行结算。如图:
图3.3 购物车界面
用户点击商品可以进入商品详细信息界面,并进行购买,如图:
图3.4 商品详细信息界面
用户查看自己购买的商品,并对自己订单信息进行查询。如图:
图3.5 订单查询界面
图3.6 新用户注册界面
图3.7 结算管理界面
图3.8 商品分类界面
管理员必须进行登录,才可进行所有的操作。
图3.9 管理员登陆界面
图3.10商品新增界面
图3.11 商品管理界面
图3.12 订单查询界面
图3.13 订单处理界面
服装在线商店购物平台主要采用ASP.NET等技术进行开发,采用CSS+DIV技术,使系统布局更加合理美观。母版页提供了开发人员已通过传统方式创建的功能,这些传统方式包括重复复制现有代码、文本和控件元素;使用框架集;对通用元素使用包含文件;使用 ASP.NET 用户控件等。 使用母版页可以集中处理页的通用功能,以便可以只在一个位置上进行更新。因此,本系统主要建立了一个的母版页 ,使系统更加专业化。而CSS的使用,利用CSS的使用,可以很好的减少页面http的请求,从而大大提高页面的性能,同时它能减少图片的字节。因此,CSS的使用带来的合理化的布局。与此同时,整个网站页面增加了部分的Javascript,为网页增加了动态的图片显示,也加入了一些广告的元素,是页面看起来更加专业化。
另一方面,本系统主要采用 SQL技术和Visual Studio 2010来开发。SQL功能强大、简单易学、使用方便,已经成为了数据库操作的基础,并且现在几乎所有的数据库均支持SQL。
protected void btndl_Click(object sender, EventArgs e)
{
string Username = username.Text.Trim();
string Password = password.Text.Trim();
SqlConnection conn = new SqlConnection();
conn.ConnectionString = @"server=PC-31\SQL2005;database=fuzhuang_DB;integrated security=sspi";
string sqlstring = "select 用户名,密码 from 用户表 where 用户名='" + Username + "'";
SqlDataAdapter sda = new SqlDataAdapter(sqlstring,conn );
DataSet ds = new DataSet();
sda.Fill(ds);
if (ds.Tables[0].Rows.Count == 0)
{
Response.Write("");
Response.End();
}
else
{
string password_db = ds.Tables[0].Rows[0]["密码"].ToString();
if (Password == password_db)
{
Session["用户名"] = Username;
Response.Write("");
Response.End();
}
else
{
Response.Write("");
Response.End();
}
}
protected void btndl_Click(object sender, EventArgs e)
{
string user = txtusername.Text.Trim();
string pwd = txtpwd.Text.Trim();
string pwdagain = txtpwdagain.Text.Trim();
string name = txtname.Text.Trim();
string Sex = sex.SelectedValue;
string adress = txtdizhi.Text.Trim();
string phone = txtphone.Text.Trim();
string sqlString = "insert into 用户表 (用户名,密码,姓名,性别,联系地址,联系电话) values ('" + user + "','" + pwd + "','" + name + "','" + Sex + "','" + adress + "','" + phone + "')";
SqlConnection conn = new SqlConnection();
conn.ConnectionString = @" server=PC-31\SQL2005; database=fuzhuang_DB;integrated security=sspi";
conn.Open();
SqlCommand cmd = new SqlCommand(sqlString, conn);
if (cmd.ExecuteNonQuery() == -1)
{ this.Label13.Text = "注册失败!"; }
else
{ this.Label13.Text = "注册成功!"; }
conn.Close();
conn.Dispose();
}
protected void btnqx_Click(object sender, EventArgs e)
{
this.txtusername.Text = " ";
this.txtpwd.Text = " ";
this.txtpwdagain.Text = " ";
this.txtname.Text = " ";
this.sex.Text = " ";
this.txtdizhi.Text = " ";
this.txtphone.Text = " ";
}
public partial class xiangxi1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string id = Request.QueryString["id"].ToString();
SqlConnection conn = new SqlConnection();
conn.ConnectionString =@"server=PC-31\SQL2005;database=fuzhuang_DB;integrated security=sspi";
SqlDataAdapter sda = new SqlDataAdapter();
string sql = "select * from 服装表 where 服装编号="+id;
sda.SelectCommand = new SqlCommand(sql,conn);
DataSet ds = new DataSet();
sda.Fill(ds);
fm.Text = ds.Tables[0].Rows[0][2].ToString();
ms.Text = ds.Tables[0].Rows[0][3].ToString();
cm.Text = ds.Tables[0].Rows[0][4].ToString();
ys.Text = ds.Tables[0].Rows[0][5].ToString();
nl.Text = ds.Tables[0].Rows[0][7].ToString();
jg.Text = ds.Tables[0].Rows[0][6].ToString();
image.ImageUrl = "image/"+ds.Tables[0].Rows[0][9].ToString();
}
protected void btnbuy_Click(object sender, EventArgs e)
{
Response.Redirect("jiesuanguanli.aspx");
}
}
public partial class shangzhuang : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string id = Request.QueryString["id"].ToString();
SqlConnection conn = new SqlConnection();
conn.ConnectionString = @"server=PC-31\SQL2005;database=fuzhuang_DB;integrated security=sspi";
SqlDataAdapter sda = new SqlDataAdapter();
string sql = "SELECT dbo.服装表.图片, dbo.服装表.服装名, dbo.服装表.价格, dbo.服装类型表.类型编号, dbo.服装表.类型编号 AS Expr1 FROM dbo.服装表 INNER JOIN dbo.服装类型表 ON dbo.服装表.类型编号 = dbo.服装类型表.类型编号 where dbo.服装类型表.类型编号='A'";
sda.SelectCommand = new SqlCommand(sql, conn);
DataSet ds = new DataSet();
sda.Fill(ds);
}
protected void btndl_Click(object sender, EventArgs e)
{
}
protected void btnzc_Click(object sender, EventArgs e)
{
Response.Redirect("zhuce.aspx");
}
protected void LinkButton1_Click(object sender, EventArgs e)
{
Response.Redirect("jiesuanguanli.aspx");
}
protected void LinkButton2_Click(object sender, EventArgs e)
{
Response.Redirect("gouwuche.aspx");
}
}
protected void btnxz_Click(object sender, EventArgs e)
{
string XZ = dpleixing.SelectedValue;
string FB = txtfb.Text.Trim();
string FM = txtfm.Text.Trim();
string CM = txtcm.Text.Trim();
string YS = txtys.Text.Trim();
string JG = txtjg.Text.Trim();
string AGE = txtage.Text.Trim();
string SL = txtsl.Text.Trim();
string IMAGE = image.ImageUrl.ToString();
string MS = txtms.Text.Trim();
string sqlString = "insert into 服装表 (服装编号,类型编号,服装名,商品描述,尺码,颜色,价格,适用年龄,数量,图片) values ('" + FB + "','" + XZ + "','" + FM + "','" + MS + "','" + CM + "','" + YS + "','" + JG + "','" + AGE + "','" + SL + "','" + IMAGE + "')";
SqlConnection conn = new SqlConnection();
conn.ConnectionString = @" server=PC-31\SQL2005; database=fuzhuang_DB;integrated security=sspi";
conn.Open();
SqlCommand cmd = new SqlCommand(sqlString, conn);
if (cmd.ExecuteNonQuery() == -1)
{
Response.Write("");
conn.Close();
}
else
{
Response.Write("");
conn.Close();
}
conn.Close();
conn.Dispose();
}
private string GetFilname()
{
Random rnd = new Random();
int a = 1000;
int b = 9999;
string str = string.Empty;
str += DateTime.Now.Year.ToString();
if (DateTime.Now.Month < 10)
{
str += "0" + DateTime.Now.Month.ToString();
}
else
{
str += DateTime.Now.Month.ToString();
}
if (DateTime.Now.Day < 10)
{
str += "0" + DateTime.Now.Day.ToString();
}
else
{
str += DateTime.Now.Day.ToString();
}
if (DateTime.Now.Hour < 10)
{
str += "0" + DateTime.Now.Hour.ToString();
}
else
{
str += DateTime.Now.Hour.ToString();
}
if (DateTime.Now.Minute < 10)
{
str += "0" + DateTime.Now.Minute.ToString();
}
else
{
str += DateTime.Now.Minute.ToString();
}
if (DateTime.Now.Second < 10)
{
str += "0" + DateTime.Now.Second.ToString();
}
else
{
str += DateTime.Now.Second.ToString();
}
str += rnd.Next(a, b).ToString();
return str;
}
protected void btnsc_Click(object sender, EventArgs e)
{
string Filename = FileUpload1.PostedFile.FileName;
int Filesize = FileUpload1.PostedFile.ContentLength;
string Txt = Filename.Substring(Filename.LastIndexOf(".")).ToLower();
int Maxsize = 300 * 1024;
string Filetype = ".gif,.jpg";
string NewFilename = GetFilname() + Txt;
if (Filetype.Contains(Txt))
{
if (Filesize <= Maxsize)
{
FileUpload1.PostedFile.SaveAs(Server.MapPath(NewFilename));
Response.Write("");
image.ImageUrl = NewFilename;
}
else
{
Response.Write("文件太大");
}
}
else
{
Response.Write("类型选择错误");
Response.End();
}
}
课程设计小结
在这次实训课上,我们相互探讨,相互学习,相互监督。课程设计是培养学生综合运用所学知识发现提出分析和解决实际问题锻炼实践能力的重要环节是对学生实际工作能力的具体训练和考察过程通过理论与实际的结合、人与人的沟通,进一步提高思想。过程之中既检验了我过去所学的相关知识,又明白了一件任务摆在面前时,我需要做些什么,计划与行动,头脑中如果没有一个完整的计划,将难以开展接下来的行动,最终也不会有成果。
通过这次ASP.NET课程设计,本人在诸多方面都有提高。综合运用本专业所学课程的理论和实际知识,培养和提高了学生的动手能力,巩固和扩充了所学课程知识,对相关课程也有较为全面的复习,独立思考能力也有了提高。在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。它使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和思考的能力。
在课程设计过程中,收获知识,提高能力的同时,我也学到了很多人生的,懂得怎么样去制定计划,怎么样去实现这个计划,并掌握了在执行过程中怎么样去克服心理上的不良情绪。
因此在以后的生活和学习的过程中,我一定会把课程设计的带到生活中,不畏,勇往直前!
参考文献
[1] 段克奇 . ASP.NET基础教程 . 北京. 清华大学出版社. 2009
[2] 郑齐心. ASP.NET项目开发案例全程实录(第2版). 北京:清华大学出版社.2011
[3] 张跃廷. ASP.NET从入门到精通. 北京:清华大学出版社.2008
[4明日科技. ASP.net项目开发案例全程实录. 北京:清华大学出版社. 2011
[5] 房大伟等.ASP.NET 开发实战1200例. [M]北京.清华大学出版社.2011
课程设计评分表
本文来源:https://www.2haoxitong.net/k/doc/700f1bd1591b6bd97f192279168884868662b8ef.html
文档为doc格式