个人作业——软件工程实践总结&个人技术博客
这个作业属于哪个课程 | 班级链接 |
---|---|
这个作业要求在哪里 | 个人作业——软件工程实践总结&个人技术博客 |
这个作业的目标 | 回顾初心,写下自己的收获和感悟 |
作业正文 | 见下文 |
其他参考文献 | ... |
一、回望
1)对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强软件工程专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?
回去看看自己第一篇博客时,还真是有点怀念。一开始说希望课程的目标是“提高对算法与数据结构的理解,加强C,C++,Java编程,为考研做准备”,果然偏掉了,现在我知道了软工这门课不是教这个的,当初有点蠢萌【捂脸】。emmmm,总的来说,在软件工程门课中java编程能力是有提高的,算法与数据结构主要是这学期报了算法课,C和C++也是算法课上用的比较多。目标和期待勉强达到了,但是因为还没开始专业课复习,所以觉得还不够。
2)你在第一次作业的个人简历中制定的这门课程结束后,你预期你将增长的能力、技术、技能;和你针对你的目标绘制的学习路线图。对比当前你的所学所得,你达到了当时的预期值吗?
当初自己定的目标,我预期自己将增长的能力、技术、技能和针对目标绘制的学习路线图和软件工程这门课程上学到的有点偏,那应该是我的阶段目标,而不该是对软件工程实践这门课的目标。对比当前我的所学所得,从某一方面来说,我远远超出了当初的预期值。一个是技术层面,我新学会使用了三个开发工具,新学了两个框架,初步涉猎了Python语言;另一个则是团队合作方面,虽然这学期的团队项目合作在最后说不上愉快,但是确实也学到了很多,“见贤思齐焉,见不贤而内自省也”,看到了缺点,就要警醒自己不要犯同样的错误。
(3)请总结这门课程的实践总结和给你带来的提升,包括以下内容:
- 统计一下,你在这门软件工程实践中,一共完成了多少行的代码;
4000左右
- 软工实践的各次作业分别花了多少时间?(做一个列表)
作业 | 时间(hour) |
---|---|
准备篇 | 4 |
个人第一次作业-疫情统计 | 71 |
结对第一次 | 34 |
团队第一次 | 8 |
团队github实战 | 13 |
结对第二次 | 50 |
团队第二次 | 10 |
团队第三次 | 12 |
团队第四次 | 20 |
个人作业-软件测评 | 10 |
团队第五次 | 50 |
团队第六次 | 45 |
个人作业-总结篇 | 10 |
- 哪一次作业让你印象最深刻?为什么?
团队的github实战,因为时间是最紧迫了,最考验团队及成员大学三年的技术能力。我至今依然能回想到当初的焦虑,整个早上加下午我们的团队除了我写了gui界面以及一点功能之外群里沉默无声,那时候我就觉得只有我一人做了几个小时,找着快被自己遗忘的C#的资料,考虑着怎么编码,快黄昏的时候问他们开始写了吗?听到最讨厌的“我不会啊,做不到”,还好的回答是“还在学”。但是那时连任务都没分配好啊,不到6小时就截至了!我已经再心里放弃了,只是不甘心让我依然坐在电脑面前(在考试中哪怕剩下的题不会做,也要坐到交卷前最后一秒,固执的我~),尽所能写着每个按钮的代码。感谢组长,在最后关头出来分配了任务,就是因为一开始那么失望,到快截止时大家纷纷上传代码,任务勉强完成后才非常惊喜加惊奇。
- 累计花了多少个小时在软工实践上?平均每周花多少个小时?
337个小时,从第一次作业开始,到现在大概16周,平均每周21个小时。
- 学习和使用的新软件;
StarUML,Axure,Xmind,git,github desktop
- 学习和使用的新工具;
jupyter notekook,Pycharm,IDEA(IDEA和Pycharm界面几乎差不多),Hbuilder
- 学习和掌握的新语言、新平台;
新语言:不能算掌握,只能算入门的Python;
新平台:博客园
- 学习和掌握的新方法;
1.原型设计
2.单元测试
3.性能分析
4.爬取数据
5.flask框架和uni-app框架
- 工程能力的提升;
1.开源的代码养成写代码规范与说明文档的习惯
2.学会使用github等团队合作工具
3.学会使用flask框架和uni-app框架
- 团队合作上的提升;
学会和队友分工配合,在团队中提出自己的想法与意见
- 其他方面的提升;
锻炼了自己的沟通能力,结对合作时也知道如何和队友交流,规划任务时间;
二、团队总结
1. 如果你是组长,你觉得你有哪些地方做的不够好的?有哪些地方做的好的?你觉得该怎么改进?(详细描述)
非组长。
2. 如果你是组员,你觉得你的组长分工安排是否合理?你对组长的选举有什么建议?
其实我们组在敲代码之前的任务几乎都是平均分配的,我觉得这样的分配很公平。但是在敲代码即团队实战、AB冲刺由于每个人能力以及积极性问题这样的分配无法实行,最后只能采取自愿原则,越是如此才越体现贡献分制度的先见性和优越性。从这一点来说组长做的不够好,不过组长也好难,哪怕强制分配,也可以不做的,不管谁做组长都没用。组长的选举我们是用骰子决定的,我们组的组长有点惨啊~我觉得最好组长要是一个编程能力比较好的人,不然涉及到编程的任务分配可能会比较困难,这是我在github实战中给我的感受。
3. 你这学期经历过换组吗?你对换组有哪些看法?谈谈你在这个过程中的感受。
没有,我们组换来了个大佬写后端,如果不是这个大佬在,我们组可能无法完成Beta阶段的冲刺。我觉得换组这个规则挺合理的,不是,应该说不只是我们组来了个代码能力比较强的同学,而是就像老师说的,日后在工作中难免遇到这一点,同时确实是有同学不喜欢一开始的队伍,想主动去其它组的,好歹能提高离开同学对项目的积极性。
4. 分析一下自己所处的团队。软件工程实践是大学里少有的认真的团队协作经验。《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?(参考《构建之法》第17章 人、绩效和职业道德)
没有,就像组长在Beta冲刺阶段说的,我们还在磨合阶段。
三、人月神话
1、怎样证明你学会了软件工程?以下要求你们的团队达到了哪几个?请在随笔中用数据证明上述内容或侧重选择之一。
我们组没有用teambition等工具管理任务日程,这一点确实是做得不够好。
我们组的项目代码已上传github,软件是可以维护和继续发展的。
2、写下属于你自己的人月神话——个人或结对或团队项目实践中的经验总结+实例/例证结合的分析,文字部分字数要求在100字以上,可以使用你自己喜欢的方式表达(如图文结合、视频)
结对的话使用爬虫遇到一个notebook下载源问题,聊天记录找不到了,太久了,防止下载失败换成豆瓣源就好,还有一个要是遇到如图问题:
团队的话前端没遇到什么太大问题,大多是我粗心犯的错。
四、建议
- 对下一届同学的建议,或者对于开学初的你,对于大一的你,对于开学初的我,你有什么想建议和告知的呢?请写下你对后来人的期许。
大学前两年比较轻松的时候不要去摸鱼了,利用空闲的时间好好学课堂外的东西。
- 对于软工实践课程,你有哪些建议?
我觉得这门课不应该放在大三,而应该放在时间比较宽裕的大二。因为虽然学到了很多新技术,但是对于本人来说,我觉得任务有些繁重了,特别是考研的节奏一再被打断。其实这门很多都是边学边做的,既然如此,不如放在大二,至少不会受到考研的双重压迫。还有组队,我觉得半自由半随机比较好。
- 对于助教工作,你有哪些建议?
我有一次早上起床看到博客园邮件,助教凌晨1点多评论了我的博客。。。我觉得助教有点太辛苦了
- 对于自己今后,你有哪些建言?
用尽全力朝自己的目标奔跑吧
五、个人技术总结
Python语言爬取数据(基础,从0开始)
概述:爬取疫情数据为例教你怎么爬取到数据,不知道为什么当初学爬虫语言的时候非常高兴,大概是每写一步都能看到成果。