正想着团队项目中数据该如何解析,就收到了来自软工课程组的一件小黄衫,真是意外之喜。详问其来源,竟是因结对项目做的“较好”而来,顿感受之有愧。

结对项目是两人对文件系统的一个小模拟,尽管也有多人合作、需求分析、架构设计及优化、代码实现和测试、进度管理等多个组成部分,与传统的 OO 题目不甚相同,但与真实的团队软工还是相差较远的。这种题目的需求是相对明确、能够进行近乎严格的正确性测试的,而在团队项目中,我深刻地体会到真实项目的需求分析远远难于此。

团队项目不是一个问题的需求分析,而是多个问题:比如我们团队近取 Key ,在后端需要单词数据以及单词间关系的数据,这些数据有的可以直接从 mdx 等字典文件解析而得,有的需要从网络上爬取、搜集各种类型格式的文件而得,但最终都需要以统一的格式存入数据库中,其中每一部分文件的解析都需要进行需求分析和设计,以及错误设计:因为很多数据都是经过了人手,必然会存在一些错误(比如 submit 写成 sumit 等),如何尽量少地避免因为数据的错误而导致推荐的不准确、如何将获取数据中用户所感兴趣的数据提取出来,每一个任务都需要一个较为完整的流程,甚至任务之间可能是并行的。因此,为了防止处理失误,在开发时我不得不在 issue 中明确每一步的处理、完成状态(如这一个 issue),并撰写详细的需求分析和设计文档以备查看。奇怪的是,并不是课程组要求我们做 issue、要求我们写文档,而是这些问题都是我们开发过程中理所当然要做的,我们需要做,那么自然而然的就会去做。部分方法的单元测试也是,认为可能出错,那么就去做,而有一些逻辑过于显然的方法,我们也暂且没有做测试,不知这样处理是否得当,最后的结果就是单元测试的覆盖率较低。

个人博客、结对和团队开发的过程都是非常紧张而愉快,同时又收获颇丰的,非常感谢课程组能够为我们提供这么一个实践软工的机会;但同时在团队开发初期,课程组似乎下偏了功夫,导致我们团队需求分析很明确的情况下还需要受到较大的来自奇怪主观判断的压力,因此收到黄衫后也一直没有时间写这篇感言;不过总体的感觉是很棒的。希望能够在 Beta 阶段更加丰富自己的软工实践经历,更加深刻地认识和实践软工。

btw,搜索黄衫全是倚天屠龙记里的黄衫女子,不知道课程组是否有此隐喻,哈哈。黄衫上的 Learning By Doing 蛮赞的。

