宠物商店的设计与实现.docx

上传人:b****9 文档编号:25203862 上传时间:2023-06-06 格式:DOCX 页数:78 大小:7.52MB
下载 相关 举报
宠物商店的设计与实现.docx_第1页
第1页 / 共78页
宠物商店的设计与实现.docx_第2页
第2页 / 共78页
宠物商店的设计与实现.docx_第3页
第3页 / 共78页
宠物商店的设计与实现.docx_第4页
第4页 / 共78页
宠物商店的设计与实现.docx_第5页
第5页 / 共78页
点击查看更多>>
下载资源
资源描述

宠物商店的设计与实现.docx

《宠物商店的设计与实现.docx》由会员分享,可在线阅读,更多相关《宠物商店的设计与实现.docx(78页珍藏版)》请在冰豆网上搜索。

宠物商店的设计与实现.docx

宠物商店的设计与实现

宠物商店系统的设计与实现

作者详情一览表

外文名

中文名

代号

Aragorn

阿拉贡

114

1绪论

1.1项目开发的背景

网上购物,这个逐渐流行于21世纪的购物方式已经为越来越多的人所接受。

不论是腰缠万贯的大富翁、时尚的白领丽人还是普通的工薪阶层,其中大部分人可能都有过上网购物的经历。

这其中有的也许仅仅想拥有这种体检的感觉,有的可能将此作为一种“知识人士”的标志,有的则可能已经将网上购物作为自己日常生活的重要组成部分而取代了传统上街购物的方式。

所以此时各种网购软件也就应运而生了。

随着社会的发展,人们的生活也越来越好,更多的人愿意养一个宠物来陶冶一下情操了。

而正在此时,我们做软件的程序员应该发现时代的气息、把我时代的走向,做出一款适合大众网购宠物的软件,所以我的宠物商店横空出世了。

1.2项目开发的意义 

首先,对于消费者来说:

  

   第一,可以在家“逛商店”,订货不受时间、地点的限制;       

第二,获得较大量的商品信息,可以买到当地没有的商品;  

  第三,网上支付较传统拿现金支付更加安全,可避免现金丢失或遭到抢劫;     

第四,从订货、买货到货物上门无需亲临现场,既省时又省力;  

   第五,由于网上商品省去租店面、召雇员及储存保管等一系列费用,总的来说其价格较一般商场的同类商品更便宜。

其次,对于商家来说,由于网上销售没有库存压力、经营成本低、经营规模不受场地限制等。

在将来会有更多的企业选择网上销售,通过互联网对市场信息的及时反馈适时调整经营战略,以此提高企业的经济效益和参与国际竞争的能力。

再次,对于整个市场经济来说,这种新型的购物模式可在更大的范围内、更广的层面上以更高的效率实现资源配置。

综上可以看出,网上购物突破了传统商务的障碍,无论对消费者、企业还是

市场都有着巨大的吸引力和影响力,在新经济时期无疑是达到“多赢”效果的理

想模式。

 

2系统分析与设计

2.1项目主要功能描述

这是一个网上宠物商店系统,网店里提供了和实体店一样的宠物来供用户观看、购买,具体功能如下:

系统的注册功能:

在欢迎页可以实现用户的注册,注册之后可以登录。

登录功能:

注册完成后就可以使用刚才注册的账号进行登录,如果是管理员,登录后实现管理员的功能,如果是普通用户,可以购买宠物。

下面来介绍管理员登陆后的功能:

宠物类别的添加功能:

使用该功能可以添加宠物种类和宠物种类的编号。

宠物类别的删除功能:

使用该功能可以删除某些宠物种类及其编号。

宠物类别的查看功能:

使用该功能可以查看所有的宠物种类和他们对应的编号。

宠物数量的添加功能:

使用该功能可以在一个宠物种类下添加一个具体的宠物,包括此宠物的价格、寿命、重量等等宠物的具体属性。

订单发送功能:

该功能可以发送顾客已经购买的宠物的订单。

订单删除功能:

使用该功能可以删除任何顾客的购物车中的订单,不管顾客有没有购买,都可以删除。

重新登录功能:

使用该功能可以回到登录页面。

密码修改功能:

该功能可以实现用户密码的修改。

现在介绍普通用户的功能:

添加宠物的功能:

使用该功能可以将任何宠物添加到购物车。

删除宠物的功能:

该功能可以删除购物车中的宠物。

查看购物车功能:

该功能可以看见自己目前选定了多少宠物。

购买宠物功能:

使用该功能可以购买购物车中选定的宠物。

修改密码功能:

使用该功能可以修改用户的密码。

重新登录功能:

使用该动能可以回到登录页面。

 

2.2数据库设计

1.绘制E-R图进行概念建模。

 

2.数据库表设计

2-1用户表(Customer)

编号

字段名

数据类型

是否主见

字段意义

1

userId

int

用户的编号

2

userName

nvarchar(50)

用户名称

3

userPassword

nvarchar(50)

用户密码

 

2-2宠物表(Pets)

编号

字段名

数据类型

是否主见

字段意义

1

PetsId

nvarchar(50)

宠物的编号

2

