软件工程实践总结

软件工程实践总结

一、请回望暑假时的第一次作业,你对于软件工程课程的想象

1)对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强计算机专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?

  • 通过这次软工实践,我从其他同学(大佬)方方面面学到了许多。不管是编程技巧,团队协作,文档书写,格式排版,代码规范,细节把握,不畏难精神等等方面都受益匪浅。非常感激所有队员,特别是队长张扬同学。
  • 首先通过这门课程,我学会了如何从0开始到做成一款漂亮的软件。大致了解了一款软件的制作流程,很必要的是,文档对于一款软件的重要性。在课程开始,老师先通过几个小任务,让我们熟悉一下打代码的感觉,之后循序渐进,教会我们如何构思策划软件,如何书写文档,如何分工制作出一款软件,如何评测软件以及答辩注意的事项,从方方面面锻炼了我们。
  • 其次我也因这门课熟悉了许多超棒的软件工具,就IDE来讲:比如我最喜欢用的pycharm,就是因为我们团队需要Python编程,因此我接触到了pycharm。实不相瞒,过去我从来不知道如何利用强大的IDE来找bug,在练习过程中,逐渐学习了pycharm的设置断点,监视变量,错误返回等等强大实用的功能。除了IDE还有许多工具,比如编写markdown文档的Typora,超级好用!强大的数据库MySQL以及最终我们使用的轻量级数据库SqLite;在线制作类图,数据流图,活动图等各种图的Processon;以及方便强大的原型开发工具Axure等等。相信他们对我之后非常有帮助。
  • 还有就是第一次与团队一起完成这款软件,实现我们的初衷。这份尝试很有价值,虽然我的贡献可能不多,但我在过程中认识到,一款优秀的软件离不开良好的团队管理与优秀的Leader。大家一起努力完成一件产品的感觉真的很棒。虽然有时候会很累,比如一次大家在活动室工作,从晚上八点一直工作到凌晨2点,全员都在,尽管很累,但是很有意义。
  • 不足的话,因为团队分工协作,然后大家都是第一次,经验不足,导致团队交流不是特别流畅。我是负责后端的,因此往往做着做着,就没顾上前端的进度,需求,导致做完之后才发现这往往不是他们所要的,或者类型与前端需求不一致等等问题。好在这种问题到了后来就越来越少了。还有就是比较遗憾,没能参与到前端工作中:过去一直认为前端的工作没有什么技术含量,只是做做界面,做做交互,做做按钮等等。直到这次我才意识到,前端的工作量,往往会比后端还大,遇到的困难可能比后端还多,比如:涉及到两个进程间的通信(后来利用管道通信解决)否则派生出另一个进程,容易造成程序假死。

2)总结这门课程的实践总结和给你带来的提升,包括以下内容:

1、统计一下,你在这门软件工程实践中,完成了多少行的代码

  • 大概2000行吧。。。具体也不记得了开始用c++写,后来用Python写后代码量明显少了许多。

2、软工实践的各次作业分别花了多少时间?(做一个列表)

作业 时间min
准备 60
第二次作业 1285
结队1 670
团队作业1 40
结队2 2195
团队作业2 775
需求分析报告 1265
Alpha冲刺 1385
现场编程 300
项目测评 80
Beta冲刺 800
最终展示 300

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

  • 第一次吧。头一回听说在开学前就有作业的(不过现在又知道了,期末考最后一门结束后他还是有作业,一门两学分的课,硬生生的变成了10学分的课TT)当时学完markdown语法,写完博客后自己觉得有些丑,也不知道在写些什么,排版注意事项。后来看了看其他同学的!!!一些大佬markdown用起来贼6,写得非常好看,特别美观,还有些炫酷的动画。内容也逻辑清晰,叙述明白,那时才意识到,厉害的大佬真的是什么都会,不仅编程厉害,博客也写得好。如何使用Github,当时看起来7788,学了好久也没明白是怎么回事。。。