黄衫女子,黄衫好.png的更多相关文章

  1. 技术的正宗与野路子 c#, AOP动态代理实现动态权限控制(一) 探索基于.NET下实现一句话木马之asmx篇 asp.net core 系列 9 环境(Development、Staging 、Production)

    黄衫女子的武功似乎与周芷若乃是一路,飘忽灵动,变幻无方,但举手抬足之间却是正而不邪,如说周芷若形似鬼魅,那黄衫女子便是态拟神仙. 这段描写出自<倚天屠龙记>第三十八回. “九阴神抓”本是& ...

  2. Build to win!——获得小黄衫的感想

    UPDATE: 应栋哥要求,上传了无遮挡的正面照(我的内心其实是拒绝的!(ㄒoㄒ)) 一.前言&背景 从大一上C++课程开始,栋哥就开始安利他大三的软工实践课. 时间过得飞快,大学转眼就过去一 ...

  3. Build to win--来自小黄衫

    写在前面 首先非常荣幸.非常侥幸能以微弱的优势得到这次小黄衫,感谢各位老师同学的帮助,也谢谢来自<构建之法>团队的小黄衫赞助! 这次能够获得小黄衫,就像汪老师上课说的那样,其实,是一个积累 ...

  4. 小黄衫 Get

    小黄衫 Get .   十分荣幸在前四次作业中以微弱的3分之差拿到了第一,获得了本次的小黄衫. 先发点牢骚.. 讲道理,原本以为的研究生生涯应该就是埋在论文堆里度过的时候顺便上上课.当初选课的时候,学 ...

  5. Beta冲刺吐槽&&获小黄衫心得

    引 个人感觉本次Beta冲刺最大的槽点还是--反向延长 "冲刺周期" 做的不一样很容易,做的更好才是非常困难的 遗留的问题 经历了Alpha冲刺,组内大多数同学也大都对实践感到些许 ...

  6. M码小黄衫买家秀=w=

    M码小黄衫买家秀=w= 17°的天气穿不了短袖polo..就只能这样强行上图啦~ 因为我一直耿耿于大一面向对象课上拿到的那件XL码小黄衫,长到能穿到膝盖,拍小黄衫全家福时候只能很凄凉的借了件小号的穿, ...

  7. Beta 反(tu)思(cao) && 获小黄衫感言

    写在前面 终于要结束了...我的心情就像走在沙漠中的人看到了一片绿洲一样,身体很疲惫,心情是自由自在~ 这是一篇总结反思的博客 (为了附加分),顺便把早该写的获小黄衫感言一起发了. Beta 反思 做 ...

  8. 18计科学期总成绩明细 && 小黄衫团队预选

    1.个人所有作业+团队作业总得分排名 2.千帆竞发图 3.各团队每次作业得分汇总 根据团队成绩排名,众志陈成队得分最高,预选为小黄衫团队. 对团队成绩有异议的团队,请在成绩预选发布后的两天内私信助教解 ...

  9. C语言—期末小黄衫获奖感言

    小黄衫获奖感言 一,感谢环节 非常感谢邹欣,周筠老师给提供的小黄衫,我非常荣幸的能够获得这个奖项,我感到无比自豪.感谢两位老师对教学事业的大力支持,对我们学生的亲切关怀.同时感谢我的C语言老师彭琛(琛 ...

随机推荐

  1. OCPC产品初探

    OCPC即Optimization CPC,今天我们就来看看它的Optimizaton在哪儿. 在广告模型初探(一)中我们就曾提到过,互联网广告的本质其实就是流量的买卖.是广告主.媒体方以及用户三方之 ...

  2. asp.net core 2.0 web api + Identity Server 4 + angular 5 可运行前后台源码

    前台使用angular 5, 后台是asp.net core 2.0 web api + identity server 4. 从头编写asp.net core 2.0 web api 基础框架: 第 ...

  3. SFDC 利用Schema.Describe来取得Picklist所有的选项

    Salesforce的开发语言Apex与Java极为类似.也有封装,基础,多态特性. 并且也能 反射,Object的属性和Field属性. 今天主要记录的是一个需求:Visualforce Page或 ...

  4. 第25 章 : Kubernetes 网络模型进阶

    Kubernetes 网络模型进阶 本文将主要分享以下五个方面的内容: Kubernetes 网络模型来龙去脉 Pod 究竟如何上网? Service 究竟怎么工作? 啥?负载均衡还分内部外部? 思考 ...

  5. 仿VUE创建响应式数据

    VUE对于前端开发人员都非常熟悉了,其工作原理估计也都能说的清个大概,具体代码的实现估计看的人不会太多,这里对vue响应式数据做个简单的实现. 先简单介绍一下VUE数据响应原理,VUE响应数据分为对象 ...

  6. 【C/C++】memset方法的误区

    目录 一.前言 二.函数作用 三.效率对比 四.误区总结 1.按字节设置 2.设置的值只有最低字节有效 3.堆内存不可直接 sizeof 取首地址 4.传参数组不可直接 sizeof 取首地址 一.前 ...

  7. C# WebView2 在你的应用中使用Chromium内核

    什么是WebView2? Win10上对标Edge浏览器 Chromium内核 简单的可视为WebBrowser组件的升级版 如何使用WebView2? 官网下载 WebView2 RunTime V ...

  8. 安卓安装kali linux之Termux

    解决安装kali无模组问题 https://blog.csdn.net/weixin_44690490/article/details/108599693?utm_source=app 步骤 1.获取 ...

  9. 2021浙江省程序省赛(ACFGJLM题解)

    A 签到,加起来就行了,记得等于属于先手赢(2A) C 题意 给八个点三维坐标,问是否在三维是立方体 思路 八个点的连成56条线,如果是立方体的话有8条,24条,24条相同的线,且都不相同 用map存 ...

  10. Go+gRPC-Gateway(V2) 微服务实战,小程序登录鉴权服务(六):客户端基础库 TS 实战

    小程序登录鉴权服务,客户端底层 SDK,登录鉴权.业务请求.鉴权重试模块 Typescript 实战. 系列 云原生 API 网关,gRPC-Gateway V2 初探 Go + gRPC-Gatew ...