分类: IT业界
2011-08-01 14:50:10
“好了,从今天开始,我们就开始第一个项目啦!”随着峰哥这句话的结束,我的心情也为之激动了起来。
之前一个月的PHP基础学习,很枯燥。因为都是基础的知识,除了练习还是练习,每天都在重复每天的内容。但是我明白,没有枯燥的练习,没有扎实的基础,如今开始项目的时候,会一头雾水,束手束脚。
项目大体分为两个阶段,第一个阶段便是项目档案编写,第二阶段则是代码编写。
档案有三份:需求分析,数据库设计,程序设计。其中的需求分析是重中之重。
需求,是每一个项目的源头。不知道需求,项目是无法进行下去。只有做好了需求的分析,才能为后面的工作做铺垫。
项目做什么?需求分析中的第一段应为整个项目的简介,介绍这个项目的类型,作用,能提供什么服务。在有限的篇幅内能把项目最终形态介绍完全,达到言简意赅的效果。
项目功能如何实现?在需求分析的第二段,将是后台的介绍。在介绍时,做到使用者能看出后台提供了什么功能,应该如何操作才能达到自己想要的效果。而程序员看了之后,能明白做出什么样的功能,实现的效果该如何。
后台的分析完了,接着便是前台。做不同的项目,前台的要求也是不一样,最主要就是权限的体现了。权限可以将用户更好的分类管理,给予他们需要看的,以及自己需要展示的内容。
仅仅有此还不够,页面的布局设计也不是不可缺少的,否则展示的内容没有轻重点,不利于内容的体现。
前台除了主页以外,还要有相应的二级页面,才能有利于内容展示。在这点上,使我对于$_GET的用法有很大的进步。
对于前台页面的说明,同样也需要做到用户看了明白能怎么操作,需要什么应该往哪里找,在哪儿能有用户感兴趣的内容。而程序员则是看了之后,知道程序应该如何编写,之后能做出与之相应的效果来。
这两部分分析完后,接下来就是结构图了。还有就是页面的布局图,前台的主页,后台的主页,二级页面等大体的布局需要画出草图,标明区块作用。
在设计页面的时候,不能马虎,也必须要有大局观,否则将是设计完了之后,发现设计出来的也仅仅适用当时的页面,不利于其他页面的使用。
需求分析完成后,数据库的设计就简单多了。找出需求分析中的实体,然后对应的给属性,之后再把相关属性赋予相应的类型,写上数据库语句,之后便完成了数据库的设计了。在需求分析写完整后,只要把对应的实体找出来,数据库设计不是难点。
程序的设计则相对有些难度了,只能先把能想到的页面,分门别类的存放在文件夹中,在后期写代码的时候,再逐渐的完善。
当档案编写完成后,就可以按照需求分析中的思路,逐个去实现。
在编写代码的时候,我始终谨记峰哥说的,需求分析里面列出了什么功能,就写什么功能,不能写着想到了新的功能,又想新的功能,功能是无法加完的。只有当需求分析里面的做完了,才能去做新的功能,想新的功能。
在做项目的过程中,我发现的确如此。编写的时候,脑子里总会出现“奇思妙想”,都感觉非常的有用,都希望在自己的项目中添加进去。然而自己却忘记了一件事情,在做需求分析的时候,压根没考虑此类情况的发生,因此这些想法哪怕是实现了,安置它们也是一个很费时费力的过程,还不一定就是对项目很实用的功能。
经过两次的失败后,我确定了,老师说的是对的,认准自己的预定功能,只有把预定的功能实现了,需求分析中的完成了,再看情况是否允许再添加。否则的话,只能是项目无法正常完成的后果了。
虽然面向过程写项目时是想到哪写到哪儿,但不代表没有一个主体的思路,而想要保持这个主体的思路,我是按照自己写的需求分析去确定大方向的。什么应该写,什么是有可能用到的,但是不属于计划内的,都分清楚,然后写下去。
编写项目的时候,是一个主动学习的过程。主动学习,是心态上的转变,是思想上的主动吸收。处于这样的状态,其中用到的知识,都会被铭刻在自己的脑海中,难以忘记。
以上的,就是在完成项目的时候,总结出来的。
原文地址: