6个项目带给我的项目经验

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weinabanta/article/details/35299791

过去的大学时光我主导6个项目的设计和开发工作,因为每次遇到困难,我都会记下来,没事的时候就会进行自我总结,所以获得的项目经验还是十分丰富,相信这些经验会成为我未来职场路上宝贵财富。

以下分为3部分来说,前2部分以我认为大学给我最大启发为基础,第2部分把其他4项目整合起来。


1.山东农业大学毕业纪念林专题网站项目


第1项目是给山东农业大学校友会做的,是一个纯静态页面组成的项目,主要是对校友捐树情况的展示,这是我自学编程的开始,对于HTML、CSS、JS、jQuery的学习也是从此开始。这些页面的设计和编码花费了近两个月的时间,完成后我前端水平有了质的飞跃。

个人总结如下:

1)学习能力尤其是自学能力太重要,学习能力直接决定未来的发展。

2)Web前端很容易学,但是真正想精通是非常困难,要求技术面还是非常广的,这个项目还只是仅前端的东西,没有涉及到后台与数据库以及前后台之前配合工作,浏览器兼容非常需要经验。

3)学计算机的,一定要让自己的知识面广起来,管他什么技术先学了再说,面广了自然会找到自己的方向,之后我就自学了PHP,用的视频还是韩顺平老师的,不过现在差不多忘没了。

项目图如下:










2.山东农业大学新型评教系统项目


此项目是我导师一个研究课题,我有幸参与其中,并作为项目组长带领项目团队完成系统开发任务。整个团队算上我一共四个人,我在整个团队中主要是负责四件事,一是项目管理,根据老师要求制定项目周期并推动整个团队按周期进行开发;二是完成整个项目架构及各个模块设计,包括前后台配合;三是我要根据模块划分分配任务并且协调队员之前配合,其中3个完成后四个模块的,1个完成前台开发;四是开发完成属于我的模块,我主要是负责学院管理端与学校管理端以及数据库访问模块。因为这是我真正团队合作的第一个项目,也是作为团队Leader的第一个项目,感悟很多(PS:此项目正在申请软件著作权)。

先上张图,学生端的登录界面:


1)作为组长

(1)组长最重要的任务是清楚每个成员的优点和缺点,包括技术上的和性格上的,更好地调动所有成员的积极,使整个团队可以非常好地前进并完成,切记是整个团队一起,而不是凭一已之力。我刚开始就犯了这个错误,就是试图想自己把所有工作都干完,做了一点,发展任务大,一个人是不可能完成,必须要借助团队的力量。
(2)组长一定要会团结组员,使大学劲往一处使,自己不能与组员产生矛盾,也不能组号彼此产生矛盾,一定产生矛盾组长必须出面解决问题,使整个项目处于和谐友爱之中。
(3)相信自己的组员能做好。刚开始我感觉做学生端成员可能做不出我要的效果,最后发现她非常努力,效果达到,虽然有垃圾代码,但是远远超出了我的期望值。
(4)组长要负责对外如对自己的客户或对部门经理进行工作汇报,包括已经做了什么,现在正在做什么,未来会做什么,需要什么资源支持,需要条理、清晰、简洁地表达出来,整个项目每周我都会向我的导师项目进展情况,与他的交流过程我对沟通这方面有非常深的认识。
(5)一定要负责,真正去做事。
(6)组长工作的一条主线就是设定目标,做好计划,分配任务,检测完成,奖励惩罚,

2)作为组员

(1)对于组长交给的任务,一定要保质保量完成,任何项目都是模块组装在一起,如果自己完成的不好,势必会对整个项目造成影响,对整体进度和质量造成影响。
(2)要使自己时时处于不断学习之中,而不是得过且过,用更高级的技术完成任务。

3)技术

(1)一定要按完整的项目周期进行,也许看起来会多此一举,认为一些东西是可以一起来的,可能就在做的过程中就会出现各种各样的问题,尤其是涉及到多个模块以及多成员配合的项目。尤其是业务理解、系统分析、系统设计、详细设计这四部分,前一步总是后一步的基础。如做这个项目,一开始我并没有对项目有整体的理解和把握,急于设计数据库,之后写代码时发现设计的数据库出了非常大的问题,缺少很多东西,然后就又开始重新分析业务,重新设计数据库,导致所有完成的代码必须重新写,浪费了很多时间,三个人都受到影响,也导致做前台的组号一直在空闲。
(2)对于企业级的项目而言通常都是由非常多的模块组成的,数据库的设计更是重中之重,设计出符合规范的数据库需要非常多经验才行,不然前一发而动全身,因为所有业务逻辑的展开都是基于数据库的,由于每个人都负责其中的一部分,会涉及很多人,成为一个高手需要对数据库原理有非常深的理解。
(3)代码管理问题,之前做这个项目时,我还不会使用代码管理工具,代码整合分发采用纯人工的方式,所有人的代码都向我这里汇总,刚开始还好说,到后发现太浪费时间了,当每个人的代码发生更改时,尤其是在一个文件里发生更改时,就真难弄了,新的旧的都耦合在一起,不能直接覆盖,只能另开辟新的文件,只有真正经历这一步才能真正理解GitHut、SVN的方便。
(4)注释一定要写,代码一定要规范。代码不仅要给现在的自己看,还要给未来的自己和别人看,凡是写过点代码的人应该都深有体会。没注释的格式不规范、命名不规范的代码真的让人抓狂,不多说了。
(5)对于所谓系统的理解的加深,系统就是 不同类型客户端(Web、PC client、Android、IOS、WP、ipad...)、不同业务端(如学生端、教师端)对相同数据库或不同数据库相同或不同的表的不同类型增删查改。

4)具体技术

(1)数据表设计时,字段宁多无少。
(2)能在前台处理的任务一定不要转移服务器端进行处理。
(3)不页面的CSS、JS不要掺和起来,除非它们一定不会变化。
(4)写的SQL语句不但要效率高,还要让他们能做很多事情,减少数据库访问次数,再上一层次就是一定要学会数据库编程。
...

3.其它总结

(1)技术是用来解决问题,因为我是我们班的团支书,经常需要统计东西,我就是开发一个小系统,买了空间,和之前自己注册的91zxdh.com域名联系起来,最后只需我的同学去网站填上信息即可,省时省力,还高大上,不过前几天空间已经到期了。
(2)有了技术才敢接项目,让自己处于学习之中,我现在手头上正做着一个会员管理系统,此系统特别在其提成机制上,实现需要二叉数,需要利用支付宝进行在线支付,因为是一个商业项目,需要保证效率和安全性,技术要求很高,已经给客户演示了第一轮,很满意哦,希望我经过在黑马的学习之中能完美地完成此项目。、
(3)人一定要有想法,我与我的另一个同学还在学校审请了一笔项目基金(只有1000块)用来完成一个IT垂直导航网站开发,涉及3个端和网络爬虫,希望在完成黑马的学习之后也能让此项目上线。

猜你喜欢

转载自blog.csdn.net/weinabanta/article/details/35299791