接昨天
通常,开发一个软件我们还会设立规模目标,控制规模,发明一些减少规模的方法——就如同硬件开发人员为减少元器件所做的一样。规模预算必须与分配的功能相关联; 在指明模块大小的同时,确切定义模块的功能。培养开发人员从系统整体出发、面向用户的态度是软件编程管理人员最重要的职能。
调试,是一种检验程序中的方法。然而调试是系统编程中很慢和较困难的部分,而漫长的调试周转时间是调试的祸根。它可以持续一个很长的时间,从而可能影响项目的交付日期。
为了更好的控制进度,我们需要制定一个严格的进度表来控制项目的进度表,进度表由里程碑和日期组成。里程碑必须是具体的、特定的、可度量的事件,能进行清晰能定义。进度表有时可以根据进展情况进行适度的修改。
产品测试时每个产品在提交给用户的一道程序。而这项工作主要由产品测试机构/小组根据规格说明检查机器和程序,充当麻烦的代言人,查明每一个可能的缺陷和相互矛盾的地方。每个开发机构都需要这样一个独立的技术监督部门,来保证其公正性。产品-测试小组则是顾客的代理人,专门寻找缺陷。不时地,细心的产品测试人员总会发现一些没有贯彻执行、设计决策没有正确理解或准确实现的地方。出于这方面的原因,设立测试小组是使设计决策得以贯彻执行的必要手段,同样也是需要尽早着手,与设计同时实施的重要环节。
一个已开发的项目,我们需要对它进行后期维护。其维护基本上不同于硬件的维护, 它主要由各种变更组成, 如修复设计缺陷、新增功能、或者是使用环境或者配置变换引起的调整而且维护总成本通常是开发成本的40%或更多。维护成本受用户数目的严重影响,用户越多,所发现的错误也越多。在每次修复之后,必须重新运行先前所有的测试用例,从而确保系统不会以更隐蔽的方式被破坏。其实,对于一个项目,我们要尽量做到完美,减少以后的维护困难和成本。
在计算机技术进步的同时,计算机相关学科知识也在飞速发展。兴趣太多,令人兴奋的学习、研究和思考的机会也太多——多么不可思议的矛盾啊!这个神奇的时代远远没有结束,它依然在飞速发展。更多的乐趣,尽在将来。