Web程序设计学习报告

CHANGZHOU INSTITUTE OF TECHNOLOGY

Web程序设计学习报告

二级学院(直属学部): 计算机信息工程学院 专业: 软件工程 班级: 11软件二 学生姓名: 程一鸣 学号: 11030603

20xx年6月

1

目录

一.概述 ........................................................................ 3

二.可行性分析 ............................................................ 4

三.实现功能 ................................................................ 5

四.总体设计和详细设计 ............................................ 6

五.相关设计代码 ........................................................ 8

六.实验心得体会 ...................................................... 16

2

一. 概述

随着网络的飞速发展和普及,越来越多的 用户习惯上网购物。本系统的主要目的就是为用户提供一个方便的网上购物平台。利用本系统,用户可以直接在网上购物并自己的需要对商品进行浏览、查看。本系统遵循软件工程标准,并按照软件工程规定的流程进行项目的开发。

19xx年底,随着互联网高潮来临。中国网络购物的用户规模不断上升。20xx年中国网络购物市场延续用户规模、交易规模的双增长态势。20xx年中国网络购物市场交易规模接近5000亿,达4980.0亿元,占到社会消费品零售总额的3.2%;同时,网络购物用户规模达到1.48亿,在网民中的渗透率达30.8%(《2013-2017中国网络购物行业市场前瞻与投资预测分析报告》统计数据显示)。对于一些传统企业而言,通过一些传统的营销手段已经很难对现今的市场形成什么重大的改变了。如果想将企业的销售渠道完全打开,企业就必需引进新的思维和新的方法。而网络购物正好为现今的传统企业提供了一个很好的机会与平台,传统企业通过借助第三方平台和建立自有平台纷纷试水网络购物,构建合理的网络购物平台、整合渠道、完善产业布局成为传统企业未来发展重心和出路。

购物车主要是为广大网上顾客购物的资源平台。购物车主要目标是建设在网上对用户进行信息服务互动平台。

3

二. 可行性分析 (1)系统可行性

网上购物平台主要是对后台管理和前台操作。后台管理是管理员对本网站的维护,通过订单管理(四种订单状态)、商品管理(商品添加、类别 添 加)、会员管理(添加会员)、系统管理(上传管理)等功能达到对网站的管理。前台操作是用户登录到本网站,可以进行用户注册,找到自己想要买的商 品,装入物车,提交定单进行购买。网上购物平台的特点是客户和 商品信息量很大,管理员需要整理的信息很多,为让管理员轻松、方 便、快捷的管理,该平台采用符合购买商品基本的原则,满足广大客 户的日益增长的数量,并达到操作过程中的直观、方便、实用、安全 等要求。

(2)经济可行性

缩短了供货周期,压缩了库存,裁减了人员,于是就可以依据缩短时间的天数和库存物资的减少,以及裁减人员的工资等,使原材料和劳动力资源得到更合理的利用,从而提高了大多数信息化建设项目降低了不少成本,避免了多消耗,减少多管理费用的支出等等。

三. 实现功能

1.主要功能:浏览商品、加入购物车、订单管理、商品购买、用户管理等。

(1) 商品信息发布功能

4

发布销售的商品信息,注册取得授权后可在系统后台随时增添、修改、更新销售商品信息

(2) 网上购物功能

买方先通过登录,成功后浏览商品,可以下订单并且查看自己的订单,随后结账购买。

(3) 订单管理功能

订单下达时会在后台产生订单号、商品号、下单用户账号、价格、总计等。

(4) 用户管理功能

用户可以注册,并在登录时检测账号正确性。

(5) 商品管理功能

管理员可以对商品进行管理,增添新商品或者修改库存等。

2.功能实现流程:

(6) 订购。即把所选物品添加到购物车。

(7) 修改。根据自己的需求可以修改已购物品的数量。也可以删除

已选商品。

(8) 显示购物车内所选的物品及单价。

(9) 结算。到购物车里处进行结算。

(10)清空购物车。

5

四. 总体设计和详细设计

4.1总体设计

