基于python(Django、Mysql)的超市管理系统的设计与实现

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: Python语言功能强大,可以运用在诸多方面,其中在Web开发方向也有一系列十分成功的应用,同时为了方便开发,提升开发效率出现了一系列的开发框架,其中 Django 就是一个典型的重量级选手,它帮助我们解决了开发中很多问题,比如模板、数据处理等等,这些使得我们只需要使用 Django 就可以完成大多数的开发任务。数据库采用MySQL,它是一种关系型数据库管理系统,关系数据库将数据保存在不

ec49675990384b0a00010e22331653a.png

680871626191d2b4dc8230ecd03889b.png

开发技术介绍



同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。


系统功能分析和设计


通用功能:通用功能里包括用户登录、登出、个人信息编辑、用户密码修改三个部分,这是系统的基础功能,不论是什么身份的用户都可以使用这些功能,用户必须登陆之后才可以使用系统中提供的功能,同时在用户登陆之后会自动判断用户的身份。


基础信息管理:包括系统用户管理、商品分类管理、商品信息管理、会员等级设置四个功部分,商品基本信息的管理,包括商品的新增、修改、删除和查询功能。同时提供商品信息列表。


超市运营管理:包括会员信息管理、销售记录管理、采购记录管理三个部分,销售记录管理指对库存商品的销售信息进行管理,包括销售信息的录入、销售报表的浏览、查看历史销售记录,并对当天的销售额进行统计。

c769297214f5183e4eb3be957f6323a.png


数据库设计(详见报告)


3a6f8698c168aeb85d00093a5cec91c.png


02231aa0cc8b91bf8940517a437b81a.png


功能模块设计


系统共分八大模块:系统通用模块、用户管理模块、会员等级模块、会员管理模块、商品类型模块、商品管理模块、销售管理模块、采购管理模块。


①系统通用模块:包含了系统的基础功能,不论是什么身份的用户都可以使用这些功能,用户必须登陆之后才可以使用系统中提供的功能,同时在用户登陆之后会自动判断用户的身份。该模块包括: 系统登录实现、系统退出实现、用户信息修改、用户密码修改。


②用户管理模块:该模块包含了用户信息展示、用户信息添加、用户信息修改、用户信息删除。


③会员等级模块:该模块包含了等级信息展示、等级信息添加、等级信息修改、等级信息删除。


④会员管理模块:该模块包含了会员信息展示、会员信息添加、会员信息修改、会员信息删除。


⑤商品类型模块: 该模块包含了商品类型信息展示、商品类型信息添加、商品类型信息修改、商品类型信息删除。


⑥商品管理模块:该模块包含了商品信息展示、商品信息添加、商品信息修改、商品信息删除。


⑦销售管理模块:该模块包含了销售信息展示、销售详情信息展示、销售信息添加。


⑧采购管理模块:该模块包含了采购信息展示、采购详情信息展示、采购信息添加。


部分效果图展示


①用户信息


29b6a903809698f075854f2ce50e8b9.png


②用户信息添加

94c40d053b7d3253fede079457fb6a5.png



③会员等级信息

03a8046d148a2f4c53b052351375420.png



④商品信息展示


537ff3ac38a35849ceefe9f7d170a44.png


⑤采购信息展示


7931728111872b2b6f15d5f4b35dbe0.png


def getPageInfo(request):
    pageIndex = request.GET.get('pageIndex', 1)
    pageSize = request.GET.get('pageSize', 10)
    data = models.Stocks.objects.all().order_by("-createTime")
    paginator = Paginator(data, pageSize)
    resl = []
    for item in list(paginator.page(pageIndex)):
        temp = {
            'id': item.id,
            'stockTotal': item.stockTotal,
            'createTime': item.createTime
        }
        resl.append(temp)
    temp = BaseView.parasePage(pageIndex, pageSize,
                               paginator.page(pageIndex).paginator.num_pages,
                               paginator.count, resl)
    return BaseView.successData(temp)




验证和测试


