点餐管理系统框架设计

系统的框架已经搭建完成,在具体写程序之前,我们需要对需求做一些分析,以便决定在程序中我们需要写哪些东西。首先,我们需要设计系统提供哪些功能,然后,讨论细节。这里主要讨论,需要哪些数据字段,这些字段之间的关系是什么样的。在设计中,还有一个部分需要考虑,就是我们需要对外提供哪些接口,接口的名称,接口的输入以及接口的输出参数。

具体需求分析

主要分成两个部分的需求,首先站在用户的角度上来谈需求。

其一,商品端。店家可以有自己的后台,可以查看自己所有的商品;可以查看自己某件商品的信息,例如库存;可以在进货之后,修改商品信息;可以在缺货时,删除一些商品信息。

其二,订单端。用户可以对商品下单,可以查看自己订单的详情,以及取消订单。

然后,站在应用的角度,对上面的需求,进行分析。

其一,商品端。应用的主要功能是店家自己对商品的管理,即对商品的增删改查操作,所以,需要写五个接口。当然,在下订单的时候,就会操作某个商品的数量,这里使用一个对特定商品查询的接口即可。所以,在商品端,需要提供五个对商品操作的接口。

其二,订单端。这个应用的主要功能有三个:下订单、查看订单以及删除订单。

数据库设计

为了方便演示,实际的数据表简化了很多,只存在两张表,分别是 product 表与 orderTable 表。

商品表

表名:product 表信息。需要的字段、类型、字段长度如表16.1所示。

image 2024 04 01 15 07 48 185
Figure 1. 表16.1 product表信息

主键:product_id。

订单表

文中简化了实际的案例,所以没有使用 Spring Security 组件,也就不存在认证等功能,所以不存在用户。因此,在订单表中就缺少了一个重要的用户字段 user_id,这里演示不需要,我们可以假设一直是一个用户在操作。如果在实际操作中,再新建一个用户表 user,然后添加用户的信息字段即可。

表名:orderTable 表信息需要的字段、类型、字段长度如表16.2所示。

image 2024 04 01 15 08 46 549
Figure 2. 表16.2 orderTable表信息

主键:order_id。

对外接口设计

对外接口,主要有两部分。

(1)商品端

  • /product/queryAllProduct。

  • /product/queryProductByProductid。

  • /product/insertProduct。

  • /product/updateProduct。

  • /product/deleteProduct。

(2)订单端

  • /order/insertOrder。

  • /order/queryOrderByOrderid。