软件工程网上书店管理系统详细课程设计报告(很经典).pdf
一.引言1 二。系统开发的目标1 三。可行性研究2 四.系统需求分析2 五。总体设计3 六.概要设计4 七。详细设计7 八。软件测试8 九。页面显示效果及代码分析.。.13 十。特别说明。20 十一.参考资料.。21 一、引言 1.编写目的 本需求分析文档的目的是说明网上书店管理系统最终需要满足 的条件和限制,为进一步设计和实现提供依据。本文档将用户的需求 用文字的形式固定下来,是与用户沟通的成果,也是用户验收项目时 的参考.2。项目背景 系统名称:网上书店管理系统 需求背景分析:随着互联网的迅速发展以及我国经济的稳定平衡 发展,人们对于知识的追求也越来越高,因而市场场上出现了各类的 图书,但由于各种各样的原因使得消费者在选购图书的时候不能找到 自己合意的书籍,同时由于网络经济的迅速发展激生出了网上卖书的 现象,由于网上书店里面的图书相当丰富,且价格较市场上的书店里 的便宜,以致于越来越多的人上网购书,同时也使得越来越多的人在 网上开设自己的书店,本系统即是在以上各种条件成熟的条件下,建 立的一个可以让消费者登录本系统购买他们的图书的一个网上书店 管理系统。系统用途:本系统利用网络平台,使得消费者和销售者足不出户 即可实现买书和卖书的行为,同时大大减少的人员的参与。系统使用范围:网上想买书者。二、系统开发的目标 管理员可以维护客户注册信息、维护图书信息、处订定单信息、维护系统公告、网上售书。查看图书调查报告、游客可以在线注册为 会员、投票、购书。本系统的设计目标将最终定位于完成以上所述的 系统主要业务的基本模型上。三、可行性研究 可行性研究是系统分析阶段的第二项活动。此活动的主要目标是:进一步明确系统的目标、规模与功能,对系统开发背景、必要和意义 进行调查分析并根据需要和可能提出开发系统的初步方案与计划。可 行性研究是对系统进行全面、概要的分析.通过调查分析,新系统设 计方案有以下三个可行性:1.技术可行性:本系统采用 Windows 作为操作平台。数据库系 统选用 SQL server2005,该数据库管理系统提供数据库之间的数据复 制功能,可代替现有系统单据数据的手工传递工作,降低出错率,提 高数据的可用性.本系统的开发平台选用 visual studio 2005,这是目 前 web 数据库应用软件的主流开发平台.2。经济可行性:采用新的网上书店可取代原系统的工作,减少 人工开支,节省资金,并且可大大提高信息量的取得,缩短信息处理 周期提高员工信息的利用率,使销售质量更上一个台阶.3.3。营运可行性(1)。本系统操作简单,易于理解,只需通过简单培 训,上手较快,营运环境要求低。(2)。面对于系统设计还应该以“标 准性、安全性、高效性、保密性、可维护性”为标准,在着眼于当前 实用的基础上,为将来系统的扩展,升级留有余地。软件的开发应能 在较长时间内满足学校的发展需要.四、系统需求分析 1.总体需求 建立对图书提供全面管理信息的系统 对所有的图书,客户提供全面管理 对图书详细信息提供管理 2。功能需求 在 Internet,客户可通过 IE 或其他浏览器浏览书目信息;在互联网,可提交订单;具有购物车功能;客户能通过书名来检索书籍;客户可在网上进行注册,成为会员;客户能查看当前订单和以往订单;书店员工能查找客户联系信息;书店员工在发货后能改写订单中的发货日期;3。性能需求 网上书店系统与相关单位的链接;系统可以对图书的库存进行统计;易于维护和扩充;系统界面设计友好,操作方便、灵活;具有高可靠性和冗错能力,不允许系统在工作时间停机,不允许系统丢失图书信息,不允许在运行期间出现故障和错误;具有安全检查机制,非法用户不能使用系统,不能偷看系统信息,不能修改图书,防止随意删改,同时提供信息备份的服务;具有保密机制,各级使用者只能看到允许查看的系统信息;五、总体设计 项目规划 网上书店管理系统是一个典型的 web 数据库开发应用程序,由 前台图书展示及销售、后台管理两部分组成。1.1、前台商品展示及销售:该部分主要包括新书上架、购物车、会员管理、图书公告及订单查询、图书查询等。1.2、后台管理:该部分主要对商城内的一些基础数据进行有效管 理,包括图书管理、会员管理、订单管理、公告管理等。2 运行环境规定 程序版本 项目 详细 操作系统 Windows XP 数据引擎 Microsoft Sql Server 2005 权限要求 对 Sql Server 数据库具 有建表、备份的权限对 SqlServer 数据库具有建 表、备份的权限 硬件要求 双 XEON2。4GCPU 1G 内存 RAID5 数据冗余 磁盘阵列或更高 开发工具:数据库 Microsoft Sql Server 2005 开发工具 Visual studio 2005 六、概要设计 1 功能分析层次图:网上书店管理系统 首页 图书展台 购物车 收银台 会员管理 订单管理 2.数据库结构设计 网上书店管理系统从管理员,用户(会员)出发,通过注册会员 实现对图书的购买及款项的交付。其中通过对图书的分类查询来获取 自己需要的图书,因而确定图书的分类表,通过对图书的分类,可以 实现对实际图书的管理,进而确定有了图书的详细介绍表即图书表;但在消费者买书的时候需要将自己的订单整理好放到订单表中,故而 有了用户的订单表,这是在确定订单的时候用的表,而之前则有一个 购物车表,使得用户在网站浏览的时候能将自己喜欢的图书暂时保存 在自己的购物车表中,将确定是否购买时,可以将自己不购买的图书 随时移出购物车。还有就是在消费者买完图书后,卖家为了获得消费 者们的评价,以及是否还需要在进这种书时,专门有一个用户评价的 表格来表明消费者们对哪类书感兴趣,进而随时改变销售策略。以下即为表的详细设计:书籍的类别表:Category 书籍的详细信息列表:消费者的注册信息列表:消费者的订单列表:消费者的订单书籍详细信息列表:消费者的购物车信息列表:消费者对于购买的书籍的评价列表:它们的数据之间的关系如图所示:3。网站用例关系示意图:通过对以上设计图的步骤分析,可以使购买者快速方便的学会在网上 购书的流程。4 设计测试方案:为保证系统的数据安全性,进入本系统购书时需要使用自己的账 号,密码,这样在以后的购书过程中就无需再输入账号或密码了,节 省了很多时间。本系统功能模块主要有三个:游客注册成为会员,将购买的书籍 放进自己的购物车,结账等待收书。七 详细设计 1 系统界面设计 1。1 进入网站显示的界面 当用户在 URL 中输入本网站管理系统的地址后,进入到本网站 首页,若不想买书只是看看则是作为游客身份,这时可以看到网站推 荐的最新书籍的信息,以及其他图书的信息.然而只能浏览,不能购 买.若想买书则需要注册成为会员身份.1.2 注册登陆界面 注册登陆界面的主要功能就是让购书者将自己的信息写入数据 库存储起来,当用户确认买书时,售书者根据用户的注册信息将 用户所购买的书籍发送到用户注册的地址。新 书 上 架 书上架 图 书分类 浏览 添加至购物车 查 看 购 物 车 移出 购 物 车 清 空购 物 车 填写订 单信 息 购 书 结 账 会 员 注 册 会 员 登 录 会员 登录修改 订 单 查 询 1。3 书籍列表界面及详细详细书籍介绍界面 此界面通过对书籍的详细介绍使得用户对自己购买的书籍有一详细的了解.同时可以扩大自己对其他图书的了解,进一步购买做准备。1。4 购物车页面:此模块的主要功能是充当一个仓库,不过此仓库装的是想要购买 的书籍,用户在网站浏览时可以随时将自己喜欢的图书放进进购物 车,最后付账时可以将自己不买的图书移除购物车。1.5 账户页面 此页面主要是记录了会员购买的图书的列表,以及自己的总花 费。可以让会员实时的知道自己的账单。1.6 查找页面 此模块的主要功能是方便用户快速的找到自己需要的书籍,不必 未来会寻找而烦心。1.7 评论页面 此模块的主要功能为用户对自己购买的书籍作出评价,一方面让 网站管理人员知道自己卖的书籍的好坏,一方面扩大自己网站的知名 度。2 测试用例设计 每个系统都要有一定数量的测试用例来测试系统是否符合用户 的要求,此书店管理系统也不例外。网上书店管理系统采用管理员 admin 极普通会员作为测试用例。八 软件测试 1 测试目的:测试软件在设计及运行过程中出现的问题,以及得到对于问题改进的建议.2 测试概要 2.1 测试采用的标准及技术 表一:开始/中断/完成测试 开始/中断/完成测试 标准说明 开始测试标准 硬件环境可用且软件正确安装完成 中断测试标准 安装无法正确完成或文档错误或系统异常 完成测试标准 完成测试中的测试规划并达到质量目标 表二:测试技术 测试技术 说明 编写测试用例 在产品编码阶段编写测试用例 单元测试 对具体模块或函数进行测试 集成测试 检测模块集成后的系统是否达到要求 系统测试 对业务流程及数据流的处理是否符合标准,系统对业务流的处理是否存在逻辑不严谨和错误以及存在不合理的标准及要求 表三:测试类型 测试类型 说 明 功能测试 检测产品是否实现了其功能 边界值测试 选择边界数据进行测试,确保功能正常,程序正常 界面测试 检查界面是否美观合理 文档测试 检查文档是否足够、描述是否合理 2.1。1 单元测试 利用 visual studio 2005 中自带的单元测试功能进行单元测试,测试各个类中的函数。按要求输入,测试与预期结果是否吻合,如果不吻合,单元测试结果将显示失败或其他的错误信息。具体如下:1 测试 ReviewDB。cs 类下的AddReview(int productID,string customerName,string customerEmail,int rating,string comments)函数声明如下:public void AddReview(int productID,string customerName,string customerEmail,int rating,string comments)函数预期实现的功能:将用户评论的内容添加到用户书籍信息当中。输入:用户评论 期望输出:评论内容 测试结果:通过 2 测试ShoppingCartID。cs 类下的函数 GetShoppingCartId(),ShoppingCartID。cs 在 App_code 目录下.函数声明如下:public String GetShoppingCartId()函数取其实现的功能:以用户 ID 作为购物车 ID,实现对购物车的管理 输入:ID=1 期望输出:用户的购物车内容 测试结果:通过.2。1.2 集成测试 本系统的集成测试重点是页面间的跳转是否正确以及页面间的参数传递是否正确。对于页面间跳转的测试,主要测试点击本系统中的各个页面的导航链接提示是否跳转到相应的页面,对于参数传递的测试,主要测试页面间传递参数所产生的结果是否正确。1 页面跳转测试 表四:页面跳转测试结果 编号 跳转链接名称 所在页面 测试结果 1 用户注册 Login。aspx 通过 2 查找图书 SearchResult。aspx 通过 2 参数传递测试 参数传递主要测试的是页面间跳转的新页面依赖于所传递的参数 的页面跳转。表五:参数传递测试结果 编号 参数传递链接 所在页面 预期结果 发现问题 测试结果 1 用户注册 Login.aspx 用户名,密码,电子邮件等均为空白 通过 2 查找图书 SearchResult.aspx 查找不存在 出现图书 不通过 2.1。3 系统测试 系统测试是按照贴近实际的场景进行部署后对系统进行的一系列严格有效地测试.它主要包括两个方面,一是功能测试,二是性能测试。1 功能测试 表六:功能测试设计表 编号 功能名称 功能描述 输入/需要 输出/结果 发现问题 测试结果 1 登录退出 会员登陆网站 用户名,密码 成功登录或出错 通过 2 对性能的测试 表七 性能测试 编号 性能名称 性能描述 输入 系统响应 发现问题 测试结果 1 正确性需求 系统能够将新注册的会员信息准确的导入到数据库中 用户的注册信息 数据库中的信息本更新 无 通过 2 时间特性需求 九页面显示效果及代码分析 1 游客进入系统使得首页 如图所示:public partial class BookList:System.Web。UI。Page protected void Page_Load(object sender,EventArgs e)if(string.IsNullOrEmpty(BookTypeID))return;if(!IsPostBack)BookList1.PageIndex=1;BindBookList(BookTypeID,BookOrderByFields.DateAdded);BookList1.LblSearchCondition。Text=搜索类别:+BookTypeName;private string BookTypeID get if(BookTypeTreeNavigationExpanded1。_SelectedNode=null)if(Request。QueryStringBookTypeID”=null)return null;return Request。QueryStringBookTypeID。ToString();else return BookTypeTreeNavigationExpanded1._SelectedNode。Value private string BookTypeName get if(Request。QueryStringBookTypeName=null)return null;returnUri.UnescapeDataString(Request。QueryStringBookTypeName”。ToString();2 会员的登录注册信息 如图所示:主要代码如下:protected void RegisterClick(object sender,EventArgs e)if(!Page.IsValid)return;BookShopOnline.Model。User user=new User();user.RoleID=(int)Role。RegisterUser;/必填项 user.UserName=RegisterUser1.TxtUserName.Text;user.UserPwd=RegisterUser1。TxtUserPwd.Text;user.Email=RegisterUser1.TxtEmail.Text;/选填项 user.RealName=RegisterUser1.TxtRealName。Text;user.PostalCode=RegisterUser1。TxtPostalCode。Text;user.Phone=RegisterUser1.TxtPhone.Text;user。Address=RegisterUser1.TxtAddress。Text;int result=new UserBll().InsertUser(user);if(result=2)RegisterUser1.LblMsg。Text=”注册失败!该用户名已存在。”;return;if(result=-3)RegisterUser1.LblMsg.Text=”注册失败!该Email已存在。”;return;if(result=1)Response.Redirect(”RegisterResult.aspx?BackUrl=+hyperFromUrl.NavigateUrl);else RegisterUser1。LblMsg。Text=”注册失败!检查输入并重 试。”;3图书分类及列表信息:如图所示:主要代码如下:protected void Page_Load(object sender,EventArgs e)if(string.IsNullOrEmpty(BookTypeID))return;if(!IsPostBack)BookList1.PageIndex=1;BindBookList(BookTypeID,BookOrderByFields。DateAdded);BookList1。LblSearchCondition。Text=”搜索类别:”+BookTypeName;private string BookTypeID get if(BookTypeTreeNavigationExpanded1._SelectedNode=null)if(Request。QueryString”BookTypeID=null)return null;return Request.QueryString”BookTypeID”.ToString();else returnBookTypeTreeNavigationExpanded1。_SelectedNode。Value;private string BookTypeName get(if(Request。QueryStringBookTypeName”=null)return null;return Uri.UnescapeDataString(Request.QueryStringBookTypeName。ToString());以下为图示的详细信息页面:4查找图书页面如下:主要代码为:protected void Page_Load(object sender,EventArgs e)BookDB bookDB=new BookDB();MyList.DataSource=bookDB.SearchProductDescriptions(Request.Params txtSearch);MyList.DataBind();if(MyList。Items.Count=0)ErrorMsg。Text=”No items match your query;此文档仅描述以上几个页面,其他的在运行系统时可以一一调试运行显示。十特别说明 10.1 网站的安全性:保证管理者和注册用户的密码安全,分权限管理,数据库访问控制;管理员应具有一定网络安全及防黑知识。10.2 网站可维护性:网站管理者须懂得一定的服务器应用、ACCESS 数据库应用、硬件维护、IIS 配置等方面的技能.10。3 网站的灵活性:系统应该具有良好的功能可扩充性,以应对未来用户的更高的要求。10.4 故障处理:系统运行中难免出现一些故障,对此我们提出以下建议和要求:对用户提交的重要资料及时备份。(如:当用户修改注册资料时要及时更新系统资料备份,以便于系统崩溃后资料的正确恢复.)做好数据库和服务器的日常维护工作,出现故障时可与我们联系由我们帮助解决。参考资料:1实用软件工程(第二版)陆慧恩 张成姝 编著 清华大学出版社 2 软件工程设计吕云翔 刘浩 王希鹏 周建 编著 机械工业出版社 3ASP.NET 网络应用开发例学与实践郭常圳 李云锦 编著 清华大学出版社 4 ASP.NET2.0(C)基础教程李勇平 编著 清华大学出版社