当我们开始接触软件开发的时候,我们大都是采用记事本来编写程序,运用JDK、MFC等提供的API自己编写代码来完成想要的功能,编写完之后还要编译成可执行的文件,然后再运行。所以在签合同时,如果对服务方面有要求的,写入合同,比如要求软件是一个月内完成的,对工作效率的要求等。这种方式虽然通俗,但是一点也不方便,慢慢的,编程人员开始寻求比较方便开发的工具,于是诸如eclipse、jbuilder、VC 等等一系列的开发工具便出现在了市面上,这些工具的出现,大大方便了开发人员的编程工作,减少了编程人员很多不必要的麻烦。像包括编译、异常处理、发布、模拟运行等等操作,都可以在这些开发工具上完成。软件开发建立一个干净的内部结构对构建一个易于理解、可扩展和重组、并且可维护和可测试的系统而言至关重要。软件分为系统软件和应用软件,并不只是包括可以在计算机上运行的程序,与这些程序相关的文件一般也被认为是软件的一部分。只有清晰认识系统架构,才有可能发现常见的抽象和机制。利用这种通用性终将使得系统更简单,因此也会更轻巧、更可靠。妥协软件系统的架构愿景会削弱并将终***系统,甚至是设计得尽善尽美的系统。拥有一个能够实现愿景和执行合规性的***架构师有助于确保软件项目的成功。
相信很多程序员都会有这样的疑问:“软件开发,为何总是计划赶不上变化?”好像他们的工作总是完不成,往往事倍功半,后只能半途而废呢?lt;/pgt;lt;pgt;其实,不是因为程序员们偷懒不够努力,而是因为祸不单行。在今天的计算环境中,当规格在刹那间发生变化并且硬件平台过几个月就变得过时时,软件寿命常常用月来衡量而不是用年。有人这样形容软件开发:软件开发同徒步旅游一样,可能你初是计划在 10 天内走完 500 公里,但真走起来,你会发现路上碰到的问题层出不穷,每天走的里程数都在递减,团队士气也不太稳定,延期很多时候都是无可避免的。对于程序员来说,软件开发就像是在走山路。一开始,需要设计框架,给整个项目打基础,然后开发,几周或者几月之后,你完成了整个项目 80% 的工作,各种关键模块开始起作用了。但是好戏才刚刚开始,当你准备好好打磨这款产品时,就会发现许多奇怪的 bug 冒出来了,让人头疼不已!这个时候,如果管理层下令要尽快搞定收尾的话,开发团队就得丢车保帅,只求按期到达地点,临时抱佛脚,也许能够按期完工,但是这种办法并不明智!lt;/pgt;lt;pgt;细节决定成败,其实何止是软件开发,做任何一款产品的历程大都如此。在细节中潜藏,要想做到尽善尽美,就要不断打怪升级,提升自己的耐力。所以,软件开发的众多工种里,难的其实是程序员,因为一不小心就有五十步笑百步的可能,只能在梦里想想柳暗花明又一村啦!