本购物车系统共分为五个模块。分别为登陆模块、注册模块、商品列表模块、购买模块、购物车模块。每个模块之间联系紧密,登陆的会员账号也必须和数据库中的信息匹配才能登陆成功。新创建的会员也会添加到数据库中,同时订单和已购买的文件都可以在数据库中显示出来,。

Web程序设计学习报告

购物网站总体结构图

6

五. 相关设计代码

登陆模块:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

using shoppinglibrary;

namespace Shopping

{

public partial class welcom : System.Web.UI.Page {

Register r = new Register();

public string name, pass;

protected void Page_Load(object sender, EventArgs e) {

}

public void logbutton_Click(object sender, EventArgs e) {

name = Request.Form["required1"].ToString(); Product.myname = name;

pass = Request.Form["required2"].ToString(); if (r.judge(name, pass))

{

Session["user"] = name;

Response.Redirect("/GoodsList.aspx"); }

else

Response.Write("<script>alert('密码或用户名错误,入?')</script>");

}

}

7

请重新输

}

注册模块:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

using shoppinglibrary;

namespace Shopping

{

public partial class login : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

}

protected void logbutton_Click(object sender, EventArgs e)

{

if (Request.Form["pass2"].ToString() != Request.Form["pass1"].ToString()) Response.Write("<script>alert('两次密码不正确)</script>");

else

{

try

{

string pass = Request.Form["pass1"].ToString();

string name = Request.Form["name"].ToString();

var entity = new Register();

entity.save(name, pass);

Response.Write("<script>alert('注册成功')</script>");

Response.Redirect("GoodsList.aspx");

}

catch (Exception)

8

{

Response.Write("<script>alert('用户名已经存在!')</script>");

}

}

}

}

}

商品列表模块:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

using shoppinglibrary;

namespace Shopping

{

public partial class GoodsList : System.Web.UI.Page

{

Register r = new Register();

protected void Page_Load(object sender, EventArgs e)

{

if (Session["user"] == null)

{

Label1.Visible = false;

Button4.Visible = false;

}

if (Session["user"] != null)

{

Label1.Text = "欢?迎?你? " + Session["user"] + ",祝你购物愉快!"; Button2.Visible = false;

Button3.Visible = false;

}

if (!Page.IsPostBack)

9

{

var products = Product.GetProducts();

Repeater1.DataSource = products;

Repeater1.DataBind();

}

}

protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e) {

HiddenField field = (HiddenField)e.Item.FindControl("HiddenId");

Response.Redirect("BuyGoods.aspx?id=" + field.Value);

}

protected void Button2_Click(object sender, EventArgs e)

{

Response.Redirect("welcome.aspx");

}

protected void Button3_Click(object sender, EventArgs e)

{

Response.Redirect("login.aspx");

}

protected void Button4_Click(object sender, EventArgs e)

{

Session["user"] = null;

Response.Redirect("GoodList.aspx");

}

}

}

购物车模块:

nusing System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

using Shopping.Class;

10

using shoppinglibrary;

namespace Shopping

{

public partial class ShowCart : CartPage

{

private Cart cart1;

public static List<PurchaseItem> li;

private void BindData()

{

object cart = GetCart();

if (cart != null)

{

var list = ((Cart)cart).GetPurchaseList();

li = list;

Repeater1.DataSource = list;

Repeater1.DataBind();

}

}

protected void Page_Load(object sender, EventArgs e)

{

if (!this.IsPostBack)

{

BindData();

}

}

protected void Button1_Click(object sender, EventArgs e)

{

Response.Redirect("GoodsList.aspx");

}

protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e) {

HiddenField field = (HiddenField)e.Item.FindControl("HiddenId");

TextBox txtCount = (TextBox)e.Item.FindControl("TxtCount");

cart1 = GetCart();

cart1.ChangeCount(field.Value, int.Parse(txtCount.Text));

SetCart(cart1);

Response.Redirect("ShowCart.aspx");

}

protected void Button2_Click(object sender, EventArgs e)

11

{

if (Product.myname == null)

{

Response.Write("<script>alert('

ò);location.href='GoodsList.aspx';</script>");

}

else

{

cart1 = GetCart();

Register r = new Register();

foreach (var i in li)

{

r.SaveRecord(i.Product.Id, i.Product.Name, i.Product.Price, i.Count, i.Summary);

}

SetCartTime(cart1);

Response.Write("<script>alert('

|');location.href='GoodsList.aspx';</script>");

}

}

}

} 购买成功请先登录再进行购买

