毕业作品网站

 首 页 机械毕业设计 电子电气毕业设计 计算机毕业设计 土木工程毕业设计 视觉传达毕业设计 理工论文 文科论文 毕设资料 帮助中心 设计流程 
垫片
您现在所在的位置:首页 >>计算机毕业设计 >> 文章内容
                 
垫片
   我们提供全套毕业设计和毕业论文服务,联系微信号:biyezuopinvvp QQ:1015083682   

基于Python的购物网站分析毕业论文

文章来源:www.biyezuopin.vip   发布者:毕业作品网站  

摘要:购物是一种社会行为,最开始可能是源自于互相交换,相互交换自己需要的东西,后来演变成了购物。所以购物也有了两种层面,一种购买必需品,一种是非必须品但是不同的人购物时的心态是不一样的,购买不同的商品时的心态也是不一样的。例如购买必须品时,人们往往对价格特别敏感,而购买非必须品时往往不是出于考虑价格的层面才决定最终成交的。

所以为满足人们的购买欲,出现了很多商店。然后根据社会的发展,商店又有了线上线下等模式。京东商城就是一个线下线上的生活服务平台。但是如果做一件事的同时,发现在这件事的基础上,又可以做第二件事,并且符合你做第一件事的目的,那么你是否会继续呢?如果你的目的是盈利呢?所以在做购物商城这个项目的同时,也有了利于购物商城生存发展的第二个项目,类似于支付宝花呗的案例,没钱在购物商城买东西,可以给你一定的额度。两个功能相辅相成,利于项目的发展,也把把用户信息都留了下来。

关键字:购物商城,额度,用户信息

目  录

1主要内容

2一个项目是如何从无到有的

2.1需求分析

2.2程序的架构设计

2.3 三层架构

2.4三层架构设计图

2.5任务分配

3技术内容

4开发

4.1在Pychram主流开发软件中创建目录规范文件夹

4.2在core文件夹中创建src.py文件,写核心代码(给用户使用的,源代码没有展示)

4.3在开始写核心代码之前想象一下功能展示格式

4.4不过使用者在使用功能之前应该先注册 ——>登陆

4.5 用户登陆成功,可以调取用户信息,存入到内存中,方便以后用户使用与信息相关的功能,可以第一时间拿去,减少性能的损耗

4.6用户体验功能(还款,转账,查余额,提现,查流水,充值)选择其中几个功能

4.7用户信息的存取设计(没有用到数据库)

4.8 如何存入json文件

4.9 如何找到对应的用户名文件———os模块

5开发购物功能

5.1 如何把对应的商品取出来,加入到购物车

5.2用户体验购物

5.3用户查看购物车

6项目总结

参考文献


1主要内容

1 用户注册

2 用户登陆

3 还款

4 查余额

5 转账

6 提现(手续费%5)

7 查流水

8 充值

9 购物

10查看购物车

11 登陆认证用装饰器

2一个项目是如何从无到有的

2.1需求分析

需求分析自然是开发项目做的第一件事情。产品部门跟客户谈论需求,分析出能否开发出客户的需求,如果不能,则让客户更改需求或者改进需求,最后拿到一份需求报表,开发部门通过需求报表分析出可以实现的需求。

通过主要的内容,分析出相关的因素有:

1、用户登陆,用户注册(涉及到用户)

2、还款,转账,查余额,提现,查流水,充值(与银行相关)

3、购物,查看购物车(购物商城相关)

2.2程序的架构设计

程序架构设计的好处
 1)思路清晰,代码清晰
 2)不会出现因为逻辑混淆,推翻重写问题
 3)方便自己或他人接手项目,可以更好的维护

2.3 三层架构

三层架构其实是实现“高内聚,低耦合”的思想,使项目层级分明,逻辑性更加紧密,扩展性更强。

(1)三层架构第一层:

用户视图层:负责和用户进行交互

(2)逻辑接口层:负责处理表示层的业务逻辑,

调用数据处理层,得到结果,将结果进行逻辑判断,返回表示层

(3)数据处理层对用户数据的增删查改,将结果返回给逻辑处理层

有了三层架构的概念,可以把项目分为三层,每层之间相互独立,减少代码冗余,提高开发效率。

2.4三层架构设计图

图2-1 三层架构设计图

2.5任务分配

把功能分发给团队人员,各个人员通过三层架构图,设置接口参数,返回相

