网上书店系统的需求分析和概要设计摘要随着互联网络的发展,网上书店越来越受人们所关注。
通过网上书店,人们可以足不出户就选购自己所需的图书。
网上书店是根据公司的实际需求、应用动态网页技术开发而成。
该系统主要由前台信息发布网站和后台管理维护系统两部分构成;在支持整个网站的运作功能的基础上,能帮助用户对前台网站进行日常管理和信息发布;并且占用系统资源少、信息量大、站点维护方便、便于扩充和更新、易于继承和保护历史数据。
该系统可以克服传统图书销售中地域、广告宣传、人力资源不足等限制,能很好地适应销售需求。
本文介绍了网上书店系统的需求分析和概要设计。
AbstractWith the development of the Internet, online bookshops more concern for people. Through the online bookshop, people can stay at home to buy the books they need. Online bookshop is based on the actual needs of the company, using dynamic web technology was developed. The system of information issued by the front and back office management and maintenance systems site of two parts; in support of the operational functions of the entire site, based on the reception site to help users of the daily management and information dissemination; and with less system resources, the amount of information large, site maintenance convenient, easy to expand and update, easy to inherit and the protection of historical data and so on. The system can overcome the traditional book sales in the region, advertising, human resources, lack of restrictions, can well meet the demand for online sales. This article describes the demand analysis and preliminary design of online bookshop system.一、概述1.课题简介(1)网上书店系统随着网络的飞速发展,网上购物已成为越来越多人首选的购物方式。
商家可以通过电子商务平台销售自己的图书,消费者可以通过该系统订购自己要买的图书。
消费者通过网上书店系统的用户界面,可以浏览图书、搜索图书、查看图书的详细信息。
在浏览图书的过程中,如果消费者对某本书感兴趣,则可以将其添加到购物车。
消费者随时可以查看购物车中的情况,并及时更新。
购物活动完成后,消费者如需购买,必须结账生成订单。
消费者可以注册会员,修改个人信息,在购买图书的过程中可以查询帮助。
系统管理员从后台管理程序入口登录,如果验证通过,则具有管理员权限,可以进入后台管理系统,管理图书信息、管理订单、管理用户、管理留言等。
(2)模块分工网上书店系统共分成4个模块,分别为前台的客户管理模块,订单管理模块,后台的后台管理模块和图书及留言管理模块。
开发小组总共4人,一人负责一个模块,我负责的模块是前台的订单管理模块。
订单管理模块主要是用户浏览搜索图书,加入购物车,查看购物车商品,生成订单,用户留言,用户帮助等。
2.开发环境及开发工具介绍(1)开发环境:windows7系统(2)开发工具:MyEclipse开发平台,Tomcat服务器, MySQL数据库,Dreamweaver 软件。
○1MyEclipse简介MyEclipse,是在eclipse 的基础上加上自己的插件开发而成的功能强大的企业级集成开发环境,主要用于Java、Java EE以及移动应用的开发。
MyEclipse的功能非常强大,支持十分广泛,尤其是对各种开源产品的支持。
利用它我们可以在数据库和JavaEE 的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。
它包括了完备的编码、调试、测试和发布功能,完全支持Java Servlet,SQL,JDBC, JSP,CSS,AJAX,HTML,Javascript, Struts,Spring,Hibernate,JSF等。
可以说MyEclipse几乎囊括了目前所有主流开源产品的专属eclipse开发工具。
本系统采用的开发环境为MyEclipse 2013。
MyEclipse 2013 支持HTML5、JQuery和主流的Javascript 库。
随着MyEclipse 2013支持Html 5,用户可以添加音频、视频和API元素到项目,从而为移动设备创建复杂的Web应用程序。
用户甚至还可以通过HTML5 可视化设计器设计令人难以置信的用户界面。
同时,随着MyEclipse 2013支持JQuery,用户可以通过插件提升性能,并添加动画效果到设计中。
○2 MySQL数据库简介MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。
MySQL是一个快速、多线程、多用户的SQL数据库服务器,其出现虽然只有短短的数年时间,但凭借着“开放源代码”,支持正规的SQL查询语言和采用多种数据类型,能对数据进行各种详细的查询等特点,它从众多的数据库中脱颖而出。
MySQL目前被广泛地应用在Internet上的中小型网站中。
正因为其速度快、体积小、总体拥有成本低,尤其是开放源码这一特点,所以许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为数据库。
(3)使用框架:Struts2 + Spring + Hibernate○1 Struts2简介Struts 2是Struts的下一代产品。
是在 struts 和WebWork的基础上进行合并之后的全新的Struts2框架。
是MVC设计模式一个优秀的实现。
Struts2定义了Controller(控制器),通过配置文件(struts-config.xml)隔离了Model(模型)和View(视图),以Action对用户请求做了封装,使代码更清晰易读。
Struts2还提供了自动将请求的数据填充到对象中以及页面标签等简单编码工具。
Struts 2以WebWork为核心,采用拦截器机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与Servlet API完全脱离,所以Struts2可以理解为WebWork的更新产品。
○2 Spring简介Spring是一个开源框架,它由Rod Johnson创建,来解决企业应用开发的复杂性。
Spring的用途不仅限于服务器端的开发,从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。
Spring是一个轻量级控制反转(IoC)和面向切面(AOP)的容器框架。
轻量,从大小与开销两方面而言Spring都是轻量的。
控制反转,Spring通过一种称作控制反转(IoC)的技术促进了松耦合。
面向切面,Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。
容器,Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,用户可以配置每个bean如何被创建——基于一个可配置原型(prototype),bean可以创建一个单独的实例或者每次需要时都生成一个新的实例——以及它们是如何相互关联的。
框架,Spring可以将简单的组件配置、组合成为复杂的应用。
Spring的这些特征使用户能够编写更干净、更可管理、并且更易于测试的代码。
有了Spring,用户不必再为单实例模式类、属性文件解析等这些底层的需求编写代码,可以更专注于上层的应用。
○3 Hibernate简介Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得程序员可以随心所欲的使用对象编程思维来操纵数据库。
Hibernate 可以应用在任何使用JDBC的场合,不仅可以在Java的客户端程序使用,而且可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE 架构中取代CMP,完成数据持久化的重任。
(4)设计模式:系统采用MVC的设计模式实现。
○1 MVC简介MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,是一种软件设计典范。
其中模型层实现系统中的业务逻辑,通常可以用JavaBean或EJB来实现;视图层用于与用户的交互,通常用JSP实现;控制器层是Model与View之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。
MVC是一个设计模式,它强制性的将应用程序的输入、处理和输出分开。
MVC使应用程序被分成三个核心部件:模型、视图、控制器,它们各自处理自己的任务。
模型组件:负责业务逻辑,包含应用程序的核心功能,封装了应用程序的状态。
有时它包含的唯一功能就是状态,它对视图或控制器一无所知。
视图组件:负责表示业务范围的视图,提供模型的表示,它是应用程序的外观。
视图可以访问模型的读方法,但不能访问写方法。
此外,它对控制器一无所知。
当更改模型时,视图应得到通知。
控制器组件:控制器对用户的输入作出反应。
它创建并设置模型。
二、需求分析1.系统功能分析网上书店系统主要分前台和后台,前台的用户是浏览网站的游客,他们可以注册成为会员,可以登录网站,在登陆成功之后,可以修改个人资料,可以浏览图书、搜索图书,可以将喜爱的商品加入购物车,可以修改购物车中的商品,可以结算,可以留言,可以查询帮助;后台的用户主要是网站管理员,管理员主要是对系统的数据进行维护,如管理图书信息,管理用户信息,管理订单信息,也可以修改个人信息等。