ATM项目开发
一、项目开发流程
1.项目需求分析:
(1)明确项目的体功能(要明确到底要写什么东西,实现什么功能)
这个阶段的话具体要询问产品经理以及客户(客户对产品的具体需求)
(2)参与人员:
产品经理;开发经理;架构师
1.架构师 开发经理提前构思大致方案
2.引导客户提出合理要求(避免不合理的请求)
3.记录会议内容
(3)技术人员主要职责:
引导客户提出一些比较合理,比较容易实现的需求。
2.项目架构设计:
(1)明确项目的核心技术点
项目使用的编程语言;
项目使用的框架;
项目所使用的数据库;
项目报价
(2)参与人员:
架构师
3.项目分组开发:
(1)明确每个组每个人具体到写该项目的哪些功能
(2)参与人员:
架构师;开发经理;普通程序员
4.项目提交测试:
(1)程序员自己本身写完自测以及交付测试小组测试(错的太多可能会扣绩效)
(2)参与人员:
普通的程序员;测试小组
5.项目交付上线:
(1)参与人员:
运维工程师
(2)可以直接把项目交给客户帮客户定期维护
"""
小公司:成长速度特别快 但是压力非常大
大公司:履历好看 福利待遇好 较为安逸
"""
二、项目需求分析
1.主题
主题是带大家快速如门python直至开发一个ATM+购物车系统,ATM的实现类似于银行自助提款机核心业务,购物车的实现类似于淘宝商城购物系统。
2.项目核心
项目的核心不仅在于引领初学者快速入门python项目开发,更是站在项目架构的角度教你如何在程序开发之初合理且优雅地设计程序的架构,从而极大地提升程序的开发效率与可扩展性。
3.项目需求:
额度15000或自定义
支持多账户登录
可以查看账户余额
可以提现(可自定义手续费比例)
提供还款接口
支持账户间转账
记录每月日常消费流水
实现购物商城,买东西加入购物车,调用信用卡接口结账
提供管理接口,包括添加账户、用户额度,冻结账户等
ATM记录操作日志
用户认证功能
4.从需求中提炼出项目的核心功能
用户注册
用户登录
查看余额
账户提现
充值功能
转账功能
查看账单
购物车功能
管理员功能
5.从功能中在提炼出核心技术点
python核心语法
python诸多模块
装饰器知识
三、项目架构设计(重点)
1.架构前拓展
编写代码的改进历程:
(1)代码直接写在一个文件里面,采用面条版堆积;
(2)将有些具体的功能采用函数封装;
上述两个阶段类似于小公司,一个员工身兼数职
(3)讲不同的功能拆分到不同的文件
上述阶段类似于大公司 工具职责划分部门 每个员工只干该岗位的具体事宜
敲重点:拆分的目的是为了更好的管理资源和代码,提升程序的扩展性。
2.项目架构(重要)
(1)百度
以用户登录为例:
浏览器页面获取用户名和密码;
基于网络将用户名和密码发送给百度服务器;
服务端去数据库中校验用户数据。
三层架构:
浏览器;服务端;数据库
(2)淘宝
以购买商品为例:
浏览器页面展示商品总价;
基于网络将购买商品的操作发送给服务端做核心校验;
之后操作相应数据库完成数据修改。
三层架构:
浏览器;服务端;数据库
3.三层架构
(1)用户层
只做数据展示,数据获取功能
cmd窗口可以充当用户层
将来可以替换成浏览器或者app
(2)核心逻辑层
业务逻辑(真正的核心业务逻辑处理(代码))
某个py文件充当逻辑层
将来可以替换成软件开发目录规范或者现成的框架
(3)数据层
数据的增删改查
json文件充当数据库
可以替换成数据库程序
ATM架构设计
三层架构
core目录下的src.py(浏览器)
interface目录下的多个py文件(框架)
db目录下db_handler.py(数据库服务)

