程序设计模式

刚出来的时候拿到一个项目不知道怎么办的时候,总觉得好难呀,好难呀。这个我做不来。以前没有做过类似的项目,没有经验。
有的项目做得来,结果一拿起项目就开始敲代码,根本不去考虑程序的流程,结果出来的项目重复实现代码太多,不便于维护。
所以,拿到一个项目,不要急着下结论,不要急着敲代码。先分析下项目的需求,从而推导出需要哪些功能,需要哪些技术去实现。怎样去实现。

1、拿到一个项目我们首先要做的就是分析客户为什么要做这个项目,他做这个项目的目的是什么?这个搞清楚了,可以为我们节约很多时间。

2、目的搞清楚后,我们来分析这个项目需要实现哪些功能。如果没有做过这种项目的经验,第一次经手。我们可以参考别人是怎么做的这类系统嘛,还不行咱们就可以自我发挥想象嘛。

3、需求分析出来后,咱们对这个系统做个简单的功能介绍给客户,看客户还有没有什么补充,如果有,咱们就将客户的需求加上去嘛。

4、客户确认这些功能了。咱们就可以根据这些功能去设计数据库的结构表了嘛,看实现这些功能需要哪些数据结构的支持并同时开始设计前端页面及项目的使用流程(项目的使用流程是团队开发中意见分歧最大的,比如展示一个商品列表,是在页面上直接显示出来,还是页面加载完成后异步请求获取出来)。注意:页面设计好后,要给项目架构师检查哈是否符合要求,是否差错了什么数据,不经过这步,前端的日子很难过的。

5、这时候前端的设计肯定还在进行中,当设计完成后我们可以将页面内部讨论下了发给客户审核下嘛如果客户对当前页面没有问题了,咱们的前端就可以去制作这个页面了,假如我们这时候数据库的设计也出来了,我们就可以同时搭建后台去实现这些功能了,有的人可能会说:”前端都没有出来我们去实现有什么用,最后还不是得重写”。这种就是面向过程的思想了,咱们在这里搭建的后台,只是搭建这些实现功能的程序,还没有到和前端进行交互呢,这时候我们先把实现的功能写好了,等和前端交互的时候我们直接调用实现的功能接口就行了。

6、前端做好了,后端功能也实现了。这时候就开始组合前端和后端了,页面需要展示什么数据,我们就调用接口获得什么数据。做完后,咱们就可以对整个项目进行测试了。

7、测试很重要,咱们要一个功能一个功能的去测试,调试出bug并加以修正。测试完成后交给客户审查,客户觉得哪点不满意咱们再进行修改。一直到客户满意为止。

8、项目发布上线。

例子:
假如一个客户需要做一个社区系统。目的是为了小区的业主们能相互认识,相互交流,有点类似QQ空间的发留言。且能在这个平台上进行物管费缴纳。

从上我们可以看出甲方客户的目的是为了业主们相互互动。
分析:
社区系统
1、业主认证,只有是小区的业主才能参与到这个互动中来。
2、业主可以上传文字 + (n>0)张的图片消息、文字消息、n>0张的图片。简称心情吧。
3、业主之间可以互相点赞、留言、并可以查看该业主发送的消息访问量是多少。
4、业主之间可以互相关注,关注后,该业主的最新动态,会对你提示。
5、后台管理系统:实现对每个业主上传的心情进行审核、实现对每个业主的权限进行管理(如有的业主留言回复中包含欺诈、色情等消息我们对该业主进行权限设置,使之不再具有留言回复功能、物管费管理模块)

然后咱们将这个分析提交给客户,看客户还有没有什么要补充的。

假设没有补充的了,我们就根据这些实现功能进行数据库设计,前端页面设计。就是开始制作了。

之后的流程就是根据上面的介绍走,如果团队是多人开发的话,就需要一个有经验的老手画出系统逻辑图,方便负责各个模块开发的人员知道自己是做那块儿的,且数据库一定要统一,可以专门让一个人负责数据库方面的服务嘛。且数据库设计人员在设计的时候一定要对每个字段,每张表,每个触发器、存储过程、外键进行注释。让开发人员知道,这张表是干啥的,保存哪些数据的,触发器在什么时候触发的、调用这个存储过程会有什么作用的,这个外键关联的是哪张表的哪个字段的,并且将数据库设计共享给所有人(你可以在公司建立一个局域网,共享文件下共享该文件)。如果在开发中,项目开发人员发现自己额外需要某些字段完成这个功能,就需要组内讨论(项目架构师,数据库设计人员),以免思想碰撞的火花走错了路。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值