第八项任务——总结
学习软件工程,不知不觉已经过去三个多月了,我们软件开发团队从五月末正式建队到现在终于完成了一个比较大的项目。经历了好多好多流程:利用NABCD模型进行竞争性需求分析;建立SRS文档;制定测试计划;画出设计类图;面向对象程序设计;程序的测试与调试……对于我们这一批新手来说,这个项目既是一个提高自己能力的机遇,又是对自己的极大挑战。尽管队员们的热情也此起彼伏,设计草案也换了很多……回首起来,确实值得很多反思……
下面我将从这几个方面来一起回首我们的软件开发的那些流程
1. 软件的设想和计划
可以说任何事情都要有个大纲,大纲可以保证我们正确无误的沿着计划前进,我们在一开始就确定了主题——做成一个有日历标记的记事本软件,日历记事本面板由日历、记事本、图片、时钟四部分组成。日历部分可以选择不同的年份、月份、日期和星期;记事本模块可以实现查看,保存,删除日志等操作;并且每一步操作都有相应提示;图片模块可以显示预设的图片;时钟模块可以用时钟来显示当前时间。本软件是一个实用性较强,简洁,美观,方便的功能软件。尽管我们只写了这几个想法,也将这几个想法实现了。但是当时私下我们还有些同学有别的想法,还想再多加一些功能。但是因为我们的能力有限,时间比较紧迫所以多余的想法都被否了。现在想想如果当时没有被否可能我们的作业就不能按时交上;主题多了,就没有明确的目标就会使我们像个没头苍蝇到处乱撞。所以主题的确立是非常有必要的。
2. 人员管理分配以及具体实现
我是把整个大的任务一个模块一个模块的分给他们每个人让他们做每一个模块的项目负责人,尽管每个人的进度不好确保,不好量化,也不好估计他们的工作。但是只要每个模块有负责人把守,项目都是可以按时完成的。
考虑到我们队员的整体代码能力不强,所以我把时间节点调的非常密集,在这几个任务的每一个一开始我就和当前任务的负责人及时沟通,督促他们尽早完成。所以给我们很多预留了时间保证了我们的工作进度。
这一点挺不错的。所以趁着大家的热情,把主要任务放在前面,把时间压缩,能有效保证我们开发进度。
3. 代码质量
虽说我们团队有一个人代码质量很好,但是她始终替代不了我们所有人,在异常处理方面是最明显的,我们很多人都没有意识,如果代码出现异常怎么办?如果解析不成功怎么办? 但是经过后期的找高手查错补漏,以及测试,等最后看整体的代码还是挺强健的。
所以,我们要记住这个经验,未来我们写好一个大的工程之后,一定要查漏补缺,有条件最好寻找有经验的人来帮助你。
4. 团队的合作和效率
经过团队合作训练,感觉我们总体的合作还是挺好的,有什么问题确实做到了即时报告组长,但是效率这方面还是有点欠缺,最主要因素是我们的代码实现能力还是有所欠缺,很多情况下是我们有一些想法,但是限于代码的实现有时候不得不折中或者妥协。但凡是都有第一次,相信我们的代码能力会越来越强,以后效率会越来越高。
5. 组长协调
经过这个项目我知道了,其实组长的核心在于想法,在于沟通,在于防微杜渐,在于保证进度,在于确保团队的方向,在于协调领导和用户需求。在于决策下一步该怎么走?走的好不好?在于观察队员们的战斗力,时不时给他们打打气,给他们聊聊天,看看他们的问题,看看他们的需求,第一时间解决。
分析每个队员的特点,并针对每个队员进行疏通,进行交流。
6. 总结
其实我们的软件不是一个完整的软件,是一个普通到不能再普通的境地。是因为我们的能力有限,所以今后的我们要多加努力学习;另一个方面是我们的软件尽管对于大多数用户都可以用到它但是由于目前这类软件实在是太多,所以使得市场响应减小。
虽说路途有些纠结,但是既然是组长 ,我就要站出来,为我们的努力说话,为我们的软件上线做出更多努力,更多推广,要让队员们看到即使前面的路有些艰难,我们仍会坚定地走下去。
其实这个项目是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力以及团队协作沟通能力的具体训练和考察过程.
从本次项目的完成中,首先我发现了我们有很多不足的地方,最突出的是我们所学的东西太少了,根本满足不了平时编写程序的需要,但是确实学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。同时,使我感觉到,一个优秀的程序,不仅仅是可以运行的,更应该具较高的效率,合理的结构,良好的可读性和一定的容错性。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高我们自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,经验不多,难免会遇到过各种各样的问题,同时在设计的过程中发现了我们自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。通过课程设计之后,把以前所学过的知识重新温故。
和朋友同学之间要多做一下关于这方面的练习以提高我们的团结协作能力,我们要学会沟通,多听多看多问。
附1:github地址:https://github.com/xumin1994/Fighting/tree/master
附2:程序运行结果截图(部分)