四、项目目录搭建
1.第一层
core文件夹
src.py文件充当第一层
2.第二层
iinterface文件 充当第二层
根据业务逻辑的不同再次拆分便于后期维护管理
user_interface.py
bank_interface.py
shop_interface.py
admin_interface.py
3.第三层
后续通过代码动态创建,或者直接创建db文件夹
五、项目功能搭建
1.注册
2.登陆
3.查看余额
4.提现
5.还款
6.转账
7.查看流水
8.添加购物车功能
9.查看购物车功能
10.结算购物车功能
11.管理员功能
ATM项目开发的更多相关文章
- ATM系统开发(Java版)
ATM系统开发 技术点分析 1.面向对象编程 每个用户的账户都是一个对象,所以需要设计账户类Accent用于创建账户对象封装账户信息. 2.使用集合容器 系统需要提供一个容器用于存储这些账户对象的信息 ...
- Python基础之模块:7、项目开发流程和项目需求分析及软件开发目录
一.项目开发流程 1.项目需求分析 明确项目具体功能: 明确到底要写什么东西,实现什么功能,在这个阶段的具体要询问项目经理和客户的需求 参与人员: 产品经理.架构师.开发经理 技术人员主要职责: 引导 ...
- Android快乐贪吃蛇游戏实战项目开发教程-01项目概述与目录
一.项目简介 贪吃蛇是一个很经典的游戏,也很适合用来学习.本教程将和大家一起做一个Android版的贪吃蛇游戏. 我已经将做好的案例上传到了应用宝,无病毒.无广告,大家可以放心下载下来把玩一下.应用宝 ...
- HTML+CSS项目开发总结
好几天没更新博客了,刚实战完一个HTML+CSS的简单项目.经过几天的摸索,发现收益良多.之前只是单纯得写demo,看知识点,没有亲自实战项目.但实战过后才会了解,如何才能更好地提升自己的技术.针对这 ...
- 简历生成平台项目开发-STEP2问卷调查结果统计分析
根据之前设计的调查问卷,截止目前为止,一共收到64份问卷结果.一共16题,分别从基本信息.是否对简历制作有需要.对产品期望的特点和建议采纳四个方面设计问题.下面逐题分析问卷结果: 1.您的性别 可以看 ...
- 如何使用Worktile进行敏捷项目开发管理
Worktile在任务管理上采用了看板视图,非常适合进行敏捷项目开发管理.事实上,在开发Worktile的过程中,我们也是自产自销,使用Worktile管理Worktile本身的开发过程,在本文中跟大 ...
- Java进击C#——项目开发环境
本章简言 上一章我们了解一下开发环境,知道了什么去新建一个项目工程.却并没有去项目工程进行介绍.可是之后我们会常常跟项目工程打交道.所以这章笔者就对项程工程的常用的一些功能进行讲解.当然说全面那是不可 ...
- 关于举办 2015年 Autodesk 助力云应用项目开发活动通知
各位尊敬的Autodesk 合作伙伴,大家好! 相信您在过去的一年里应该对Autodesk最新的云服务技术有所了解,您是不是曾经闪现过一些很好的想法,却由于不确定是否真实可行,或担心没有技术支持来帮助 ...
- .NET程序员项目开发必知必会—Dev环境中的集成测试用例执行时上下文环境检查(实战)
Microsoft.NET 解决方案,项目开发必知必会. 从这篇文章开始我将分享一系列我认为在实际工作中很有必要的一些.NET项目开发的核心技术点,所以我称为必知必会.尽管这一系列是使用.NET/C# ...
- [转]基于Starling移动项目开发准备工作
最近自己趁业余时间做的flash小游戏已经开发得差不多了,准备再完善下ui及数值后,投放到国外flash游戏站.期间也萌生想法,想把游戏拓展到手机平台.这两天尝试了下,除去要接入ane接口的工作,小游 ...
随机推荐
- pinpoint部署
pinpoint是一个分析大型分布式系统的平台,提供解决方案来处理海量跟踪数据,主要面向基于tomcat的Java 应用. pinpoint使用HBASE储存数据. 下面介绍pinpoint部署及应用 ...
- 嵌入式-C语言基础:字符串strlen和sizeof的区别
strlen表示的实际的字符串长度,不会把字符串结束符'\0'计算进去,而sizeof则不是实际的字符串长度,它会把字符串的结束标识符'\0'也包含进去. #include<stdio.h> ...
- 在C#中使用Halcon开发视觉检测程序
目录 简介 将 HALCON/.NET 添加到应用程序 添加控件 引用dll 调用Halcon算子 程序示例 HSmartWindowControl控件使用 加载.保存图像 扩展:加载相机图像 画线. ...
- 【大数据面试】sqoop:空值、数据一致性、列式存储导出、数据量、数据倾斜
一.有没有遇到过问题,怎么进行解决的 1.空值问题 本质:hive底层存储空数据使用\n<==>MySQL存储空数据使用null 解决:双向导入均分别使用两个参数☆,之前讲过 2.数据一致 ...
- go操作Kfaka
目录 1. Kafka介绍 1.1.1. Kafka是什么 1.1.2. Kafka的特点 1.1.3. 常用的场景 1.1.4. Kafka中包含以下基础概念 1.1.5. 消息 1.1.6. 消息 ...
- JDK卸载
JDK卸载 从环境变量里的JAVA_HOME里找到jdk的主程序,删掉 把JAVA_HOME删掉,在把path里跟java_home相关的也删掉 在cmd里运行java-version
- SAP程序发布流程
更改程序名称 如果你想要更改程序名称的话,首先进入程序,关闭编辑,只显示代码 点击重命名就可以了 或者直接输入事务代码se38进入APAP编辑器,输入程序名称,重命名 为程序创建事务代码 事务代码为s ...
- HMS Core 6.8.0版本发布公告
分析服务 ◆ 游戏行业新增"区服分析"埋点模板及分析报告,支持开发者分服务器查看用户付费.留存等指标,可进一步评估不同服务器的玩家质量: ◆ 新增营销活动报告,可查看广告任务带来的 ...
- vba 正则表达式用法
Sub Regexp_test(Sht As String, str As String)On Error Resume NextDim regx As ObjectDim arr, brr, mhS ...
- MongoDB 索引原理与索引优化
转载请注明出处: 1.MongoDB索引 索引通常能够极大的提高查询的效率, 如果没有索引, MongoDB 在读取数据时必须扫描集合中的每个文件并选取那些符合查询条件的记录.这种扫描全集合的查询效率 ...