应的数据内容。
2.6 测试
  把项目交给测试部门,测试部门测试项目的功能是否通常,有没有逻辑处理上面的错误等等。如果有则返回给开发部,进行修改。
2.7项目上线
  测试通过的话就交给运维人员,对软件进行部署,然后上线给用户使用。


3技术内容

1、采用PyChram(集成环境开发工具)来实现项目需求。

2、采用三层架构

三层架构其实是实现“高内聚,低耦合”的思想,使项目层级分明,逻辑性更加紧密,扩展性更强。

3、熟练使用os模块,sys模块,json模块,logging日志模块等内置模块

4、使用功能的封装,定义自定义模块,调用模块间的功能接口

模块的功能让代码更加清晰,冗余代码不再频繁出现,代码上逻辑冲突也随之减少很多

5、装饰器

装饰器其实实现的是一种思想,“开放封闭原则”。“开放”指的是不修改源代码的同时为其添加新功能。“封闭”指的是对源代码不进行修改。装饰器在python中有两种装饰器,第一种是函数装饰器,第二种是类装饰器。我们的项目用到的是第一种装饰器。通过闭包函数的形式来实现装饰器这种思想。

6、软件开发目录规范

为了要提高程序的可读性和可维护性,我们要为软件设计良好的目录结构,这与论文的规范格式同等重要。软件的目录规范并无硬性的标准,只要清晰,可读,明了即可。
  但是身为小白,我们可以参考别人的开发规范,让我们的项目文件看的过去,不然只有自己才能看懂。

bin文件夹  一般放执行文件,启动文件
core 给用户使用的核心代码,毕竟用户是上帝,没有核心代码给用户使用,那么这个软件就没有了存在价值
conf 配置文件(给使用者提供一些可配置的文件)

log 日志  记录软件运行和使用者的一些行为记录

lib 存放自定义模块之类的文件夹
interface 用户接口文件,处理三层架构中用户视图层的请求

db 调用三层架构中数据处理层的文件夹

Readme 应该是存在于每个项目文件中的,目的是能简要描述该软件项目的信息,让使用者快速了解这个项目。内容有:
    1、软件定位,软件的基本功能;
    2、运行代码的方法: 安装环境、启动命令等;
    3、简要的使用说明;
    4、代码目录结构说明,更详细点可以说明软件的基本原理;
    5、常见问题说明。

4开发

4.1在Pychram主流开发软件中创建目录规范文件夹

4.2在core文件夹中创建src.py文件,写核心代码(给用户使用的,源代码没有展示)

在bin目录文件夹中创建start.py启动文件,开始写代码。


__name__是内置方法,如果启动文件是被当作模块导入的话,就不会运行

4.3在开始写核心代码之前想象一下功能展示格式

这是在Pychram命令终端输出的格式,给用户使用的格式是交给UI设计部门设计的。

使用者输入业务序号,就可以使用对应的功能。

4.4不过使用者在使用功能之前应该先注册 ——>登陆

                   

我们项目的发展依赖使用者的购买欲,所以我们默认给注册用户提供假设15000元的额度(自定义额度,随便设置)

4.5 用户登陆成功,可以调取用户信息,存入到内存中,方便以后用户使用与信息相关的功能,可以第一时间拿去,减少性能的损耗


具体实现步骤:

用户登陆成功过后,可以购物,查余额等等操作,但是比如我们登陆淘宝,登陆成功过后,就没有了注册功能。现在项目中,我们登陆了但是还能注册,所以,我们要定义一个规则,来确定用户是否登陆。
  用户状态的变量设定为一个字典
  用户登陆之前,设定一个默认值,代表用户没有登陆
  user_state = {’username’:None, state:False}

用户登陆之后(比如用户名 zxy 登陆),登陆成功过后,给user_state中的值重新赋值,代表用户登陆的标志
  user_state = {’username’:zxy, state:True}

用户在没登陆之前,想查看余额,流水,购物车等操作,是要先进行登陆的,但是没有装饰器,可以采用7.51的思想,但是装饰器也是一种常用的思想。那么应该加上登陆认证装饰器,为检查用户是否登陆,如果没有登陆,就返回提醒用户登陆,如果登陆就执行原功能

装饰器一般放在lib目录下的common.py文件中

装饰器的思想就是为源代码添加新功能,但是源代码的功能不能更改。

结合我们没有登陆就能查看余额、查看流水、查看购物车的逻辑错误,装饰器就能很好的解决。

