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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 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环境之上,各项功能操作正常,测试结果正确、无误。


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


其余详见下载资料!


相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1天前
|
缓存 安全 中间件
Python小白必备!清华大牛整理的《Django零基础入门到精通》手册
Django 是 Python 社区的两大最受欢迎的 Web 框架之一(另一个是 Flask)。凭借功能强大的脚手架和诸多开箱即用的组件,可以使你能够以最小的代价构建和维护高质量的Web应用。 从好的方面来看,Web 开发激动人心且富于创造性;从另一面来看,它却是份繁琐而令人生厌的工作。 通过减少重复的代码,Django 使你能够专注于 Web 应用上有趣的关键性的东西。 为了达到这个目标,Django提供了通用Web开发模式的高度抽象,提供了频繁进行的编程作业的快速解决方法,以及为“如何解决问题”提供了清晰明了的约定。 同时,Django 尝试留下一些方法,来让你根据需要在framework
|
6天前
|
SQL 关系型数据库 MySQL
Python 操作 MySQL 数据库
Python 操作 MySQL 数据库
21 0
|
9天前
|
缓存 安全 中间件
Python小白必备!清华大牛整理的《Django零基础入门到精通》手册
Django 是 Python 社区的两大最受欢迎的 Web 框架之一(另一个是 Flask)。凭借功能强大的脚手架和诸多开箱即用的组件,可以使你能够以最小的代价构建和维护高质量的Web应用。 从好的方面来看,Web 开发激动人心且富于创造性;从另一面来看,它却是份繁琐而令人生厌的工作。 通过减少重复的代码,Django 使你能够专注于 Web 应用上有趣的关键性的东西。 为了达到这个目标,Django提供了通用Web开发模式的高度抽象,提供了频繁进行的编程作业的快速解决方法,以及为“如何解决问题”提供了清晰明了的约定。 同时,Django 尝试留下一些方法,来让你根据需要在framework
|
11天前
|
存储 设计模式 前端开发
Python Django框架总介绍
Python Django框架总介绍
11 0
|
14天前
|
设计模式 缓存 前端开发
Python Django框架
Python Django框架
|
15天前
|
存储 文件存储 Python
Python基础 --- 实现学生管理系统(Python 文件版本)
Python基础 --- 实现学生管理系统(Python 文件版本)
33 4
|
18天前
|
机器学习/深度学习 关系型数据库 MySQL
MySQL 到 Greenplum 实时数据同步实操分享,2024年最新【Python面试题
MySQL 到 Greenplum 实时数据同步实操分享,2024年最新【Python面试题
|
20天前
|
前端开发 JavaScript 测试技术
107-Django开发医院管理系统(医生-患者-医院管理员)
该内容描述了一个基于Python和Django的医疗管理系统的开发步骤。主要涵盖以下关键点: 1. 环境搭建:安装Python和Django,创建项目和应用。 2. 数据库模型:设计用户、医生、患者、发票和预约等模型。 3. 用户认证和权限:使用Django内置系统,创建自定义角色和权限。 4. 视图和模板:处理用户请求,渲染HTML页面,包括医生列表、患者注册、管理界面等。 5. 表单处理:创建表单处理用户输入,验证数据并保存到数据库。 6. PDF生成:利用xhtml2pdf库生成治疗发票的PDF。 7. 路由配置:设置URL路由以连接视图。
47 7
107-Django开发医院管理系统(医生-患者-医院管理员)
|
21天前
|
前端开发 UED Python
Wagtail-基于Python Django的内容管理系统CMS实现公网访问
Wagtail-基于Python Django的内容管理系统CMS实现公网访问
|
21天前
|
开发框架 开发者 Python
深入探究Python Web开发框架:Flask与Django
Python作为一种广泛应用于Web开发的编程语言,其拥有众多优秀的Web开发框架。本文将深入探讨其中两大知名框架——Flask与Django。通过对它们的概念与实践进行比较分析,帮助读者更好地理解和选择适合自己项目需求的Web开发框架。