net软件开发技术大作业设计文档模板.docx
- 文档编号:6163402
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:20
- 大小:394.78KB
net软件开发技术大作业设计文档模板.docx
《net软件开发技术大作业设计文档模板.docx》由会员分享,可在线阅读,更多相关《net软件开发技术大作业设计文档模板.docx(20页珍藏版)》请在冰豆网上搜索。
net软件开发技术大作业设计文档模板
MyPetShop系统的设计与实现
软件工程1702班,学号:
17408001141,姓名:
杨璐歌
1系统总体设计和开发思路
系统总体设计:
系统功能模块设计、用户控件设计、系统数据库总体设计、Web.config配置文件的设计和基于VSC2017开发MyPetShop应用程序的总体思路。
1、系统功能模块设计:
(1)前台商品浏览模块
(2)用户注册和登录模块
(3)购物车模块
(4)订单结算模块
(5)后台管理模块
2、用户控件设计
(1)AutoShow用户控件——实现热销商品自动定时刷新功能
(2)Category用户控件——实现商品分类显示功能
(3)NewProduct用户控件——实现最新商品显示功能
(4)PetTree用户控件——实现商品分类及包含商品的导航功能
(5)SiteMap用户控件——根据网站地图实现网站导航功能
(6)UserStatus用户控件——根据不同用户显示不同的登录状态和权限信息
(7)Weather用户控件——实现全国所有省、直辖市的主要城市天气预报功能
3、数据库总体设计
MyPetShop应用程序使用SQLServer2016ExpressLocalDB进行开发,所使用的数据库为MyPetShop.mdf。
MyPetShop.mdf数据库由开发人员建立,共包含七个表:
CarItem、Category、Customer、OrderItem、Product和Supplier。
其中CarItem表存储购物车详细信息,Category表存储商品分类信息,Customer表存储用户信息,OrderItem表存储订单详细信息,Product表存储商品信息,Supplier表存储供应商信息。
4、Web.config配置文件
MyPetShop应用程序中的Web.config配置文件用于设置数据库连接字符串、定义AjaxControlToolkit标记前缀、设置i暗器预报Web服务的调用、设置发件人邮箱信息等。
其中,AjaxControlToolkit标记前缀的定义在通过NuGet安装AjaxControlToolkit程序包时自动完成,天气预报Web服务调用的设置在添加添加天气预报Web服务引用时自动完成。
5、开发思路
(1)新建MyPetShop解决方案
(2)在MyPetShop解决方案中添加MyPetShop.Web表示层项目
(3)在MyPetShop解决方案中添加MyPetShop.BLL业务逻辑层项目
(4)在MyPetShop解决方案中添加MyPetShop.DAL数据访问层项目
(5)添加各层项目之间的引用。
其中MyPetShop.Web表示层项目引用MyPetShop.BLL业务逻辑层项目,MyPetShop.BLL业务逻辑层项目引用MyPetShop.DAL数据访问层项目
(6)到清华大学出版社网站下载本书资源程序包,解压其中的MyPetShop源程序包,复制Images、Prod_Images等。
(7)利用NuGet程序包管理器在MyPetShop.Web表示层项目中安装AjaxControlToolkit
(8)在MyPetShop.Web表示层项目中新建Admin、App_Code、App_Data和UserControl等文件夹
(9)打开Sql文件夹中的MyPetShop.sql,在App_Data文件夹下建立MyPetShop.mdf数据库。
(10)在MyPetShop.DAL数据访问层项目中建立LINQtoSQL类MyPetShop.dnml
(11)参考本书MyPetShop源程序包中的Web.config文件修改MyPetShop.Web表示层项目中的Web.config文件
(12)参考本书MyPetShop源程序包中的Global.asax文件新建MyPetShop.Web表示层项目中的Global.asax文件
(13)参考本书MyPetShop源程序包中的MyPetShop.BLL业务逻辑层项目添加CarItemService.cs等文件
(14)参考本书MyPetShop源程序包,在MyPetShop.Web表示层项目中新建MasterPage.master母版页,再以此为基础分别建立根文件夹以及Admin子文件夹下的各个页面
(15)通过“生成网站“命令编译MyPetShop.Web表示层项目以及与之关联的MyPetShop.BLL业务逻辑层和MyPetShop.DAL数据访问层项目
(16)从浏览Default.aspx开始,对MyPetShop应用程序进行整体测试。
2用户控件设计
(1)AutoShow用户控件——实现热销商品自动定时刷新功能
(2)Category用户控件——实现商品分类显示功能
(3)NewProduct用户控件——实现最新商品显示功能
(4)PetTree用户控件——实现商品分类及包含商品的导航功能
(5)SiteMap用户控件——根据网站地图实现网站导航功能
(6)UserStatus用户控件——根据不同用户显示不同的登录状态和权限信息
(7)Weather用户控件——实现全国所有省、直辖市的主要城市天气预报功能
3前台模块详细设计与实现
3.1注册模块设计与实现
前台显示页面设计
1、母版页
MyPetShop应用程序通过使用模板页技术,将网站Logo、导航条、网站导航、版权声明以及商品搜索功能等整合在一起,大大提高了开发效率,降低了维护强度。
同时还应用了ASP.NETAjax技术和由Bootstrap框架提供的Bootstrap.css样式表。
2、首页
MyPetShop应用程序的首页由Default.aspx实现。
在首页中除了显示模板页中的内容外,还显示最新商品信息、热销商品信息、商品分类信息和天气预报信息等。
3、商品详细信息页面
商品详细信息页面由ProShow.aspx实现,可以按商品分类浏览该分类所有商品的详细信息,页可以按商品名浏览特定商品的详细信息。
ProShow.aspx界面设计主要包括两部分内容。
4、商品搜索页面
商品搜索页面由Search.aspx实现,主要实现模糊查找商品详细信息的功能。
其中,模糊查找商品功能根据用户指定的查询关键字(由MasterPage.master传入的参数)在Product表中实现商品名的模糊查找,所有匹配的商品名都将以列表的形式主义。
用户注册和登录模块设计
1、注册新用户
注册新用户功能由NewUser.aspx页面实现,主要涉及的控件由文本框、按钮、验证控件。
其中验证控件主要使用RequiredFieldValidator、CompareValidator和RegularExpressionValidator.
用户登录
用户登录由Login.aspx页面实现,主要涉及的控件有文本框、按钮、验证控件。
其中验证控件主要使用RequiredFiedValidator。
3.2购物车模块设计与实现
1.添加购物车商品
在浏览商品详细信息页面时,单击“购买”链接按钮,用户将被重定向到ShopCart.aspx页面,同时该商品的商品编号作为参数也以查询字符串方式传递到了该界面,并在ShopCart.aspx页面的Page.Load事件处理代码中完成添加购物车商品和显示购物车商品的功能。
2.删除购物车商品
当用户不想购买某个商品时,可以先选中相应商品前面的复选框,然后单击“删除商品”按钮,即可才购物车中删除该商品。
3.修改购物车中商品的数量
当用户将一件商品添加到了购物车后,如果还想多买几件相同的商品,则可通过修改购物车中商品的数量来实现。
此时,用户只需修改相应商品“购买数量”列中文本框的值,然后单击“重新计算”按钮,即可重新计算购买商品的总价。
4.清空购物车中商品
在用户把商品添加到购物车后,若不想购买添加的所有商品,可点击“清空购物车”按钮,删除购物车中的全部商品记录。
在清空购物车后用户将被重定向到首页。
5.结算购物车中所有商品
用户选定需要购买的商品后,可点击“结算”按钮,将页面重定向到订单结算页面SubmitCart.aspx进行商品结算。
4后台模块详细设计与实现
后台管理模块主要实现数据管理的功能,是根据系统数据维护要求设计的,且需要以管理员身份登录才能进行操作。
其中包括商品分类管理、供应商信息管理、商品管理和订单管理四部分。
4.1商品分类管理
主要涉及ObjectDataSource控件和DetailsView控件,其中ObjectDataSource控件是作为数据绑定控件DetailsView控件的数据接口,使其能够以分页方式显示商品分类信息,通过点击“编辑”、“删除”、“新建”链接来实现修改删除添加商品分类信息的功能。
CategoryMaster.aspx:
ContentID="Content3"ContentPlaceHolderID="ContentPlaceHolder2"runat="Server"> ObjectDataSourceID="ObjectDataSource1"runat="server"DeleteMethod="DeleteCategory"InsertMethod="InSertCategory"SelectMethod="GetAllCategory"TypeName="MyPetShop.BLL.CategoryService"UpdateMethod="UpdateCategory"> ParameterName="categoryId"Type="Int32"/> ParameterName="categoryId"Type="Int32"/> ParameterName="name"Type="String"/> ParameterName="descn"Type="String"/> ParameterName="categoryId"Type="Int32"/> ParameterName="name"Type="String"/> ParameterName="descn"Type="String"/> ObjectDataSource> DetailsViewID="DetailsView1"runat="server"DataSourceID="ObjectDataSource1"DataKeyNames="CategoryId"AutoGenerateRows="false"AutoGenerateEditButton="true"AutoGenerateInsertButton="true"AutoGenerateDeleteButton="true" AllowPaging="true"OnItemDeleting="DetailsView1_ItemDeleting"> BoundFieldHeaderText="分类ID"DataField="CategoryId"Visible="false"/> BoundFieldHeaderText="分类名称"DataField="Name"/> BoundFieldHeaderText="分类描述"DataField="Descn"/> DetailsView> LabelID="lblError"runat="server"ForeColor="Red"> Label> Content> .aspx.cs: publicpartialclassAdmin_CategoryMaster: System.Web.UI.Page { ProductServiceproductSrv=newProductService(); protectedvoidPage_Load(objectsender,EventArgse) { if(Session["AdminId"]==null)//管理员用户未登录 { Response.Redirect("~/Login.aspx"); } } protectedvoidDetailsView1_ItemDeleting(Objectsender,DetailsViewDeleteEventArgse) { varproductCount=productSrv.GetProductCountByCategoryId(int.Parse(DetailsView1.DataKey.Value.ToString())); if(productCount! =0) { lblError.Text="Error: 该分类下有商品,要删除该分类请先删除商品! "; e.Cancel=true; } } } 4.2供应商信息管理 同商品分类管理,主要涉及了ObjectDataSource控件和DetailsView控件,使得能够以分页方式显示供应商信息,通过点击“编辑”、“删除”、“新建”链接来实现修改删除添加供应商信息的功能。 SupplierMaster.aspx: ContentID="Content3"ContentPlaceHolderID="ContentPlaceHolder2"runat="Server"> ObjectDataSourceID="ObjectDataSource1"runat="server"DeleteMethod="DeleteSupplier"InsertMethod="InSertSupplier"SelectMethod="GetAllSupplier"TypeName="MyPetShop.BLL.SupplierService"UpdateMethod="UpdateSupplier"> ParameterName="suppId"Type="Int32"/> ParameterName="suppId"Type="Int32"/> ParameterName="name"Type="String"/> ParameterName="addr1"Type="String"/> ParameterName="addr2"Type="String"/> ParameterName="city"Type="String"/> ParameterName="state"Type="String"/> ParameterName="zip"Type="String"/> ParameterName="phone"Type="String"/> ParameterName="suppId"Type="Int32"/> ParameterName="name"Type="String"/> ParameterName="addr1"Type="String"/> ParameterName="addr2"Type="String"/> ParameterName="city"Type="String"/> ParameterName="state"Type="String"/> ParameterName="zip"Type="String"/> ParameterName="phone"Type="String"/> ObjectDataSource> DetailsViewDataSourceID="ObjectDataSource1"DataKeyNames="SuppId"AutoGenerateRows="false"AutoGenerateEditButton="true"AutoGenerateInsertButton="true"AutoGenerateDeleteButton="true" AllowPaging="true"ID="DetailsView1"OnItemDeleting="DetailsView1_ItemDeleting" runat="server"> BoundFieldHeaderText="供应商ID"DataField="SuppId"Visible="false"/> BoundFieldHeaderText="供应商名称"DataField="Name"/> BoundFieldHeaderText="地址1"DataField="Addr1"/> BoundFieldHeaderText="地址2"DataField="Addr2"/> BoundFieldHeaderText="城市"DataField="City"/> BoundFieldHeaderText="区域"DataField="State"/> BoundFieldHeaderText="邮编"DataField="Zip"/> BoundFieldHeaderText="手机"DataField="Phone"/> DetailsView> LabelID="lblError"runat="server"ForeColor="Red"> Label> Content> SupplierMaster.aspx.cs: publicpartialclassAdmin_SupplierMaster: System.Web.UI.Page { ProductServiceproductSrv=newProductService(); protectedvoidPage_Load(objectsender,EventArgse) { if(Session["AdminId"]==null)//管理员用户未登录 { Response.Redirect("~/Login.aspx"); } } protectedvoidDetailsView1_ItemDeleting(Objectsender,DetailsViewDeleteEventArgse) { varproductCount=productSrv.GetProductCountBySupplierId(int.Parse(DetailsView1.DataKey.Value.ToString())); if(productCount! =0) { lblError.Text="Error: 该分类下有商品,请先删除商品! "; e.Cancel=true; } } } 4.3商品信息管理 主要涉及ObjectDataSource控件和GridView控件,以分页方式显示商品信息。 点击“添加商品”后跳转到商品添加页面,该页面使用文本输入控件TextBox控件、DropDownList控件等和数据验证控件RequiredFieldValidator控件用于信息输入和验证。 点击商品名可以进入商品信息修改页面,勾选商品后点击“删除商品”可删除商品记录。 ProductMaster.aspx.cs: publicpartialclassAdmin_ProductMaster: System.Web.UI.Page { ProductServiceproductSrv=newProductService(); protectedvoidPage_Load(objectsender,EventArgse) { if(Session["AdminId"]==null)//管理员用户未登录 { Response.Redirect("~/Login.aspx"); } if(! IsPostBack) { Bind();//调用自定义方法Bind() } } /// ///显示Product表数据 /// protectedvoidBind() { varproducts=productSrv.GetAllProduct(); if(products.Count()==0) { pnlProduct.Visible=false; lblProErr.Text="数据库中无商品,请添加! "; } else { pnlProduct.Visible=true; lblProErr.Text=""; } gvProduct.DataSource=products; gvProduct.DataBind(); } protectedvoidgvProduct_PageIndexChanging(Objectsender,GridViewPageEventArgse) { gvProduct.PageIndex=e.NewPageIndex; Bind();//调用自定义方法Bind() } protectedvoidbtnDelete_Click(objectsender,EventArgse) { intproductId=0; GridViewgvProduct=newGridView(); gvProduct=(GridView)Page.Master.FindControl("ContentPlaceHolder2").FindControl("gvProduct"); if(gvPro
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- net 软件 开发 技术 作业 设计 文档 模板
![提示](https://static.bdocx.com/images/bang_tan.gif)