1、一.引言1二.系统开发目标1三.可行性研究2四.系统需求分析2五.总体设计3六.概要设计4七.具体设计7八.软件测试8九.页面显示效果及代码分析.13十.尤其说明 .20十一.参考资料.21一、 引言 1.编写目标本需求分析文档目标是说明网上书店管理系统最终需要满足条件和限制,为深入设计和实现提供依据。本文档将用户需求用文字形式固定下来,是和用户沟通结果,也是用户验收项目时参考。 2. 项目背景 系统名称:网上书店管理系统需求背景分析:伴随互联网快速发展和中国经济稳定平衡发展,大家对于知识追求也越来越高,所以市场场上出现了各类图书,但因为多种多样原因使得消费者在选购图书时候不能找到自己合意书籍
2、,同时因为网络经济快速发展激生出了网上卖书现象,因为网上书店里面图书相当丰富,且价格较市场上书店里廉价,以致于越来越多人上网购书,同时也使得越来越多人在网上开设自己书店,本系统即是在以上多种条件成熟条件下,建立一个能够让消费者登录本系统购置她们图书一个网上书店管理系统。系统用途:本系统利用网络平台,使得消费者和销售者足不出户即可实现买书和卖书行为,同时大大降低人员参与。 系统使用范围:网上想买书者。二、系统开发目标管理员能够维护用户注册信息、维护图书信息、处订定单信息、维护系统公告、网上售书。查看图书调查汇报、游客能够在线注册为会员、投票、购书。本系统设计目标将最终定在完成以上所述系统关键业务
3、基础模型上。三、 可行性研究可行性研究是系统分析阶段第二项活动。此活动关键目标是:深入明确系统目标、规模和功效,对系统开发背景、必需和意义进行调查分析并依据需要和可能提出开发系统初步方案和计划。可行性研究是对系统进行全方面、概要分析。经过调查分析,新系统设计方案有以下三个可行性:1.技术可行性:本系统采取 Windows 作为操作平台。数据库系统选择 SQL server,该数据库管理系统提供数据库之间数据复制功效,可替换现有系统单据数据手工传输工作,降低犯错率,提高数据可用性。本系统开发平台选择 visual studio ,这是目前 web数据库应用软件主流开发平台。 2.经济可行性:采取
4、新网上书店可替换原系统工作,降低人工开支,节省资金,而且可大大提升信息量取得,缩短信息处理周期提升职员信息利用率,使销售质量更上一个台阶。3.3.营运可行性(1).本系统操作简单,易于了解,只需经过简单培训,上手较快,营运环境要求低。(2).面对于系统设计还应该以“标准性、安全性、高效性、保密性、可维护性”为标准,在着眼于目前实用基础上,为未来系统扩展,升级留有余地。软件开发应能在较长时间内满足学校发展需要。四、 系统需求分析1. 总体需求 建立对图书提供全方面管理信息系统 对全部图书,用户提供全方面管理 对图书具体信息提供管理2. 功效需求 在Internet,用户可经过IE或其它浏览器浏览
5、书目信息; 在互联网,可提交订单; 含有购物车功效; 用户能经过书名来检索书籍; 用户可在网上进行注册,成为会员; 用户能查看目前订单和以往订单; 书店职员能查找用户联络信息; 书店职员在发货后能改写订单中发货日期; 3. 性能需求 网上书店系统和相关单位链接; 系统能够对图书库存进行统计; 易于维护和扩充; 系统界面设计友好,操作方便、灵活; 含有高可靠性和冗错能力,不许可系统在工作时间停机,不许可系统丢失图书信息,不许可在运行期间出现故障和错误; 含有安全检验机制,非法用户不能使用系统,不能偷看系统信息,不能修改图书,预防随意删改,同时提供信息备份服务; 含有保密机制,各级使用者只能看到许
6、可查看系统信息; 五、 总体设计项目计划网上书店管理系统是一个经典 web 数据库开发应用程序,由前台图书展示及销售、后台管理两部分组成。 1.1、前台商品展示及销售:该部分关键包含新书上架、购物车、会员管理、图书公告及订单查询、图书查询等。 1.2、后台管理:该部分关键对商城内部分基础数据进行有效管理,包含图书管理、会员管理、订单管理、公告管理等。 2运行环境要求 程序版本项目具体操作系统Windows XP数据引擎Microsoft Sql Server 权限要求对 Sql Server 数据库具有建表、备份权限 对 SqlServer 数据库含有建表、备份权限硬件要求双 XEON2.4G
7、CPU 1G 内存 RAID5 数据冗余磁盘阵列或更高开发工具:数据库Microsoft Sql Server 开发工具Visual studio 六、 概要设计1功效分析层次图:网上书店管理系统 首页购物车订单管理会员管理收银台图书展台会 员 注 册填写订 单信 息移出 购 物 车添加至购物车图 书分类 浏览新 书 上 架书上架清 空购 物 车购 书 结 账会 员 登 录会员 登录修改订 单 查 询查 看 购 物 车 2.数据库结构设计网上书店管理系统从管理员,用户(会员)出发,经过注册会员实现对图书购置及款项交付。其中经过对图书分类查询来获取自己需要图书,所以确定图书分类表,经过对图书分类
8、,能够实现对实际图书管理,进而确定有了图书具体介绍表即图书表;但在消费者买书时候需要将自己订单整理好放到订单表中,故而有了用户订单表,这是在确定订单时候用表,而之前则有一个购物车表,使得用户在网站浏览时候能将自己喜爱图书临时保留在自己购物车表中,将确定是否购置时,能够将自己不购置图书随时移出购物车。还有就是在消费者买完图书后,卖家为了取得消费者们评价,和是否还需要在进这种书时,专门有一个用户评价表格来表明消费者们对哪类书感爱好,进而随时改变销售策略。以下即为表具体设计:书籍类别表:Category 书籍具体信息列表: 消费者注册信息列表: 消费者订单列表: 消费者订单书籍具体信息列表: 消费者
9、购物车信息列表:消费者对于购置书籍评价列表: 它们数据之间关系图所表示:3.网站用例关系示意图:经过对以上设计图步骤分析,能够使购置者快速方便学会在网上购书步骤。4 设计测试方案:为确保系统数据安全性,进入本系统购书时需要使用自己账号,密码,这么在以后购书过程中就无需再输入账号或密码了,节省了很多时间。本系统功效模块关键有三个:游客注册成为会员,将购置书籍放进自己购物车,结账等候收书。七 具体设计1系统界面设计 1.1 进入网站显示界面 当用户在URL中输入本网站管理系统地址后,进入到本网站首页,若不想买书只是看看则是作为游客身份,这时能够看到网站推荐最新书籍信息,和其它图书信息。然而只能浏览
10、,不能购买。若想买书则需要注册成为会员身份。 1.2注册登陆界面注册登陆界面关键功效就是让购书者将自己信息写入数据库存放起来,当用户确定买书时,售书者依据用户注册信息将用户所购置书籍发送到用户注册地址。 1.3 书籍列表界面及具体具体书籍介绍界面 此界面经过对书籍具体介绍使得用户对自己购置书籍有一具体了解 。同时能够扩大自己对其它图书了解,深入购置做准备。 1.4 购物车页面: 此模块关键功效是充当一个仓库,不过此仓库装是想要购置书籍,用户在网站浏览时能够随时将自己喜爱图书放进进购物车,最终付账时能够将自己不买图书移除购物车。 1.5账户页面 此页面关键是统计了会员购置图书列表,和自己总花费。
11、能够让会员实时知道自己账单。 1.6 查找页面此模块关键功效是方便用户快速找到自己需要书籍,无须未来会寻求而烦心。 1.7 评论页面此模块关键功效为用户对自己购置书籍作出评价,首先让网站管理人员知道自己卖书籍好坏,首先扩大自己网站著名度。2测试用例设计每个系统全部要有一定数量测试用例来测试系统是否符适用户要求,此书店管理系统也不例外。网上书店管理系统采取管理员admin极一般会员作为测试用例。 八 软件测试 1测试目标:测试软件在设计及运行过程中出现问题,和得到对于问题改善提议。 2 测试概要2.1 测试采取标准及技术表一:开始/中止/完成测试开始/中止/完成测试标准说明开始测试标准硬件环境可
12、用且软件正确安装完成中止测试标准安装无法正确完成或文档错误或系统异常完成测试标准完成测试中测试计划并达成质量目标表二:测试技术测试技术说明编写测试用例在产品编码阶段编写测试用例单元测试对具体模块或函数进行测试集成测试检测模块集成后系统是否达成要求系统测试对业务步骤及数据流处理是否符合标准,系统对业务流处理是否存在逻辑不严谨和错误和存在不合理标准及要求表三:测试类型测试类型说 明功效测试检测产品是否实现了其功效边界值测试选择边界数据进行测试,确保功效正常,程序正常界面测试检验界面是否美观合理文档测试检验文档是否足够、描述是否合理2.1.1单元测试利用visual studio 中自带单元测试功效
13、进行单元测试,测试各个类中函数。按要求输入,测试和预期结果是否吻合,假如不吻合,单元测试结果将显示失败或其它错误信息。具体以下: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)函数预期实现功效:
14、将用户评论内容添加到用户书籍信息当中.输入:用户评论期望输出:评论内容测试结果:经过2测试ShoppingCartID.cs类下函数GetShoppingCartId(),ShoppingCartID.cs在App_code目录下。函数申明以下: public String GetShoppingCartId()函数取其实现功效:以用户ID作为购物车ID,实现对购物车管理输入:ID=1期望输出:用户购物车内容测试结果:经过。2.1.2集成测试本系统集成测试关键是页面间跳转是否正确和页面间参数传输是否正确。对于页面间跳转测试,关键测试点击本系统中各个页面导航链接提醒是否跳转到对应页面,对于参数传
15、输测试,关键测试页面间传输参数所产生结果是否正确。 1页面跳转测试表四:页面跳转测试结果编号跳转链接名称所在页面测试结果1用户注册Login.aspx经过2查找图书SearchResult.aspx经过 2参数传输测试参数传输关键测试是页面间跳转新页面依靠于所传输参数页面跳转。 表五:参数传输测试结果 编号参数传输链接所在页面预期结果发觉问题测试结果1用户注册Login.aspx用户名,密码,电子邮件等均为空白经过2查找图书SearchResult.aspx查找不存在出现图书不经过2.1.3系统测试系统测试是根据贴近实际场景进行布署后对系统进行一系列严格有效地测试。它关键包含两个方面,一是功效
16、测试,二是性能测试。1功效测试表六:功效测试设计表编号功效名称功效描述输入/需要输出/结果发觉问题测试结果1登录退出会员登陆网站用户名,密码成功登录或犯错经过2对性能测试表七 性能测试编号性能名称性能描述输入系统响应发觉问题测试结果1正确性需求系统能够将新注册会员信息正确导入到数据库中用户注册信息数据库中信息本更新无经过2时间特征需求九页面显示效果及代码分析1游客进入系统使得首页图所表示:public partial class BookList : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e)
17、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.Quer
18、yStringBookTypeID = 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.QueryStringBookTypeNam
19、e.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;
20、 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) Re
21、gisterUser1.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 Pag
22、e_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._
23、SelectedNode=null) if (Request.QueryStringBookTypeID = null) return null; return Request.QueryStringBookTypeID.ToString(); else returnBookTypeTreeNavigationExpanded1._SelectedNode.Value; private string BookTypeName get (if (Request.QueryStringBookTypeName = null) return null; return Uri.UnescapeData
24、String( Request.QueryStringBookTypeName.ToString(); 以下为图示具体信息页面: 4查找图书页面以下:关键代码为:protected void Page_Load(object sender, EventArgs e) BookDB bookDB = new BookDB(); MyList.DataSource = bookDB.SearchProductDescriptions(Request.ParamstxtSearch); MyList.DataBind(); if (MyList.Items.Count = 0) ErrorMsg.T
25、ext = No items match your query; 此文档仅描述以上多个页面,其它在运行系统时能够一一调试运行显示。十尤其说明10.1 网站安全性:确保管理者和注册用户密码安全,分权限管理,数据库访问控制;管理员应含有一定网络安全及防黑知识。10.2 网站可维护性: 网站管理者须知道一定服务器应用、ACCESS数据库应用、硬件维护、IIS配置等方面技能。10.3 网站灵活性:系统应该含有良好功效可扩充性,以应对未来用户更高要求。 10.4 故障处理:系统运行中难免出现部分故障,对此我们提出以下提议和要求:l对用户提交关键资料立即备份。(如:当用户修改注册资料时要立即更新系统资料备份,方便于系统瓦解后资料正确恢复。)l做好数据库和服务器日常维护工作,出现故障时可和我们联络由我们帮助处理。参考资料:1实用软件工程(第二版)陆慧恩 张成姝 编著 清华大学出版社 2 软件工程设计吕云翔 刘浩 王希鹏 周建 编著 机械工业出版社 3ASP.NET网络应用开发例学和实践郭常圳 李云锦 编著 清华大学出版社 4 ASP.NET2.0(C#)基础教程李勇平 编著 清华大学出版社