ReadMe20120711

  本人是2011年大学毕业的,修计算机科学与技术专业,目前从事C/C++服务器软件开发工作。现在在博客园申请了账号,主要是想记录本人学习和工作经验心得,也望和更多的同行学习交流,希望结识更多的软件开发方面的朋友。这是我的第一篇博文!谢谢指正优化。

  软件是完成需求的工具

  本人觉得,软件的本质是:操作计算机为客户的工作生活提供可靠安全方便经济高效的服务,即让客户通过使用软件来更好的完成以往的任务。何谓更好呢?这个要看客户啦,比如对于一个盗号者来说,他在看到通过盗取别人账号,然后卖掉那些有价值的虚拟物品可以获得利益,于是就想使用某些软件来获取别人账号,所以病毒木马就有了。而对于一个电脑用户来说,因为某种原因会导致电脑中毒,将使电脑反应慢,资料被盗,数据被损,严重影响正常使用,于是就想使用某些软件来保护修复系统,所以杀毒软件就有了,而盗号者的工具被杀毒软件清理后,他会希望有更强大的能不被杀毒软件利用的工具,于是就升级木马病毒,而电脑用户在当前杀毒软件不够有效时也会更新升级或者换更好的杀毒软件。从这两个例子可以简单看出软件开发的本质是需求。

  选择开发语言和运行环境

  确定需求后,要开发软件,需要选择开发语言和运行环境,而不同语言的提供的服务能力是有不同偏向的。C/C++是为了使产品高效强大,Java是为了产品的跨平台性和快速开发。选择软件的运行环境,最主要是确定软件运行的操作系统或者虚拟机。因为运行环境主要包括软件块和硬件块,也就是操作系统和计算机硬件组成,操作系统和硬件组成一起决定其提供的运行环境的服务能力,而运行环境提供的服务能力一般在操作系统上可以完全给出。其实这也是一种分层设计思想指导的。在应用开发角度看,主要需要了解操作系统提供的服务能力,像Windows和Linux提供的服务就有一定区别,所以必须根据需求确定运行环境,再选择相应的开发方案。比如我开发一个网络游戏,那么需要网络功能的服务器和客户端,服务器需要稳定可靠高效,可以选择Unix系统,若我想节约开支可以使用免费的Linux系统,而为方便管理,也可以使用Windows系统。客户端由于需要很强的图形界面和互交操作,所以选择Windows系统进行开发。

  搭建开发环境

  选择了开发语言和操作系统,就搭建开发环境。需要选择开发工具,包括代码编辑,编译,调试。比如C/C++,一般Linux下使用VIM编辑,GCC编译,GDB调试,而Windows下可以使用VC++或者VS等IDE。当需要在Windows下进行Linux软件开发,又需要一些远程编辑和远程连接工具,比如UltraEdit和SecureCRT。在大型项目开发还需要一些版本管理工具,比如SVN等。

  进行软件开发

  根据需求进行架构设计,详细设计,代码编辑,编译,运行测试,产品发布,维护。这里最难的是架构设计,因为在实际项目开发中,需求只是在一段时间内是一定的,如何给出应对变化需求架构设计是很有挑战的。同时架构设计的优秀与否是关系软件开发效率和产品质量的关键,优秀的系统架构需要尽量保证在开发中不会出现一些设计冲突和重复繁杂等问题,使开发工作变的简单明晰不易出错,以提高开发效率和产品质量。代码编写主要注意格式和命名,使代码变的更具易读性,一般采用统一风格的命名,同时保证长度最小意义最清晰,衔接不紧密的代码空行也是个不错的方法。测试需要保证代码的功能性能达到要求,一个要求所有需求功能都能满足,同时需要所有自身功能达到要求,另一个需要产品在负载能力满足需哟。

  后记:本文是我目前对软件开发的认识的简单介绍,讲述的不是很全面和详细。

  

posted on 2012-07-11 02:59  蒸湘云集  阅读(149)  评论(0)    收藏  举报