“回顾,再出发”——记2020软工提问回顾与个人总结

cookielau cookielau     2022-11-28     560

关键词:

回顾,再出发

项目 内容
这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任建)
这个作业的要求在哪里 提问回顾与个人总结
我在这个课程的目标是 完成一次完整的软件开发经历
并以博客的方式记录开发过程的心得
掌握团队协作的技巧
做出一个优秀的、持久的、具有实际意义的产品
这个作业在哪个具体方面帮助我实现目标 为自己一学期的努力画上句号
对下一个阶段的展望

作业要求:

  • 链接到以前提问题的博客
  • 请尝试对自己曾经提出的问题进行解答,并阐明,是如何通过看书,实践,或者讨论弄清楚的。
  • 是否原来的问题还不明白?如果有,请分析。
  • 是否产生了新的问题?如果有,请提出。
  • 软件工程这门学问有很多 “知识点”, 这门课强调 “做中学” - 在实践中学习知识点。
    • 请问你们在项目的 需求/设计/实现/测试/发布/维护阶段(一共6 个阶段)中都学到了什么“知识点”,每个阶段只要说明一个知识点即可。
  • 结合自己在个人项目/结对编程/团队项目的经历,谈谈自己的理解或心得。

? 2020年3月3日下午16:48,在博客园发表了本学期软件工程的第零篇博客——停下来,回头看 ——记2020BUAA软工第一次作业-热身! ,1万5千字的长文收获了1256次阅读和6个评论,其中ScalersTalk作者Scalers专门注册了博客园在我的评论下方留言回复2500字,令我备受鼓舞,还有邹欣老师和宝玉老师的建议我牢记在心,mio4学长的经验之谈也对我很大启发。怀着对所有阅读过我的文章和评论我的文章的人的感激,踏上了软件工程的学习道路。

? 2020年3月8日临晨2点56分,发出了软件工程这门课正式的第一篇博客——初窥构建之法——记2020BUAA软工个人博客作业 ,这片博客中都是在阅读完邹欣老师的《构建之法》后,对书中存疑的地方提出的问题,并加入自己的思考和理解。这片博客收获了594次阅读9条评论,有其他学校的软件工程老师,还有仰慕已久的SivilTaram学长在我的博客下留言。为了完成这篇博客,我将《构建之法》每一个章节都进行了阅读,书中还有很多博客的链接我也大多点开来看,对于提出的问题也事先在网上做了充分的调查和搜寻,给出了自己的理解和尝试性的解答。虽然一周的阅读时间很短,但是这个过程真的十分漫长,看完《构建之法》感觉自己在理论上已经开始尝试着从软件工程的思维去思考问题。特别是对PM的章节,除了书之外还搜索了很多地方关于Program Manager和Product Manager的区别,并尝试着将自己代入体验。

? 2020年3月10日下午18:59,发布了“深度评测官”——记2020BUAA软工软件案例分析作业,对候选素材中最难啃的OCR识别表单的开源工作进行了测评,做第一个吃螃蟹的人,后面总结了经验推广开来,陆续也出现了几篇OCR的测评,收获了1754次阅读,成为了后面团队开发时的产品介绍。在这次作业中,开始体会软件之间的差异,开发软件需要侧重什么,什么样的软件是一款优秀的软件。

? 2020年03月21日,我和我的组员拼装成了一个团队,并给我们的团队发布了第一篇博客——“介绍一下自己吧”——记2020BUAA软工团队介绍和采访

我们是 BUAA软软软件工程小队 ,简称 软软软,但是大家也可以看到我们的博客的 TITLE 是 HARD_CORE_SE,指的是 “硬核的软件工程” ,软软软其实是希望我们遇到硬核的软件工程也可以 化硬为软,直面困难,在我们的眼里没有 硬核 二字,一切困难在团队面前都是纸老虎!
虽然我们都没有大型的工程经验,是一直拼装起来的军队,但是我们相信通过我们团队的配合一定能够在软件工程这门课中发挥出色,不只是取得成绩,而且能做出像样的、能流传的、实用的项目出来。

? 虽然当时我们还没有选好题目,但是我们核心的目标已经确定——做出像样的、能流传的、实用的项目出来。

? 2020年4月1日,我们团队发布了项目选择博客——“妈妈再也不用担心我忘交作业了!”——记2020BUAA软工团队项目选择,结合本学期的疫情分析了同学们的痛点,决定开发一款帮助同学规划提醒日程的Web应用,而我作为想出这个点子的人,对这个应用有什么页面,有什么功能,能够实现什么最为清楚,因此成为了团队的负责人。

? 2020年5月5日,修复完所有的Bug、走过不知道多少次流程,我们确定首次公开发布我们的产品——DDLKiller,一款专门面向北航本科生设计的日程提醒助手,并在朋友圈,班级微信群,QQ群等小范围内进行推广:技术图片

