个人作业——软件工程实践总结&个人技术博客

个人作业——软件工程实践总结&个人技术博客

这个作业属于哪个课程 2020春福大软工实践S班
这个作业要求在哪里 个人作业——软件工程实践总结&个人技术博客
这个作业的目标 完成软件工程实践的个人总结以及个人技术总结
作业正文 就是本文
其他参考文献

第一部分 回望

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

期待和目标: 在接触软件工程之前对这个课程的期待是能合作完成一款属于我们自己的应用软件,自己的编写代码能力以及团队协作能力能得到锻炼,回顾最后的成果,我们团队算是完成一个比较基础完整的项目了,而且自己的能力较没有上软工实践之前得到了一定的提升。

不足: 自己由于没有参与测试,在技术上还是有一定的欠缺,主要是缺乏测试能力

(2)你在第一次作业的个人简历中描述了这门课程结束后,你预期你将增长的能力、技术、技能,并绘制了学习路线图。对比当前你的所学所得,你达到了当时的预期值吗?

在初定学习路线图时,是完全基于当时尚未参与团队开发的基础自己规划的,没有考虑到时间以及个人能力的不足,在后端方面,框架的应用方面没有达到预期。在前端方面,由于没有涉及移动端的开发,所以在移动端的学习上没有达到预期,并且在前端框架的学习上还有有一定的欠缺。

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

必须是团队作业,涉及人员多,需要完成的工作量比较大,项目周期长,团队需要频繁的沟通,不断的协调

(4)在课程问卷中,我们统计了你在课程上花费的精力和提升;现在请你再次将这些数据罗列出来,作为个人的记录。包括以下内容:

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

大致8k-9k左右

. 软工实践的各次作业分别花了多少时间?(做一个列表)
作业名称 花费时间/h
第一次寒假作业 2.5h
第二次寒假作业 30h
结对第一次作业(原型设计) 6h
团队作业第一次-种子队伍选拔和团队展示 3h
结对第二次作业-疫情可视化实现 30h
团队作业第二次-团队Github实战训练 8.5h
团队作业第四次-项目系统设计与数据库设计 1.5h
个人作业-软件测评 3h
Alpha冲刺 80h
Beta冲刺 12h
个人作业- 软件工程实践总结&个人技术博客 2h
. 累计花了多少个小时在软工实践上?平均每周花多少个小时?

累计大致在250小时左右,平均每周13小时左右

. 学习和使用的新软件;

IDEA:虽然在开始配置的时候频频出错,感觉头疼,但是在团队开发上还是感受到了其便利
Github:提高团队编程的效率
墨刀、AXURE:用于原型设计

. 学习和使用的新工具;

JProfiler:用于性能测试
VSCode中的junit用于单元测试以及查看覆盖率的工具
StarUML:UML开发工具

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

markdown:用于博客园的发表
Bootstrap以及基础Vue
博客园平台:看到了很多技术大牛的文章,受益颇多
Github平台:进行项目的托管,有效的提高协作开发的效率

. 学习和掌握的新方法;

单元测试方法以及在第二次寒假作业中的覆盖率测试、软件工程开发流程

. 工程能力的提升;

代码设计能力,代码编程能力,代码修改以及阅读能力

. 团队合作上的提升;

利用Github进行团队合作

. 其他方面的提升;

在这个软工实践过程中,从第一次结对作业到团队作业,我从之前的“孤军奋战”到与他人合作,期间无时不在提供一个逼迫自己与他人交流的过程。起初的我,只会把自己的想法默默藏在心里,到后来敢于与他人分享,我在这个过程中提高了自己的团队沟通能力


第二部分 团队总结

(1)你是组员还是组长?你觉得你自己在哪些地方做得好?你觉得自己还有什么可以改进的地方,具体可以怎么改进?

我担任的是组员的角色。做的好的方面:能积极配合组长完成工作,保证进度不会因为个人原因而落下。自己在学技术上还是比较吃力,在今后还是需要增加自己的个人学习能力,平时多在广大学习平台中涉猎一些新的知识,提高自己的技术能力,以应对团队开发的变动。

(2)你觉得你的组长(组员们)在哪些地方做得好?你觉得ta(ta们)还有什么可以进一步提升的地方,有什么具体的建议吗?

组长在团队开发中承担了许多,在组员的许多方面都给予帮助。但是在任务分配上还有稍有不均,技术人员需要承担的压力比较大,尤其在这个时间紧迫,事情又很多的阶段。建议:通过激励机制来发挥组员的主观能动性。

(3)《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?(参考《构建执法》第17章 人、绩效和职业道德)

