系统详细设计

  在这章,主要完成的工作内容是对概要设计中的顺序图进行总结整理,定义实现各个功能模块所需要的接口,以及设计各个层次中类与类之间的依赖关系。

  • 接口定义

  注册

  功能描述:实现会员信息的保存。

        Service

        register(User user):实现注册操作。

        Dao

        getUserByUserName(String userName):根据用户名获取用户记录。

        save(User user):保存用户记录。

 

  登录

  功能描述:使用会员的登录流程。

        Service

        login(String userName,String passWord):实现登录操作

        Dao

    getUserByUserName(String userName): 根据用户名获取用户记录。

 

  添加购物车

  功能描述:将商品添加到会员的购物车中。

       Service

       addGoodsToCart(Map<String, Object> request,Integer goodsId,String userName):增加购物车记录。

    Dao

    getCartByGoodsIdAndUserNama(Integer goodsId,String userName): 根据商品编码和用户名获取对应的购物车记录

    saveCartRecord(Cart cart):保存购物车记录。

    saveOrUpdateRecord(Cart cart):保存或更新购物车记录。

 

  查看购物车

  功能描述:会员查看已添加到购物车中的商品信息。

        Service

        checkCartRecord(Map<String, Object> session, String userName): 根据用户名查询购物车记录。

        Dao

        getCartByUserName(String userName): 根据用户名获取对应的购物车记录列表。

 

  购买

  功能描述:实现会员购买商品的业务流程。

        Service层 

        generateOrder(Integer goodsId, Map<String, Object> session, Orders orders):生成订单记录。 

        generateOrder(Map<String, Object> session, Orders order):“立即购买”的操作。 

    checkOut(Integer orderId):支付订单操作。

    Dao

    getGoodsByGoodsId(Integer goodsId):根据商品编码获取指定商品记录。

    getUserByUserName(String userName):根据用户名获取用户记录。

    saveOrUpdateOrder(Orders order):保存或更新订单记录。

    saveOrUpdateOrderGoods(Order_Goods orderGoods):保存或更新订单商品表。

    deleteCart(String userName):删除购物车记录。 

 

  查看订单

  功能描述:会员查看已生成的订单记录信息。

        Service

        checkOrder(Map<String, Object> session, Map<String, Object> request):用户查看所有订单记录。

        checkOrderDetail(Integer orderId, Map<String, Object> request):用户根据订单编码查看订单记录详情。 

        Dao

        getOrdersByUserName(String userName):根据用户名获取订单记录列表。

        getOrderGoodsByOrderId(Integer orderId):根据订单编号获取订单记录信息。

 

  检索商品

  功能描述:用户根据商品类别查看特定的商品记录。

        Service

        searchGoods(String goodsType):根据商品类别查找商品记录。

        Dao

    getGoodsByCategory(String goodsType):根据商品类别获取商品记录列表。

 

  商品信息管理

  功能描述:管理员对商品进行增加,删除和修改操作。

        Service

        getAllGoodsInfo(Map<String, Object> requset):获取所有的商品记录信息。

        addGoodsRecord(GoodsVo goods):增加商品记录。

        deleteGoodsRecord(Integer goodsId):删除商品记录。

        searchGoods(Integer goodsId):根据商品编码搜索商品记录。

        changeGoodsInfo(Goods goods):更新商品信息。

    Dao

    getAllGoods():获取所有商品记录。

        getGoodsByGoodsId(Integer goodsId):根据商品编码获取商品记录。

        saveOrUpdateGoodsInfo(Goods goods):保存或更新商品记录。

        deleteGoods(Goods goods):删除商品记录。

 

  用户管理

  功能描述:管理员对用户进行增加和删除操作。

        Service

        addUser(User user):增加用户记录。

        deleteUser(String userName):删除用户记录。

        Dao

    deleteUserByUserName(String userName):根据用户名删除用户记录。

  • 类与类之间的依赖关系  

  Model层:

    根据概要设计,可以得出各个实体类之间的关系如下描述:

    购物车表 用户表 多对一

    购物车表 商品表 多对一

          单向关联,通过购物车表可以得到用户信息,商品信息

 

    订单表 商品表 多对多

          订单表 订单_商品表 一对一

                 单向关联,通过订单表可以得到订单_商品表的信息

 

          订单_商品表 商品表 一对一

                 单向关联,通过订单_商品表可以得到商品表信息

 

    订单表 会员 多对一

    实体类之间的关系如下图:

    

  Service层:

  根据需求分析及概要设计,将Service层定义为业务逻辑处理层,同时采用面向接口的编程思想,将业务逻辑功能的实现与定义分隔开,使得系统的耦合度大大降低的同时也使得系统的灵活性和可扩展性大幅度提高。

  根据功能模块接口的定义,将Service层中的业务逻辑处理分为4类:购物车业务处理CartManager,商品业务处理GoodsManager,订单业务处理OrderManager,用户信息业务处理UserManager。各个类之间的关联以及实现的接口如下图所示:

  

  

  Dao层:

  根据需求分析及概要设计,将Dao层定义为数据访问层,同时采用面向接口的编程思想,将数据访问功能的实现与定义分隔开,使得系统的耦合度大大降低的同时也使得系统的灵活性和可扩展性大幅度提高。

  根据功能模块接口的定义,将Dao层中的数据访问处理分为4类:购物车数据访问处理CartDao,商品数据访问处理GoodsDao,订单数据访问处理OrderDao,用户数据访问处理UserDao。各个类之间的关联以及实现的接口如下图所示:

  

 

posted on 2017-05-05 00:11  sillypasserby  阅读(8259)  评论(0编辑  收藏  举报

导航