JavaEE企业级应用-咖啡网店系统_第1页
JavaEE企业级应用-咖啡网店系统_第2页
JavaEE企业级应用-咖啡网店系统_第3页
JavaEE企业级应用-咖啡网店系统_第4页
JavaEE企业级应用-咖啡网店系统_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.1咖啡下午茶网店系统设计报告1 系统分析1.1 需求分析1系统概述在如今这个快速开展的社会,商家建立自己的已经成为一种必要的竞争手段。1巨大的宣传作用。网络的无所不在和方便快捷将改变我们过去的被动的宣传和经营模式,消费者可以在网上通过直接点击和友好连接的形式浏览我们的,这样可以挖掘出大量的潜在客户;可以在上发布自己的商品和供求信息。2获得详实有效的信息。我们可以根据消费者的消费情况及时的了解到商品的销售情况,例如哪些商品的销量比较好、哪些商品的销量不太好、消费者有哪些建议,可以根据这些情况做出及时的调整。3是一种潜在的无形资产。的建立,将使得商家的知名度大增,从而扩大了无形资产,并且获得其他

2、形式得不到的品牌效应。本文所设计的这个网店系统主要针对的用户是白领们。快节奏的生活模式如今已是时代潮流,忙忙碌碌充满着现实的方方面面。在工作的间隙,抿上一口精品咖啡似乎也成为了白领们放松肢体、愉悦心情的重要途径。大局部白领由于工作的原因喝咖啡,主要是因为他们的工作特点以及咖啡的好处:1大局部喜欢喝咖啡的白领都是因为咖啡能够提神。因为白领根本因为工作的原因而导致需要吃些东西来提神,而咖啡里面所含有的咖啡因是具有强大的提神效果。所以白领也根本会在上班的时候冲一杯咖啡来提神,好提高自己的工作效率。2有实验说明,咖啡因是可以帮助我们预防辐射的危害,而现在的白领根本是需要天天对着电脑,这样就要经常受到电

3、脑辐射的危害,而这个时候如果喝杯咖啡的话就可以预防电脑辐射的危害了。3白领因为经常坐着上班,这样就很容易因为消化不良而导致身体的脂肪一直累积从而变胖。而咖啡是具有帮助消化的功能,喝一杯咖啡就可以提高我们的消化能力,快速分解体的脂肪。这个系统的目标就是让这些消费者在办公室里就可以购置到自己想要的咖啡以及食物,这样可以使得他们的消费变得简便省时,从而可以增加店面的销售量、起到一定的宣传效果、及时的对店面的经营作出调整。系统功能分析咖啡下午茶的主要功能就是能给这些用户更好的展示本店的产品以及一些新闻动态,从而提高销售量,所以这个系统主要提供如下功能。用户能够使用本浏览、查询饮品,浏览本店通告。普通用

4、户只能浏览饮品信息。浏览方式分为三种:按类别浏览、按条件浏览、查询饮品。普通用户只能浏览本店通告。普通用户通过注册成为注册用户,注册后的用户可登录。登陆后可以修改注册材料。管理员可以管理饮品分类、管理饮品、添加饮品时能够上传饮品的图片。管理员可以管理对用户资料进展修改,可以删除用户。其他需求分析根据用户对本系统的要求,确定系统在响应时间、可靠性等方面有较高的性能要求。界面需求页面的主题要突出、布局合理;页面具有明确的导航指示,便于理解、方便用户使用;界面色彩和谐自然。响应时间需求进入本系统进展任何操作的时候,系统应该及时的进展反响,反映时间在5秒以。可靠性需求系统应保证20人可以同时在客户端登

5、录,系统正常运行,正确提示相关容。开放性需求系统应具有灵活性,以适应将来功能扩展的需求。1.2 技术分析1. 系统技术选型在系统的实现上,使用的技术是SHSpring+Hibernate架构。Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创立的。它基于依赖注入和面向方面技术,大降低了应用开发的难度与复杂度,提高了开发的速度,为企业级应用提供了一个有效的轻量级的解决方案。Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进展了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使

6、得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。数据层借助Hibernate JPA实现。Hibernate是比较成熟的ORM技术,利用Hibernate可以简化了数据库编程,容易从面向对象的角度设计程序。新的Dao设计模式,减少了业务层与底层数据库操作的耦合性。JPA的使用,使得ORM持久化技术更加规。Spring主要起到集成系统各组成局部的作用。它基于借助于IoS技术,提供了强大的Bean工厂容器,通过配置的方式描述对象及其依赖关系,降低了模块间的依赖性,简化了程序设计。同时,Spring 提供的AOP,是对面向对象程序设计的重要补充,借助于AOP技术,可以方便地实现系统级的功