《构建之法》里面提到的关于团队发展的阶段共有四个,分别是:萌芽阶段、磨合阶段、规范阶段、创造阶段。
萌芽阶段:最开始随机分配队员时,我们便建了一个群,最开始的大家都是茫然的,不知所措,静候助教发布作业
磨合阶段:在定项目主题的时候,我们各抒己见,每个人都有自己的独到见解。在第一次团队编程的时候,大家通过QQ视频、Github、屏幕分享进行磨合
规范阶段:在alpha阶段,我们集中先解决了在之前Github使用上遇到的错误,进行了代码规范的编写,规范了团队的编程工具,组长为我们的工作方式以及工作流程提供了帮助使其更加清晰
创造阶段:我们在alpha阶段遗留下来的东西进行了修改和调整,但是个人感觉可能由于没有面对面的进行交流过,我们团队的向心力还是稍有一些不足,距离“创造阶段”还差几步的距离。但是我相信如果在我们的团队开发过程中,如果有更多的交流,必定能到达所谓的“创造”。

(4)从开发的角度,你在团队中担任了什么角色?你是否完成了该角色的任务?现在你觉得你适合该角色吗?

我在团队开发中担任了前端的角色。在页面以及大多数交互上能独立完成,但是对于前端的编写还达不到轻松地地步,需要再需努力才能完全担任该角色。我觉得在学习了前端之后,发现前端还是很有趣的,因此我现在觉得我适合该角色。


第三部分 人月神话

1、怎样证明你学会了软件工程?以下要求你们的团队达到了哪几个?请在随笔中用数据证明上述内容或侧重选择之一。

(1)研发出符合用户需求的软件必须公开发布,有实际的用户,一定的用户量和持续使用量 (3 天后能保持10 - 100个用户);而不是: 做没有用户使用的软件
在Beta阶段末期,我们进行了项目的公开发布,有一定的用户使用量,但是持续使用量我认为还是没有办法保持一个持续的使用。
(2)通过一系列工具,流程,团队合作,能够在预计的时间内发布 “足够好” 的软件有项目规划/需求/设计/实现/发布/维护,有定时的进度发布 ; 而不是: 通过临时熬夜,胡乱拼凑,大牛一人代劳,延迟交付等方式糊弄
我们的项目经历完整的开发流程,经历了项目规划、需求、设计、实现、发布以及在发布后的测试维护,在博客园上及时发布进度,在Github上我们进行了项目的托管,按时交付,团队每个人各司其职。
(3)并且通过数据展现软件是可以维护和继续发展的。而不是 找不到源代码,代码无文档,代码不能编译,没有task/bug 等项目的发展资料
我们的软件在github上进行托管,近150次的commit,可以进行维护以及继续发展。在文档方面,我们有接口文档、类图设计、任务安排、数据库设计、系统结构设计、希求分析、选题确定、用户使用手册等一系列可以查看的文档。

2、写下属于你自己的人月神话——个人或结对或团队项目实践中的经验总结+实例/例证结合的分析,字数不限,开放命题,可以使用你自己喜欢的方式表达

前端开发真的不是原来想象的那么简单,从一个开始的界面布局、导航栏的设计、图片的更换还要考虑其页面适应性,每一个细节都是在编译软件上经过好几次的调试才达到最终的效果。在页面交互上,一个删除按钮,一个链接按钮,一个增加按钮等等涉及的代码都是很复杂,需要在网上查阅许久才找到对应问题的解决方法。有时候一些问题会被反反复复搁置好几天才能够最后被完成。期间最怕需求的变动,有时候好几小时的辛苦会在几分钟的需求变动中破灭,有时候心里真的是苦不堪言。最后一点就是,团队开发一定要学会向队友寻求帮助,有时候网上的资料都比不上队友的点播与帮助。


第四部分 建议

1、对于下一届同学,或者大一的同学,你想说:

每个学期一定要有自己的目标以及计划,最好能认识一些学姐学长,去取经,去学习,一定不要荒废时间。

2、对于自己今后,你有哪些建言?

要更努力,要多学习,要更优秀

3、对于助教工作,你有哪些建议?

助教为我们做的事情已经很多了,对他们十分钦佩,如果非要有建议那就是,布置作业可不可以少一些~

4、对于软工实践课程,你有哪些建议?对于软工实践课程的上课形式和内容,你有什么具体的意见和建议?在哪儿需要强化或者剔除?

软工实践真的是一个在工作前非常好的锻炼,无论是形式还有内容都已经非常饱满了,但是时间安排确实不合理,尽量能就安排在大三上。还有就是在文档上可以适当的剔除一些非必要的以及重复的。


第五部分 个人技术总结

技术概述:导出jqgrid表格数据为EXCEL文件
技术博客链接:https://www.cnblogs.com/tangxiaoxiong/p/13183635.html


原文地址:https://www.cnblogs.com/tangxiaoxiong/p/13183656.html