? 从后台统计数据来看,发布第一天注册用户达到77人,第二天达到148人,仅仅使用两天的时间就已经超额完成预期的100人,并且从反馈来看,同学们对这一款简洁美观、功能强大的日程管理助手非常满意,并且积极给我们提供反馈意见,帮助我们在Beta阶段做的更好。

? 第一次发布说实话是非常忐忑的,我们熬了无数个夜晚,开了无数的视频会议,做了无数次测试的软件,突然开放给大家,不知道大家是喜爱,还是无感,我们当天晚上守在后台,看着注册登录的日志,看着注册的人数一个一个往上涨,一个一个开始新建事项,使用我们的功能,守到过了午夜1点仍然没有异常,我们的心才放了下来,大家相互鼓励,洗洗睡了。

? 2020年6月2日,又经过一轮的迭代,我们发布了Beta版本的DDLKiller,虽然是6月2日发布,但是用户们早已体验过新的功能,结合很多人性化的新功能进行二次推广,用户量达到240人,相比Alpha阶段增长90人。后来经过最后一次项目展示答辩,我们的软件工程这门课程,结束了。

? 但DDLKiller还没有结束,就像我们UltraSoft - Beta - Postmortem事后分析中所说的:

BUAA - UltraSoft - 软软软小组 2020春大三下学期的软件工程, 全剧终。

但我们DDLKiller的故事还在继续,不要走开,马上回来

? 我们还留了两个功能没有实现,我们感受到了大家对客户端和小程序的呼声,我们希望在自己的大学生涯中,甚至在未来的生活中,依然继续使用这款我们亲手打磨,亲手建设的产品,说实在的,我们还挺不舍得的。虽然在专业人士的眼中看来这个实现非常简单,可能一个前端大神两天就能做完的事情,一个后端大神一天就能写完的东西,我们却花了整整一个学期。

? 可是,我们在这个学期里面不是学习的如何写前端,如何使用Vue,不是学习如何写后端,如何使用Django,我们团队的账号发表了39篇博客,技术博客都是在我们的个人账号中发表,这说明什么,团队博客中所记录的,是实实在在的软件工程。那一篇篇设计与规划、Scurm Meeting、发布说明、测试报告、项目展示、事后分析,是DDLKiller像一个新生儿一样,成长的记录。

? 我们学会了团队成员之间如何高效合作,我们学会了如何使用Github、Gitee管理团队项目,我们学会了使用MockPlus设计产品原型,我们学会了如何权衡需求和实际。确实专业的工程师照着我们的网站实现一个是很快,但是他可能很难做到从0到1的过程。他没有进行痛点的分析,他不知道用户真正需要什么,他没有一个需求和实际使用之间的权衡,他的开发确实了团队协作的乐趣。

? 说实话刚开始团队开发的时候我还是不习惯多人协作,觉得一个人做完了事就可以省去交流的时间,后来我才发现不是我不会开发,是我不会交流。我们团队后期自研创新的交流方式非常高效,一个石墨文档把锅和坑明确到人,每个人不需要问自己需要干什么,还可以干什么;一天十几个小时在线的腾讯会议,有问题直接进来说,语音来的总比打字快,共享屏幕来的总比截图直接。大家高效交流之后整个难度就下来了,只要说好了谁负责开发什么模块,最晚什么时候需要验收,还有不懂的我们共享屏幕聊,几乎不会产生歧义或者推锅的情况出现。作为一个PM我的体会最深:在Alpha阶段的前期由于缺乏有效的沟通,PM和组员都很累,每个人都有点不清楚自己要干什么,我知道大家要干什么却不能很好布置下去,每天群里的提问和回答带来的却只有效率的低下,我也想着自己一个人做好就算了,要那么多人干什么,但也发现自己越是想全部做完做好越是什么都做不完做不好。这是一段非常难忘的经历,是软件工程这门课提供给我的,给了我一个在步入社会前体验社会毒打的经历,幸好是在课内体会到的,不至于“死”得太惨。

? 回首望去,觉得这学期很长,也不知道是不是疫情在家的缘故,还是无穷无尽的腾讯会议的缘故,虽然只过了3个月,但是感觉自己做了很多事情一样。3个月后再看自己的第一篇博文,确实有了些不一样的体会。

未完待续


[buaa软工第四次]个人作业-提问回顾与个人总结(代码片段)

个人作业-提问回顾与个人总结“阅读和调研”文章链接问题回顾&解答所学知识点需求设计实现测试发布维护理解和心得“阅读和调研”文章链接[BUAA软工第一次]个人阅读作业-阅读和调研问题回顾&解答在“软件工程概论”... 查看详情

提问回顾与个人总结

查看详情

提问回顾与个人总结

提问回顾与个人总结项目内容这个作业属于哪个课程2021春季软件工程(罗杰任健)这个作业的要求在哪里提问回顾与个人总结我在这个课程的目标是初步掌握软件开发技术这个作业在哪个具体方面帮到我对本学期软件工程的学... 查看详情

