高等软工第一次作业
一、前言
对于软工这门课程,体验过的学长对其的评价褒贬不一,但始终绕不过去的点是其工作量较大,做的事情相较于磕盐也属于剑走偏锋,有人沉醉其中,也有人浑水摸鱼。于我而言,这将是一次宝贵的学习机会。在学校呆久了,会发现学校教的知识相对于工程实践总会存在差距,如何在具体的工程项目中灵活使用所学内容,如何在开发过程中快速学习自己未曾涉足过的方向,这些既是难题,也是机遇。
大而空的东西点到为止,选一门课的原因无非两点,期望能学到东西or期望能混到学分,软工显然不属于第二种,那就在后续简单聊聊我期望能学到些什么。
二、背景&期望
背景
大三的时候听闻数据库实验课程=前端技术大乱斗,对于前端技术一窍不通的我不太能够接受这一设定,故对这一课程敬而远之。虽然没有选这一课程,但本人就此对前端技术萌发了一万个好奇心。因此在大四期间抽空感受了一波社会的毒打,顺手偷了一套前端开发的技能,半年时间里成功从前端小白进化成为走出新手村的前端小白。奈何精力有限,毕设占据了大多数时间,前端方面依然有很多只听过没见过的技术or工具未曾体验过,升至研一回归校园后,默默等待着这样的学习机会。
期望
顺着时间线走到现在,期望掌握的能力非常明确,总结为以下几点
- 需求分析:依照功能需求,划分出不同的功能模块,掌握拆分后端接口以及前端组件的能力
- 前端设计:包含组件的布局、色调的挑选、交互的逻辑,掌握某个前端设计工具的使用
- 文档书写:将文档作为同步进度、描述设计的工具,掌握书写高质量文档的能力
- 前端开发:采用一种本人未曾使用过的开发框架完成开发,掌握nextjs的使用
- 团队合作:合理分工,充分沟通,能够和各位组员共同完成所选项目
三、项目成功因素
对于项目的成功与否,首要的是能够完成所给需求,这是硬性标准无可回避。其次是提升用户体验,可以是提升可靠性、安全性,也可以是扩展应用功能,优化交互逻辑,又或者是提升性能、覆盖边界情况。
以上内容可以作为最终目标,作为项目完成的标准。不难发现这是一个弹性很大的目标,可以完成的很好,也可以勉强碰到合格线。为了更好的逼近上限,个人认为可以从以下几个方面进行发力:
- 对技术栈的熟练程度决定了项目最终效果。熟练的使用工具能够显著提升开发速度,同时回避初学技术时可能踩到的坑,从而能够以更少的bug以及更高的完成度,实现项目开发。
- 设计者独到的眼光决定了项目的上限。设计是项目最初的样貌,之后的实现可以是设计的代码实现,也可以是设计的扩展丰富,但无论怎么说,都回避不了设计的重要性。好的设计能够为后续开发省去多次迭代的成本,真正赢在起跑线上。
- 展示者的宣传能力决定了用户的第一印象。好的宣传配上好的产品,能够充分向用户展示产品的功能和优势所在,给用户带来较好的第一印象。
- 团队意见统一、共同发力决定了项目的开发效率。团队较高的凝聚力能够使每个人都置身其中,要避免个人英雄主义和浑水摸鱼的现象出现,每个人各司其职才能合作共赢。
- 组长的组织能力决定了每位组员的开发体验。组长作为组织者和领导者,需要对项目发展和分工提出关键性意见。当项目开发陷入瓶颈或需要做出决断时,需要组长能够站出来并理性做出决策。
四、学习计划
项目介绍
基于订单的家庭工厂协作系统:典型的生活日用品制造业往往由一组家庭式工厂协同配合,共同生产和组装,完成最终订单。系统有几个关键功能:下单(接单)、订单分解、订单分配、订单进度追踪、订单完成风险评估、订单完成效果分析等。要求实现基于网页或手机端的系统。
个人计划
| 时间 | 计划 |
|---|---|
| 第3-4周 | 学习nextjs基本用法并配置环境。 |
| 第5-6周 | 完成前端脚手架搭建。 |
| 第7-8周 | UML设计,完成初版设计稿. |
| 第9-11周 | 结合mock数据完成前端开发。 |
| 第12-18周 | 对接后端并进行项目测试。 |
| 整体计划 | 课程结束后能够完整走一遍web设计开发流程,时间允许的情况下希望能接手部分后端开发工作。 |
团队计划
| 时间 | 计划 |
|---|---|
| 前期 | 完成需求分析和团队分工 |
| 中期 | 完成项目实现,彼此之间充分沟通便于之后对接 |
| 后期 | 对接工作,进行测试和迭代 |

浙公网安备 33010602011771号