[2023软工作业]个人作业-提问回顾与个人总结

项目内容
这个作业属于哪个课程2023年北航敏捷软件工程
这个作业的要求在哪里个人作业-提问回顾与个人总结
我在这个课程的目标是掌握软件工作开发方法,并进行实践
这个作业在哪个具体方面帮助我实现目标对软件工程个人、结对、团队项目进行整体反思,保证学习的有效性

一、对个人作业-阅读和提问中提问的回答

(1)5.3.6章节对MVP(最小可行产品)的疑问

在对MVP的描述中,举了这样一个例子:

 一个社交网站已经有很多用户,都是免费的,产品团队想设计一个付费的VIP服务,MVP的做法可以是这样的——在目前的用户入口页面中加一个“VIP服务”的连接,指向一个简单的介绍页面(用最小成本做出了)。观察到底有多少用户点击这个链接。如果点击量太小,那么这个服务就不用做了。

我仍然认为此前的疑问是有理由的。

但同时,在项目实践中也遇到过需要调研服务的情况,我认为对于多类型的用户进行调研,以此判断该服务的必要性是可行的方案之一。

(2)8.6.3章节经验公式

在对估计实际时间花费中,提出了这样一个经验公式:

 Y = X ± X ÷ N //注:Y是实际时间花费。中间的±表示加上或减去。
 其中:对某件事的估计时间X,以及做过类似开发工作的次数N。

问题提出:我认为该经验公式的不合理处在于,没有考虑对于身边知识资源利用的作用。并且过于夸张了在没有经验时软件工作人员对于估计的偏差。

在团队项目中,有出现过这一情况:一名前端队员不会使用elementPlus组件库,于是一直自己手写css样式,结果是时间开销长且样式不好看,甚至需要重构以至于花销更多时间;后来他学会了使用组件库,并且能很好利用el-row, el-col布局组件,结果是时间开销短且样式好看。

这说明有的时候关键技术的学习,并非取决于相关工作的次数N,可能只需要一个契机或者一名组员的帮助。对于该同学而言,第一次首先css时N可能是等于1的,但是后续其他的所以工作,N可能是一个很大且稳定的数。

所以我认为该公式并非对所有时间估计均有效的。

(3)9.4章节团队讨论

在团队项目的会议中,我们的氛围一般是先乐观再严肃的,严肃的状态代表着对于会议的内容均有理解,对于后续的开发计划表现出自信且认真的态度。因为我们在会议中会对于目前的开发进展进行回顾,对后续的开发任务进行分工,,保证开发的有序进行,不超出预期范围。

我认为我们的会议氛围很好,适合于我们团队组员间的默契。我们认为具体的会议风格应该由项目pm的作风、成员的性格、相处时间、进展情况、项目时常、会议频率、开会意图等一系列条件综合考虑。

(4)10.1.3怎样定义典型用户

典型用户应该在软件设计时就已经考虑到了。就我所在团队项目BUAAMapForum而言,项目设计之初就是为了便捷北航学生/教师(或是对北航有兴趣了解的人),方便用户在北航生活/参观。所以我们的典型用户一定有北航在校学生、北航未入校新生、北航学生家长等。这些典型用户不代表着大群体(与所有能使用软件的人相比),但是这保证了我们的软件一定有作用,有用户使用。另外,我认为软件设计面对的用户群体越大,软件本身的意义越小(这里的意义是指设计一种当前不存在的功能,即避免与已有软件竞争)。

所以我认为我当时的想法是错误的,典型用户的确定一定要回归软件的设计目的。

(5)11.1.3其他设计方法中的文学化编程

在项目实践中,由于是敏捷开发的项目,开发时间紧迫,且每人维护自己模块的代码,所以偏文学化编程的思想是不实际的。

事实上,我认为文学化编程在如今并没有流行的原因就是其编程效率底下;并且虽然文学化让编程逻辑更趋近于人类思想,但对于程序员来说,读别人的代码和读注释都有一定的花销;另外,频繁写注释实在是让程序员难以忍受。

二、在项目的 需求/设计/实现/测试/发布/维护阶段中学到的内容

  • 需求:要将软件设计的目的确定好,并以此确定典型用户,判断软件的核心功能、实现方法

  • 设计:团队共同设计,每个功能要确保前后端同意设计思想,并且确定好前后端对接人员

  • 实现:充分运用好git代码管理的功能,每个模块实现的时间跨度尽量小于一天,避免与dev分支产生过多冲突

  • 测试:对于前端而言,xss注入、避免明码传输等是极其重要的

  • 发布:尽可能针对典型用户进行发布推广

  • 维护:提供反馈平台,尽可能快地解决反馈内容

三、结合在个人项目/结对编程/团队项目的经历,谈谈自己的理解或心得

本学期的软工课程是一门很花费时间和精力的课程,但是在课程中,并没有感受到开学前所认为的折磨与劳累,而是觉得很有趣也很有意义。

我认为这主要感谢我的队友——不论是结对编程还是团队项目,他们都很有责任感,都能够很好地交流,互相学习、取长补短,在共同开发期间,我们渡过了一段愉快的合作时光。

在技术上,考虑到上学期数据库课程大作业我就担任前端,有一定的基础,所以我本次项目中也继续担任前端。虽然使用的开发框架、工具相同,但是经过本课程的实践,从队友中学到了更多的技巧。同时,我也主动承担了许多需要探索的工具使用任务,提高了自己对于前端的了解。

对于软件工程本身,我真正体会到了一个项目开发的不易,从需求分析到最后的维护,每一个阶段都极其重要,都有许多收获;而不是仅仅在coding。

最后,再次感谢各位老师、助教的付出,感谢队友们的帮助,让我有一次良好的课程学习体验和开发经历。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值