项目名称:网上书店在线购物系统项目开发单位:计应1002班项目开发人员:张玲玲黄瀔敏1引言2.编写目的1)编写本说明书的目的在于:(1)将系统划分成物理元素,即程序、文件、数据库、文档等。(2)设计软件结构,即将需求规格转换为体系结构,划分出程序的基本模块组成,确定模块间的相互关系,并确定系统的数据结构。2)本说明书的用途在于寻找实现目标系统的各种不同方案,分析员从这些可供选择的方案中选取若干个合理的方案,为每个合理的方案都准备一份系统流程图,列出组成系统的物理元素,进行成本\效益分析,从中选出一个最佳方案向用户和使用部门负责推荐。如果用户和使用部门负责人接受了推荐的方案,分析员应该进一步为这个最佳方案设计软件结构。通常,设计出初步的软件结构后还要进一步改进,从而得到更合理的结构,进行必要的数据库设计,确定测试要求并且制定测试计划。3)本说明书的主要读者为系统分析员和用户和使用部门的有关人员,为后面的系统开发提供依据。3.项目背景目前传统书店均以店面形式存在,存在销售图书区域性,客户相对固定,查询、更新不快捷,投资较大等诸多问题。当代计算机网络发展非常迅速,越来越多的商品交易已成功的运用在电子商务上了。比较典型的电子商务网站有:易趣、亚马逊、阿里巴巴、当当网、淘宝网…电子商务平台给企业带来更多的商业机会,同时也给客户的消费和交易带来很大的方便。4.任务概述1)目标:本系统希望通过构建一个J2EE架构的电子商务网站,利用日益繁荣的互联网,为传统的书店打造一个新的销售平台。本系统希望通过电子信息化的手段对书店的进存销等环节进行管理,以达到人力与设备费用的减少,服务能力的提高,管理信息服务的改进,工作人员利用率的提高等目标。2)作用范围以及其他应向读者说明的有关该软件开发的背景作用范围;互联网网上购物该软件开发背景:Java平台5.定义开发工具:VisualStudio2005开发语言:C#开发框架:Asp.net2.0数据库:sqlserver2005系统运行环境:Windowsserver2003、WindowsXPSP2、IIS6、.NetFramework2.06.运行环境服务器:CPU:PIII500以上;内存:512M以上;硬盘:15G以上;支持软件:Win9X/2000/2003,tomcat5.0数据库系统MicrosoftSQLServer2000;7.需求概述该系统可以实现书籍管理和用户购买书籍,书籍管理因管理员和用户不同又可再细分,管理员登录后可以对书籍进行增加、删除和修改功能,用户可以查找书籍;用户登录后可以购买书籍,更改购物车中书籍的数量和,删除购物车中的书籍8.条件与限制建议开发软件运行的最短寿命:三个月●进行显然方案选择比较的期限:暂时不考虑●经费来源和使用限制:暂时不考虑●法律和政策方面的限制:暂时不考虑●硬件、软件、运行环境和开发环境的条件和限制:在WindowsXPSP2下使用●建议开发软件投入使用的最迟时间:六个月9.模块设计下面将各大功能块的处理流程显示如下:9.1登录功能:开始输入用户名(Username)和密码(Password)连接数据库User表是否存在用户成功登录提示错误信息:密码错误,不存在该用户是否获取表单的用户名(Username)和密码(Password)用户名和密码是否为空设置session值存取用户名和id,跳转到首页是否关闭数据连接9.2用户注册:开始输入用户注册信息获得用户信息用户名username真实姓名name性别sex密码password邮箱地址u_mail地址u_addr用户是否可以注册连接数据库User表在User表中自动生成用户id,并将用户的信息写入表中是否获取表单中的注册信息,是否填写完整是关闭数据连接9.3书籍查询:开始在表单中分页显示查询到的书籍记录,将书籍的id传给book.jsp显示该书籍的详细信息获取用户名和表单中的隐含的书籍id,将书籍id存于名为(用户名+书籍id)的session中获取文本框和下拉菜单中的值是是连接数据库Classify表和Supplier表,下拉菜单中显示已有的类别和出版社,在文本框输入书名三选一查询书籍处理汉化问题文本框和下拉菜单中是否有值按照查询条件连接Product,Supplier,Classify表是否有值将书籍名称、类别、出版社名称放入session中获取session中书籍名称、类别、出版社名称(分页显示时获得rs)关闭数据库连接是否购买是否否否开始在表单中分页显示查询到的书籍记录,将书籍的id传给book.jsp显示该书籍的详细信息获取用户名和表单中的隐含的书籍id,将书籍id存于名为(用户名+书籍id)的session中获取文本框和下拉菜单中的值是是连接数据库Classify表和Supplier表,下拉菜单中显示已有的类别和出版社,在文本框输入书名三选一查询书籍处理汉化问题文本框和下拉菜单中是否有值按照查询条件连接Product,Supplier,Classify表是否有值将书籍名称、类别、出版社名称放入session中获取session中书籍名称、类别、出版社名称(分页显示时获得rs)关闭数据库连接是否购买是否否否9.4添加书籍:是否为游客开始获取所有的session值存于Enumeraion类中是否有值是否值的长度大于该用户的用户名长度该session值中前部分为用户名获取该session的值得到用户购买的书籍id根据id连接表Product显示该书籍名称、库存、单价关闭数据库连接9.5删除书籍开始输入书籍名称(p_name)书籍价格(p_price)作者(p_author)简介(p_info)入库时间(p_time)库存量(p_stocks)选择分类(c_name)出版社(s_name)连接数据库Product表是否信息完整在Product表中自动生成书籍id,并将输入的书籍信息写入表格提示请输入完整信息是否是否添加否是提示本书已存在9.6购物车:查看书籍信息是否购买否是根据session中的用户id和该用户购买的书籍id并显示已购书籍是否修改商品数量是否删除已选书籍是否提交下订单Session中是否存在用户id登录是否继续购物删除已选书籍是是是书籍数量修改成功连接数据库Order表和书籍信息表Product否否否否否是是传递用户id(u_id),书籍id(p_id),购买数量(o_number)和购买时间(o_order)给Order表,添加新的订单记录更改Product表中该书籍的存货量p_stocks9.7结构9.8功能需求与程序的关系功能名称书籍管理模块购物车管理模块登录管理模块会员登录√购买者注册√管理员登录√书籍查询√书籍详细信息显示√在线购物系统登录书籍管理查询增加删除书籍修改书籍出版社类别书籍订购书籍删除订购修改订购信息购物车管理书籍查询管理员会员修改书籍√删除书籍√添加书籍√添加出版社√添加书籍分类√订购书籍√删除已选书籍√修改订购信息√9.9人工处理过程网站管理员对书籍进行管理并定期维护、删除、更新,已经没有实际意义的数据,保证数据的良好存储,以免造成数据的冗余。10.接口设计用户接口(1)登入界面:由输入用户名、密码的文本框和登陆、注册按钮组成。(2)查询界面:书籍名称编辑框:用于输入图书名称;查找按钮:进行书名查找。出版社显示区:用于显示已有出版社,可点击进行查询;类别显示区:用于显示已有书籍类别,可点击进行查询;(3)购物车界面:已购书籍信息显示区:用于显示选购书籍信息(名称,价格,购买数量);数量编辑框:用于输入每种图书的数量;提交按钮:确定购买下订单。(4)管理员增加书籍界面:信息编辑框区:输入书籍的信息。提交按钮:把数据提交到数据库。(5)管理员修改书籍界面:书籍名称编辑框:用于输入查找的图书名称。查找按钮:按姓名查找书籍,并把书籍信息的数据返回到信息编辑区。信息编辑框区:对已存在书籍的信息进行修改。提交按钮:把更新数据到数据库。(6)管理员删除书籍界面:编辑框:用于输入查找的图书名、称类别、出版社。查找按钮:查找书籍,并把书籍信息的数据返回到信息显示区。信息显示区:显示查找结果删除按钮:每条查找到的信息结尾都有个个删除按钮用于删除当条记录。10.1外部接口1)硬件接口:由于我们使用的通信协议是TCP/IP,因此这里的硬件接口问题主要就是TCP/IP层中的网络接口层,他负责数据帧的发送和接收,帧是独立的网络信息传输单元。网络接口层将帧放在网上,或从网上把帧取下来。这就要求IP使用网络设备接口规范NDIS向网络接口层提交帧,并且IP支持广域网和本地网接口技术。在系统运行时要注意关闭那些容易受攻击和入侵的端口号,在能保证带宽的前提下仅开通系统运行所必须的端口。2)软件接口这里的接口问题主要就是怎样与sql数据库进行通信,以便对数据库进行读取和写入操作。在jsp技术中是使用JABC-ODBC来解决这个问题的。具体来说开发中可能使用到的JABC-ODBC的常用对象有以下几个:(1)连接对象(Connection):用来连接数据库。(2)记录集对象(RecordSet):用来保存查询语句的返回结果。(3)命令对象(Command):用来执行SQL语句或者SQLServer的存储过程。(4)参数对象(Parameter):用来为存储过程或查询提供参数。10.2内部接口系统中的各模块之间的接口、调用关系,以及模块间的数据传递关系如下所示:各功能模块的定义如下图所示:1)登录模块与书籍管理模块:管理员可以对数据库中的书籍进行增加、删除、修改等操作,这三种功能的权限仅局限于管理员,要进行操作需确保为管理员,调用登录模块验证用户以保证数据库的信息的正确、完整与安全。2)登录模块与购物车管理模块:用户进入系统后可以查询书籍,若要购物则需确保用户为本系统的会员,非会员可以注册,会员成功登录后将会员id储存于服务器中,购物过程将书籍id也储存于服务器中,当会员确认购买时,将会员id、书籍id和购买数量存于数据库中的customer_order表中,并更改该书籍的库存量。模块编号模块名称备注GN1会员登录登录模块GN2管理员登录登录模块GN3用户注册登录模块GN4添加书籍书籍管理模块GN5修改书籍书籍管理模块GN6查看书籍书籍管理模块GN7删除书籍书籍管理模块GN8订购书籍购物车管理模块GN9删除订单购物车管理模块GN10修改订购信息购物车管理模块11系统论据结构设计逻辑结构设计要点1)E-R图2)每张表的定义用户表User用户序号u_id数值型(唯一标识)用户名username文本型真实姓名name文本型性别sex文本型密码password文本型邮箱地址u_mail文本型m11mn1n1管理员书籍书籍分类添加添加管理依赖依赖出版社购物车购买者订单提交查询获取1n1n1111书籍详细表Product书籍编号p_id数值型(唯一标识)书籍名称p_name文本型书籍价格p_price货币型作者p_author文本型简介p_info文本型分类编号c_id数值型出版社编号s_id数值型入库时间p_regtime日期型库存量p_stocks数值型出版时间p_pubtime日期型书籍封面p_image文本型书籍分类表Classify分类编号c_id数值型(唯一标识)分类名c_name文本型出版社分类表Supplier出版社编号s_id数值型(唯一标识)出版社名字s_name文本型顾客订单表Order订单编号o_id数值型(唯一标识)顾客编号u_id数值型书籍编号p_id数值型购买数量o_number数值型购买日期o_time日期型12.运行设计待定物理结构设计要点数据的物理结构用存储表、链表或索引表等描述。数据结构与程序的关系数据结构登录模块书籍管理模块购物车管理模块管理员登录会员登录用户注册查询书籍删除书籍修改书籍信息添加类别添加出版社添加书籍订购书籍修改订单删除订单管理员编号指定管理员名输入管理员密码输入会员编号指定指定读读读用户名输入输入用户密码输入输入性别输入Email输入书籍