一个项目的初始及开发流程

现在网上大部分都是主讲代码的,很少涉及一个项目的启动、规划、分工等。大部分教程也是想到哪做到哪,并没有一个明确的思路。个人觉得,一个项目的开始并不应该急着上来就干代码,有一个清晰的思路,明确的业务关系等,也是非常重要的,毕竟磨刀不误砍柴功嘛~。本文先讲解一下我自己总结的一些流程上的东西,之后会拿一些实例来讲解。(楼主是一个创业型团队,所有事情都是靠自己摸索,可能许多东西在大神们看来很low,但是自己摸索还是很有感觉的~)


开发流程

  1. 业务原型图及设计
    • 根据业务需求完成原型图
    • 业务确认,设计图
  2. 框架选择
    • 后端框架 Laravel5.3+
    • js框架 Vue2.x
    • UI框架 bootstrap
  3. 数据库设计
    • 梳理模型关系
    • 根据业务逻辑设计表结构
    • 填充模拟数据(可在构建代码的过程同步进行)
  4. 搭建脚手架
    • 项目模块化
    • 搭建项目基础(明确项目目录及结构等)
    • 分工
  5. 程序
    • 根据模块和分工完成程序
    • 阶段测试
  6. review
    • 优化
    • 测试

业务原型图及设计

首先拿到一个项目,先理清楚基础的业务逻辑是非常重要的,在此基础上完成部分原型的设计(推荐使用Axure),当然这个过程可能就会涉及到一部分的模型关系,之后与客户确认并明确要求。
需求明确后,可以开始进行设计,当然数据库设计可以同步进行。

框架选择

当已经知道一个项目的大致业务需求及应用场景后,可以选定框架。本文及后续实例均会以laravel5.3为核心,js框架使用VUE.js,UI框架选用bootstrap。数据库使用Mysql。

数据库设计

对于程序员来说(有的公司是产品经理完成),我觉得这一步非常重要的,主要确定模型与模型、表与表之间的对应关系。例如:一对一、一对多、多对多等(个人习惯是画一个模型关系图)。这样在开发的时候就会思路很明确,不会处于“懵比”状态。

搭建脚手架

这一步是一个程序项目良好的开始,主要包括两点:

  • 模块化:根据页面、业务、数据模型等怎么方便怎么分。
  • 明确分工:模块化后拆分项目并分工。
    这里再主要说明一下项目管理工具。我们团队采用的是文件使用SVN,代码使用Git管理的方式。之后的文章会具体项目具体分析。

程序

主要说三点:

  • 阶段测试:按模块和按分工测试。
  • 定期检查:团队间定期碰头交叉测试。
  • 代码重构:抽象复用代码。

review

这是一个很总要但是又容易忽略或者省区的一部分。大部分代码重构和优化都会放在这里。


后续我会根据实际场景做一个系列教程。主要还是讲解3、4、5这三步。希望大家多多支持。
当然大神们请直接绕过吧~献丑了。

经验交流可以加我微信

本作品采用《CC 协议》,转载必须注明作者和本文链接
本帖由 Summer 于 6年前 加精
franktrue
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 6

写的很好! 此类文章确实较少,支持!

6年前 评论

写的不错,加油:)

6年前 评论

期待下一篇文章:kissing_heart:

6年前 评论
Artisan

好文。期待下一篇

6年前 评论
幽弥狂

单元测试也很有必要吧。毕竟我们用的是laravel。

6年前 评论
目录不错,可是后面解释说的不是很好,意犹未尽啊。
6年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!