简单、高效、灵活——软件设计的三个境界

来源:互联网 发布:网络jd是什么意思 编辑:程序博客网 时间:2024/04/29 07:01
        先说简单。人的劳动需要成本,软件设计师应确保软件产品与人有关的环节尽量简单,如人机界面、设计模式,数据库设计、售后维护等。只有使用简单而实现也简单的设计才能算好设计,但这是个矛盾,比如拖拽操作使用简单而实现复杂,鼠标取词也同样如此。很多情况下软件设计师通过分层来解决问题,如自己开发工具库或使用第三方产品,但应确保这些副产品在未来可以复用或封装成新产品。
        高效也应围绕人来进行。首先开发过程要高效,就是必须在规定的时间提供规定的产品,这是基本。高效的开发过程需要有好的工具支持,第三方工具如果不好用可以考虑自己开发工具,当然也应确保这些副产品在未来可以复用或封装成新产品。安装过程也要高效,这可以通过工具软件完成。维护过程的高效不太好办,比如用户业务发生变化,录入数据窗口必须再增加5个,用户还要求发内部消息时必须增加附件预览功能(以前他们可没说),如果软件设计很糟糕,这些要求往往致命。为了解决这个致命问题,设计师应该是用户领域的专家,而且还要有战略眼光,这样就可以保证软件设计有一定前瞻性,我们经常抱怨好的软件少,最大原因就是缺乏这样的设计师。最后的一个高效是程序运行高效,即性能,如吞吐量、内外存占用、CPU占用要等,性能问题的核心是算法问题,硬件和开发工具关系也起一小部分作用,算法设计优劣也取决于设计师的才华,我们经常抱怨一些软件速度慢,本质是设计师水平不够。
        灵活还是针对人的,因为人的变化导致世界的变化比其他因素要多一些,市场变化、环境变化归根到底是人的思想发生了变化。软件要适应新的行业、新的市场、新的用户、新的环境,软件设计就不能不灵活。这往往很困难,如同让木工去干电工一样,很多情况下我们只能选择重新开发,那些喜欢搭积木的设计师这时要开心一些,因为他发现有20%的组件可以重用,30%的组件经过修改可以重用。当然,还有一些设计师成功了,他们取得了60%以上的复用率,当然这时设计已经不可能太简单。
        如果,你能做到简单,你已经很优秀。
        如果,你能做到高效,兄弟,我们合伙干吧!
        如果,三样你都能做到,请成立个公司,我愿意为你工作。
        还是那句老话,以人为本。 
原创粉丝点击