软件设计的迭代法则

说起软件设计,不得不头痛.

曾有朋友说过,设计好麻烦,想来想去没有结果.

我也曾经经历过这样一个困境.

难就难在没有多少经验.

因为你只想需求,再数据库,再逻辑,再界面.这样一步一步来的话,确实在实现的时候,觉得自己当时的想法,设计全乱套了.

这个是正常的.

一,是你的技术问题,因为你想那东西的时候,很少会考虑你的技术问题,但是设计时,也应该不考虑技术问题,因为一考虑的话,你设计的产品,可能就是自己的暇想,不是别人想要的东西,而由于你的技术问题,或者是页面效果处理,或者是逻辑较乱,就会造成出来的产品,都是一些基本的增删查改.我也问过一些老师,他们说,有些学员开始做项目时,想得很好,但到头来,就只是一些很基础的增删查改,这是因为他们的逻辑越想越乱,又为了应付项目,不得不放弃原先的想法.

二,界面与需求有出入,这个也很正常,计算机的界面,可以说来来去去都差不多,因为来来去去都是那样的控件,就WEB而言,来来去去都是些html表单,所谓的富集控件之类的东西,都是用最基本的div p html表单等拼出来的,虽然可以千变万化,但是拼出来的东西,总会跳不出一个规则,所以这样就会与你的需求有出入

三,你的需求分析没有到位.这个很正常.一谈到需求,很多时候就是你有你说,我有我想,根本就不会怎样互位思考,也很难换位思考.因为你做惯了技术,想时很自然往技术方向钻,这个按我以往经验,应该是搞一个表格,这样统计出来的.而有家的想法就是,我只需要显示统计的信息就足够了.就差一句确认的说话,就很容易存在这样的差异,所以与别人谈话时,如果什么都不会,你就不用谈了,问他拿好基本资料,基本流程,然后就开始着手设计,搞原型开发得了.如果他是老手,那就要什么都谈好,这里是要这样显示,用什么实现,多点确认,也不要过渡承诺,因为这样的人,会坑你的,实现这个很好很好的效果,你答应了,他很高兴,如果你完成不了,那后果可想而之,等,如果又不是菜鸟又不是老手,那这样的人就比较好对付.尽量谈好条件就是了.谈需求的时候,我与我一个朋友都有共适,就是要录音,因为一个人跟他谈完后,再复述一遍后,什么东西都已经变样了,这样出来的产品可想而之,所以录下来,给技术人员去分析,或者给设计者去分析.如果不行,就带一位记性好点的技术人员去吧.这个我也不知为什么,代码想多了,一天要处理那么多东西,要想那么多逻辑,很容易就会健忘了.

 

所以,要这样的话.

设计的时候,就采用选代法则

从需求到实现到界面.然后把想法草图都画出来,最好用图来辅助

然后到了界面后,就想清楚流程,然后反过来想清楚软件的逻辑,想清楚数据库的查法.确认一下,再重头来过.

这样反复几次后,最后一次出来的结果,肯定与第一次出来的结果有很大出入.除非你大脑内存不足,想一个忘一个,那我就没说话可说了.

在确认逻辑方面,你是想用数据型的逻辑还是程序型的逻辑.

就是把所有代表性的东西,都存放在数据库,用增删查改来组合.

还是在程序,用OO的思想,用枚举,用设计模式等组合起来?

不过现在的程序员,都习惯了数据型的逻辑,所以用前者会好点.再说前者的话,也不用考虑太多设计模式.再大型的软件,只不过是用了一些MVC,策略,工厂这几个模式而己.很多框架都有很多工厂方法,那个人家都帮你想好了,所以基本上设计模式方面都不用考虑.

 

这个,我觉得很好用.所以迭代法则,不失为初学者或者经验少者的首选.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值