软件项目开发,通常也会按规范化的流程及规约有序进行。以下为我的经验与总结关于大中型软件项目开发流程结构,总流程可分为:
1、 目录结构
2、需求分析
3、库选择及设计
4、计划安排,开发周期等
5、环境搭建
6、项目开发
下面作分别阐述:
1、 目录结构:主要是,documents(文档资料/式样)/src(代码) 放前面,这里通常是指项目框架的结构。
2、需求分析
根据所需要的功能,确定哪些模块是多余的或补充哪些类,方法等.
3、库选择及设计
根据不同用户需求或项目需要,选择相应的库,如:pgsql,mysql,Sybase,oracle...然后变更相应的配置文件。
4、计划安排,开发周期等
整个项目负责人,在我国一般称为:项目经理PM.把握时间进度,负责项目的人事协调,最终保证质量.具体包括:
产生各栏目文件夹的结构图,如2中提到的目录.
开发规则
书写规范
对象,变量及文件名命名约定
模块担当划分
把握时间进度,完全靠经验么?
可以这么说,另外需要对团队整体技术实力了解.另外,就是努力奋斗喽
5、环境搭建
通常是指相应的开发平台配置,常用的web平台有:
linux+apache+php+mysql/pgsql
MsWin2003+iis6+asp/aspx+mssql
linux+java...
这些具体配置,这里不作细说了,有兴趣的可以查看系统网络相关文章教程。
6、项目开发 (这里指的是oop开发)
(1)软件架构
说明软件的组织结构、部署结构及运行环境。
(2)类设计
定义类之间的关联和类的属性、方法。
(3)数据库设计
定义数据库表之间的关联和各个表的字段。
(4)编码和单元测试
按照设计文档进行编码,每完成一个模块应进行单元测试。
(5)系统整合与测试
按整体组织结构,将各个模块/子系统组合起来,并作整体测试.我们以后,会有专业的测试人员来进行这一块.
(6)BUG处理与项目总结工作.
表结构定义及表与表相互之间的关联,有什么准则么?
这就要按照<数据库范式>来吧. 基本上保证前三个范式就OK了
通常约定也就是3NF+BCNF就可以了.
我大概说下吧.
第一范式(1NF)是对关系模式的基本要求,这个不满足就是个失败的库设计,设计出来的库就不是关系数据库.
简单的说就是不能有重复的列.同一个列不能有多个值.
如: 一个字段中,不能放"姓名,年龄,电话...."这样的东东.
2NF,具有继承性,嘿嘿可以理解成类,1NF是父类,满足2NF前提是满足于1NF
要求每条记录必需可以唯一的区分,属性完全依赖于主关键字.
3NF,同上必须先满足2NF。
要求一个数据库表中不包含已在其它表中已包含的非主关键字信息。
原因是,那样会造成大量的冗余数据.
补充:BCNF,再同上在3NF的基础上.
数据库表中如果不存在任何字段对任一候选关键字段的传递函数依赖则符合第三范式
通俗来说就是,存在关键字段决定关键字段的情况
它会导致:删除/插入/更新异常等.
其中,这里还有项目品质管理、人员分配、角色扮演等都是需要很注意的,这些决定了一个项目的成败。务必仔细/认真/仔细。。。细节决定成败!
1、 目录结构
2、需求分析
3、库选择及设计
4、计划安排,开发周期等
5、环境搭建
6、项目开发
下面作分别阐述:
1、 目录结构:主要是,documents(文档资料/式样)/src(代码) 放前面,这里通常是指项目框架的结构。
2、需求分析
根据所需要的功能,确定哪些模块是多余的或补充哪些类,方法等.
3、库选择及设计
根据不同用户需求或项目需要,选择相应的库,如:pgsql,mysql,Sybase,oracle...然后变更相应的配置文件。
4、计划安排,开发周期等
整个项目负责人,在我国一般称为:项目经理PM.把握时间进度,负责项目的人事协调,最终保证质量.具体包括:
产生各栏目文件夹的结构图,如2中提到的目录.
开发规则
书写规范
对象,变量及文件名命名约定
模块担当划分
把握时间进度,完全靠经验么?
可以这么说,另外需要对团队整体技术实力了解.另外,就是努力奋斗喽
5、环境搭建
通常是指相应的开发平台配置,常用的web平台有:
linux+apache+php+mysql/pgsql
MsWin2003+iis6+asp/aspx+mssql
linux+java...
这些具体配置,这里不作细说了,有兴趣的可以查看系统网络相关文章教程。
6、项目开发 (这里指的是oop开发)
(1)软件架构
说明软件的组织结构、部署结构及运行环境。
(2)类设计
定义类之间的关联和类的属性、方法。
(3)数据库设计
定义数据库表之间的关联和各个表的字段。
(4)编码和单元测试
按照设计文档进行编码,每完成一个模块应进行单元测试。
(5)系统整合与测试
按整体组织结构,将各个模块/子系统组合起来,并作整体测试.我们以后,会有专业的测试人员来进行这一块.
(6)BUG处理与项目总结工作.
表结构定义及表与表相互之间的关联,有什么准则么?
这就要按照<数据库范式>来吧. 基本上保证前三个范式就OK了
通常约定也就是3NF+BCNF就可以了.
我大概说下吧.
第一范式(1NF)是对关系模式的基本要求,这个不满足就是个失败的库设计,设计出来的库就不是关系数据库.
简单的说就是不能有重复的列.同一个列不能有多个值.
如: 一个字段中,不能放"姓名,年龄,电话...."这样的东东.
2NF,具有继承性,嘿嘿可以理解成类,1NF是父类,满足2NF前提是满足于1NF
要求每条记录必需可以唯一的区分,属性完全依赖于主关键字.
3NF,同上必须先满足2NF。
要求一个数据库表中不包含已在其它表中已包含的非主关键字信息。
原因是,那样会造成大量的冗余数据.
补充:BCNF,再同上在3NF的基础上.
数据库表中如果不存在任何字段对任一候选关键字段的传递函数依赖则符合第三范式
通俗来说就是,存在关键字段决定关键字段的情况
它会导致:删除/插入/更新异常等.
其中,这里还有项目品质管理、人员分配、角色扮演等都是需要很注意的,这些决定了一个项目的成败。务必仔细/认真/仔细。。。细节决定成败!