面试-JavaEE-简单介绍公司项目开发流程

简单介绍公司项目开发流程

一个产品大概开发流程是怎样的呢?下图有代表性

面试-JavaEE-简单介绍公司项目开发流程

那到了程序员【代码编写】阶段我们又会考虑些什么呢?

这里假设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个表

面试-JavaEE-简单介绍公司项目开发流程

比如规格和规格详情设计为2个表

面试-JavaEE-简单介绍公司项目开发流程

比如订单和订单条目

面试-JavaEE-简单介绍公司项目开发流程

2、树结构表结构

页面可以表现为树形菜单、三级联动等

面试-JavaEE-简单介绍公司项目开发流程

3、权限管理

面试-JavaEE-简单介绍公司项目开发流程

更多心得体会,可以自己再去分析分析课程里面涉及到的表
需要具有设计表的能力,需要对公司业务比较熟悉,一般也会由公司老员工完成
如果公司有dba,设计表可能由dba协助完成
如果是接手项目,表设计肯定是在前期都已经完成了,需要做的就是熟悉表结构

4. 搭建框架

需求分析、技术选型、表设计、搭建框架安排半个月左右都是合理的

完成项目的搭建,相关jar包的整合。

完成一些基类的封装

比如我们课程里面BaseAction.java、BaseController.java、BaseDao.java。

再比如,我们课程里面的BaseController.js。

5. 完成功能开发

一两个月的功能开发

后续就是根据实际情况,一一完成模块开发。

6. 完成测试、上线、后续迭代开发