7、能,如事务管理和日志处理等。通过Spring减低的了系统的复制性,使系统便于维护和扩大。开发与运行环境NetBeans 8.0.2作为开发环境; 界面采用JSP开发;MySQL作为后台数据库;Tomcat 8.0作为效劳器。2 系统设计2.1总体构造系统的功能构造如图1所示。图1 系统的功能构造图2 客户端用例图图3 后台维护端用例图2.2功能模块划分表1给出了该系统的功能模块。表1 功能划分表模块名子功能描述前台功能用户注册普通用户在注册页填写资料后成为注册用户用户登录提供用户名、密码后可以登录系统浏览饮品通过点击标题可以查看饮品的详细信息;可以分类浏览饮品浏览通告通过点击标题可以查看通告的

8、详细信息后台维护用户管理管理员可以浏览用户、查看用户详细信息、删除用户饮品管理管理员可以浏览饮品、查看饮品详细信息、增加饮品、删除饮品通告管理管理员可以浏览通告、查看通告详细信息、增加通告、删除通告分类管理管理员可以增加分类、删除分类2.3 数据构造设计根据该系统的要求,主要设计的数据有用户、饮品分类、饮品、通告。为此建立4个数据表来存储对应的数据。数据库的逻辑设计用户表所包含的字段如表2所示。表2 用户表名称描述数据类型大小约束默认值User_id用户编号int/AI PKUser_name用户名称varchar200NNUser_pwd密码varchar200NNUser_phonevar

9、char200NNUser_emailvarchar200NNUser_addr地址varchar200NNUser_datetime注册时间timestamp/NN当前时间饮品分类表所包含的字段如表3所示。表3 饮品分类表名称描述数据类型大小约束默认值cat_id分类编号int/AI PKcat_name分类名称varchar200NN UN饮品表所包含的的字段如表4所示。表4 饮品表名称描述数据类型大小约束默认值drink_id饮品编号int/AI PKdrink_name饮品名称varchar200NNcat_id分类编号int/NN FKdrink_price价格float/NNdri

