一、作业描述
软件工程 | |
---|---|
作业要求 | |
作业目标 | 软件工程实践总结 |
作业正文 | 本文 |
参考文献 | 软件工程所做所学的所有内容 |
二、回望
(1)对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强计算机专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?
- 我觉得最大的收获应该就是团队合作完成一个项目。第一次经历设计一个APP从有到无,从孤军奋战到团结合作,深刻感受到了团体精神。会有队友弥补不足,遇到困难也能同心协力一起解决。
- 不足:主要还是技术上面还有很多盲点,涉及的很多知识也不懂。虽然这个实践历时了一整个学期,不过编程能力好像也没所增强。主要还是归功于自己太懒散。
(2)你在第一次作业的个人简历中制定的这门课程结束后,你预期你将增长的能力、技术、技能;和你在第二次作业中绘制的学习路线图。对比当前你的所学所得,你达到了当时的预期值吗?
- 首先在第一次的个人简历中我又提到自己预期的技能是能够提升软件开发的能力,学会Python编程,可能对软件工程这门课不是很了解,预期要求有点高(哈哈哈,嗯,还是自己太菜了吧)当前只掌握了软件开发的流程以及开发技能的一部分(因为主要是部分前端和数据库),当然在此过程中也有了团队合作的意识,提升了合作能力,但仍存在问题,比如队员之间的沟通还是不够等等。不过还是预期说最后做出有质量的作品还是有达到,不过这也离不开团队每个队友的努力付出,因为真的肝很久。
- 对于在第二次作业中绘制的学习路线图,这个没有达到我的预期,因为我并没有按照指定的路线坚持走下去,所以也是我留下的遗憾。因为时间的因素,可能是自己没有合理安排时间比较懒散也是这学期任务繁重等等因素吧,就是没有完成。
(3)请总结这门课程的实践总结和给你带来的提升,包括以下内容:
- 大概统计一下,在软件工程实践这门课中零零散散应该也有几百行吧!!!由于编程技术不行,在代码方面的贡献真的不是很多!
- 软工实践的各次作业分别花了多少时间?(做一个列表)
作业名称 | 时间 |
---|---|
2020软件工程作业00 | 4 |
2020软件工程作业01 | 3 |
2020软件工程作业02 | 3.5 |
2020软件工程作业03 | 3.5 |
2020软件工程作业04 | 6 |
2020软件工程作业05 | 7 |
2020软件工程作业——团队01 | 3 |
2020软件工程作业——团队02 | 3 |
2020软件工程作业——团队03 | 11 |
2020软件工程作业——团队04 | 9 |
2020软件工程作业——团队05 | 11 |
2020软件工程作业——团队06 | 85 |
2020软件工程个人作业06 | 5.5 |
154.5 |
- 哪一次作业让你印象最深刻?为什么?答:应该非最后一次团队作业莫属了吧!期末考试还有别的专业的课程设计,实验报告等等东西都堆积在了一起,时间上面真的有点安排不过来,甚至有时候会有点暴躁的小情绪。
- 累计花了多少个小时在软工实践上?平均每周花多少个小时?答:有上表可知,大概累计154.5吧!平均的话就不知道了,毕竟还有别的课要上,还得做做作业啥的。
- 学习和使用的新软件?答:首选当然就是博客园,然后就是墨刀,AP。
- 学习和使用的新工具?答:Github、Typora、Qunit。
- 学习和掌握的新语言、新平台?答:JAVA、Python。
- 学习和掌握的新方法?答:博客园、Typora、Github、墨刀的使用。
- 工程能力的提升?答:对于大型的项目来说,工程能力太重要了。要把项目当成一个工程去看。之前我做作业的时候都是直接上手,做到哪一步算哪一步,所以最后的代码复用性很差,耦合度也高,像一个毛线团。经过这几次作业的学习,慢慢知道一个软件产品的诞生是要经过各样的过程,周围繁琐的工作是很多的。经过初期需求分析,架构设计,制定规范等过程才能有底气去开始编写代码。这样的代码就会更好复用,结构性,条理性也会更好。
- 团队合作上的提升?第一次和同学合作开发项目。好处是在大家可以互相帮助,各有所长,大大降低了整个游戏的开发复杂度。坏处在于人多免不了管理困难以及合并代码困难。团队合作让我提高了自己的沟通能力,学会和队友合作商量一个课题内容的完成,可以听到更多不同的想法,也学到了一些比较厉害的同学的开发经验和知识。一个好的带领者胜过几十页冷冰冰的教程。团队合作也提升了我的集体荣誉感,有了一份责任。
- 其他方面的提升?答:不得不说,做软工项目,真是培养耐心的好方式,遇到各种各样的bug,都要尝试各种方式去解决。找到了兴趣,结束了软工实践之后,偶尔还是想要敲一敲代码,编程能力得到了提高,和队友有了革命情谊了呢
三、团队总结
(1)软件工程实践是大学里少有的认真的团队协作经验。《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?(参考《构建执法》第17章 人、绩效和职业道德)
答:有四个阶段——萌芽阶段、磨合阶段、规范阶段、创造阶段。都经历过。达到了“创造”阶段。
(2)你在团队中担任了什么角色?你是否完成了该角色的任务?现在你觉得你适合该角色吗?
答:组员,基本完成。适合。组长分工合理。
建议:我觉得首先要有领导力,然后就是技术能力。
四、人月神话
(1)怎样证明你学会了软件工程?以下要求你们的团队达到了哪几个?答:
- 研发出符合用户需求的软件必须公开发布,有实际的用户,一定的用户量和持续使用量 (3 天后能保持10 - 100个用户);而不是做没有用户使用的软件
- 通过一系列工具,流程,团队合作,能够在预计的时间内发布 “足够好” 的软件
- 有项目规划/需求/设计/实现/发布/维护,有定时的进度发布 ; 而不是: 通过临时熬夜,胡乱拼凑,大牛一人代劳,延迟交付等方式糊弄并且通过数据展现软件是可以维护和继续发展的。而不是 找不到源代码,代码无文档,代码不能编译,没有task/bug 等项目的发展资料
(2)写下属于你自己的人月神话——个人或结对或团队项目实践中的经验总结+实例/例证结合的分析,字数不限,开放命题,可以使用你自己喜欢的方式表达?
- 在项目开发的过程中,团队之间的沟通非常重要,比如我们团队在设计阶段初期,由于团队成员之间的沟通不足,导致前后端开发人员在对于需求的理解上出现了一些偏差。
- 在项目开始前,对于任务的细化安排非常重要,比如我们团队在设计阶段对于任务的安排比较细致,每位成员都知道自己每天需要完成的任务,使得整个开发过程都比较顺利。
五、建议
(1)对后来人的期许:
- 首先得要做好付出大量时间和精力的准备。能做成功一个项目并不是能如你所想,中间会遇到许多难题和困难,所以这个时候队友就尤其重要。而且在后期还会有期末考试和别的课程的实验和课程设计答辩,时间上很紧促。
- 组件团队要谨慎选择,考虑周全。团队里至少要有一位技术大牛,选好组长,在实践过程中分配任务以及调动积极性会有很大的帮助。
- 上课一定要认真听讲,掌握一到两门编程语言。大学阶段才是人生中最重要的阶段,不要轻信上了大学就可以好好玩了这种言论,只有在大学中好好努力,掌握技能才能在自己步入社会时有一定的优势。经过三年的理解,我觉得认真掌握一门或者两门编程语言跟编程技术是最好的,当然不是说别的技术就不掌握了,贵在了解,而且一旦你掌握了一到两门编程语言后,学习新的技术是十分迅速的,这些繁多的编程语言只能做到锦上添花、并不能够做到雪中送炭。
(2)对软件工程的建议:软工实践课程一学期以来的任务安排都是有不同的循序渐进的任务目的的。作业的安排上我并没有什么具体的建议,因为已经足够专业。
(3)对老师的工作有哪些建议:就是体谅一下需要期末考试复习的我们,本来考试安排得就紧,期末事情又很多。
(4)对自己的建言:
- 我给自己的建议就是要提高自己的抗压能力。这几次作业已经很仁慈了,但是我总给自己一些莫须有的压力,让自己变得很累,很怕每次新作业的布置。在未来的工作中压力肯定会更大,所以希望自己既然能很好地按时完成任务,就不要再想东想西地产生心理包袱了。还有一个建议是希望自己能不怕不被回复的尴尬,主动地提出一些不一样的建议,自信一点啊。相信所有任务自己都能完成就可以了。还有就是不要懒惰,积极学习,要会笨鸟先飞。
- 最后希望自己牢记使命,不忘初心。