个人学期总结

个人学期总结

一、学期初,实验一中的任务4,大家拟定了5个准备从课程学习中找到答案的问题,通过一个学期的学习,相信大家已经有了答案,请根据自己的学习实践回答自己当初提的问题,并提出一个新的问题。

问题一:作为一个缺乏软件开发经验的学生,如何在一学期的有限时间的学习中能够提升和完善自己(是更注重于概念知识的掌握理解还是项目的实践)?

  答:一学期的时间对于既要理解和掌握软件工程这门学科的概念知识以及完成项目实践确实有些紧张。但是通过一学期软件工程的学习我得出,软件工程这门学科是一个实践性很强的学科,要想要真正的提升自己的水平和专业能力,必须要有实践操作,做中学的教学模式能够真正让我们对课本中生硬的概念有所理解和掌握。任何的经验都是在不断实践的过程中得到的,一学期的时间说多不多,说少也不少;用心去做,坚持高质量的完成任务,进步是在不经意间,慢慢的积累,慢慢的锻炼,最后发现收获是巨大的!

问题二:在第二章“个人技术和流程”中提到为了让自己负责的模块功能定义尽量明确,模块内部的改变不会影响其他模块,而且模块的质量能够得到稳定的、量化的保证,我们采用单元测试的方法,但是怎么样才能写好一个单元测试呢?或者说因为我们在之前的学习和程序的编写中没有涉及到类似于这样的程序,怎么样来写一个单元测试呢?

  答:一个好的团队项目,在编写代码和代码测试环节,首先团队成员要制定一个完善的编码规范,对于功能模块的编写,首先团队内部要进行详细的商讨和划分,并且在代码编写的过程中,团队成员之间也要充分交流,了解情况。

  在编写单元测试代码的时候需要认真的考虑以下几个方面:

  所测试的方法的代码覆盖率必须达到100%。

  所测试的代码内部的状态,例如执行了某个方法之后,该方法所在的类中某个属性或者返回值是否与预期相同。

  被测试代码所使用的外部设备的状态,如数据库是否可读、网络是否可用等等。

问题三:在第五章“团队和流程”的学习中,我想如果作为一个团队的带头人,在书中给出的那么多的团队模式(例如主治医师模式、明星模式、社区模式)中,什么样的团队模式能够更好的发挥自己团队成员的优势和增强团队凝聚力以及如果团队中有成员没有按时完成自己的任务,要通过什么样的方法来弥补和按时来完成这个项目。

  答:对于这个问题,我觉得没有一个标准的答案,不同的团队有不同的特点,适合自己团队模式的就是最好的。对于我们团队来说主要是采取功能团队模式,大家都是平等互助的,团队内容沟通协作,根据不同同学的能力和特点,分工明确,但是也有一个决策者,在大家对项目的进展或任务内容有分歧时,及时商议并给定方向,最终我们项目的成功与选定一个合适的团队模式是密不可分的。

问题四:在第十章“典型用户和场景”以及第十二章“用户体验”中怎么样来定义用户?如果将所有可能使用该软件的用户都考虑其中,那么什么样的软件才能满足所有用户的需求?还是说我们只需要分析重点用户的需求及想法,那么从典型用户到场景的分析中我们怎么能准确地找到所有的可能场景?

  答:根据助教给出的建议以及一学期的实践得出,需求是需要迭代的,在刚开始的需求分析只是总体的,在项目实施的过程中需要不断地迭代与完善。

问题五:在第十六章“IT行业的创新”中作者说到,阿基米德通过在洗浴城里泡澡发现了浮力定律,牛顿被一颗苹果偶然砸到头上而揭示了万有引力等理论,而阿基米德和牛顿的成功是在有深厚的相关领域基础的前提下并经过长时间的思考提出的,作为当代大学生,我们或许没有那么深厚的文化积累,难道我们就不具备创新的能力么?而且,现在提出的“大众创业,万众创新”的口号中我们究竟怎么做才是能在响应社会发展的同时又不盲目跟风?我们在有一个自己的创新想法时要怎么才能验证自己想法的可行性以及将这一想法付诸实践。

  答:作为当代大学生,首先我们要提高自己的专业知识和养成批判性的思维能力,有自己的思考和判断事务的能力,不要为了创新而创新,要从多方面考虑和解决问题,养成好的习惯并持之以恒。及时记录,把好的想法记录下来,吸取前人的经验与教训,不盲目跟风。

新的问题:软件开发的过程中,如果一个团队成员没有按时完成自己的任务,其他的团队成员也有自己的任务,如何协调才能保证团队项目不会失败?

二、课程的实践总结和自身的提升:

1、统计你在软工课程实践中,完成了多少行的代码;

      完成了大约三千多行代码。