4、累计花了多少个小时在软工实践上?平均每周花多少个小时?同时贴出开篇博客“你打算平均每周拿出多少个小时用在这门课上”的回答

  • 累计花了150个小时在软工上,平均每周花7.5个小时。
    • 曾经的回答:除去上课时间,我会花额外3~5天的时间学习这门课,每天至少2个小时。如果到时候认为强度不够,会继续多花时间练习。

5、学习和使用的新软件

  • IDE:强烈推荐pycharm!!!
  • 原型工具:Axure
  • 制图工具:Processon(在线制图网站)
  • 数据库:MySQL+可视化工具MySQLWorkbench
  • 思维导图工具:X-mind
  • 代码管理工具:Github
  • Markdown编辑工具:Typora
  • 团队任务协作管理工具:Leangoo(在线网站)

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

  • Python语言
  • Markdown语言
  • 熟悉macOS 平台

8、学习和掌握的新方法

  • 如何使用Github管理代码(包括下载别人的代码,合并代码等等)
  • 用Pycharm Debug,监事数据等
  • 怎么制图
  • 如何写Markdown
  • 如何确定自己的工作量等

9、其他方面的提升。

  • 团队协作经验大大提高啦~
  • 交往能力,语言表达能力也有提高~
  • 还认识了许多有趣的朋友。

二、写下属于自己的人月神话——个人或结对或团队项目实践中的经验总结+实例/例证结合的分析

  • 团队分工协作,然后大家都是第一次,经验不足,导致团队交流不是特别流畅。我是负责后端的,因此往往做着做着,就没顾上前端的进度,需求,导致做完之后才发现这往往不是他们所要的,或者类型与前端需求不一致等等问题。好在这种问题到了后来就越来越少了。还有就是比较遗憾,没能参与到前端工作中:过去一直认为前端的工作没有什么技术含量,只是做做界面,做做交互,做做按钮等等。直到这次我才意识到,前端的工作量,往往会比后端还大,遇到的困难可能比后端还多,比如:涉及到两个进程间的通信(后来利用管道通信解决)否则派生出另一个进程,容易造成程序假死。同时,一款优秀的软件离不开良好的团队管理与优秀的Leader。

三、对下一届实践的建议,或者对于开学初的你,对于大一的你,对于开学初的我,对于同期的TA们,对于后来的学弟学妹:

1)你有什么想建议、告知和期许想要告诉他们呢?

  • 怕吃苦,千万别选软工!
  • 差学分,能不选软工就别选!

想真正学到些有用的,不怕苦的,喜欢团队合作的,选吧!

2)特别地,特别地,下一届要不要中途换队员(强制的、彻底的从一队换到另一队)?

  • 不要,坚决不要。

3)假设依旧是一个90+人数的大班,身在一个格外大的班级,竞争强劲,你认为一个组的人数应当在多少比较合适?

  • 人数太多不好:分工难,容易有人摸鱼,倒不是真的不想做事,的确是因为没啥可做,其他人任务都领了。和别人一起做一项任务吧,有时候对方做上头了,就全做了,根本不需要自己。甚至有时候会出现1+1<1的现象。
  • 人少些其实无所谓。
  • 个人觉4~7个人差不多。

4)个人/结对/团队作业应该控制在怎样的规模?

  • 每周认认真真花3~5个小时能解决的那种。这学期就有几个星期任务量很大,有几个星期就很闲,这样个人觉得也不好。

5)这学期下来,你最感谢的人是谁?有什么话想要对TA说呢?

  • 肯定是组长张扬啦~也要感谢团队中每一个人,大家都帮助,鼓励过对方。
  • 希望下次还能与你们合作呀~

四、分析一下自己所处的团队。软件工程实践是大学里少有的认真的团队协作经验。《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?(参考《构建执法》第17章 人、绩效和职业道德)

  • 之后补这一块内容。。。

五、怎样证明你学会了软件工程?

  • 基于可靠的调查,成功做出一款深受用户喜爱的软件产品并配备完整详细的文档。
原文地址:https://www.cnblogs.com/Tony-chenjw/p/10241752.html