一个团队

63 篇文章 0 订阅
34 篇文章 0 订阅

开发一个系统需要的准备工作

系统开发流程
1、需求分析:有时候客户自己都不清楚自己想要的是什么,那么这个时候就需要产品经理根据用户表现出来的想法去完善或是补充他的想法,并与技术经理沟通这些想法的可行性、时间成本、人力成本、经费成本。然后最终与客户确认这些想法。

2、架构分析:根据产品经理带回来的客户需求,分析系统的架构模块及开发时间,要实现这些需求需要制作哪些功能内容,并根据实际情况选择或设计系统的开发框架(如java spring mvc + spring + mybatis 或 php 中的YII Thinkphp Larvel 等知名框架)

3、团队组合:根据客户的需求和系统的开发框架确定团队的成员组合

4、任务协作:技术经理将各个功能模块分配给不同的小组(在分配的时候要给每个小组说明所负责的功能模块的需求或要求),每个小组只用负责自己模块的功能开发并配合其他小组开发他们需要的接口(举个例子,小组A负责开发订单系统,小组B负责开发商品系统。 小组A在开发订单生成的时候需要获取一些商品的信息,此时小组A就需要向小组B提出需求,我要一个能获取商品信息的接口,而不是让小组A自己去开发一个获取商品信息的接口)。原则上就是每个小组只用负责自己开发的模块接口。

5、系统测试:测试分为单元测试和集成测试。
单元测试:只测试某一个小接口是否能使用。(比如某个或快下获取商品信息接口)
集成测试:某个请求需要多个接口来配合才能完成这次请求的处理。

6、项目验收:不仅仅是将系统交付给客户,还需要将系统的操作手册也一并交付给客户。如果用户对整个系统有什么新的要求或需求或是对某些地方不是很满意那就从走第一个流程。

备注
1、一般的系统开发都选用mvc(model + view + controller)模式,后端负责mc层,前端负责v层。
2、后端:

  • 在负责本组模块开发的时候要考虑这个模块现在的需求,以及对未来可能会产生的需求埋下伏笔,避免以后二次开发的时候开发难度提升(这个就只有开发年限经验去补充)。
  • 良好的编程习惯,在关键的位置添加注释是一个开发的好习惯,毕竟写的代码多了,你也不能记住每一个地方运行的原理和作用。添加注释方便我们阅读打码。
  • 控制层:是应用程序中处理用户交互的部分。通常控制器负责从请求中读取数据,控制用户输入,并向用户发送数据。
  • 服务层:是应用程序中用于处理应用程序数据逻辑的部分。
  • 模型层:通常模型对象负责在数据库中存取数据
  • 接口文档整理:对前端提供前端能使用的技术接口,对同事或其它组成功提供的内部服务接口。

3、前端:

  • 根据设计制作的画面制作出相关网页,经验丰富的前端制作根据设计制作的画面具有结构简单、植入性强、运行速度快、画面兼容性好等特点
  • 能根据后端提供的接口文档从后台获取数据,并将数据渲染在页面上
  • 至少会一门前端开发框架。
  • 良好的编程习惯,关键位置标注注释。

4、UI设计:

  • 了解系统开发目的和功能需求
  • 了解用户的行为习惯、能站在用户的角度上设计出精美的网页,知晓用户的操作习惯。
  • 熟悉PS等工具的使用,
  • 如果是丰富经验的UI设计知晓组件的复用性,能减少前端的很多开发工作

5、测试

  • 兼容测试:测试在各个机型(手机、电脑、平板等不同的硬件设备)上运行的情况。
  • 接口测试:各个功能单元的接口测试,并在处理的过程中检测处理的结果是否和预期一样(比如创建一个订单,那么调用订单创建接口后,数据库中的订单表的记录是否和预想的一样,响应的数据结果是否和预期的一样)
  • 迸发测试:检测各个接口的时候也要检测改接口支持的迸发数,并把结果反馈给技术经理
  • 安全测试:根据预期可能出现的问题情况做一对一的测试,并配合负责后端开发人员找出解决方式。

6、技术经理

  • 系统架构设计:根据客户需求进行系统架构设计,系统的架构设计要满足开发快速,二次开发容易,上手快。
  • 服务器架构技术:能根据测试反馈的结果知晓要买多少台服务器,做架构的负载均衡(数据库读写分离、Redis缓存优化、服务器集群、SLB负载均衡器、弹性伸缩、WAF网盾)
  • 系统全局把控:了解或精通各个环节的开发内容,把控开发进度。
  • 技术搬砖工:在开发过程中总会遇到某个同事在开发过程中的难题,当所负责的项目组员无法解决的时候就需要技术经理出马了,提供解决方案甚至可能还是实现。
  • 较强的沟通能力:技术经理作为上要对接产品经理,下要对接各个开发同事并跟他们讲解清楚开发内容和注意事项,需要有较强的沟通能力。

7、产品经理

  • 很强的沟通能力:要从客户的表达中抓取有用的信息,知晓用户想要的是什么,并能根据用户的想法补充和完善他的想法。且要将沟通的结果和技术经理进行对接,发现可行性。适时的时候为了加强和客户的沟通也会做一些文档(PPT、word、架构图、流程图)来帮助客户理解和了解未来的规划。
  • 较强的社交能力:因为是直接和客户打交道,所以与客户保持良好的关系也是产品经理工作的一部分。
  • 懂一点技术:需要知道哪些能实现,哪些不能实现,不能空口白话、天马行空的做。

一个团队就像一个完整的小机械,少了任何一个或是任何一个有缺陷都会对整体产生影响。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值