PetsName

nvarchar(50)

宠物名称

3

Weight

nvarchar(50)

宠物重量

4

PetsLife

int

宠物寿命

5

PurchasePrice

smallmoney

宠物价格

6

RetailPrice

smallmoney

宠物零售价

7

ActualSalePrice

smallmoney

宠物售出的实际价格

8

PetsGenreId

nvarchar(50)

宠物所属种类的编号

2-3宠物种类表(PetsGenre)

编号

字段名

数据类型

是否主见

字段意义

1

PetsGenreId

nvarchar(50)

宠物类别的编号

2

PetsGenreName

nvarchar(50)

宠物种类名称

2-4订单表(Pets)

编号

字段名

数据类型

是否主见

字段意义

1

PurchaseOrderId

int

订单的编号

2

TotalMoney

money

订单价格

3

PurchaseDate

Datetime

订单产生日期

4

Demo

nvarchar(50)

顾客评价

5

SupplierId

int

供应商编号

6

CustomerId

Int

用户编号

7

PurchaseOrderItemId

int

订单项编号

8

Mark

int

用户是否购买的标记

2-5订单项表(PurchaseOrderItem)

编号

字段名

数据类型

是否主见

字段意义

1

PurchaseOrderItemId

int

订单项的编号

2

PetsQuanlity

Int

宠物数量

3

TotalPerchaseItemPrice

money

订单项价格

4

PetsId

nvarchar(50)

宠物编号

5

PurchaseOrderId

int

订单编号

 

2-6供应商表(Supplier)

编号

字段名

数据类型

是否主见

字段意义

1

SupplierId

int

供应商的编号

2

SupplierName

nvarchar(50)

供应商名称

3

Telephone

nvarchar(50)

供应商电话

4

Address

nvarchar(50)

供应商地址

5

FaxCode

nvarchar(50)

供应商传真

6

Memo

nvarchar(50)

供应商备注

 

3系统实现

3.1系统首页

3.1.1管理员角色首页

3.1.2普通用户角色首页

3.2增加宠物种类的功能实现

3.2.1Model.Models层

publicclassPetsGenre

{

publicstringPetsGenreId{get;set;}

publicstringPetsGenreName{get;set;}

}

3.2.2Model.IRepository层

publicinterfaceIPetsGenreRepository

{

voidAdd(PetsGenrePetsGenre);//add

voidSave(PetsGenrePetsGenre);//save

voidRemove(PetsGenrePetsGenre);//delete

PetsGenreFindBy(stringid);//findaccordingtoid

ListFindAll();//findall

}

3.2.3Repository.Linq层

publicclassPetsGenreRepository:

IPetsGenreRepository

{

PetsShopSolutionDataContextdb=newPetsShopSolutionDataContext();

publicvoidAdd(PetsGenrePetsGenre)

{

//将一个类中的信息传到那一个类中

R_PetsGenrer_goodGenre=newR_PetsGenre();

r_goodGenre.PetsGenreId=PetsGenre.PetsGenreId;

r_goodGenre.PetsGenreName=PetsGenre.PetsGenreName;

db.R_PetsGenre.InsertOnSubmit(r_goodGenre);

db.SubmitChanges();

}

publicvoidSave(PetsGenrePetsGenre)

{

varr_petsGenre=db.R_PetsGenre.SingleOrDefault

(u=>u.PetsGenreId==PetsGenre.PetsGenreId);

r_petsGenre.PetsGenreId=PetsGenre.PetsGenreId;

r_petsGenre.PetsGenreName=PetsGenre.PetsGenreName;

db.SubmitChanges();

}

publicvoidRemove(PetsGenrePetsGenre)

{

varr_petsGenre=db.R_PetsGenre.SingleOrDefault

(u=>u.PetsGenreId==PetsGenre.PetsGenreId);

db.R_PetsGenre.DeleteOnSubmit(r_petsGenre);

db.SubmitChanges();

}

publicPetsGenreFindBy(stringid)

{

PetsGenrepetsGenre=newPetsGenre();

varr_petsGenre=db.R_PetsGenre.SingleOrDefault

(u=>u.PetsGenreId==id);

if(r_petsGenre!

=null)

{

petsGenre.PetsGenreId=r_petsGenre.PetsGenreId;

petsGenre.PetsGenreName=r_petsGenre.PetsGenreName;

returnpetsGenre;

}

else

{

returnnull;

}

}

publicListFindAll()

{

ListpetsGenres=newList();

varr_petsGenres=db.R_PetsGenre.ToList();

foreach(R_PetsGenrer_petsGenreinr_petsGenres)

{

PetsGenrepetsGenre=newPetsGenre();

petsGenre.PetsGenreId=r_petsGenre.PetsGenreId;

petsGenre.PetsGenreName=r_petsGenre.PetsGenreName;

petsGenres.Add(petsGenre);

}

returnpetsGenres;

}

}

3.2.4Model.Services层

publicclassPetsGenreService

