这个作业属于哪个课程 | 2020春s班 |
---|---|
这个作业要求在哪里 | 个人作业——软件工程实践总结&个人技术博客 |
这个作业的目标 | 回顾软工实践和个人技术总结 |
作业正文 | 个人作业——软件工程实践总结&个人技术博客 |
其他参考文献 | 博客园、CSDN、阿里云论坛 |
一、回望
(1)对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强软件工程专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?
在这一个学期的软工实践学习中,我对于软件开发有了一定的了解并学习了部分关于后端的知识,也第一次进行了团队合作项目的开发,拥有了团队合作的经验。在项目开发流程、后端开发以及团队合作方面基本都已经达到了当初的期待和目标。不足之处也是因为项目实际开发过程中由于需求分工的多变导致所学的内容不成体系,有时是为了抓紧推动项目进度才赶忙学习的知识,就导致部分知识浅尝辄止,不够深入。
(2)你在第一次作业的个人简历中描述了这门课程结束后,你预期你将增长的能力、技术、技能,并绘制了学习路线图。对比当前你的所学所得,你达到了当时的预期值吗?
由于项目实际开发过程中需求分工的多变,导致经常要临时去了解掌握之前从未听过也没在计划中的知识,然后在技术学习过程中,也偏向于去学习自己将在此次项目中所需要的知识,导致掌握程度就有了很大的分化。就本次实践而言算是达到了当初的预期,但对以后而已还是有所欠缺。
(3)哪一次作业让你印象最深刻?为什么?
印象最深的就是团队合作项目作业的alpha阶段。因为之前作业都可以独立完成,而这次必须多人合作,开发初期我们队伍都没有人拥有团队开发经验,对于本次开发需要采用哪些技术都不太了解,但经过合理的分工和努力的学习,项目还是如期发展,甚至在beta冲刺时游刃有余。
(4)在课程问卷中,我们统计了你在课程上花费的精力和提升;现在请你再次将这些数据罗列出来,作为个人的记录。包括以下内容:
-
统计一下,你在这门软件工程实践中,一共完成了多少行的代码
5000~8000行 -
软工实践的各次作业分别花了多少时间?
作业 | 花费时间 |
---|---|
软工实践寒假作业(1/2) | 6h |
软工实践寒假作业(2/2) | 30h |
结对第一次—疫情统计可视化(原型设计) | 16h |
团队作业第一次—团队展示和项目展示 | 6h |
结对第二次作业——某次疫情统计可视化的实现 | 20h |
团队作业第二次——团队Github实战训练 | 8h |
团队作业第三次—项目需求分析 | 8h |
团队作业第四次—项目系统设计与数据库设计 | 12h |
个人作业——软件评测 | 6h |
团队作业第五次——站立式会议+alpha冲刺 | 48h |
团队作业第六次——beta冲刺+事后诸葛亮 | 36h |
个人作业——软件工程实践总结&个人技术博客 | 4h |
-
累计花了多少个小时在软工实践上?平均每周花多少个小时?
累计花了200小时,平均每周12.5小时左右 -
学习和使用的新软件
postman、Axure RP、GitHub Desktop -
学习和使用的新工具
git、spring -
学习和掌握的新语言、新平台
无 -
学习和掌握的新方法
原型制作、github合作、云端部署、单元测试 -
工程能力的提升
提升了代码编写的规范性,提高了单元测试能力,具体体会了软件开发流程 -
团队合作上的提升
提升了团队合作与沟通交流能力 -
其他方面的提升
文档、博客的撰写以及沟通合作能力
二、团队总结
(1)你是组员还是组长?你觉得你自己在哪些地方做得好?你觉得自己还有什么可以改进的地方,具体可以怎么改进?
该次团队项目中我是组员。做得好的地方:积极参与沟通交流、严格完成组长分布的任务、主动去解决团队中遇到的困难。可以改进的地方:有时理解不足导致后期代码还需要功能性上的修改。改进的方法:多看队友写的代码并及时沟通。
(2)你觉得你的组长(组员们)在哪些地方做得好?你觉得ta(ta们)还有什么可以进一步提升的地方,有什么具体的建议吗?
我觉得我们组长对任务的分工特别合理,对项目的进度把控也非常到位,能够积极地和队员沟通并解决出现的问题。我们组长做得非常好没有可以建议提升的地方。
(3)《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?(参考《构建执法》第17章 人、绩效和职业道德)
《构建之法》里面提到的关于团队发展的阶段共有四个,分别是:萌芽阶段、磨合阶段、规范阶段、创造阶段。前三段阶段我们都经历过了。由于该次项目我们都是线上开发,并未一起见面过,但也可以算是达到了创造阶段。
(4)从开发的角度,你在团队中担任了什么角色?你是否完成了该角色的任务?现在你觉得你适合该角色吗?
我在团队中担任了后端开发角色,也完成了该角色的任务,我觉得我适合该角色。
三、人月神话
(1)怎样证明你学会了软件工程?以下要求你们的团队达到了哪几个?请在随笔中用数据证明上述内容或侧重选择之一。
1、研发出符合用户需求的软件必须公开发布,有实际的用户,一定的用户量和持续使用量 (3 天后能保持10 - 100个用户);而不是做没有用户使用的软件
在Beta阶段最后我们进行了项目的公开发布,也有一定的用户使用量,但是由于宣传和美观问题可能没有长期用户使用。
2、通过一系列工具,流程,团队合作,能够在预计的时间内发布 “足够好” 的软件,有项目规划/需求/设计/实现/发布/维护,有定时的进度发布 ; 而不是: 通过临时熬夜,胡乱拼凑,大牛一人代劳,延迟交付等方式糊弄
我们一直时刻把控着项目进度,按照具体的流程去推动项目的发展,每个人都各司其职,发挥了很大作用。
3、并且通过数据展现软件是可以维护和继续发展的,而不是找不到源代码,代码无文档,代码不能编译,没有task/bug 等项目的发展资料
我们的项目都是编译通过后才上传到github,也进行了代码复审去提高可维护性,且每个阶段的代码我们都另有单独保存,每个阶段我们都先编写了文档后才进行的工作。
(2)写下属于你自己的人月神话——个人或结对或团队项目实践中的经验总结+实例/例证结合的分析,字数不限,开放命题,可以使用你自己喜欢的方式表达
后端开发人员们所做的事其实大都一样,许多实现方法在网上都是有迹可循,经常就是实现某个功能后过了段时间就又会在网上发现一个更简便的方法。比如单元测试时为了提高测试效率就重构了两次代码,项目部署时按照往常在虚拟主机上部署项目却部署不了而换成云服务器后却轻轻松松。许多已有的技术根本解决不了一些问题,而我们自己却不知道,经常陷入这种看不见的死胡同,多去看看别人的实现方法一切问题都会迎刃而解。
四、建议
对下一届同学的建议,或者对于开学初的你,对于大一的你,你有什么建议和想要告知的呢?请写下你对后来人的期许。
(1)对于下一届同学,或者大一的同学,你想说:
多敲代码,多问前辈
(2)对于自己今后,你有哪些建言?
不要停下前进的步伐
(3)对于助教工作,你有哪些建议?
助教做得很棒,没有可以建议的东西
(4)对于软工实践课程,你有哪些建议?对于软工实践课程的上课形式和内容,你有什么具体的意见和建议?在哪儿需要强化或者剔除?
就技术学习流程而言这门课完全可以放到大三上甚至是大二下学期,若是这样肯定就有更多的人愿意去参与竞赛,对于临近大四的学生就业考研的压力也会降低不少
五、个人技术总结
spring项目部署
描述:在阿里云服务器上部署运行前后端分离的spring项目
作者:zhang_jw
链接:https://www.cnblogs.com/zjwblogs/p/summary.html