网上书店系统的需求分析和概要设计.docx
《网上书店系统的需求分析和概要设计.docx》由会员分享,可在线阅读,更多相关《网上书店系统的需求分析和概要设计.docx(31页珍藏版)》请在冰豆网上搜索。
网上书店系统的需求分析和概要设计
网上书店系统的需求分析和概要设计
摘要
随着互联网络的发展,网上书店越来越受人们所关注。
通过网上书店,人们可以足不出户就选购自己所需的图书.网上书店是根据公司的实际需求、应用动态网页技术开发而成。
该系统主要由前台信息发布网站和后台管理维护系统两部分构成;在支持整个网站的运作功能的基础上,能帮助用户对前台网站进行日常管理和信息发布;并且占用系统资源少、信息量大、站点维护方便、便于扩充和更新、易于继承和保护历史数据。
该系统可以克服传统图书销售中地域、广告宣传、人力资源不足等限制,能很好地适应销售需求。
本文介绍了网上书店系统的需求分析和概要设计。
Abstract
WiththedevelopmentoftheInternet,onlinebookshopsmoreconcernforpeople。
Throughtheonlinebookshop,peoplecanstayathometobuythebookstheyneed.Onlinebookshopisbasedontheactualneedsofthecompany,usingdynamicwebtechnologywasdeveloped。
Thesystemofinformationissuedbythefrontandbackofficemanagementandmaintenancesystemssiteoftwoparts;insupportoftheoperationalfunctionsoftheentiresite,basedonthereceptionsitetohelpusersofthedailymanagementandinformationdissemination;andwithlesssystemresources,theamountofinformationlarge,sitemaintenanceconvenient,easytoexpandandupdate,easytoinheritandtheprotectionofhistoricaldataandsoon.Thesystemcanovercomethetraditionalbooksalesintheregion,advertising,humanresources,lackofrestrictions,canwellmeetthedemandforonlinesales.Thisarticledescribesthedemandanalysisandpreliminarydesignofonlinebookshopsystem。
一、概述
1.课题简介
(1)网上书店系统
随着网络的飞速发展,网上购物已成为越来越多人首选的购物方式。
商家可以通过电子商务平台销售自己的图书,消费者可以通过该系统订购自己要买的图书。
消费者通过网上书店系统的用户界面,可以浏览图书、搜索图书、查看图书的详细信息.在浏览图书的过程中,如果消费者对某本书感兴趣,则可以将其添加到购物车。
消费者随时可以查看购物车中的情况,并及时更新。
购物活动完成后,消费者如需购买,必须结账生成订单。
消费者可以注册会员,修改个人信息,在购买图书的过程中可以查询帮助。
系统管理员从后台管理程序入口登录,如果验证通过,则具有管理员权限,可以进入后台管理系统,管理图书信息、管理订单、管理用户、管理留言等。
(2)模块分工
网上书店系统共分成4个模块,分别为前台的客户管理模块,订单管理模块,后台的后台管理模块和图书及留言管理模块.
开发小组总共4人,一人负责一个模块,我负责的模块是前台的订单管理模块。
订单管理模块主要是用户浏览搜索图书,加入购物车,查看购物车商品,生成订单,用户留言,用户帮助等.
2。
开发环境及开发工具介绍
(1)开发环境:
windows7系统
(2)开发工具:
MyEclipse开发平台,Tomcat服务器,MySQL数据库,Dreamweaver软件.
MyEclipse简介
MyEclipse,是在eclipse的基础上加上自己的插件开发而成的功能强大的企业级集成开发环境,主要用于Java、JavaEE以及移动应用的开发。
MyEclipse的功能非常强大,支持十分广泛,尤其是对各种开源产品的支持。
利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。
它包括了完备的编码、调试、测试和发布功能,完全支持JavaServlet,SQL,JDBC,JSP,CSS,AJAX,HTML,Javascript,Struts,Spring,Hibernate,JSF等。
可以说MyEclipse几乎囊括了目前所有主流开源产品的专属eclipse开发工具。
本系统采用的开发环境为MyEclipse2013.
MyEclipse2013 支持HTML5、JQuery和主流的Javascript库。
随着MyEclipse2013支持Html5,用户可以添加音频、视频和API元素到项目,从而为移动设备创建复杂的Web应用程序。
用户甚至还可以通过HTML5可视化设计器设计令人难以置信的用户界面。
同时,随着MyEclipse2013支持JQuery,用户可以通过插件提升性能,并添加动画效果到设计中。
MySQL数据库简介
MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,目前属于Oracle公司。
MySQL是一个快速、多线程、多用户的SQL数据库服务器,其出现虽然只有短短的数年时间,但凭借着“开放源代码”,支持正规的SQL查询语言和采用多种数据类型,能对数据进行各种详细的查询等特点,它从众多的数据库中脱颖而出。
MySQL目前被广泛地应用在Internet上的中小型网站中。
正因为其速度快、体积小、总体拥有成本低,尤其是开放源码这一特点,所以许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为数据库。
(3)使用框架:
Struts2+Spring+Hibernate
Struts2简介
Struts2是Struts的下一代产品。
是在struts和WebWork的基础上进行合并之后的全新的Struts2框架.是MVC设计模式一个优秀的实现。
Struts2定义了Controller(控制器),通过配置文件(struts-config.xml)隔离了Model(模型)和View(视图),以Action对用户请求做了封装,使代码更清晰易读。
Struts2还提供了自动将请求的数据填充到对象中以及页面标签等简单编码工具。
Struts2以WebWork为核心,采用拦截器机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离,所以Struts2可以理解为WebWork的更新产品。
Spring简介
Spring是一个开源框架,它由RodJohnson创建,来解决企业应用开发的复杂性。
Spring的用途不仅限于服务器端的开发,从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。
Spring是一个轻量级控制反转(IoC)和面向切面(AOP)的容器框架。
轻量,从大小与开销两方面而言Spring都是轻量的.
控制反转,Spring通过一种称作控制反转(IoC)的技术促进了松耦合。
面向切面,Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。
容器,Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,用户可以配置每个bean如何被创建--基于一个可配置原型(prototype),bean可以创建一个单独的实例或者每次需要时都生成一个新的实例-—以及它们是如何相互关联的。
框架,Spring可以将简单的组件配置、组合成为复杂的应用。
Spring的这些特征使用户能够编写更干净、更可管理、并且更易于测试的代码。
有了Spring,用户不必再为单实例模式类、属性文件解析等这些底层的需求编写代码,可以更专注于上层的应用。
Hibernate简介
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得程序员可以随心所欲的使用对象编程思维来操纵数据库.Hibernate可以应用在任何使用JDBC的场合,不仅可以在Java的客户端程序使用,而且可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
(4)设计模式:
系统采用MVC的设计模式实现.
MVC简介
MVC全名是ModelViewController,是模型(model)-视图(view)-控制器(controller)的缩写,是一种软件设计典范。
其中模型层实现系统中的业务逻辑,通常可以用JavaBean或EJB来实现;视图层用于与用户的交互,通常用JSP实现;控制器层是Model与View之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。
MVC是一个设计模式,它强制性的将应用程序的输入、处理和输出分开。
MVC使应用程序被分成三个核心部件:
模型、视图、控制器,它们各自处理自己的任务。
模型组件:
负责业务逻辑,包含应用程序的核心功能,封装了应用程序的状态。
有时它包含的唯一功能就是状态,它对视图或控制器一无所知。
视图组件:
负责表示业务范围的视图,提供模型的表示,它是应用程序的外观。
视图可以访问模型的读方法,但不能访问写方法.此外,它对控制器一无所知。
当更改模型时,视图应得到通知。
控制器组件:
控制器对用户的输入作出反应。
它创建并设置模型。
二、需求分析
1.系统功能分析
网上书店系统主要分前台和后台,前台的用户是浏览网站的游客,他们可以注册成为会员,可以登录网站,在登陆成功之后,可以修改个人资料,可以浏览图书、搜索图书,可以将喜爱的商品加入购物车,可以修改购物车中的商品,可以结算,可以留言,可以查询帮助;后台的用户主要是网站管理员,管理员主要是对系统的数据进行维护,如管理图书信息,管理用户信息,管理订单信息,也可以修改个人信息等。
详细内容如下:
功能一:
用户注册功能,该功能的优先级较高,要想正常使用本网站,就要首先进行注册,需要填写用户名、密码、确认密码、电话号码、邮箱等问题。
功能二:
用户登录功能,该功能的优先级较高,用户使用已经注册过的用户名和密码进行登录,经过系统确认正确后,即可进入下一步操作。
功能三:
修改个人资料功能,用户在注册成功之后,还想修改自己的个人信息,如电话号码,可以在登陆成功之后,进入个人信息页面进行修改。
功能四:
浏览搜索图书功能,用户通过输入要找的图书的关键字进行查询,然后从若干本书中进行浏览,挑选出自己想要的图书。
功能五:
购物车功能,在浏览网页和查找书籍的过程中,如果选中某一本书,就可以随时将它添加到自己的购物车中,前提条件是这必须要在登录之后才能完成的操作。
而且,用户可以进入购物车中,对其中的商品进行修改、删除,还可以将购物车中的商品提交付款.
功能六:
留言功能,用户购买并收到图书之后,对图书的好坏可以通过留言来提出。
功能七:
帮助栏功能,用户在登陆时忘记了自己的密码,可以通过找回密码功能找回。
功能八:
管理员对网站的用户进行管理功能,该功能是指管理员可以管理客户注册信息、管理图书信息,同时,还可以将一些使用不规范的用户或者长期不用的用户进行删除。
功能九:
管理员对订单进行管理功能,该功能指管理员可以根据用户的需要修改订单信息,对于下单之后没有结算失效的订单,管理员可以删除它。
功能十:
管理员个人信息管理功能,管理员可以修改自己的个人信息。
功能十一:
管理员对图书进行分类管理功能,该功能包括添加图书、修改图书、删除图书、添加图书类型、修改图书类型、删除图书类型。
功能十二:
留言回复功能,对于用户的留言,由管理员去回复.
2.系统数据分析
根据系统的功能分析,可以知道网上书店系统中,有很多数据需要管理,系统需要管理图书数据,图书类型数据,订单数据,用户数据,购物车数据,留言数据,管理员数据等。
这些数据对应图书,图书类型,订单,用户,购物车,留言,管理员的基本信息,如图书的基本信息有编号,书名,作者,isbn号,出版社,简介,单价,库存量,出版的时间,图书所属的类型,现在购买打几折,优惠价,是不是特价商品等。
3。
数据字典
数据字典通常包括以下四个部分:
数据项(数据的最小单位)、数据流(可以是数据项,也可以是数据结构,表示某一处理过程的输入或输出)、数据存储(处理过程中存取的数据)、处理过程。
根据数据分析,得到数据存储如下:
图书(book):
属性有图书编号(bookID)、图书名称(bookName)、作者(author)、ISBN号(isbn)、出版社(publisher)、描述文本路径(descriptionSrc)、价格(price)、库存(stock)、图片路径(pictureSrc)、出版时间(publishDate)、图书类型编号(bookTypeID)、优惠价(preferPrice)、打折率(discountRate)、是否特价(isSpecial)、发布状态(publishStatus).
1、图书表
表4—1图书表
字段名
字段类型
字段长度
是否允许为空
是否为主键
描述
bookID
int
11
否
是
图书编号
bookName
varchar
45
否
否
图书名称
author
varchar
25
否
否
作者
typeID
int
11
是
否
图书类型编号
isbn
varchar
20
否
否
ISBN号
publisher
varchar
25
是
否
出版社
续表4-1
字段名
字段类型
字段长度
是否允许为空
是否为主键
描述
descriptionSrc
varchar
是
否
图书描述文本路径
price
double
(20,0)
否
否
价格
stock
int
6
是
否
库存
pictureSrc
varchar
35
是
否
图片路径
publishDate
datetime
是
否
出版日期
preferPrice
double
(20,0)
是
否
优惠价
isSpecial
varchar
2
是
否
是否特价
status
varchar
2
是
否
发布状态
discountRate
double
(20,0)
是
否
打折率
图书类型(bookType):
属性有图书类型编号(bookTypeID)、图书类型名称(bookTypeName).
2、图书类型表
表4—2图书类型表
字段名
字段类型
字段长度
是否允许为空
是否为主键
描述
bookTypeID
int
11
否
是
图书类型编号
bookTypeName
varchar
25
否
否
图书类型名称
订单(order):
属性有订单编号(orderID)、用户编号(userID)、购物车编号(cartID)、订单号(orderNumber)、订购日期(orderDate)、订单状态(orderStatus)。
4、订单表
表4—4订单表
字段名
字段类型
字段长度
是否允许为空
是否为主键
描述
orderID
int
11
否
是
订单编号
userID
int
11
否
否
客户编号
CartID
int
11
是
否
购物车编号
orderNumber
varchar
20
否
否
订单号
orderDate
datetime
是
否
订购日期
orderStatus
varchar
6
是
否
订单状态
用户(user):
属性有用户编号(userID)、用户登录账号(userName)、登录密码(userPassword)、用户是不是VIP(isVIP)、用户真实姓名(trueName)、电子邮箱(email)、居住地址(address)、邮政编码(zip)、电话(telephone)、注册日期(registerDate)、登录时间(loginTime)、用户积分(userIntegral)。
3、用户表
表4-3客户表
字段名
字段类型
字段长度
是否允许为空
是否为主键
描述
userID
int
11
否
是
客户编号
trueName
varchar
25
是
否
客户真实姓名
isVIP
varchar
2
是
否
是不是VIP会员
userName
varchar
20
否
否
会员登录名
userPassword
varchar
20
否
否
会员登录密码
续表4-3
字段名
字段类型
字段长度
是否允许为空
是否为主键
描述
email
varchar
30
是
否
电子邮箱
address
varchar
50
否
否
居住地址
zip
char
6
是
否
邮政编码
telephone
varchar
13
否
否
电话
registerDate
datetime
是
否
注册日期
loginTime
datetime
是
否
登录时间
userIntegral
int
11
是
否
客户积分
购物车(cart):
属性有购物车编号(cartID)、用户编号(userID)、总金额(money)、购物车状态(cartStatus).
5、购物车表
表4—5购物车表
字段名
字段类型
字段长度
是否允许为空
是否为主键
描述
cartID
int
11
否
是
购物车编号
userID
int
11
否
否
客户编号
money
decimal
(9,2)
否
否
总金额
cartStatus
varchar
10
否
否
购物车状态
购物车商品选购记录表(cartSelectedList):
属性有记录编号(listID)、购物车编号(cartID)、图书编号(bookID)、选购数量(count)、价格(price)、总金额(money)。
6、购物车图书选购记录表
表4—6购物车图书选购记录表
字段名
字段类型
字段长度
是否允许为空
是否为主键
描述
listID
int
11
否
是
记录编号
cartID
int
11
是
否
购物车编号
bookID
int
11
否
否
图书编号
count
int
11
否
否
订购数量
price
decimal
(8,2)
否
否
单价
money
decimal
(9,2)
否
否
总金额
用户留言(comment):
属性有留言编号(commentID)、用户编号(userID)、留言内容(commentContent)、留言日期(commentDate)。
7.客户留言表
表4-7客户留言表
字段名
字段类型
字段长度
是否允许为空
是否为主键
描述
commentID
int
11
否
是
留言编号
userID
int
11
否
否
客户编号
commentContent
varchar
200
是
否
留言内容
commentDate
datetime
是
否
留言日期
管理员(admin):
属性有管理员编号(adminID)、管理员姓名(adminName)、管理员密码(adminPassword)、权限(power).
8.管理员表
表4-8管理员表
字段名
字段类型
字段长度
是否允许为空
是否为主键
描述
adminID
int
11
否
是
管理员编号
adminName
varchar
20
否
否
管理员姓名
adminPassword
varchar
20
否
否
管理员密码
power
varchar
10
是
否
权限
4.性能需求
为了保证系统能够长期、安全、稳定、可靠、高效的运行,网上书店系统应该满足以下的性能需求:
(1)系统处理的准确性和及时性
系统处理的准确性和及时性是系统的必要性能。
在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足大多数客户对信息处理的需求。
(2)系统的开放性和系统的可扩充性
网上书店系统在开发过程中,应该充分考虑以后的可扩充性.例如用户查询的需求也会不断的更新和完善,都要求系统提供足够的功能的调整和扩充.而要实现这一点,应通过系统的开放性来完成,既系统应是一个开放系统,只要符合一定的规范,可以简单的加入和减少系统的模块.
(3)系统的易用性和易维护性
网上书店系统是直接面对使用人员的,而使用人员往往对计算机并不是非常熟悉.这就要求系统能够提供良好的用户接口,易用的人机交互界面。
要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面。
(4)系统的标准性
系统在设计开发使用过程中都要涉及到很多计算机硬件、软件.所有这些都要符合国家和行业标准。
三、概要设计
1.系统总体结构设计
功能模块图是软件工程过程中的一个重要环节,它将显示出工程所要实现的各种功能,并分类,然后再根据功能模块图来具体实现这些功能。
根据功能需求分析,系统分为网站前台功能模块和网站后台功能模块。
网站前台模块包括客户管理和订单管理模块,客户管理包括用户登陆,注册,修改个人资料;订单管理包括浏览图书,搜索图书,将图书加入购物车,购物车管理(主要是查看购物车记录,修改购物车的商品),付款生成订单,收货后留言,查看帮助栏。
网站后台模块包括后台管理和图书及留言管理模块,后台管理包括管理员修改删除订单,对用户信息的删除、查询,管理自己的信息;图书及留言管理包括管理员管理图书信息(增加图书、添加图书、修改图书信息、删除图书),回复留言。
系统功能模块图如下:
图3—1系统功能模块图
2。
各功能模块设计
(1)客户管理模块
该模块包括用户的注册功能,注册之后的登陆功能,还有修改用户自己的信息资料,如密码、电话号码等。
功能模块图如下:
图