团队开发过程的反思及想法
当接受一个新项目的开发的需求时,首先确定该项目的整体功能模块,在项目设计过程中制作系统功能模块图。
- 分析系统的主功能模块,设计项目功能模块图
- 创建数据库模型
- 分配研发人员根据项目的功能模块确定模块负责人以及模块开发小组。
- 搭建框架,规范开发模式,统一页面布局
- 制定项目开发周期,迭代开发,每个迭代期初的任务分配、迭代期末的任务总结。
功能模块图
数据库建模
数据库的设计要遵循3NF范式,减少冗余数据。 第一范式:属性不可分 比如人员信息表,包括’姓名‘,’职业‘,’年龄‘等多个属性,在数据库设计中每个属性必须独自占有一列,不能把完整的一个人员信息放在一列里。 第二范式:必须先满足第一范式(1NF),唯一标识 一张表只能描述一样东西,每个表都要加一个不可重复的唯一标志。 第三范式:必须先满足第二范式(2NF),使用外键 假如数据库要存储人员及其部门信息(部门名称,部门主任,部门联系电话),则若在一个表中会导致部门信息大量重复,数据冗余,此时应将部门信息提取出来作为一个新表,部门表,然后在人员表里存储部门表id。 第四范式:同一张表里的多对多要提出关系表 第五范式:从最终结构重新建立原始结构 在某些情况下过于范式化甚至会对数据库的逻辑可读性和使用效率起到阻碍。数据库中一定程度的冗余并不一定是坏事情。
模块开发
开发规范
1、项目结构 原始项目结构: 每个模块开发小组开发时建立一个与模块相关的包,在该包下建立自身的bean、dao、service、controller, 例如: 注:
- 包命名:公司简称.模块简称.**
- pub为公共模块,提供可共用的功能方法,controller一般只会返回json字符串,不会涉及到页面跳转,更多的是提供工具方法之类。
- 每个模块不能调用除公共模块及自身外的其他模块内的功能方法以及工具类。只有公共模块的功能方法才能被共用。
eclipse打开顶部菜单栏Window下的preferences,导入配置的xml。 选中类名或方法名后,使用快捷键 ALT+Shift+J 使用效果: 前台布局见:
制定项目周期,迭代开发。
团队开发最重沟通,不可能一个人把所有的事情安排的面面俱到,积极沟通,群策群力,集思广益,博采众议,才是一个团队稳定高效发展的策略。 A确定该迭代期要完成的任务计划,然后与模块负责人探讨,进行本迭代期任务的划分及分配。在迭代周期结束时,对所安排的任务计划进行总结,主要是对于已完成的工作,在开发过程中产生的好的想法、以及未完成工作的原因及遇到的瓶颈。
一些开发过程中需要注意的小问题:
- form表单中的按钮必须都指明按钮类型。不指明的话会默认点击后提交表单。
- 正则表达式要合适。