简单介绍公司项目开发流程
一个产品大概开发流程是怎样的呢?下图有代表性
那到了程序员【代码编写】阶段我们又会考虑些什么呢?
这里假设1个人去开发整个管理系统
1. 需求分析
分析需求,了解项目,需要知道产品是干啥的?项目大概有哪些难点?项目大概需要多久可以完成?有的公司这个时候,需要程序员写【评估报告.doc】。
2. 技术选型
用easyUI还是bootstrap需要选择。
用ssh还是用ssm要选择。
用mysql还是oracle要选择。
用ajax方式还是用angular之类的框架需要考虑。
权限控制用Apache shiro还Spring Security需要考虑…
不过有的公司有自己的技术栈,有的个人有自己的擅长技术栈,这个过程就不会花很多时间。
3. 数据库设计
方式一:先设计bean
根据业务,抽象出实体bean,然后利用spring-data-jpa之后的自动生成数据库是可以的。
方式二:先设计数据库
根据业务,通过手写sql,建库建表是可以的。
根据业务,通过Navicat或者SQLyog直接图形化建库建表是可以的。
根据业务,通过PowerDesigner或者Navicat先建模,再导出sql也是可以的。
给大家贴一些资料:
掌握一些常见设计技巧
1、内容合理拆分
能够理解为什么拆开设计
比如商品和商品详情设计为2个表
比如规格和规格详情设计为2个表
比如订单和订单条目
2、树结构表结构
页面可以表现为树形菜单、三级联动等
3、权限管理
更多心得体会,可以自己再去分析分析课程里面涉及到的表
需要具有设计表的能力,需要对公司业务比较熟悉,一般也会由公司老员工完成
如果公司有dba,设计表可能由dba协助完成
如果是接手项目,表设计肯定是在前期都已经完成了,需要做的就是熟悉表结构
4. 搭建框架
需求分析、技术选型、表设计、搭建框架安排半个月左右都是合理的
完成项目的搭建,相关jar包的整合。
完成一些基类的封装
比如我们课程里面BaseAction.java、BaseController.java、BaseDao.java。
再比如,我们课程里面的BaseController.js。
5. 完成功能开发
一两个月的功能开发
后续就是根据实际情况,一一完成模块开发。