个人作业——软件工程实践总结&个人技术博客
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/fzu/2020SpringW |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/fzu/2020SpringW/homework/10836 |
这个作业的目标 | 软工实践,个人技术总结 |
作业正文 | .. |
其他参考文献 | .. |
一.回望
(1)对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强软件工程专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?
- 经过一个学期的软工实践训练,复习了大一大二学习的专业基础课,也提高了javaEE和安卓开发的能力。具体来说,就是着手开发项目时,有了一套较科学的方法,开发过程中,有了良好的规范和组织,收尾时,学会了测试和总结工作。这在大一大二是没有过的经历。
- 不足的方面,个人开发技术的广度和深度还是没有达到真正实战项目的要求,导致开发过程磕磕绊绊,一个难题耗费不少时间。这也是这次实践的体会:课程内教授的知识是基础,拓展和细节的方面需要自己积累。第二就是个人项目的管理和规范,大一大二的编程习惯都比较随心所欲:代码规范,整体的框架这些都是怎么方便怎么来,这次实践让我认识到了这个问题的重要性,也做出了一定的改变,但真正到了团队项目开发时,从一而终的遵守团队事先立好的规范还是比较难的,有意无意的旧习惯就会导致整合到一起时的麻烦。
(2)你在第一次作业的个人简历中制定的这门课程结束后,你预期你将增长的能力、技术、技能;
和你针对你的目标绘制的学习路线图。对比当前你的所学所得,你达到了当时的预期值吗?
- 第一次作业自己制定的这些预期都比较保守,因此基本都达到了预期值。个人学习路线图方面,因为我这次实践主要是写javaEE和安卓方面的项目,python的学习虽然有一定的进度,但没有完全达到学习路线图的要求
(3)请总结这门课程的实践总结和给你带来的提升,包括以下内容:
-
统计一下,你在这门软件工程实践中,一共完成了多少行的代码;
各次作业粗略统计是5000行。
-
软工实践的各次作业分别花了多少时间?(做一个列表)
作业 大约花费时间(单位:小时) 准备篇 4 热身篇——疫情统计 30 结对第一次—某次疫情统计可视化(原型设计) 15 团队作业第一次——种子队伍选拔和团队展示 14 结对第二次作业——某次疫情统计可视化的实现 27 团队作业第二次—团队Github实战训练 8 团队作业第三次—项目需求分析 12 团队作业第四次—项目系统设计与数据库设计 20 个人作业——软件评测 5 团队作业第五次——站立式会议+alpha冲刺 50 团队作业第六次——beta冲刺+事后诸葛亮 40 个人作业——软件工程实践总结&个人技术博客 3 -
哪一次作业让你印象最深刻?为什么?
热身篇—疫情统计,寒假状态看到有作业立马噩梦,仔细一看用java写,java有点遗忘,复习了一段时间,才勉强完成。
-
累计花了多少个小时在软工实践上?平均每周花多少个小时?
224h,每周大概13h左右吧。
-
学习和使用的新软件;
github,typora,staruml,idea,androidstudio
-
学习和使用的新工具;
xmind,navicat
-
学习和掌握的新语言、新平台;
spring boot, 安卓
-
学习和掌握的新方法;
查找资料和问题要变换不同的角度和方式,比较容易得到想要的答案
-
工程能力的提升;
团队协作,文档编写,软件测试,软件开发初期的各种设计工作
-
团队合作上的提升;
学会使用leangoo等项目管理工具,代码规范有一定的提高
-
其他方面的提升;
与人沟通的能力得到提高,团队开发需要不断的和成员沟通协调。
二、团队总结
软件工程实践是大学里少有的认真的团队协作经验。《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?(参考《构建执法》第17章 人、绩效和职业道德)
你在团队中担任了什么角色?你是否完成了该角色的任务?现在你觉得你适合该角色吗?
1、 如果你是组长,你觉得你有哪些地方做的不够好的?有哪些地方做的好的?你觉得该怎么改进?(详细描述)
- 我是组员
2、 如果你是组员,你觉得你的组长分工安排是否合理?你对组长的选举有什么建议?
- 组长的分工安排合理
- 因为我们是进行实际开发的小组,这种情况下,最好是相关技术较强者当组长(除去自己不愿意),这样对全局的开发会比较清晰,自然就能分配好任务(排除人为因素)。
3、 你这学期经历过换组吗?你对换组有哪些看法?谈谈你在这个过程中的感受。
- 我没有被换组,不谈作为大三下学生要做的事不只是软工实践,这样的经历还是好的,确实,理想状态下,能够模拟实际公司运营中作为员工要面临的情况。
4、 分析一下自己所处的团队。软件工程实践是大学里少有的认真的团队协作经验。《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?(参考《构建之法》第17章 人、绩效和职业道德)
- 没有,第一次团队开发就是线上的模式,还处于进一步磨合阶段。
三、人月神话
1、怎样证明你学会了软件工程?以下要求你们的团队达到了哪几个?请在随笔中用数据证明上述内容或侧重选择之一。
(1)研发出符合用户需求的软件
必须公开发布,有实际的用户,一定的用户量和持续使用量 (3 天后能保持10 - 100个用户);而不是: 做没有用户使用的软件
(2)通过一系列工具,流程,团队合作,能够在预计的时间内发布 “足够好” 的软件
有项目规划/需求/设计/实现/发布/维护,有定时的进度发布 ; 而不是: 通过临时熬夜,胡乱拼凑,大牛一人代劳,延迟交付等方式糊弄
(3)并且通过数据展现软件是可以维护和继续发展的。
而不是 找不到源代码,代码无文档,代码不能编译,没有task/bug 等项目的发展资料
-
使用燃尽图和任务总量图进行项目进度管理
-
使用leangoo进行项目进度管理
-
有清晰的project explorer
2、写下属于你自己的人月神话——个人或结对或团队项目实践中的经验总结+实例/例证结合的分析,文字部分字数要求在100字以上,可以使用你自己喜欢的方式表达(如图文结合、视频)..
-
安卓开发
- 团队项目决定做安卓项目,初心是安卓用java开发可以缩小未知的领域,更快上手,更好完成项目。实际开发过程中,仍然有很多地方不懂或者模糊导致bug。这次经历让我知道:面对比较熟悉的技术或者推广到日常生活中的事物,也要保持敬畏之心。
- 至于实际开发的经验,从我本人的水平出发,主要是Android与JSP的交互问题,这两者都可以独立实现的时候,这两端的交互出了点bug。通过百度,csdn,更加了解了Http请求与servlet的连接。因为没有服务器的原因,所以手机与Tomcat的服务器要在同一个局域网里。
- 然后就是在中国内地配置maven gradle的时候需要注意墙的问题
四、建议
对下一届同学的建议,或者对于开学初的你,对于大一的你,对于开学初的我,你有什么想建议和告知的呢?请写下你对后来人的期许。
- 在开始学习这门课的前一个长假期,最好复习已学的软件工程有关的知识或课程,免得作业发布时,变成无头苍蝇。在漫长软工实践中,碰到bug或者全新的领域,心态不要崩,百度和csdn挺好用的。
对于软工实践课程,你有哪些建议?
- 这门课的内容非常充实合理,没有什么意见。课程内容之外的意见,课程学分占比的设置能和课程工作量对应就更好了。
对于助教工作,你有哪些建议?
- 我们的助教都非常尽心尽力,对他们所做的没有建议。额外的话,如果可以针对比较困难的作业增加相关知识的教授,普及或者引导就更好了。
对于自己今后,你有哪些建言?
- 自律
五、个人技术总结
概述:Spring Boot 是所有基于 Spring 开发的项目的起点。Spring Boot 的设计是为了让你尽可能快的跑起来 Spring 应用程序并且尽可能减少你的配置文件。简单来说就是SpringBoot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像maven整合了所有的jar包,spring boot整合了所有的框架。