20180112软工提问回顾

提问回顾:提问链接:http://www.cnblogs.com/LuoboLiam/p/7594679.html1、注释在项目中到底起到什么作用?如果我们在变量以及方法命名上下足功夫,那解释方法工作的注释是不是就可以省略?经过邹老师的解答我对注释有了更深刻的理解... 查看详情

buaa2020软工团队beta得分总表(代码片段)

BUAA2020软工团队beta得分总表目录BUAA2020软工团队beta得分总表一、团队累计得分累计得分图得分总表二、各项得分计算规则及评审结果各项得分规则Beta阶段Scrum分记录展示结果评分表展示结果百分制表各组详细打分列表三、团队互... 查看详情

软工网络15个人阅读作业2

提出问题快速通读教材《构建之法》,并参照提问模板,提出5个问题。如何提出有价值的问题?请看这个文章:http://www.cnblogs.com/rocedu/p/5167941.html,以及在互联网时代如何提问题。还有这些要点:在每个问题后面,请说明哪一章... 查看详情

201521123074顾芷菱软工网络15个人阅读作业2——提问题

【问题一】书中第四章4.4.2代码复审的步骤部分,第五个步骤说道:复审者有权提出很多看似吹毛求疵的问题,复审者不必亲自调查每一件事,开发者有义务给出详尽的回答······要记住复审者是通过这些问题来确保软件质量... 查看详情

[buaa-se-2017]个人作业-回顾

个人作业-回顾提问题的博客:[buaa-SE-2017]个人作业-Week1Part1:问题的解答和分析1.1问题:根据书中“除了前20的学校之外,计科和软工没有区别”所以计算机科学这个专业也许在我们学校是和软件工程有区别的,但是可以料想的是... 查看详情

提问回顾

个人作业-Week1传送门自问自答Q1:“ScrumMaster不是一个官,而是一个没有行政权力的沟通者,就像微软的PM那样。他/她同时还要在团队中做具体的工作。直接把原来的‘经理’变成ScrumMaster,大多行不通。”当一个团队在进行敏捷... 查看详情

软工网络15个人作业

Task1&2:注册个人博客及码云账号201521123009张晨晨个人博客码云Task3:完成博客-阅读与思考 查看详情

个人介绍,软工五问

...8软件工程3班技术情况:掌握C语言基础兴趣:汪曾祺散文软工五问:什么是软件工程?软件工程对于软件工作专业有什么意义?如何学好软件工程?学好软件工程对个人有哪些方面的提升?实际企业项目与个人项目有多大差别? 查看详情

提问回顾

提问回顾以前问的问题个人开发流程里面的PSP表格中,开发阶段发现没有程序优化这一项,但是开发过程中程序的优化感觉上是必不可少的一部分,那么为什么PSP表格所描述的个人开发流程中没有优化这一项呢?优化可以认为是... 查看详情

软件工程实践总结

...软件工程实践总结&个人技术博客这个作业的目标课程回顾与总结、个人技术总结其他参考文献软工实践寒假作业(2/2)、《构建之法》课程回顾与总结问题分析点击这里查看寒假作业中提出的问题。问题一:我们是否应该在... 查看详情

我的2020个人成长回顾:花足够长的时间,有智慧地做“无用功”

2020时代大背景与个人职业选择2020太魔幻了,一晃而过,回想起去年坐在办公室写年终总结的我,仿佛就在昨天。大家都说2020很糟糕,但对技术圈来说,可能也还不错,艰难中透出了曙光。过去的二十年是中国经济飞速发展的二... 查看详情

软工实训--学习回顾2

Mybatis的建立,涉及的代码:Dbutils.java:packagecn.neusoft.mybatis.jdbc;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.sql.SQLExceptio 查看详情

[福大软工]z班——个人技术博客评分

个人技术博客作业地址https://edu.cnblogs.com/campus/fzu/SoftwareEngineering2015/homework/1070作业要求个人技术博客单次作业满分为10分,博客的形式与内容不做任何限制,但要在博客中说明博客所介绍的技术与团队项目的关系。第一次个人技... 查看详情

[2017buaa软工]第一次个人项目数独的生成与求解

零.Github链接https://github.com/xxr5566833/sudo一.PSP表格 PSP2.1PersonalSoftwareProcessStages预估耗时(分钟)实际耗时(分钟)Planning计划  ·Estimate·估计这个任务需要多少时间10 Development开发  ·Analysis·需求分析( 查看详情

提问回顾

提问回顾提问回顾个人作业week1书中提到瀑布式的开发方式,在实现软件开发过程中,各个阶段都可能会有遗留问题,并可能使得下一阶段难以进行,因此需要回头解决问题。在实际的开发过程中,分配给每个阶段的时间都是有... 查看详情