购买模块

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

using Shopping.Class;

using shoppinglibrary;

namespace Shopping

{

public partial class BuyGoods : CartPage

{

Register r = new Register();

protected void Page_Load(object sender, EventArgs e)

{

if (!this.IsPostBack)

{

12

string id = Request.QueryString["id"];

var product = Product.GetProductById(id);

Label1.Text = r.getRest(int.Parse(id)).ToString(); Image1.ImageUrl = product.Url;

}

}

protected void Button1_Click(object sender, EventArgs e) {

{

{

号?

{

Product = product, Count = count };

cart.Purchase(purchaseItem);

SetCart(cart);

Response.Redirect(

}

Response.Write(

}

{

Response.Write(

}

}

}

}

try int num = int.Parse(TextBox1.Text); int total = int.Parse(Label1.Text); if (num <total&&num>0&&num!=total) string id = Request.QueryString["id"]; //获?取?商Θ?品·编括?var product = Product.GetProductById(id); //获?取?商Θ?品· int count = int.Parse(TextBox1.Text); //获?取?购o买ò数簓量? var purchaseItem = new PurchaseItem() //新?建¨购o买ò项?目? //商Θ?品· //数簓量? var cart = GetCart(); "ShowCart.aspx"); else "<script>alert('购买出错!!!')</script>"); catch (Exception) "<script>alert('购买出错!!!')</script>"); 13

所使用的调用数据库的方法

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

namespace shoppinglibrary

{

public class Register

{

Database1Entities entity = new Database1Entities(); public void save(String name, String password) {

Member member = new Member();

member.Name = name;

member.PassWord = password;

entity.AddToMember(member);

entity.SaveChanges();

}

public int getRest(int id)

{

var t = from r in entity.Good

where r.Id == id

select r;

foreach (var i in t)

{

return int.Parse(i.RestNumber);

}

return 0;

}

public int getPrice(int id)

{

var t = from r in entity.Good

where r.Id == id

select r;

foreach (var i in t)

{

return int.Parse(i.Price);

}

return 0;

14

}

public bool judge(string name,string pass)

{

var t = from r in entity.Member

where r.Name == name

select r;

foreach (var i in t)

{

if (i.PassWord == pass)

return true;

}

return false;

}

public void SaveRecord(string p,string p_2,decimal p_3,int p_4,decimal p_5) {

Record r = new Record();

r.MemberId = int.Parse(p);

r.MemberName = p_2.ToString();

r.Number = p_4.ToString();

r.GoodPrice = p_3.ToString();

r.Time=DateTime.Now;

r.TotalMoney = p_5.ToString();

entity.AddToRecord(r);

entity.SaveChanges();

var t = from f in entity.Good

where f.Id == r.MemberId

select f;

foreach (var i in t)

{

i.RestNumber = (int.Parse(i.RestNumber) int.Parse(r.Number)).ToString();

}

entity.SaveChanges();

}

public bool GetName(string name)

15

-

{

var t = from r in entity.Member

where r.Name==name

select r;

foreach (var i in t)

{

if (i.Name.Length>0)

return true;

}

return false;

}

}

}

六.实验心得体会 通过本课程通过这次试验,再一次让我温习了网站设计与制作的知识,以及这学期学的ASP。asp这门课很有用,使我学到了很多新的方法知识,使我弄懂了很多控件的用途以及关于数据绑定的一些基本知识,并且还使我弄懂了Session和Cookie的区别和工作原理,购物车系统设计是一个很综合,很经典的例子,我会慢慢消化其中的各个思路与编程,对我在今后的编程过程中工作中会有很大的帮助,也谢谢李老师这半年的教导,和在做课程时的帮助。

16

相关推荐