10、nk_pic图像varchar200NNdrink_desc简介te*t/通告表所包含的的字段如表5所示。表5 通告表名称描述数据类型大小约束默认值News_id通告编号int/AI PKNews_title通告标题varchar254NNNews_content通告容te*t/NNNews_datetime发表时间timestamp/NN当前时间数据库的物理设计系统数据库命名为cs,cs_category(饮品分类),cs_drink(饮品),cs_user(用户),cs_news(通告)。cs_category(饮品分类):cs_drink(饮品):cs_user(用户):cs_news(

11、通告):建立的数据库的SQL脚本如下所示。create database cs;use cs;create table cs_user( user_id int auto_increment primary key, user_name varchar(200), user_pwd varchar(200), user_phone varchar(200), user_email varchar(200), user_addr varchar(200), user_datetime timestamp);create table cs_category( cat_id int auto_inc

12、rement primary key, cat_name varchar(200);create table cs_drink( drink_id varchar(200) primary key, cat_id int, drink_name varchar(200), drink_price varchar(200), drink_pic varchar(200), drink_desc te*t);create table cs_news( news_id int auto_increment primary key, news_title varchar(254), news_cont

13、ent te*t, news_datetime timestamp);insert into cs_user(user_name,user_pwd) values(mayafang,123456);2.4 架构选择与程序构造1. 架构设计系统采用比较流行的封层构造不包括后台数据库,总体上分为表现层、业务逻辑层和数据层。表现层。表现层位于最外层最上层,离用户最近。用于显示数据和承受用户输入的数据,为用户提供一种交互式操作的界面。对流入的数据的正确性和有效性负责,对呈现样式负责,对呈现有好的错误信息负责。表现层进一步划分为视图层和控制层,使得页面与控制逻辑别离,程序构造清晰,便于重用和维护。业务逻

14、辑层。业务逻辑层处于数据层和表现层中间,在数据交换中起到承上启下的作用。业务逻辑层的设计对于一个支持可扩展的架构尤为关键,因为它扮演了两个不同的角色:对于数据层而言,它是调用者;对于表现层而言,它是被调用者。依赖于被依赖的关系都纠结在业务逻辑层上。它负责系统领域业务的处理,负责逻辑性数据的生产、处理及转换。数据层。其功能主要是负责数据库的,可以数据库系统、二进制文本、文本文档或者是*ML文档。简单的说就是实现对数据表的Select、Insert、Update、Delete的操作。如果要参加ORM的元素,则就会包括对象和数据表之间的映射,以及对向实体的持久性。对数据的正确性和可用性不负责,对数据

15、的用途不了解,不负担任何业务逻辑。在技术实现上选择SHSpring+Hibernate架构。2. 程序构造设计为了实现系统便于维护和扩展的目标,系统采用分层架构,整体上分四层:视图层、控制层、业务逻辑层和数据层。视图层放在【Cs页】文件夹下。为了便于管理,划分如下文件夹:user用户,category(分类),drink产品,news通告,css样式表,images图像,script脚本等文件夹。如图4所示。 图4 文件夹构造其他层均放在源包下。在源包下建立cs.action控制类包,cs.idao数据层接口包,cs.dao数据层实现类包,cs.iservice业务逻辑层接口包,cs.serv

16、ice业务逻辑层实现类包,cs.model数据模型或实体类包等包。如图5所示。图5 包构造 3 系统详细设计3.1 领域模型设计1. 实体模型类设计系统主要包含如下数据模型,也称为实体模型类:CsUser用户类、CsCategory商品分类、CsDrink商品、CsNews(通知)。这些类均存放在Cs.model包下。CsUser类public class CsUser private Integer userId; private String userName; private String userPwd; private String userPhone; private String

17、 userEmail; private String userAddr; private Date userDatetime;./省略方法属性CsCategory类public class CsCategory implements java.io.Serializable private Integer catId; private String catName;CsDrink类public class CsDrink implements java.io.Serializable private String drinkId; private CsCategory category; pr

18、ivate String drinkName; private String drinkDesc; private String drinkPrice; private String drinkPic;CsNews类public class CsNews private Integer newsId; private String newsTitle; private String newsContent; private Date newsDatetime;2.业务逻辑层接口设计业务逻辑层接口表达了业务功能的需要,它反映了系统所具有的业务功能,业务逻辑接口放在cs.iservice包下。用户

19、业务逻辑层接口ICsUserService public interface ICsUserService void addUser(CsUser user); void editUser(CsUser user); void deleteUser(Integer userId); CsUser findUser(Integer userId); CsUser findUser(String userName,String userPwd); List findAll(); List findByPage(String userName,Integer pageSize,Integer pag

20、eNo); int findAllCount(String userName);商品分类业务逻辑层接口ICsCategoryService public interface ICsCategoryService void addCategory(CsCategory category); void editCategory(CsCategory category); void deleteCategory(Integer catId); CsCategory findCategory(Integer catId); List findAll(); List findByPage(Integer

21、 pageSize,Integer pageNo); int findAllCount();饮品业务逻辑层接口ICsDrinkService public interface ICsDrinkService void addDrink(CsDrink drink); void editDrink(CsDrink drink); void deleteDrink(String drinkId); CsDrink findDrink(String drinkId); List findAll(); List findSome(String drinkName,Integer pageSize,In

22、teger pageNo); int findAllCount(); int findSomeCount(String drinkName);通告业务逻辑接口ICsNewsServicepublic interface ICsNewsService void addNews(CsNews news); void editNews(CsNews news); void deleteNews(String newsId); CsNews findNews(String newsId); List findAll(); List findSome(String newsTitle,Integer p

23、ageSize,Integer pageNo); int findAllCount(); int findSomeCount(String newsTitle);3.1.3数据层接口设计数据层实现对数据库的,其接口定义了数据的方法。先建立一个基接口IbBaseDao封装共有的操作,该接口使用了泛型,泛型的两个参数T和ID分别表示操作的具体类和主键类型。其他接口继承基接口。数据层接口放在cs.idao下。数据层基接口IBaseDaopublic interface IBaseDao void insert(T obj); void update(T obj); void delete(D id)

24、; T selectById(D id); List selectAll(); int selectCount(); 用户数据层接口ICsUserDaopublic interface ICsUserDao e*tends IBaseDao List selectByPage(String userName,Integer pageSize,Integer pageNO); CsUser selectUser(String userName,String userPwd); Integer selectCount(String userName);商品分类数据层接口ICsCategoryDao

25、public interface ICsCategoryDao e*tends IBaseDao List selectByPage(Integer pageSize,Integer pageNO);饮品数据层接口ICsDrinkDaopublic interface ICsDrinkDao e*tends IBaseDao List selectSome(String drinkName,Integer pageSize,Integer pageNo); int selectSomeCount(String drinkName);通告数据层接口ICsNewsDao public interf

26、ace ICsNewsDao e*tends IBaseDao List selectSome(int num); List selectSome(String newsTitle,Integer pageSize,Integer pageNo); int selectSomeCount(String newsTitle);3.2 系统配置与公共类设计1. 添加所需框架在【库】上单击鼠标右键,在弹出的菜单中选择【添加库.】即可添加库。在库中添加MySQL驱动程序直接使用NetBeans自带的MySQL驱动程序即可。在库中添加HibernateNetBeans自带Hibernate3。在库中添加

27、Spring在库中添加Spring依赖包在库中添加标准标签库2. 在web.*ml中配置Spring 1建立标准部署描述符web.*ml文件。 2在web.*ml文件中配置Spring,主要包括配置上下文参数,指明配置文件及其所在位置,启动Spring监听器,配置防止存泄漏的监听器,配置Spring提供的编码过滤类。具体配置容如下所示。 conte*tConfigLocation classpath:applicationConte*t.*ml encodingFilter encoding utf-8 encodingFilter /* hibernateFilter hibernateFi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论