欢迎来到课桌文档! | 帮助中心 课桌文档-建筑工程资料库
课桌文档
全部分类
  • 党建之窗>
  • 感悟体会>
  • 百家争鸣>
  • 教育整顿>
  • 文笔提升>
  • 热门分类>
  • 计划总结>
  • 致辞演讲>
  • 在线阅读>
  • ImageVerifierCode 换一换
    首页 课桌文档 > 资源分类 > DOC文档下载  

    宠物商店的设计实现分析.doc

    • 资源ID:7220       资源大小:872KB        全文页数:62页
    • 资源格式: DOC        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    宠物商店的设计实现分析.doc

    -宠物商店系统的设计与实现作者详情一览表 外文名中文名代号Aragorn阿拉贡114. z.-目 录1 绪论11.1工程开发的背景11.2 工程开发的意义12 系统分析与设计22.1工程主要功能描述22.2数据库设计23 系统实现53.1 系统首页53.2 增加宠物种类的功能实现63.3 查看购物车功能的实现143.4 注册功能实现423.5 登录功能实现443.6查看宠物类别详情功能实现473.7删除宠物种类功能实现513.8添加宠物功能实现533.9删除订单功能实现563.10发送订单功能实现583.11修改密码功能实现593.12重新登录功能实现603.13在购物车中添加宠物功能实现613.14删除购物车中宠物功能实现68结论72. z.-1 绪论1.1工程开发的背景 网上购物,这个逐渐流行于21世纪的购物方式已经为越来越多的人所承受。不管是腰缠万贯的大富翁、时尚的白领丽人还是普通的工薪阶层,其局部人可能都有过上网购物的经历。这其中有的也许仅仅想拥有这种体检的感觉,有的可能将此作为一种“知识人士的标志,有的则可能已经将网上购物作为自己日常生活的重要组成局部而取代了传统上街购物的方式。所以此时各种网购软件也就应运而生了。随着社会的开展,人们的生活也越来越好,更多的人愿意养一个宠物来冶一下情操了。而正在此时,我们做软件的程序员应该发现时代的气息、把我时代的走向,做出一款适合群众网购宠物的软件,所以我的宠物商店横空出世了。1.2 工程开发的意义 首先,对于消费者来说:第一,可以在家“逛商店,订货不受时间、地点的限制; 第二,获得较大量的商品信息,可以买到当地没有的商品; 第三,网上支付较传统拿现金支付更加平安,可防止现金丧失或遭到抢劫; 第四,从订货、买货到货物上门无需亲临现场,既省时又省力;第五,由于网上商品省去租店面、召雇员及储存保管等一系列费用,总的来说其价格较一般商场的同类商品更廉价。 其次,对于商家来说,由于网上销售没有库存压力、经营本钱低、经营规模不受场地限制等。在将来会有更多的企业选择网上销售,通过互联网对市场信息的及时反应适时调整经营战略,以此提高企业的经济效益和参与国际竞争的能力。 再次,对于整个市场经济来说,这种新型的购物模式可在更大的围、更广的层面上以更高的效率实现资源配置。 综上可以看出,网上购物突破了传统商务的障碍,无论对消费者、企业还是市场都有着巨大的吸引力和影响力,在新经济时期无疑是到达“多赢效果的理想模式。2 系统分析与设计2.1工程主要功能描述这是一个网上宠物商店系统,网店里提供了和实体店一样的宠物来供用户观看、购置,具体功能如下: 系统的注册功能:在欢送页可以实现用户的注册,注册之后可以登录。 登录功能:注册完成后就可以使用刚刚注册的账号进展登录,如果是管理员,登录后实现管理员的功能,如果是普通用户,可以购置宠物。 下面来介绍管理员登陆后的功能:宠物类别的添加功能:使用该功能可以添加宠物种类和宠物种类的编号。宠物类别的删除功能:使用该功能可以删除*些宠物种类及其编号。宠物类别的查看功能:使用该功能可以查看所有的宠物种类和他们对应的编号。宠物数量的添加功能:使用该功能可以在一个宠物种类下添加一个具体的宠物,包括此宠物的价格、寿命、重量等等宠物的具体属性。订单发送功能:该功能可以发送顾客已经购置的宠物的订单。订单删除功能:使用该功能可以删除任何顾客的购物车中的订单,不管顾客有没有购置,都可以删除。重新登录功能:使用该功能可以回到登录页面。密码修改功能:该功能可以实现用户密码的修改。现在介绍普通用户的功能:添加宠物的功能:使用该功能可以将任何宠物添加到购物车。删除宠物的功能:该功能可以删除购物车中的宠物。查看购物车功能:该功能可以看见自己目前选定了多少宠物。购置宠物功能:使用该功能可以购置购物车中选定的宠物。修改密码功能:使用该功能可以修改用户的密码。重新登录功能:使用该动能可以回到登录页面。2.2数据库设计1.绘制E-R图进展概念建模。用户表管理宠物类别宠物订单项表订单表订单项表存储订单表供给商表管理管理员普通用户查看添加2.数据库表设计 2-1用户表Customer编号字段名数据类型是否主见字段意义1userIdint是用户的编号2userNamenvarchar(50)否用户名称3userPasswordnvarchar(50)否用户密码 2-2宠物表Pets编号字段名数据类型是否主见字段意义1PetsIdnvarchar(50)是宠物的编号2PetsNamenvarchar(50)否宠物名称3Weightnvarchar(50)否宠物重量4PetsLifeint否宠物寿命5PurchasePricesmallmoney否宠物价格6RetailPricesmallmoney否宠物零售价7ActualSalePricesmallmoney否宠物售出的实际价格8PetsGenreIdnvarchar(50)否宠物所属种类的编号 2-3宠物种类表PetsGenre编号字段名数据类型是否主见字段意义1PetsGenreIdnvarchar(50)是宠物类别的编号2PetsGenreNamenvarchar(50)否宠物种类名称 2-4订单表Pets编号字段名数据类型是否主见字段意义1PurchaseOrderIdint是订单的编号2TotalMoneymoney否订单价格3PurchaseDateDatetime否订单产生日期4Demonvarchar(50)否顾客评价5SupplierIdint否供给商编号6CustomerIdInt否用户编号7PurchaseOrderItemIdint否订单项编号8Markint否用户是否购置的标记 2-5订单项表PurchaseOrderItem编号字段名数据类型是否主见字段意义1PurchaseOrderItemIdint是订单项的编号2PetsQuanlityInt否宠物数量3TotalPerchaseItemPricemoney否订单项价格4PetsIdnvarchar(50)否宠物编号5PurchaseOrderIdint否订单编号 2-6供给商表Supplier编号字段名数据类型是否主见字段意义1SupplierIdint是供给商的编号2SupplierNamenvarchar(50)否供给商名称3Telephonenvarchar(50)否供给商4Addressnvarchar(50)否供给商地址5Fa*Codenvarchar(50)否供给商 6Memonvarchar(50)否供给商备注3 系统实现3.1 系统首页3.1.1 管理员角色首页3.1.2 普通用户角色首页3.2 增加宠物种类的功能实现3.2.1 Model.Models层 public class PetsGenre public string PetsGenreId get; set; public string PetsGenreName get; set; 3.2.2 Model.IRepository层public interface IPetsGenreRepository void Add(PetsGenre PetsGenre);/add void Save(PetsGenre PetsGenre);/save void Remove(PetsGenre PetsGenre);/delete PetsGenre FindBy(string id);/find according to id List<PetsGenre> FindAll();/ find all 3.2.3 Repository.Linq层 public class PetsGenreRepository:IPetsGenreRepository PetsShopSolutionDataConte*t db = new PetsShopSolutionDataConte*t(); public void Add(PetsGenre PetsGenre) /将一个类中的信息传到那一个类中 R_PetsGenre r_goodGenre = new R_PetsGenre(); r_goodGenre.PetsGenreId = PetsGenre.PetsGenreId; r_goodGenre.PetsGenreName = PetsGenre.PetsGenreName; db.R_PetsGenre.InsertOnSubmit(r_goodGenre); db.SubmitChanges(); public void Save(PetsGenre PetsGenre) var r_petsGenre = db.R_PetsGenre.SingleOrDefault<R_PetsGenre> (u => u.PetsGenreId = PetsGenre.PetsGenreId); r_petsGenre.PetsGenreId = PetsGenre.PetsGenreId; r_petsGenre.PetsGenreName = PetsGenre.PetsGenreName; db.SubmitChanges(); public void Remove(PetsGenre PetsGenre) var r_petsGenre = db.R_PetsGenre.SingleOrDefault<R_PetsGenre> (u => u.PetsGenreId = PetsGenre.PetsGenreId); db.R_PetsGenre.DeleteOnSubmit(r_petsGenre); db.SubmitChanges(); public PetsGenre FindBy(string id) PetsGenre petsGenre = new PetsGenre(); var r_petsGenre = db.R_PetsGenre.SingleOrDefault<R_PetsGenre> (u => u.PetsGenreId = id); if (r_petsGenre != null) petsGenre.PetsGenreId = r_petsGenre.PetsGenreId; petsGenre.PetsGenreName = r_petsGenre.PetsGenreName; return petsGenre; else return null; public List<PetsGenre> FindAll() List<PetsGenre> petsGenres = new List<PetsGenre>(); var r_petsGenres = db.R_PetsGenre.ToList(); foreach (R_PetsGenre r_petsGenre in r_petsGenres) PetsGenre petsGenre = new PetsGenre(); petsGenre.PetsGenreId = r_petsGenre.PetsGenreId; petsGenre.PetsGenreName = r_petsGenre.PetsGenreName; petsGenres.Add(petsGenre); return petsGenres; 3.2.4 Model.Services层 public class PetsGenreService private IPetsGenreRepository _petsGenreRepository; public PetsGenreService(IPetsGenreRepository petsGenreRepository) _petsGenreRepository = petsGenreRepository; public PetsGenre FindBy(string petsGenreId) return _petsGenreRepository.FindBy(petsGenreId); public bool IsE*isted(string petsGenreId) var result = FindBy(petsGenreId); if (result != null) return true; else return false; public List<PetsGenre> FindAll() return _petsGenreRepository.FindAll(); public bool IsE*istedName(string petsGenreName) var result = FindAll(). Where(u => u.PetsGenreName = petsGenreName).ToList(); if (result.Count > 0) return true; else return false; public int Add(PetsGenre petsGenre) if (IsE*isted(petsGenre.PetsGenreId) return 4; else _petsGenreRepository.Add(petsGenre); return 1; public int Save(PetsGenre petsGenre) if (IsE*isted(petsGenre.PetsGenreId) _petsGenreRepository.Save(petsGenre); return 2; else return 5; public int Remove(PetsGenre petsGenre) if (IsE*isted(petsGenre.PetsGenreId) _petsGenreRepository.Remove(petsGenre); return 3; else return 6; 3.2.5 Service.ServiceFactory层 public static PetsGenreService CreatePetsGenreService() IPetsGenreRepository petsGenreRepoitory = new PetsGenreRepository(); return new PetsGenreService(petsGenreRepoitory); 3.2.6 Infrastructure层 public class StringHelper public static bool StringIsNull(string test) if (test.Trim() = "") return true; else return false; public static bool StringIsNotNull(string test) if (test.Trim() != "") return true; else return false; 3.2.7 WebUI.ASPNET层 PetsGenreService petsGenreService = ServiceFactory.CreatePetsGenreService(); protected void Page_Load(object sender, EventArgs e) protected void ClearData() /此函数可清te*tbo*中的数据 t*tPetsGenreId.Te*t = "" t*tPetsGenreName.Te*t = "" protected bool ValidatePage()/此函数可判断te*tbo*中的值是否为空 if (StringHelper.StringIsNull(t*tPetsGenreId.Te*t) Response.Write("<script>alert('请填写宠物类别号!');</script>"); return false; if (StringHelper.StringIsNull(t*tPetsGenreName.Te*t) Response.Write("<script>alert('请填写宠物名称!');</script>"); return false; return true; protected void Button1_Click(object sender, EventArgs e)/触发button按钮事件 if (ValidatePage() Model.Models.PetsGenre petsGenre = new Model.Models.PetsGenre(); petsGenre.PetsGenreId = t*tPetsGenreId.Te*t; petsGenre.PetsGenreName = t*tPetsGenreName.Te*t; int rel = petsGenreService.Add(petsGenre); Response.Write("<script>alert('宠物类别资料已经创立成功!');</script>"); ClearData(); Response.Redirect("Inde*.asp*"); else 3.3 查看购物车功能的实现3.3.1 Model.Models层 public class PurchaseOrderItem public int PurchaseOrderItemId set; get; public int PetsQuanlity set; get; /public decimal PetsPrice set; get; public decimal "TotalPerchaseItemPrice set; get; public Pets Pets set; get; /public List<Pets> PetList set; get; public int PurchaseOrderId set; get; public PurchaseOrderItem() Pets = new Model.Models.Pets(); /PetList=new List<Pets> /PurchaseOrder = new PurchaseOrder(); public class PurchaseOrder public int PurchaseOrderId set; get; public decimal "TotalMoney set; get; public DateTime " PurchaseDate set; get; public string Demo set; get; public int "Mark set;get; public Supplier Supplier set; get; public Customer Customer set; get; /public List<PurchaseOrderItem> PurchaseOrderItemList set; get; public PurchaseOrderItem PurchaseOrderItem set; get; public PurchaseOrder() Supplier = new Supplier(); Customer=new Customer(); / PurchaseOrderItemList = new List<PurchaseOrderItem>(); PurchaseOrderItem = new PurchaseOrderItem(); public class Pets public string PetsId get; set; public string PetsName get; set; public string Weight get; set; public int " PetsLife get; set; public PetsGenre PetsGenre get; set; public PetsPrice PetsPrice get; set; public Pets() PetsGenre =new PetsGenre(); PetsPrice =new PetsPrice(); public class Customer public int userId set; get; public string userName set; get; public string userPassword set; get; 3.3.2 Model.IRepository层 public interface IPurchaseOrderRepository void Add(PurchaseOrder purchaseOrder); void Save(PurchaseOrder purchaseOrder); void Remove(PurchaseOrder purchaseOrder); PurchaseOrder FindBy(int id); /PurchaseOrder findby(string str); List<PurchaseOrder> FindAll(); public interface IPurchaseOrderItemRepository void Add(PurchaseOrderItem PurchaseOrderItem); void Remove(PurchaseOrderItem PurchaseOrderItem); void Save(PurchaseOrderItem PurchaseOrderItem); PurchaseOrderItem FindBy(int id); List<PurchaseOrderItem> Findall(); public interface IPetsRepository void Add(Pets pets);/add void Save(Pets pets);/save void Remove(Pets pets);/delete Pets FindBy(string id);/find according to id List<Pets> FindAll();/find all public interface ICustomerRepository void Add(Customer customer); void Remove(Customer customer); void Save(Customer customer); Customer FindBy(string username); List<Customer> FindAll(); 3.3.3 Repository.Linq层 public class PurchaseOrderRepository:IPurchaseOrderRepository PetsShopSolutionDataConte*t db = new PetsShopSolutionDataConte*t(); public void Add(PurchaseOrder purchaseOrder) R_PurchaseOrder r_pets = new R_PurchaseOrder(); r_pets.CustomerId = purchaseOrder.Customer.userId; r_pets.Demo = purchaseOrder.Demo; r_pets.PurchaseDate = purchaseOrder.PurchaseDate; r_pets.PurchaseOrderId = purchaseOrder.PurchaseOrderId; r_pets.PurchaseOrderItemId = purchaseOrder.PurchaseOrderItem.PurchaseOrderItemId; r_pets.SupplierId = purchaseOrder.Supplier.SupplierId; r_pets.TotalMoney = purchaseOrder.TotalMoney; r_pets.Mark = purchaseOrder.Mark; db.R_PurchaseOrder.InsertOnSubmit(r_pets); db.Sub

    注意事项

    本文(宠物商店的设计实现分析.doc)为本站会员(夺命阿水)主动上传,课桌文档仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知课桌文档(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开