软件开发之感——全局设计
昨天和今天上午,为了大家更好地合作,解决一部分出现的冲突和问题,我们小组和师兄一起研究了敏捷开发的svn使用,发现了我们在开发时,需要注意的问题,也是我们思想上的缺失!
在自考的过程中我们解除了很多和项目开发相关的书籍,其中有《软件开发工具》,《信息系统开发与管理》,《网络经济与企业管理》,《信息资源管理》等等书籍,其中有不止一本书提到了软件开发的过程:
开发流程:1需求分析
2概要设计
3详细设计
4编码
5测试
6软件交付
7验收
其中需求分析分析我再上篇博客详细讲了,这次主要是从概要设计和详细设计两个对比的方便来谈谈我的收获!
1,概要设计首先,系统的需求基本明朗之后,需要对软件系统进行概要设计,即系统分析与设计。包括系统的基本处理流程、系统的组织结构、模块划分、功能分配、接口设计、运行设计、数据结构设计和出错处理设计等,为下一步工作提供基础。
而在这一步,我们其他的做的还说的过去,但是,其中,模块划分和全局性的规定做的尤为不足,导致了后期的很多问题!svn的冲突问题,也是由此产生,我们做的时候没有及时规定统一的前缀与后缀,没有统一的文件夹管理,也没有抽象好公用类,导致开发的重复,修正工作占据了过大的时间部分!
而我们另外一个错误就是会议的缺失,我们确定尝试敏捷开发的基本方法后,忽略了敏捷开发的特点,就是及时沟通,敏捷变化,导致问题的积累较为严重,直接导致一段时间的进度停滞!
2,详细设计
在稍后的详细设计中,我们也犯了全局性的错误,其中svn的设计出了较大的纰漏,我们为此也付出了相应的代价,就是整体停滞了2天,当然原因不仅仅是svn,但是这是个引子,后来我细细想想之后发现,这是一个团队进行到一个阶段的必然现象!
现在的问题就是怎么解决以及如何在以后的工作中规避!我仔细想想这里的问题是激励机制的问题,系统的复杂性要在合适的时机合适地增加难度,系统的完成度,松紧程度要实时更新,在大前提不变的前提下,适时调整!
收获:
1,没有一个真理可以让我们的团队成为优秀的团队,我们坚信我们是最优秀的团队,我们就一定可以是最优秀的团队,我们的效率也会是最高的。不要为了一时的松紧而紧张,是我们在掌握进度,而不是进度掌握我们!
2,没有什么是我们不了解的,只是我们还没有了解,再新鲜的技术,与自己的知识体系一定可以挂钩!
3,没有什么是不可能的,不要急着下结论,做了在讨论!有时候的表象不是我们想要的,但是深深挖掘,我们发现,他恰恰就是我们最需要的!