结课作业——李肖华

软件工程个人总结

一、回望第一次作业

       最初进入软件工程课程的学习,以为仅仅是一种编程语言以及一个开发平台的学习,在这其中会进行一些项目的实战演练,逐渐熟练使用编程语言以及开发平台的应用。但是,进行更深入的学习之后,编程语言以及开发平台仅仅是该课程学习过程中的基础工具。软件工程课程真正让我了解了一个完整软件开发过程,其中包括程序语言、数据库、软件开发工具、系统平台、标准和设计模式等方面,是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。通过本学期的学习,我已经基本掌握了Python编程语言、Pycharm软件开发平台以及一整台系统的软件开发流程。但是由于最初对编程语言的不熟悉,在软件开发的过程中仍然欠缺规范性。

       在本次课程中本人总共完成了1350行代码,主要完成的任务有文献单词检索程序、诗词库数据整理程序,合作开发的基于tk库的诗词小游戏,基于kivy库的聊天app的联系程序,合作开发的基于kivy的诗词小游戏app,对于相应任务所花费的时间如下表所示:

实战项目 花费时间
文献单词检索程序 2周
诗词库数据整理程序 1周
基于tk库的诗词小游戏 6周
基于kivy库的聊天app的联系程序 1周
基于kivy的诗词小游戏app 2周

       本次作业中让我印象最深刻的是基于tk库的诗词小游戏的项目,在该项目中我和陆遥同学协作完成诗词小游戏的开发程序,我们共同学习,相互促进,在该过程中学会使用代码仓库、tower进度管理工具、UML开发工具和墨迹文档编辑工具等等各种工具的使用,同时随着项目的不断推进,我们真正了解到了什么才是真正的软件开发过程,我的编程能力也得到了逐步的增强。在整个学习过程中,总共花费了217小时,平均每周花费21小时进行学下,此次前的学习目标基本一致https://www.cnblogs.com/lxh0303/p/12354117.html

       在软件开发过程中学习到了很多新的软件和工具,主要有Pycharm软件开发工具,石墨文档编辑工具,tower任务安排工具,starUML软件UML建模工具以及virtualBox虚拟机等相关软件和工具。并且学会了python编程语言以及码云和GitHub平台的使用。在软件开发的过程中学会了使用敏捷开发方法以及各种单元测试方法,使得软件开发过程变得更加的科学有效率。此外,在团队协作的过程中,我还学会了怎么在团队中共同协作完成项目开发任务,团队的力量要远大于个人,在该实践过程中提升了我的协调能力以及合作能力。

二、写下属于自己的人月神话

       在软件开发的过程中觉得一个人的精力始终是有限的,需要团队协作才能产生更大的成果,一个人战斗始终不如一个团队的战斗。但是新团队的建立也需要进行磨合,只有形成一个默契的团队才能发挥出多人协作的效能。在最初的诗词小游戏的开发过程中,组队初期,由于队友之间不熟悉,相互沟通较少,导致队员写了许多重复的代码,在最后的整合过程中,发现队员的代码之间没有留好相应的结构,只好将所有的代码一一审查,重新进行拼接。随着默契程度的增加,大家分工明确,代码也更加规范化,此时的开发效率远远高于个人,因此协作小组能够较好的完成诗词游戏开发的后续任务。

三、对下一届实践的建议

       作为一个编程小白,通过学习该课程很好的掌握了软件开发的基本流程,可以说受益匪浅,可以说不管是什么专业这么课程都非常值得去学习,它更多的是面对需求并将之实现的方法过程,在许多领域都会有用。希望今后的学弟学妹们能脚踏实地,将代码一行行写下来,成长总是会在不经意间。由于课程人数较少,我认为每组人数控制在两到三个人较为合适,由于课程中项目规模并不大,同学们的水平也参差不齐,很难做很细化的分工。认为目前的个人/结对/团队作业规模较为合适。

       在本次课程中我最要感谢的是陆遥同学,刚开始组队的时我还在学习编程语言的过程中,他作为还在坚守在部队抗疫的前线,每次都是熬夜通宵完成教员布置的编程任务,并且完成得非常好,在这一点我很钦佩他,一直在向他学习。并且最初的游戏开发我也是在他的代码基础上完成的任务,在他的帮助下才慢慢的学会Python,可以说他一直是我学习的榜样。

四、分析一下自己所处的团队

1、萌芽阶段

      最开始的时候,大家对网页制作以及app的制作并不熟悉,因此大家纷纷各自去查找资料,寻求统一的技术路线

2、磨合阶段

      之前大家没有做过团队开发项目的经验,对作业的要求认识不足,大家都各自做各自的,到整合时问题不断。此外,基本确定了制作app的开发路线,但是由于缺乏经验,成员对于是否成功表示担忧,项目进展缓慢。

3、规范阶段

      在经历了大量的资料查询,并且经过聊天软件的实战演练之后,大家开始慢慢熟悉kivy,认同了app开发的可能性,并且开始分工明确,各司其职。

4、创造阶段

      本次项目开发的过程基本是按照基于tk库的诗词小游戏为模板开发的,基本功能基本一致。

扫描二维码关注公众号,回复: 11200619 查看本文章

五、证明我学会了软件工程

1、研发出了符合用户需求的软件

        在项目的萌芽阶段需求分析对于市场痛点的分析和可行性的分析比较充分,对于该app基本能满足各个年龄阶层的诗词爱好者对诗词的学习,并且是通过娱乐的方式,避免了学习过程的枯燥无味。通过向身边的同学家人推广,目前该app用户已经达到了15个,还是得到了用户的基本肯定。

2、通过一系列工具,流程,团队合作,能够在规定的时间内拿出“足够好”的app

       通过码云仓库进行源代码管理,tower进行任务分配管理,starUML进行UML建模,石墨文档进行文档编辑等等有序推进项目的进度。

六、实践演练

  本次实践演练开发的项目文档说明书、源代码以及app安装包均上传至代码仓库https://gitee.com/lixiaohua_03/joint_development_project

猜你喜欢

转载自www.cnblogs.com/lxh0303/p/12898124.html