项目
写一个项目首先要有端的概念,举两个例子
京东直营
- 用户端
- 后台管理端
淘宝
- 用户端(卖商品)
- 商家端
- 后台管理端
PS:这里的端不是指的B/S、C/S,其实每个端都是由B/S,C/S构成的。
现在我们要做一个项目叫做:YYY
这个项目是:
- 用户端
采用MTV
- 前后端都需要我们自己去搞定
之后我们还会做一个前后端分离的项目
后端利用RESTApi
- Json传输数据
前端
- VUE
- Android
- IOS等等都可以
公司开发流程
技术部
产品经理(产品狗)
- 不懂技术,但是巴拉巴拉无脑要添加各种需求
- 和他们交流一定要留记录,比如邮件,聊天记录。
条产品线两个产品经理
- 一个用来跑现场,调研
- 另一个负责将调研的数据转换成具体的需求
- 产出PRD(Product Requirement Document) 产品需求文档
原型图(和真实网站差不多,只不过页面都是静态的,假的)
- 也有可能是UI产出
UI
小公司统称UI,UI是利用ps等等画图工具设计出一张一张类似于海报的原型图(原型图都是由很多图层画出来的)
- UD 用户界面设计
UE 用户体验(最烦,他觉得好程序员觉得不好)
- 以后我们需要后做这个,因为用户体验不影响业务流程,优先保证数据流向,先保证项目能运行起来,再保证体验。
后端
- 一般来说后端的人都是最多的,因为我们要面对很多的逻辑问题,
最少2个人
- Python
- Java
- php
- node
- Go
根据需求进行表结构设计
- 有哪些表
- 表中有哪些字段
- 表有哪些关系
前端
- MTV
HTML5 web前端一个人就够了
- 实际上就是接口开发,而接口实际上就是我们写的路由
- 写的页面可以同时运行在安卓和IOS上,导致了安卓和IOS的开发人员减少
- Android(人数太多了)
测试
代码写完,才刚刚开始,因为会有很多个小毛病,因为自己写代码的时候只是简单的测试一下,没有并发测试,没有压力测试,而测试工程师,到处点,找你的代码的BUG。
黑盒测试
- 功能测试
- 点点点(用EXCEL写一个check-list,测试一个就打一个钩)
白盒测试
- 不会正向开发,可以写代码测试你的代码,比如你的代码有创建一个对象,测试就写一个代码,让你创建100个对象,测试稳定性,每次能不能成功,出错了有没有提示。
高级开发,测试知道代码中可能有什么漏洞,专门针对这些漏洞去做测试,然后提高程序的健壮性。
- 比如支付宝为什么会被盗,阿里会专门养一堆类似于黑客的,专门雇人来攻击支付宝,攻击成功就给10倍工资挖人,然后让其部署堵漏洞的程序。
- 国家也有这种,假如黑客技术很厉害,第一种就是直接收编,大部分都是收编,收编不了采取约谈,比如代理小飞机的作者,被国家约谈,但是不想被收编,就达成协议,就把自己写的小飞机代码全部删除,现在流传的都是别人在github拷贝下来的。
之后我们也会接触测试,连续怼服务器1万次,看看请求失败率,已经平均请求时间,1s之内可以接受,超过一秒就要检测哪一块需要优化。
延迟高
比如访问延迟大的时候,可以多布置几台服务器,哪台服务器距离近,就让哪台服务器去响应,从而降低网络延迟。
数据库查询慢
如果是数据库查询慢,就要优化数据库,是查询条件复杂,还是连接出现了问题,数据库遇到瓶颈了,需要加一个缓存,是否需要垃圾清理,是否需要对字段进行拆分。
运维
- 上线部署
- 维护稳定运转
版本迭代
一个产品上线之后,接下来还需要不断的版本迭代
又回到了产品
- 以后产品加需求的时候,不能说做不了,回答,能做,要时间,如果时间不够,就一点一点砍功能,不要想着一口气把功能全家上,因为:一,项目周期时间长;二,压力大;三,BUG多,风险多。
比如电商系统,第一版上线商品,用户,购物系统,以后再加订单系统,物流系统,VIP系统等等,一点一点扩充,这样项目就越来越完善。
补充:什么是接口
接口就是客户端输入什么,然后服务端返回什么。
比如客户端发送一个密码给服务端,服务端就返回一个token,然后客户端带着token请求用户信息,就返回用户信息,请求订单页面就返回订单页面。
此处评论已关闭