{

privateIPetsGenreRepository_petsGenreRepository;

publicPetsGenreService(IPetsGenreRepositorypetsGenreRepository)

{

_petsGenreRepository=petsGenreRepository;

}

publicPetsGenreFindBy(stringpetsGenreId)

{

return_petsGenreRepository.FindBy(petsGenreId);

}

publicboolIsExisted(stringpetsGenreId)

{

varresult=FindBy(petsGenreId);

if(result!

=null)

{

returntrue;

}

else{

returnfalse;

}

}

publicListFindAll()

{

return_petsGenreRepository.FindAll();

}

publicboolIsExistedName(stringpetsGenreName)

{

varresult=FindAll().

Where(u=>u.PetsGenreName==petsGenreName).ToList();

if(result.Count>0)

{

returntrue;

}

else{

returnfalse;

}

}

publicintAdd(PetsGenrepetsGenre)

{

if(IsExisted(petsGenre.PetsGenreId))

{return4;}

else{

_petsGenreRepository.Add(petsGenre);

return1;

}

}

publicintSave(PetsGenrepetsGenre)

{

if(IsExisted(petsGenre.PetsGenreId))

{

_petsGenreRepository.Save(petsGenre);

return2;

}

else{

return5;

}

}

publicintRemove(PetsGenrepetsGenre)

{

if(IsExisted(petsGenre.PetsGenreId))

{

_petsGenreRepository.Remove(petsGenre);

return3;

}

else{

return6;

}

}

}

3.2.5Service.ServiceFactory层

publicstaticPetsGenreServiceCreatePetsGenreService()

{

IPetsGenreRepositorypetsGenreRepoitory=

newPetsGenreRepository();

returnnewPetsGenreService(petsGenreRepoitory);

}

3.2.6Infrastructure层

publicclassStringHelper

{

publicstaticboolStringIsNull(stringtest)

{

if(test.Trim()=="")

{

returntrue;

}

else

{

returnfalse;

}

}

publicstaticboolStringIsNotNull(stringtest)

{

if(test.Trim()!

="")

{

returntrue;

}

else

{

returnfalse;

}

}

3.2.7WebUI.ASPNET层

publicpartialclassCreate:

System.Web.UI.Page

{

PetsGenreServicepetsGenreService=ServiceFactory.CreatePetsGenreService();

protectedvoidPage_Load(objectsender,EventArgse)

{

}

protectedvoidClearData()//此函数可清textbox中的数据

{

txtPetsGenreId.Text="";

txtPetsGenreName.Text="";

}

protectedboolValidatePage()//此函数可判断textbox中的值是否为空

{

if(StringHelper.StringIsNull(txtPetsGenreId.Text))

{

Response.Write("");

returnfalse;

}

if(StringHelper.StringIsNull(txtPetsGenreName.Text))

{

Response.Write("");

returnfalse;

}

returntrue;

}

protectedvoidButton1_Click(objectsender,EventArgse)//触发button按钮事件

{

if(ValidatePage())

{

Model.Models.PetsGenrepetsGenre=newModel.Models.PetsGenre();

petsGenre.PetsGenreId=txtPetsGenreId.Text;

petsGenre.PetsGenreName=txtPetsGenreName.Text;

intrel=petsGenreService.Add(petsGenre);

Response.Write("");

ClearData();

Response.Redirect("Index.aspx");

}

else

{}

}

}

3.3查看购物车功能的实现

3.3.1Model.Models层

publicclassPurchaseOrderItem

{

publicintPurchaseOrderItemId{set;get;}

publicintPetsQuanlity{set;get;}

//publicdecimalPetsPrice{set;get;}

publicdecimal?

TotalPerchaseItemPrice{set;get;}

publicPetsPets{set;get;}

//publicListPetList{set;get;}

publicintPurchaseOrderId{set;get;}

publicPurchaseOrderItem()

{

Pets=newModel.Models.Pets();

//PetList=newList;

//PurchaseOrder=newPurchaseOrder();

}

}

publicclassPurchaseOrder

{

publicintPurchaseOrderId{set;get;}

publicdecimal?

TotalMoney{set;get;}

publicDateTime?

PurchaseDate{set;get;}

publicstringDemo{set;get;}

publicint?

Mark{set;get;}

publicSupplierSupplier{set;get;}

publicCustomerCustomer{set;get;}

//publicListPurchaseOrderItemList{set;get;}

publicPurchaseOrderItemPurchaseOrderItem{set;get;}

publicPurchaseOrder()

{

Supplier=newSupplier();

Customer=newCustomer();

//PurchaseOrderItemList=newList();

PurchaseOrderItem=newPurchaseOrderItem();

}

 

}

publicclassPets

{

publicstringPetsId{get;set;}

publicstringPetsName{get;set;}

publicstringWeight{get;set;}

publicint?

PetsLife{get;set;}

publicPetsGenrePetsGenre{get;set;}

publicPetsPricePetsPrice{get;set;}

publicPets()

{

PetsGenre=newPetsGenre();

PetsPrice=newPetsPrice();

}

}

publicclassCustomer

{

publicintuserId{set;get;}

publicstringuserName{set;get;}

publicstringuserPassword{set;get;}

}

3.3.2Model.IRepository层

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

当前位置:首页 > 总结汇报 > 学习总结

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

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