个人课程总结
个人学习总结:
至此,这学期软件工程这门课彻底结束了,是时候该总结一下这次课程给我的感受了。软件工程给我的感觉很轻松,很有开放思维性。尤其强调的是在做中学,学中做。不是教你那些枯燥无味的专业知识,而是告诉你如何去理解程序,去理解一个软件,去理解一个工程,如何按照规范有序的顺序对一个软件工程进行有效地的剖析。
在这次软件工程改革的学习和实践中,我深深体会到了软件并非是由一些复杂的代码组成的这么简单,在我们开发软件的过程中,真正编写那些复杂的代码的工作量其实只占不到所有任务工程量的30%,恰恰相反的是,后期的管理和维护更是占了60%到80%之多。通过学习,我们知道了一个完整的项目规划须包括:软件的定义、可行性分析报告、项目开发计划、软件需求说明书、用户操作手册、测试分析报告、开发进度报告、项目开发总结报告、软件问题报告、软件修改报告等多个文档(当然我们这次团队项目还是初次尝试,并未做到这么多,但是体会还是有的,希望我们这群未来的软件开发人员能够从这里的获取到一些帮助),每个文档都要细细审查,避免出现错误,恰恰写好文档正是能保证完成软件工程的其中一个关键步骤。软件工程不仅仅是代码的堆砌,而是要研究我们如何用最小的开销做出生存期较长而且优秀的软件,还要求各个阶段都要进行周密的策划、详细的分工部署和人员安排,且各阶段要据具体情况不断的反复才能达成,所以代码只是开发软件这个浩大的工程的一个小小的过程。
那通过一个学期的学习和实践,我现在明白了,其实开发软件,就像是解决一个逻辑问题。首先你应当做的是要有一个最基本的想法,那就是我写的这个程序是要拿来干什么的,有什么作用。然后就是对程序所要实现的核心功能做一个大概的构思,思考一种或多种实现方法,并从中选出一种自认为是较好的(这里的“最好的”要考虑到各种因素,如何才能最大化符合公众的需求才是最重要的)。接下来就是将这次工程涉及的各种主要或次要功能分成各个模块,进行详尽的模块分析策划,分模块来编码和DEBUG。最后通过合理有效的“桥梁”把各个模块部分组装成一个完整的整体。最后的最后,就是分析测试,这也是最最重要的一步,占到了很大的比例。在我现在看来,除了第一步不需要特别的重复外,其余的步骤应该是一个不断循环,不断调试的过程。在编码的过程中,你会发现各种新的问题,需要不断地回过头来修改原先的模块设计,甚至对最初选定的实现算法都有可能被替换。然后具体到每一步的工作要怎样完成,都是非常灵活多变的,都需要进行分析,设计,编码,调试,维护这几部分的主要工作。
个人课程意见:
- 上课时给与适当演示,除了帮助学生分析外
- 提供更多学习资料
- 课件提前发放