软件测试是软件开发过程中最关键的阶段。当测试成功时可以尽早发现产品中存在的问题并及时解决。尽早解决可以使软件发布后维护的费用降低。测试的目的是为了保证软件的质量,满足设计的要求和客户的要求:因此软件测试是保证质量的关键步骤,也是对软件的规格说明、设计和编码的最后复审。测试是指“用意在于发现错误而执行一个程序的过程”,一个成功的测试是指它成功地发现了一个尚未发现的错误。软件进行测试,可以分为单元测试、编码测试和综合测试,单元测试可以测试单一模块的功能并确定其功效;编码测试可以测试各模块之间的连接是否有效;综合测试是对软件最后的审定软件的各项功能是否齐全有效,是否能顺利完成设计的目的。


本系统的测试采用了三种测试方法,即单元测试、黑盒测试、白盒测试。单元是在代码完成后进行的,在此不做叙述,以下重点介绍本系统进行的白盒测试。白盒测试是已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查。白盒测试用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果。


现在以系统登录测试为例,描述本系统的测试过程。

填写用户名和密码之后进入不同的页面,所以可以根据这个前提条件,来设计不同的测试用例。如表5.1。

功能描述如下:

(1) 用户在地址栏输入相应地址,要求显示登录界面;

(2) 输入用户名和密码,登录,系统自动校验,并给出相应提示信息;

(3) 如果用户名或者密码任一信息未输入,登录后系统给出相应提示信息;

(4) 连续3次未通过验证时,自动关闭IE;

(5) 当点击退出时,系统退出IE。


在本系统中功能模块比较相似,所以只针对不同的模块和模块中比较有代表性的问题进行了功能测试。在系统服务器端采用Windows 11+SQL Server 2019;客户端采用Windows 11系统;网络环境采用目前已有的网络,协议为TCP/IP环境之上,各项功能操作正常,测试结果正确、无误。


当然由于篇幅的限制以及时间的有限性和自己对测试知识了解的有限,在这里没有对整个系统进行充分测试,但在测试过程中各个模块的功能基本上达到用户的需求。本文论述的资产管理系统的方案,已成功实施,提高了公司资产管理的灵活性和效率。


其余详见下载资料!


相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
25天前
|
安全 关系型数据库 MySQL
如何将数据从MySQL同步到其他系统
【10月更文挑战第17天】如何将数据从MySQL同步到其他系统
143 0
|
17天前
|
关系型数据库 MySQL Linux
Linux系统如何设置自启动服务在MySQL数据库启动后执行?
【10月更文挑战第25天】Linux系统如何设置自启动服务在MySQL数据库启动后执行?
63 3
|
19天前
|
安全 数据库 C++
Python Web框架比较:Django vs Flask vs Pyramid
Python Web框架比较:Django vs Flask vs Pyramid
28 1
|
30天前
|
安全 数据库 C++
Python Web框架比较:Django vs Flask vs Pyramid
Python Web框架比较:Django vs Flask vs Pyramid
24 4
|
1月前
|
存储 关系型数据库 MySQL
PACS系统 中 dicom 文件在mysql 8.0 数据库中的 存储和读取(pydicom 库使用)
PACS系统 中 dicom 文件在mysql 8.0 数据库中的 存储和读取(pydicom 库使用)
27 2
|
1月前
|
Ubuntu 关系型数据库 MySQL
Linux系统MySQL安装
【10月更文挑战第19天】本文介绍了在 Linux 系统上安装 MySQL 的步骤,包括安装前准备、安装 MySQL、启动 MySQL 服务、配置 MySQL 以及验证安装。适用于 Ubuntu/Debian 和 CentOS/Fedora 系统,提供了详细的命令示例。
149 1
|
1月前
|
关系型数据库 MySQL 数据库
Mysql学习笔记(四):Python与Mysql交互--实现增删改查
如何使用Python与MySQL数据库进行交互,实现增删改查等基本操作的教程。
61 1
|
1月前
|
SQL JSON 关系型数据库
MySQL是一个广泛使用的开源关系型数据库管理系统,它有许多不同的版本
【10月更文挑战第3天】MySQL是一个广泛使用的开源关系型数据库管理系统,它有许多不同的版本
133 5
|
1月前
|
关系型数据库 MySQL Linux
Linux系统绿色安装MySQL 8.0.39
Linux系统绿色安装MySQL 8.0.39
|
1月前
|
存储 Shell 数据库
Python编程--Django入门:用户账户(二)
Python编程--Django入门:用户账户(二)