2、软工实践的各次作业分别花了多少时间?累计花了多少个小时在软工实践上?平均每周花多少个小时?(做一个列表)

软工作业

花费时间

平均每周花费时间

实验一 软件工程准备

 9

6.5

实验二 软件工程个人项目

 8

6.5

实验三 软件工程结对项目

 8

6.5

实验四 基于原型的软件需求获取

 10

6.5

实验五 软件研发团队组建

 5

6.5

实验六 团队项目评审与团队项目选题报告

 8

6.5

实验七 团队作业3—团队项目的原型设计与开发

 12

6.5

实验八 团队作业4—基于原型的团队项目需求调研与分析

 10

6.5

实验九 团队作业5—团队项目需求改进与系统设计

 8

6.5

实验十 团队作业6—团队项目系统设计改进与详细设计

 8

6.5

实验十一  团队作业7—团队项目设计完善&编码测试

 12

6.5

实验十二  实验十二 团队作业8—团队项目用户验收评审

 5

6.5

3、哪一次作业让你印象最深刻?为什么?

       软件工程作业中第四次任务:基于原型的软件需求获取最让我印象深刻,我们在需求获取的主要方式是问卷调查和访谈,在访谈的时候我们当时找到两位小学生和他们的家长,因为我和我的小伙伴还都不熟悉怎么通过交流来了解他们的需求,全程都比较紧张,但是那位学生家长就特别配合,很支持我们的工作,让我们特别感动。

4、学习和使用的新软件;

       visio、git

5、学习和使用的新工具;

       process on、墨刀、mockplus、leangoo

6、学习和掌握的新语言、新平台;

       GitHub、博客园

7、学习和掌握的新方法;

       快速原型方法、白盒测试与黑盒测试、面向对象设计方法

8、其他方面的提升。

     首先是团队协作方面有了很大的提升,然后在文档书写、迭代完善的思想以及工具的使用都有较大提升。

三、你认为目前的课程有哪些问题,你有什么更好的建议:

1、你认为本门课程需要在哪里进行改进,具体措施有哪些,包括:时间进度安排,项目难度等均可;

      本门课程在整个的一个工程中任务的安排比较合理,对于较难的任务时间也相对较宽裕。就是在最后的代码实现阶段时间比较紧,只有一周的时间,如果能够有两周就比较好。

2、你认为助教/老师哪里做的不足,哪里限制太多等;

      本学期老师和助教都付出了很多,特别感谢。特别是对于每次大家的博客作业助教都会认真查看并给出相应的建议,帮助同学们提高自己。就是在评分上面感觉更注重格式的细节等,而对于内容本身又没有特别关注。

3、你认为每次项目的评分标准存在哪些问题,你认为的合理评分准则是怎样的(个人/结对/团队算三个)

      每次评分助教都会整理并发表博客,给出评分标准和助教总结,赞!但是在评分的细节方面确实也存在一些问题,比如不同的助教评分标准不一样,大家更加注重形式化的东西,我的建议每两次作业应该更换评分助教

4、在结对项目中你是否真正体会到了结对的好处,是否真正严格进行了结对编程,双方的工作量是否相同;

     结对的好处自让是有的,在结对项目的过程中,一起完成一项任务,大大减少了错误的数量,双方的工作量大致是相同的。

5、你的团队项目是否成功,如果重来一次你是否还会选择这个团队,为什么成功/失败;

      项目很成功,当然会。首先团队成员之间合作特别默契,没有打酱油的同学,大家都认真高效的完成自己的任务,每个成员都有自己的特长和优势,大家相互配合,沟通协作,使得项目保质保量完成。

6、总结一下你们团队在做项目时大家的时间安排情况。

     由于我们项目成员都是一个班的同学,大家上课时间基本一致,主要是利用课余晚上以及周末的时间来完成项目任务。

7、对下一届软工课实践教学的建议,或者对于开学初的你,对于大一的你,对于开学初的老师,你有什么想建议和告知的呢?对于后来人的期许。

       软件工程这门学科需要有一些先导知识,应该在大二下学期或大三上学期开设较为合理。本学习学习软件工程我最大的感受就是,这样的学习方式很新颖,并且能够有很大的收获,但是由于时间以及准备考研复习的种种因素,使得在一些任务上真的是心由于而力不足。对于将要上这门课程的同学,我想说,软件工程这门学科真的是实践性很强的课程,一定要切实的做,不要应付,肯定会有收获。

四、你还有什么想说得话。

    一学期的时间很快就过去了,刚开始的时候只觉得这门课程的教学方式很新颖,不知道能收获什么,整个完成下来,虽然实践的过程中也遇到了一些困难,也有时间不够用等等,最终还是觉得值得,也非常感谢老师和助教一学期的辛苦付出。

原文地址:https://www.cnblogs.com/Opalus-wangs/p/9304312.html