您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 网上书店详细设计说明书
详细设计说明书1引言1.1编写目的编写网上书店系统详细设计说明书的目的在于从详细设计的角度明确网上书店项目的业务品种、功能范围,明确与业务主机/终端系统的接口和业务处理模式,使系统开发人员和产品管理人员明确产品功能,可以有针对性的进行系统开发、测试、验收等各方面的工作。1.2背景、定义、参考资料同上文档2.程序系统的结构(1)用户管理模块(2)图书管理模块图2图书管理模块图(3)购物车模块图3购物车模块图(4)查询浏览模块(5)数据库模块图书管理模块图书删除图书修改图书录入添加商品购物车模块清空购物车更新数量移除商品计算价格查询浏览模块按作者查询按出版社查询按类别查询按年龄段查询按出版日期查询3程序1(标识符)设计说明3.1程序描述3.1用户管理模块图1用户管理模块图3.1.1注册模块1、模块描述该模块完成用户注册的过程。2、输入、输出输入∶用户名、密码、邮箱E-mail。3、模块接口关系允许进入∶进入注册成功提示页面拒绝进入∶返回注册页面3.1.2登录模块1、模块描述该模块完成用户登录的过程,用户登录成功后才能完成图书购买等功能。2、输入、输出输入∶用户名、密码。输出:进入书店会员界面。3、模块接口关系允许进入∶进入书店系统拒绝进入∶返回登录页面4、模块算法实现注册登录用户数据库模块发货表会员表书籍表进货表3.2图书管理模块3.2.1图书录入模块1、模块描述该模块完成卖家用户查询图书数据库后实现书籍录入功能。2、输入、输出书号图片图书名价格数量作者和图书简介3、模块算法实现3.2.2、图书删除模块1、模块描述该模块完成卖家用户查询书籍数据库后实现书籍删除功能。2、算法实现卖家用户不执行任何操作点击添加按钮提示添加成功信息单击查询按钮判断是否有此书进入书店返回登录首页普通游客是否会员注册输入口令否是否合法是否是3.2.3图书修改1、模块描述该模块完成卖家用户查询图书数据库后实现书籍价格、数量、书籍上架时间等书籍信息修改功能。2、输入、输出序号日期数量价格数据类型有效范围3、算法实现3.3购物车模块卖家用户不执行任何操作执行书籍信息修改语句提示成功信息输入书名单击查询按钮查询是否有此书卖家用户不执行任何操作执行书籍信息修改语句提示成功信息输入书名单击查询按钮查询是否有此书3.3.1添加书籍到购物车模块1、模块描述该模块完成买家用户购买书籍的功能2、算法实现3.3.2计算价格模块1、模块描述该模块完成买家用户购买书籍打折后计算价格的功能3.4查询浏览模块1、模块描述该模块完成注册用户查询浏览书籍、查看书籍销售排行的功能用户添加商品获取购物车保存添加商品到购物车更改车中数量是否有此商品购物车模块清空购物车更新数量移除商品添加商品计算价格3.5数据库模块3.5.1表books概述表books用于记录书籍信息主键表books的主键是bookid,类型int型,设置自动增量外键无约束无索引主键字段bookid具有自动创建聚集索引3.5.2表booktype概述表booktype用于记录书籍类型信息表定义主键表booktype的主键是booktypeid,类型int型,设置自动增量外键无约束无注册用户选择查询方式书名作者分类销售排行榜输入所需要求展示商品记录继续退出索引主键字段booktypeID具有自动创建聚集索引3.5.3表user概述表user用于记录用户信息表定义表user定义如图所示主键表user的主键是userid,类型int型,设置自动增量外键无约束无索引主键字段userid具有自动创建聚集索引编码规范JAVA编码规范命名规范Package的命名Package的名字应该都是由一个小写单词组成。包名:packagecom.ascent.beanpackagecom.ascent.business;packagecom.ascent.business.service;packagecom.ascent.dao;packagecom.ascent.dao.hibernate;packagecom.ascent.struts.action;packagecom.ascent.struts.form;packagecom.ascent.util;Class的命名类名用大写字母开头的而其他字母都小写的单词组成,其中包含的所有单词都应紧靠在一起。publicabstractclassAbstractBookimplementsjava.io.SerializablepublicabstractclassAbstractCustomerorderimplementsjava.io.SerializablepublicabstractclassAbstractOrderitemimplementsjava.io.SerializablepublicclassOrderextendsAbstractOrderimplementsjava.io.SerializablepublicclassOrderitemextendsAbstractOrderitemimplementsjava.io.Serializable方法的命名方法名用小写字母组成的单词开头,后边跟上大写字母开头而其他字母都小写的单词组成,其中包含的所有单词都应紧靠在一起。publicAbstractBook()publicAbstractCustomerorder()publicIntegergetCustorderId()publicStringgetCustorderName()publicStringgetTelephone()publicIntegergetPost()publicStringgetEmail()publicIntegergetOrderId()publicOrdergetOrder()publicAbstractOrderitem()publicIntegergetOrderItemId()publicsynchronizedstaticAppContextgetInstance()privateAppContext()publicAbstractApplicationContextgetAppContext()publicvoiddestroy()publicShoppingCart()publicListgetItems()publicvoidemptyCart()publicBookgetBook()publicintgetQuantity()publicintgetBookId()Class中变量的命名类中的一个变量的名字=类型标志+描述词。变量和参数用小写字母开头的单词和大写字母开头其他字母都小写的单词组合而成。如果通过以上规则,还出现同名的变量,可以在变量后添加后缀来解决,但后缀应该以”_”来连接.publicAbstractBook(IntegerbookId,StringbookName,StringbookAuthor,DoublebookPrice,Stringimage,Stringdescribes)publicAbstractCustomerorder(IntegercustorderId,StringcustorderName,Stringtelephone,Stringaddress,Integerpost,Stringemail,IntegerorderId)publicAbstractOrderitem(IntegerorderItemId,Integerquantity,IntegerorderId,IntegerbookId)publicOrderitem(IntegerorderItemId,Integerquantity,IntegerorderId,IntegerbookId)publicAbstractOrder(IntegerorderId,IntegercustomerId,Doubletotalprice)数组的命名本系统中未使用到数组变量常量的命名staticfinal常量的名字应该都大写,并且指出完整含义。参数的命名方法中参数的名字规则为第一个单词首字母小写,其后的单词的每个字母大写publicCustomergetCustomer(intid);publicListfindCustomerByName(Stringname);publicCustomerupdateCustomer(Customercustomer);publicvoidremoveCustomer(Customercustomer);publicOrdersaveNewOrder(Orderorder);publicOrderfindOrderById(intid);JSP文件的命名JSP文件名=模块(或功能)名+操作(增加、修改、查询、查询结果、查看等)adminlist.jsp管理员首页addbook.jsp添加图书信息bookdetail.jsp图书详情Booklist.jsp管理员图书列表Cartok.jsp填写购物车客户信息Headad.jsp管理员登录首页头部Index.jsp主页面Login.jsp用户登录页面Morebookin.jsp更多图书页面Reg.jsp用户注册页面Tail.jsp首页底部页面Updatesearchbook.jsp修改查询图书(管理员)Userlist.jsp用户信息列表画面部品的命名画面部品是指在开发中使用的来源于treck共通基类的各种显示用部品.这类部品的命名原则基本上和变量的命名原则类似,只是将类型标志替换成部品类型即可.用户注册页面user/index.htm提交的数据表单如表所示。名称元素类型含义UsernameText用户名PasswordText密码PasaText确认密码EmailTextEmail用户资料修改页面提交的数据表单名称元素类型含义UsernameText用户名PasswordPassword密码EmailTextEmail添加留言页面提交的数据表单(未实现)名称元素类型含义UsernameText姓名EmailTextEmailMotifText留言主题DemoText留言内容Form1FormAction=”addle.jsp”method=”post”登录页面提交的数据表单名称元素类型含义LoginText用户名PasswordPassword密码添加商品信息提交的数据表单如表所示。名称元素类型含义WarenameText商品名称WarepriceText商品价格WaretypeText商品类型WareintroTextarea商品介绍ImageText展示图片路径StrCheckbox是否推荐FormlFormAction=”wcheck.jsp”method=”post”添加链接页面提交的数据表单如表所示:名称元素类型含义LinknameText链接名称AddressPassword链接地址FormFormatAction=”.link.jsp”method=”post”注释规范定义这个规范的目的是让项目中所有的文档都看起来像一个人写的,增加可读性,减少项目组中因为换人而带来的损失。Java的注释有三种://注释一行/*......*/注释若干行除了以上两种之外,还有第三种,文档注释:/**......*/注释若干行,并写入javadoc文档本系统中使用第三种/***AbstractBookgeneratedbyMyEclipse-HibernateTools*//***AbstractCustomerordergeneratedbyMyEclipse-HibernateTools*/代码编写规范运算符的优先级优先级运算符结合律从高到()[].从左至右!~++--(类型)sizeof+-*&从右至左*/%从左至右+-从左至右从左至右==从左至右低排列==!=从左至右&从左至右^从左至
本文标题:网上书店详细设计说明书
链接地址:https://www.777doc.com/doc-5834104 .html