针对我于大一下编写的“超市购物系统”,我进行以下介绍及二次开发的拓展功能。

一. 程序介绍

功能1.修改商品信息

我尽量做到界面简洁,功能齐全易懂,修改信息这块功能实则包含增添新商品和删除就商品等内容,考虑到此类功能相似,故将其归为一类,界面易懂,操作简单。

功能2.购买商品

采用商品序号购买商品,最后进行小计,能够显示购买内容以及总价,同时会在库存减去商品购买数量。

功能3.查询商品

利用商品序号,能够按类别查询商品库存。

程序模块流程

商品基类

三类商品子类

主程序

界面模块

4种情况分类编写程序

测试内容
  1. 查询现有商品
  2. 增添新商品
  3. 查询是否增添了新商品
  4. 购买商品
  5. 检查商品数量是否减少
  6. 退出
流程图示

1.主界面

 

超市购物程序设计java代码类封装_超市购物程序设计java代码类封装

2.查询商品,可以查看事先录入的商品清单

 

超市购物程序设计java代码类封装_UI_02

3.修改商品

超市购物程序设计java代码类封装_超市购物程序设计java代码类封装_03

4.再打开商品清单,可以看到一号商品已经改变

 

超市购物程序设计java代码类封装_代码实现_04

5.进行商品购买,流程提示详细

 

超市购物程序设计java代码类封装_UI_05

6.保存至txt文件

 

超市购物程序设计java代码类封装_代码实现_06

7.查看数据功能未完善,可以看到会重复返回主菜单

 

超市购物程序设计java代码类封装_程序模块_07

8.退出

 

超市购物程序设计java代码类封装_UI_08

二. 改进方向

1.更多函数

 

超市购物程序设计java代码类封装_代码实现_09

可以看到,我原先将很多代码直接写在了主函数里,实际上是鉴于该程序为大作业,这样做便于将其与其他功能函数进行区分,然而在实际工作中,如此大量的代码依旧建议写成函数,我将对其进行改进。

 

超市购物程序设计java代码类封装_程序模块_10

 

 

超市购物程序设计java代码类封装_程序模块_11

我修改了代码,生成了一个“退出函数“。但进行进一步研究后,发现”case“属于”loop:do“系统,若需进行函数优化,只能将case0进行内部简化成函数。

 

超市购物程序设计java代码类封装_UI_12

 

 

超市购物程序设计java代码类封装_代码实现_13

例如存在大量此类文本显示代码,在第一版开发中,为了解释的详细,不同种类的商品拥有不同的文本显示,这就让我有了新思路,我可以将不同种的商品的文本显示进行统一,然后写成一个通用函数,大大减少了代码复杂度。

 

超市购物程序设计java代码类封装_代码实现_14

优化遇到困难。如果需要修改,修要修改整体代码逻辑,先前大多数代码写在主体函数,所以很少出错,如果要事先优化,需要更高级的代码逻辑,比如增添大量指针。于此,关于代码的函数优化结束。

2.程序模块缺失问题

  在上述演示中,可以看到查看数据功能的缺失,并且进行深入研究后,发现存储数据功能功能也并未实现,以上两部分问题都涉及到文件存储,这部分代码由我当时的组员完成,现在发现他并未将其实现,也就意味着该程序无法以代码以外的方法进行数据存储,作为一个购买程序,它是不合格的。

  *增

 

超市购物程序设计java代码类封装_程序模块_15

发现可以存储文件,但再打开文件无法读入,存储格式是dat,修改成txt格式打开许多乱码。

3.美化UI及其他拓展

如果文件存储功能完善,该程序就是个最简易版的完整购物程序,那进一步开发就将针对具体问题的功能开发,比如与超市扫码枪的对接、收银员的账号登入、UI的美化。账号登入是好实现的,只需要在loop系统的最前面再加上几层界面,进行账号密码的登入修改等,类似商品购买,大同小异;关于和外设的对接,此类的代码本人尚未学习,并且大概是我目前使用的软件编写环境无法实现;UI的美化,简单的修改,可以在代码中加上一些符号排列,稍微复杂点,需要更改运行环境,devc无此功能,VS大概能用代码实现,最好的例子,是java语言在eclipse中利用代码实现,目前市面上有很多UI设计软件,供开发者更好的进行UI设计。