链接到以前提问题的博客
http://www.cnblogs.com/code-dog-liou/p/4027645.html
http://www.cnblogs.com/code-dog-liou/p/4095874.html
请说明哪些问题现在自己已经清楚了,请阐明一下,是如何通过看书,实践,或者讨论弄清楚的。
作者把时间放在了项目管理三角形的底边上,这是偶然为之还是时间有其特殊性?换一种问法,在“对工作的估计”这一平衡中,这三者有什么样的关系?
从我们的实践来看,时间在整个软工过程中,确实有着不一样的地位:某个阶段要不要实现某个功能,除了从功能本身的难易程度加以分析,往往我们会考虑在本阶段的时间要求内,能不能完成,需不需要将这个功能拆分或者延后,同样地,时间也决定了我们对资源的考量,要不要寻求更多的技术得到更多的帮助,还是就现有的资源来完成任务,都需要对时间成本有所预估。总结起来,时间,其实实时地指示了开发的进度。
作者谈到了时间驱动和功能驱动,那么这两种不同的驱动模式的项目在开发上有没有不同的地方?
我在提问思路上除了问题,现在看来,我觉得这两种开发其实并不能孤立,就如上一个问题我说的一样,只是大部分时候时间作为最后节点都会对开发有更强的约束。
关于单元测试,想起了上学期java的经验:对于某些功能复杂、参数是数组等复杂变量的单元,如何编写完善的测试用例?难道是通过不断地new新的数组去做测试吗?
这就是测试在开发中需要独立开来的原因,这样测试人员才有足够的精力编写足够完整的测试用例。
在第二次阅读中,我最感兴趣的一个问题是个人能力重要还是态度重要。
对于这个问题,我想到了在上计算机组成课的时候高小鹏老师讲到的一个意思,我可能没有记正确,他说:在国外大型项目(当时我们讲的是cpu)的开发,已经形成了一套完整的方法论,有了这样的方法论以后,研发过程更像是体力劳动……大意是这样,这里我们无意讨论创新什么的,只是想说,软工既然也有了这样一套完整的过程化的方法论,其带来的好处之一就应该是通过任务分解让每个人都有机会参与到项目中并真实看到自己对团队的贡献,从这点来讲,我现在觉得,态度确实是比个人能力要重要的一点。
哪些问题还不明白,请分析
暂无
产生了哪些新的问题,请提出
软件工程的方法适用于什么规模的软件开发过程?之所以提出这个问题,是因为我在实践中发现,将软工的各类工具用到我们现在的项目中,实在是一件毫无意义的事情。
同时我们还读了8篇软件工程相关的论文或博客,你回头再看看这些文章,有没有新的体会?
我有这样的一个看法:毕竟软件开发是一个动态的,变数非常大的过程,更会因为开发人员的差异让这个过程更加不可控,与其严格按照某种开发模式进行开发,不如吸取各类开发的优点,在开发中灵活一些,也许会更好。而软件开发人员最应该重视的是方法论中提出的一些忌讳型的东西,这样的经验还是很宝贵的。总结一句就是,我认为一篇好的软工方面的文章,应该是给出“最好不要怎样”的建议,而对于“最好应该怎样”这类的问题,应该留给团队本身去挖掘。
在实践中学习知识点
需求:利用WBS建模
设计:将软件功能模块化化
实现:敏捷开发初步认识
测试:为了尽快发现问题,使用debug版本
发布:发布需要准备一些怎么样的文档
维护:跟进用户体验的重要性