装饰器解决原理图

4.6用户体验功能(还款,转账,查余额,提现,查流水,充值)选择其中几个功能

4.7用户信息的存取设计(没有用到数据库)


在现有的存取介质中,项目采用的是文件存取。
文件的存取。存不是目的,目的是取。采用的方案是导入json模块,其中有一个方法是把字符串中的数据类型(如字典)取出来,并且保留字典中原有的数据。正是采用这个方法,让我们的用户数据存取是那么的方便。并且一个用户对应一个json文件,文件名和用户名一一对应。上面用户名为zxy,那么在电脑中一定有一个zxy.json的文件,那就是对应的用户信息文件。

4.8 如何存入json文件
python提供了一个函数叫open函数,打开本地文件的函数,其中有r,w,a,+等基本功能其中w的功能非常强大,指定文件路径,如果有文件,则打开文件,删除文件的所有内容如果没有,则直接创建新的文件。所以该项目直接用了open函数中的w模式。直接写入用户数据。

4.9 如何找到对应的用户名文件———os模块

os模块是和操作系统打交道的,其中就有一个方法找到对应的文件,但是得指定出文件的路径,在目录开发规范中,一般是把用户文件放在db中的(在文件操作中,一般放在数据库),通过写入时存放的路径信息,查看是否有指定的文件,如果有返回bool值 True,没有则返回False,interface文件夹中查询用户是否存在的功能会收到返回结果,然后做出一个判断,然后返回给用户视图层。

如图:(没有画出模块)


通过这个逻辑,我们可以在这些返回的结果基础之上完成后面的一些功能,如查流水,转账,查余额,查看购物车等等。

5开发购物功能

在用户注册成功的那一刻开始,就已经给用户配置了一些信息。

比如购物车是空的,账户余额是0,账户额度是15000,账户流水是空等等。
该场景在当今的各个电商平台都可以清楚的体验到。比如淘宝,注册成功过

后,用户登陆查看自己的购物车是空的,花呗额度是0,支付宝余额是0等等。

所以我们在开发购物功能中,就把购物商城中的数据做好就ok了。

用户登陆,选择购物功能,查看商品列表

拿购物车为例:当用户购物时,就会把看中的商品加入购物车。

对应的商品名称,价格,商品数量都会展示出来

5.1 如何把对应的商品取出来,加入到购物车

我们这个项目所牵扯的实质无非是在和数据打交道。对数据的增删查改,就是在学python的时候对基础数据类型进行增删查改操作。

我们把展示给用户看的商品做成一个列表,然后遍历出商品列表,遍历前调用enumerate()函数,把商品列表中的商品对应的下标和商品名称以元组的形式打印出来,并且是一一打印出来(商品下标:商品),显示到终端(给用户使用是在前端展示)。具体格式如下


用户输入对应的序号,底层调用是列表的切片操作,加入到用户信息字典中。
用户信息字典中对应的商品字典格式为
  "shop":{"商品名称":{"价格":价格,"数量":1}}
  如 ’shop’:{car:{"price":100,"count":1}}

5.2用户体验购物


5.3用户查看购物车


6项目总结

从需求分析到做出产品的过程。
1、需求分析

2、三层架构的设计
3、代码分层(分到三层架构中)

4、一层一层的分配给开发人员,开发人员再分配功能
5、各层之间接口调试

6、功能调试

7、提交项目给测试部门


参考文献

1、《零基础入门学习Python》小甲鱼著 清华大学出版社

2、《python全栈开发实战》(第三版)  Alex Li,Egon Lin,Eva Jing著

  全套毕业设计论文现成成品资料请咨询微信号:biyezuopinvvp QQ:1015083682     返回首页 如转载请注明来源于www.biyezuopin.vip  

                 

打印本页 | 关闭窗口
本类最新文章
基于MatlabSimulink 35kV输电线路继电保护的设计 分布式风电场低电压穿越故障建模与
大学生内容分享和社交平台的设计与 基于SSM框架的企业人事薪酬管理 基于大模型的代码注释自动生成与维
| 关于我们 | 友情链接 | 毕业设计招聘 |

Email:biyeshejiba@163.com 微信号:biyezuopinvvp QQ:1015083682  
本站毕业设计毕业论文资料均属原创者所有,仅供学习交流之用,请勿转载并做其他非法用途.如有侵犯您的版权有损您的利益,请联系我们会立即改正或删除有关内容!