Day25.程序的架构设计
# 项目的说明书 ## 项目:ATM + 购物车 # 项目需求: 1.额度 15000或自定义 2.实现购物商城,买东西加入 购物车,调用信用卡接口结账 3.可以提现,手续费5% 4.支持多账户登录 5.支持账户间转账 6.记录每月日常消费流水 7.提供还款接口 8.ATM记录操作日志 9.提供管理接口,包括添加账户、用户额度,冻结账户等。。。 10.用户认证用装饰器 # 一个项目是如何从无到有 ## 一 需求分析 1.拿到项目,会先在客户那里一起讨论需求 商量项目的功能是否能实现,周期与价格,得到一个需求文档 2.最后在公司内部需要开会讨论,最终得到一个开发文档 交给不同岗位的程序员进行开发。 - Python:后端,爬虫 - 不同的岗位: - UI界面设计: - 设计软件的布局,会分局软件的外观切成一张张图片 - 前端: - 拿到UI交给他的图片,然后去搭建网页面。 - 设计一些页面中,哪些位置需要接收数据,需要进行数据交互 - 后端: - 直接核心的业务逻辑,调度数据库进行数据的增删改查改 - 测试: - 会给代码进行全面的测试,比如压力测试,界面测试(CF卡箱子) - 运维: - 部署项目 ## 二 程序的架构设计 ### 1.程序设计的好处 1)思路清晰 2)不会出现写一半代码时推翻重写 3)方便自己或以后的同事更好维护 ### 2.三层架构设计的好处 1)把每个功能都分层三部分,逻辑清晰 2)如果用户更换不同的用户界面或不同的数据储存机制都不会影响接口层的核心逻辑代码,扩展型腔 3)可以在接口层,准确的记录日志与流水。 ### 3.三层架构 #### 一 用户视图层 用于与用户交互的,可以接收用户的输入,并打印接口返回的数据 #### 二 逻辑接口层 接受 用户层 传递过来的参数,根据逻辑判断调用数据层加以处理,并返回一个结果给 用户视图层。 #### 三 数据处理层 接收接口层传递过来的参数,做数据的 - 保存数据 save() - 查看数据 select() - 更新数据 - 删除数据 ## 三 分任务开发 ## 四 测试 ## 五 上线 # 统计代码 file ---> settings ---> Plugins ---> 搜索`Statistic`并安装
架构图