wangcaipang 2011-09-05
web开发流程其实并不复杂,如果概括来说应该是这么几个步骤
1.客户沟通,了解客户需求,拟定需求分析文档。
这是第一步,当然也是最重要的一步,如果说整个web开发是盖楼房,那这一步就是了解到底自己想要盖一个怎样的楼房。连这个概念都没有,谈何盖楼房?不过这一步也是最让人头疼的,因为毕竟客户不是技术人员,他们描述的很多需求其实都是非常抽象的。这些都要通过自己不断的沟通不断的摸索才能把握住客户的心理,尤其在美工设计方面,有时候你觉得很好的,可能客户就不满意。我就不赘述了。
2.数据库设计。
这一步也非常关键,因为整个数据库设计的好坏直接关系到你项目数据表之间的关系逻辑是否清晰,是否全面,是否冗余。在数据库设计的时候要遵循给定的命名约定,要有一定的规则,这样以后使用起来就会方便很多。还要理清各表格之间的关系,以免出现逻辑混乱。
3.网站布局设计
这一步就是真正地开始页面设计了,也就是设计建筑框架图纸了。你不需要把什么都做到很精细,可以通过一些软件把基本布局设计好,总共有几个页面,每个页面要完成什么功能,把页面之间的联系粗略打通,让客户可以知道你的整个网站整体是怎么样的流程,可以完成怎么样的功能,如果客户基本满意,那么你就可以进入下一步了。
4.页面设计
这一步就算是对建筑的具体设计了,精确到每个细节。这一步可以完全在PS中完成,比如设计一个index模板,其实一个index就能代表整个网站的整体风格,如果客户对你的整体网站设计风格满意的话,你就可以着手设计其他页面,然后切片写css+div这些美工需要完成的事情了。切片概括起来讲就是把你需要的图片素材整理出来,然后在制作html页面的时候可以加以使用,把设计好的页面用html完整地表现出来。
5.服务器代码设计编写
这一步就是php、jsp之类的服务器语言编写了(其实是跟页面美工同时进行的),因为只要整体的网站功能和布局都清楚了,代码师完全不需要考虑表现层是怎样的,而只要完成自己逻辑层的功能就够了(这就是MVC体现出来的好处)。这一步就是对服务器代码进行编写,完成网站需要的具体功能。
6.所谓的“套页面”
套页面的意思应该就是,把逻辑层的代码嵌入到表现层中,比如说你的index.html这是个表现层,但是你要实现读取后台对应数据库的功能,那么你就要把代码师写的比如php的代码嵌入到这个index.html里面去,这样才能实现动态的功能,从数据库中读取信息。等到把所有的数据都整合了以后,整个网站的样子就呈现出来了。
7.Bug的查找和修复
基本上一个web项目完成以后,可以发布一个初始版本,然后让测试组的人去寻找各种Bug各种漏洞,接着项目组的人会根据汇报来的漏洞进行修补,之后才能发布正式版本。
8.网站维护
这就是后续了,也就是日常对网站的维护。切图是指美工将页面效果做成图片
切页面是指美工将图片做成HTML格式的页面
套页面是指开发人员将美工做的HTML页面改为JSP的。
相关的CSS是美工在写成HTML格式的时候写的。
js是开发人员根据具体的jsp页面去写的。
至于后台开发,可以根据美工的工作效率来定,像我们公司这边,就只有一个美工,等他出出页面来,我们再开发时间就来不及的,我们是开发和美工一起开发,先由开发自己定义些简单的页面进行测试,测试功能没有问题了。等样式出来再写具体的JSP页面。其实我一直提倡的是这样的流程:
一、需求分析
二、深化分析(程序开发者 产品设计者,同时参与了解需求具体功能要求,一般可与第一步合并进行)
三、开发前奏(程序开发者根据产品功能要求拿出数据表结构、产品设计者根据产品功能要求拿出产品设计图)
四、开发期(程序开发者开发功能、产品设计者开始设计页面 此时是互不干涉的可同时进行)
五、整合期(界面人员根据数据表结构及产品设计图嵌套JSP代码或者JSTL标记)
六、测试期
七、上线
web开发需要考虑三面人的人员:设计师,程序员,客户,项目经理。
A、设计师负责平面效果设计
B、程序员负责系统开发
C、客户提出需求验收系统
D、项目经理负责统筹全局
这里就不谈需求分析细节,和与客户谈判的细节了,假定需求已经确定。
web标准是结构和表现相分离的,所以设计师和程序员在项目经理需求确定之后,可以并行开发,打破了以往的,平面效果确定系统才能开发的低效率开发流程。什么样的系统都可以拥有MVC式系统的开发效率。
下面是一个流程图……
需求确定,系统规划完成之后:
程序员确定xhtml和UI设计是同步进行的
当xhtml结构确定之后:
CSS的制作和程序的开发同步进行
CSS和程序开发完成之后:
CSS和xhtml进行连接,制作完成
至于表现层,可以放在xhtml结构开发之后进行,也可以在程序开发阶段完成,比如AJAX,这是程序员的工作,程序接口他们控制好就行。
当然这只是一个思考,之间的衔接过程出现的问题可能很多,如果要推广还需要长时间的磨合。
在整个开发过程中,每个人都必须对标准有一定的了解,结构的合理性取决于项目经理和程序员,艺术效果取决于ui设计师,浏览器兼容性取决于CSS制作者,设计师也需要对CSS有一定的了解。DOM不能破坏CSS的结构。