个人作业——软件工程实践总结&个人技术博客
个人作业——软件工程实践总结&个人技术博客
这个作业属于哪个课程 | <2020春S班(福州大学)> |
---|---|
这个作业要求在哪里 | <个人作业——软件工程实践总结&个人技术博客> |
这个作业的目标 | 产品分析 |
作业正文 | <个人作业——软件工程实践总结&个人技术博客> |
其他参考文献 | ... |
一、回望
1.对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强软件工程专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?
通过这次软件工程实践,我对软件开发的流程有了更清晰的了解,对比课程刚开始的时候,我觉得在三方面有所锻炼,其一是在前端的开发,其二就是在软件文档的编写上面,其三则是在团队的沟通与协作上面,因为以前从来没有接触过这种团队协作开发的大作业,也算是第一次和小组一起大家协作完成,在之前的个人作业和组队作业中,主要代码和博客编写,还没有设计到团队协作和沟通和文档的编写,但是在这次的实践中主要是负责文档和博客的编写。之前在web的学习过程中算是学习了一些的前端知识,为了能和小组成员在沟通的过程中不脱节,我也学习了一部分的团队作业,让我在实战的过程中积累了不少经验。
2.你在第一次作业的个人简历中描述了这门课程结束后,你预期你将增长的能力、技术、技能,并绘制了学习路线图。对比当前你的所学所得,你达到了当时的预期值吗?
在第一的作业中我预计自己想学习的是java后端,只在个人作业中有部分实现,在团队合作的作业中我主要负责文档撰写和博客编写的不部分了,所以说起来还是挺遗憾没有达到自己的预期值的
3.哪一次作业让你印象最深刻?为什么?
印象最深的应该是团队最后的beta冲刺要提交的时候吧,因为那时候我们小组的进度还算是比较缓慢,大家都在拼命加班加点的要把作业给弄出来,可是我是负责博客编写和文档部分的,而且我们还需要做用户需求的统计,所以说我们那天也是忙的手忙脚乱,那天真的是难以忘怀。那一晚上过的真的太惨了,但是那天做的并不是很好,还是需要提升自己的实力,以免下次遇到这种情况还如此的慌乱。
4.在课程问卷中,我们统计了你在课程上花费的精力和提升;现在请你再次将这些数据罗列出来,作为个人的记录。
累计花了多少个小时在软工实践上?平均每周花多少个小时?
- 现实情况
- 累计时间:166h
- 平均每周时间:16h
学习和使用的新软件
- 新软件
- JProfiler:JProfiler 是一个商业授权的 Java 剖析工具,由 EJ 技术有限公司,针对的 Java EE 和 Java SE 应用程序开发的,可模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试
- Axure:Axure RP是美国Axure Software Solution公司旗舰产品,是一个专业的快速原型设计工具,让负责定义需求和规格、设计功能和界面的专家能够快速创建应用软件或Web网站的线框图、流程图、原型和规格说明文档。作为专业的原型设计工具,它能快速、高效的创建原型,同时支持多人协作设计和版本控制管理
- 墨刀:墨刀是一款在线原型设计与协同工具,借助墨刀,产品经理、设计师、开发、销售、运营及创业者等用户群体,能够搭建为产品原型,演示项目效果。墨刀同时也是协作平台,项目成员可以协作编辑、审阅,不管是产品想法展示,还是向客户收集产品反馈,向投资人进行Demo展示,或是在团队内部协作沟通、项目管理
学习和使用的新工具
- 新工具
- Junit:JUnit 是一个 Java 语言的单元测试框架。它由 Kent Beck 和 Erich Gamma 建立,逐渐成为源于 Kent Beck 的 sUnit 的 xUnit 家族中最为成功的一个。 JUnit 有它自己的 JUnit 扩展生态圈。多数 Java 的开发环境都已经集成了 * * JUnit 作为单元测试的工具
- spring-boot-starter-test:Spring Boot 集成的 pring-boot-starter-test 是基于 JUnit 的单元测试工具
- JWT:英文名是 Json Web Token ,是一种用于通信双方之间传递安全信息的简洁的、URL安全的表述性声明规范,经常用在跨域身份验证
- PageHelper:来源于第三方的快速分页插件
学习和掌握的新语言、新平台
- 新语言
无 - 新平台
- 博客园:一个面向开发者的知识分享社区,用于完成作业博客的编写
- GitHub:是一个面向开源及私有软件项目的托管平台,因为只支持 Git 作为唯一的版本库格式进行托管,故名 GitHub。
- 新方法
- 单元测试:尝试进行单元测试
- 性能测试:了解性能测试
- 项目管理:尝试进行项目管理
- 在线文档:在团队合作中在线文档的灵活应用
- 博客:开设和撰写博客
工程能力的提升
对于从一开始的热身疫情数据分析到后面的结对完成疫情统计到最后的团队作业经过两阶段的冲刺,分析复杂工程系统的能力有一定的提高,可以更好的分析工程的问题关键所在,在结对作业中是个人第一次进行了原型的设计工作(以前只是对原型设计有所了解),对于原型的设计能力有所提升,在团队作业中作为后端开发主要按照官方的文档初始架构了一个目录结构更为规范的后端项目,对于复杂工程的架构设计、构件设计能力有一定的提升,主要是通过下载腾讯的即时通讯IM的相关demo进行了对应的黑盒测试与相关评测,以及每周的小组答辩时使用在线评审表进行打分互评,对于恰当的评价计算机相关技术和产品的能力有所提升,在本次软件工程实践中主要有团队协作的部分为结对编程以及后续的团队合作冲刺完成项目,其中在团队中担任组长的角色,发挥了团队协作精神,参与到了各部分的设计报告与文档的攥写工作中,对于团队协作能力有较大程度的提高
团队合作上的提升
我们团队能够把任务进行合理的分配、高质量地完成,在团队合作上的提升主要表现在了本次实践了解到了站立式会议的意义,第一次使用了在线文档等工具辅助与团队合作与项目管理
其他方面的提升
- 抗压能力:在团队冲刺时压力还是挺大的,来源于多方,抗压能力有所提升
- 文档攥写能力:在团队合作中负责了大部分的文档与博客的攥写,文档攥写能力提升了
软工实践的各次作业分别花了多少时间 | 时间 |
---|---|
软工实践寒假作业(1/2) | 4小时左右 |
软工实践寒假作业(2/2) | 16小时左右 |
结对第一次—疫情统计可视化(原型设计) | 20小时左右 |
团队作业第一次—团队展示和项目展示 | 4小时左右 |
结对第二次作业——某次疫情统计可视化的实现 | 20小时左右 |
团队作业第二次——团队Github实战训练 | 8小时左右 |
团队作业第三次—项目需求分析 | 9小时左右 |
团队作业第四次—项目系统设计与数据库设计 | 9小时左右 |
个人作业——软件评测 | 9小时左右 |
团队作业第五次——站立式会议+alpha冲刺 | 32小时左右 |
团队作业第六次——beta冲刺+事后诸葛亮 | 30小时左右 |
个人作业——软件工程实践总结&个人技术博客 | 8小时左右 |
二、团队总结
1.你是组员还是组长?你觉得你自己在哪些地方做得好?你觉得自己还有什么可以改进的地方,具体可以怎么改进?
我是组员。我觉的自己在和组员沟通和协作上面算是做的挺好,每天发布表格收集组员的信息,虽然在收集的过程中可能大家也是比较忙,所以说,有的时候消息没来的看,也是可以理解,所以我也愿意承担个更多的事情去完成,我觉得自己还有可以改进的地方就是多参与开发工作,因为在这次的团队工作中我主要是负责博客编写以及文档编写,所以说开发工作主要是由小组大佬来负责,所以在实践的过程中也觉得自己的编程能力没有得到很好的实践,所以我觉得自己还是可以再多负责一些部分,多做一些自己没有了解过的方面,这样自己得能力才真正得有所锻炼
2.你觉得你的组长(组员们)在哪些地方做得好?你觉得ta(ta们)还有什么可以进一步提升的地方,有什么具体的建议吗?
我觉得我们组的组长也是相当优秀,组长自己挺谦虚,说自己在很多技术性的东西上面也不是特别懂,但是我们小组的组长也是相当负责,都会在第一时间督促我们要进行完成的东西,时刻提醒我们继续冲刺,也是每天准时准点的打开腾讯会议,我们还可以进步的地方就是有问题提出来大家一起解决,多沟通,多交流!
3.《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?
- 团队的发展有萌芽、磨合、规范和创造阶段。
- 萌芽阶段:就是我们小组成员还彼此不太熟悉的过程在这个过程中,大家也就是互相熟悉,了解对方的长处短处,了解自己在小组中是一个什么样的定位,了解自己在小组中应该扮演一个什么样的角色
- 磨合阶段:也就是我们小组在开始开发项目的过程中也就算是磨合阶段了,每个人都应该了解自己和对方有什么互补之处。了解自己和队友之间要互相沟通要互相体谅理解,大家互帮互助
- 创造阶段:我认为我们小组还未能达到创造阶段,因为我们小组所呈现的这么一个作品还不是特别让人觉得满意,还存在很多的不足的地方,所以还要继续努力
4.从开发的角度,你在团队中担任了什么角色?你是否完成了该角色的任务?现在你觉得你适合该角色吗?
我主要在团队中担任的角色是文档的编写以及博客的编写,也就是产品的岗位,我认为我还算较好的完成了该岗位的任务,我认为自己并不是特别适合这个角色,自己也想试试看其他的角色,肯定会有不一样的体验。
三、人月神话
1.怎样证明你学会了软件工程?以下要求你们的团队达到了哪几个?
- 研发出符合用户需求的软件。
通过我们小组得问卷你调查结果显示我们所做的软件符合大部分用户得需求
- 通过一系列工具,流程,团队合作,能够在预计的时间内发布 “足够好” 的软件。
我们小组在冲刺阶段每天通过腾讯会议,通过QQ群每天收集当日的信息。
2.写下属于你自己的人月神话——个人或结对或团队项目实践中的经验总结+实例/例证结合的分析,字数不限,开放命题,可以使用你自己喜欢的方式表达
团队项目实践中,我们组都会提前开始任务的规划并且开始准备实现,这样既能为后面任务的未知性提供保障,要多与团队成员沟通协商,发现问题或意见不同要及时提出,不要担心会有冲突,交流才会进步。每个人都有适合自己的位置,不必强求每个人都写代码。
四、建议
1.对于下一届同学,或者大一的同学,你想说:
首先我想从几个方面来说明吧
1.首先我想说对于刚刚入学还有学习方向的大一同学来说,在大一这一年就是你们对这个专业探索的最佳时间,在大一的时候适当的做学生工作和玩耍,学习千万不要落下,学校课堂上所学的东西不代表你大学里面学习到的东西,一定要自己自主学习,多学习,多努力,方向一定要选好找对,不能浑浑噩噩度过了时间
2.就对于软件工程这个学科来说,能学习到的东西还是不少,但是也要肯自己学习,也要肯自己钻研,但是一般来说要是所有的都现学现做,时间上多少会有一些来不及,所有主要还是看你大学期间所积累东西
2.对于自己今后,你有哪些建言?
希望自己能好好努力吧,当务之急是考研,考上研究生,做好自己人生未来的规划
3.对于助教工作,你有哪些建议?
助教也是相当负责,也算是全心全意的为我们服务
4.对于软工实践课程,你有哪些建议?对于软工实践课程的上课形式和内容,你有什么具体的意见和建议?在哪儿需要强化或者剔除?
我觉得还是可以把课程往前挪一挪,可以放到大三上,其他相应的课程也可以相应的调整一下,而且作业量之类的也可以稍微调整一下,作业量也是稍微挺多的,可以把个人作业部分稍微压缩一下,因为我觉得个人作业的收获不如团队协作来的多。
五、个人技术总结
<点击查看>