人生当自勉,学习需坚持

221900228_叶小杰 学生 2022-06-24 17:41:45
这个作业属于哪个课程2022年福大-软件工程、实践-W班
这个作业要求在哪里软件工程实践总结&个人技术博客
这个作业的目标回顾寒假作业对《构建之法》中问题的看法
写出自己在这门实践课程中的总结和收获
其他参考文献

目录

  • 第一部分 课程回顾与总结
  • 一、曾经的问题与如今的看法
  • 1. 个人在团队中应该只是一个流水线上的机器吗?
  • 2.低层次的问题能依赖工具解决么?
  • 3.敏捷开发是否会容易拉长项目最终完成的期限?
  • 4.商业价值与开源精神是否矛盾?(仍不明白)
  • 5.成功的公司都必须具备“追逐利润”的价值观吗?
  • 二、阶段的收获
  • 1.需求阶段
  • 2.设计阶段
  • 3.实现阶段
  • 4.测试阶段
  • 5.发布阶段
  • 三、理解与心得
  • 1.个人项目
  • 2.结对项目
  • 3.团队项目
  • 四、课程目标与掌握程度
  • 第二部分 个人技术总结
  • 一、博客链接
  • 二、技术概述

第一部分 课程回顾与总结

一、曾经的问题与如今的看法

221900228_寒假作业二

1. 个人在团队中应该只是一个流水线上的机器吗?

我仍然不认同
除了寒假阅读《构建之法》中认识到的“灵感”外,在本次软工实践的过程中,我感受到了团队中的个人与流水线上机器的更大区别。个人在团队中不应如同流水线上的机器,团队协作不是一堆任务分发下来后每个人各做各做,做完就不管,而是需要大家互相协作互相配合,在实验之中互相交流协作,在协作之中取得共识从而推动项目的进程,一昧地干自己的活而不关心他人需求、甚至怎么催都不干活只会导致项目延期甚至团队崩溃。

在这里插入图片描述

2.低层次的问题能依赖工具解决么?

在本次实验过程中,我与上次作业的回答基本一致。在编写前端代码的过程中,我对该项目所使用的vue所提供的文档知识仍不够了解透彻,基本上都是依赖于Hbuilder这一软件结合官方文档使用自带的函数和类编写代码,并且由于时间问题,未去了解该技术的底层如何实现,以及其如何解决低层次的问题,因此我的看法仍和之前一样:我认为在学习一项技术的初始阶段,依赖工具是十分方便初学者进行使用与学习的;在达到一定水平后,便可以开始尝试摆脱工具的依赖,逐步深入的了解技术底层的原理与构造,更好的从根本上熟悉并掌握一项技术。

3.敏捷开发是否会容易拉长项目最终完成的期限?

本次α与β冲刺均采用敏捷开发,我个人感觉敏捷开发应该不太会拉长项目最终完成的期限,虽然我们的项目对于需求较为稳定、基本没有做出太大的修改,但是可能由于我们的时间分配来说较为充裕,在原本规定的时间要求内能仍有余力完成任务,因此没感受到项目最终完成时间的拉长(可能是因为我默认超时才算拉长0-0)。或许在项目对人力资源分配紧缺、时间安排较为紧凑、且需求稳定的时候,敏捷开发才会给人拉长期限的感觉??

4.商业价值与开源精神是否矛盾?(仍不明白)

emmm,该问题相关内容在本次实验中较少接触,未能有所更深的体悟。希望能给予解答~

在这里插入图片描述

5.成功的公司都必须具备“追逐利润”的价值观吗?

也许,公司对于某些人来说就是为了争取利润,“追逐名利”的价值观更适合他们争取更大的利益,就如同本次实验过程中努力争取更高的得分。但是,其中不乏有些成功的公司是为了实现自己的追求,就本次实验而言,有些小组选题十分符合自己的兴趣,因此斗志昂昂,成败不论,有些小组选题功能较少,为的是更高的功能实现度以及更多的时间分配,有些小组投入大量的心血,在组群众脱颖而出。也许成功会更倾向于给付出更高、追的更远的团队,但在我看来这并非必备的价值观,一昧的追求容易迷失自己的本心,末路便是走向失败。

二、阶段的收获

1.需求阶段

在需求分析阶段,我们小组在组长的带领下以任务自选的方式分配任务,大家选择了各自对应的任务,各司其职相互交流沟通,对产品的NABCD各个部分进行分析填写。在此前我对于这种较大规模的团队进行线下合作文档经验较为欠缺(以前最多也就部长副部四个一起做文档,多了反而会乱)。
最大的收获:如何在团队合作中理解问题、分析问题、并将问题表述出来。

2.设计阶段

在这一阶段,我们实现了原型设计、类图设计和用例分析等等。这一阶段我负责的主要是原型设计的主页逻辑部分与少部分的界面。
这阶段最大收获就是:做原型完一定要好好核对下功能是否齐全、风格(如色调,整体观感)是否协调!!

3.实现阶段

在实现的过程中,我是前端开发人员,emmm,要说收获的话,主要还是技术上吧,对vue开发移动端更熟悉了,除此之外,对后端代码的构造也有了一定的了解(因为经常跑去看接口为啥不太对的样子0-0)。
收获:提高了自己对网络请求各问题处理的能力。

4.测试阶段

我们团队的测试工作主要是一位测试人员负责的,我在这一阶段的工作主要就是集成测试,测试各个需求功能能否正常实现,除此之外,便是在自己复制的模块的bug出现的时候进行调试与修改。
收获:提高了出现错误时候定位前端代码的能力。

5.发布阶段

在该阶段,主要的工作是由对应打包负责人以及组长在做,其他成员参与的可能是转发收集用户的反馈。
收获:根据用户的反馈,认识到产品仍然可以完善的地方,比如一键提醒亲友功能等等。

三、理解与心得

1.个人项目

  • 整个个人项目,我感觉比较无聊,实现的主要负责的是逻辑部分,针对功能与测试用例实现程序。
  • 在开发的时候,我使用的是网络获取赛程数据,对于官方网站这种比较权威的网站的接口设计更加了解,比如他们的获取参数、接口名称、如何查找接口等等。
  • 信息收集十分重要!!群里的一两句话可能是程序能否通过的关键,因此需要将群里的信息收集完整去检测程序能否正常运行。
  • 比较可惜的是JProfiler性能测试工具,这一工具不知道是不是下错版本,他缺少了一个cpu占比,怎么调都不行,导致我对测试性能这一模块有所不耐烦,这一模块也做的不是很好。

2.结对项目

  • 在设计的时候,采用的是将组件划分,也是第一次尝试用组件化思维进行程序设计。(现在回顾感觉有些划分不是很合理,因为仍存在耦合现象)
  • 在要求发布之前,由于个人的好奇心,便提前开始了结对项目的开发,连续开发摸索了两周左右,遇到了各种各样的问题,有些问题个人感觉以后还会遇到便用文档记下来,可惜的是由于文档有些地方仍需要补充,再加上自身考研没啥时间,没能按老师要求整理好发出去。
  • 在实现的过程中,我初次将此前学习的vue知识实践到一个较大的程序中,感觉开发的过程是十分舒畅的,在每一项功能实现之后都有种由衷的快乐。
  • 在合作的时候,队友也是很给力,学习能力很强,能用较短的时间快速上手开发一些功能,除此之外还解决了一个大难题:前端部署的跨域问题;可以说十分给力了。

3.团队项目

  • 在确定项目的时候,我们小组便遇到了坎坷,起初我们原先的项目被否决了,我也为此尝试过多种设想,但是均未有更合适的实现,好在队友的思路较为广阔开创,想出了物品临期提醒这一主题,使得我们项目重新焕发生机,也得到了老师的认可。事实证明,需求是需要仔细琢磨的,分析需求的时候主要得看是否真正拥有一定的用户群体,以及该主题是否能经受时间的考验。

  • 在原型设计的时候,让我印象最深的是原型设计第一版几乎没有逻辑功能,于是我在第二版的过程中便补充了该有的功能(可能有些不太需要也补了,现在感觉有点浪费时间,不如做点美化或者风格统一工作)。在这一过程中,由于花了较多时间补充逻辑,再加上不是负责人,并没认真去核对需求文档,以至于快截止的时候核对才发现缺了个数据模块0-0,于是设计的较为匆忙,好在原型设计只是初版设计,在接下来的具体产品中可以实现的更加美观完善。emmm,总之原型还是得认真对待的,在真正工作的时候可能不够完善美观的原型会导致满足不了用户的预期以至于用户理解出错。

  • 在实现项目的过程中,在功能实现的时候,感觉耗费时间比想象的要多的是接口对接,在α阶段的对接工作是后端实现完后将项目部署上去再让前端进行对接(个人感觉可能会损失部署时间),而在β阶段的时候后端人员希望我拉取本地后端测试后再部署(个人感觉本地后端能实现与部署后实现有一定区别而且得改一些东西不太方便),因此对接后端接口的过程产生了分歧,不知道哪种方式比较合适,希望老师或学长学姐能给点宝贵的建议~![在这里插入图片描述](https://img-blog.csdnimg.cn/55e1c0d527bb4446ba829bdaf740b546.webp#pic_center =200x200)

四、课程目标与掌握程度

  • 目标1:理解软件工程师的职业道德规范和实践要求,了解国情社情民情,理解软件产品对社会、健康文化等影响,树立积极向上的软件开发理念。
  • 目标2:掌握需求分析的全过程,能辨别客户表述的多样化要求,熟练使用需求表达工具,能够规范、准确地表达客户的需求,构建需求分析模型。
  • 目标3:掌握软件开发的全过程,遵循体系结构设计方法和基本设计原则,通过正式的技术评审,完成从体系结构设计模型、数据设计模型和构件级设计模型,形成面向高效可靠的服务组件设计方案或软件系统设计方案。
  • 目标4:能够执行从组件到软件系统的技术评测,具备设计模型的评判能力,具有创新设计意识,能够优选设计方案。
  • 目标5:遵循软件开发各阶段文档标准,采用规范的表达,掌握需求规格说明书、系统设计说明书、系统测试报告等文档撰写方法,具备与业界同行交流能力。
  • 目标6:具有良好的团队意识和合作技能,能够与其他成员开展有效的沟通和协作;能够组织、协调或指挥团队开展工作。
  • 目标7:能够辨别具体软件项目管理中涉及的构成要素,掌握软件规模和工作量的估算方法,能够选择合适的工具规划软件进度并对项目管理过程进行配置,具备初步的管理复杂软件工程项目的能力。
目标评分解释
目标185我自认为目前参与开发的软件产品如知期等都具有积极向上的软件开发理念,在大学开始到现在,我通过网络与书籍了解了软件工程师的职业道德规范和实践要求、软件产品对社会的影响,但是对于软件产品对健康文化的影响仍较为陌生。
目标285我在原型设计的过程中,积极完成负责人分配的任务,并主动仔细检查产品的功能情况、分析与需求的一致性,熟练使用axure软件设计原型,但在按钮风格设计上未能发现不一致。
目标385在团队开发的各个过程中,不论是需求分析、前端设计还是开发测试,每一阶段均有参与,并提出自己相应的意见如开发架构等等;在结对开发的过程中充当主要负责人。
目标490在结对作业的时候,便在学习的过程中认识到软件开发的全过程,不过由于并非团队作业,仅设计了组件的构造与项目的架构,在团队作业的时候也在倡导使用组件结构和模块分离的架构,向组员分享了自己的初期设计。
目标585在撰写文档的过程中主动撰写系统设计排版,掌握了部分文档的要求与方法,但仍有些文档涉及较浅,仍不太熟练。
目标685在系统设计文档撰写过程中组织相应成员,通过任务划分与自选分配的形式以及在线文档的方式给队员分工,在软件开发的过程中积极沟通、推动项目进度,防止时间不足。
目标775在项目开发过程中,尝试设计软件规模和工作量的估算方法,但使用进度规划管理相关的软件不多,多数还是靠csdn发表自己的进度。在开发中原本的计划是打算当一期的负责人,然而计划赶不上变化,基本上都是充当普通开发员,因此管理复杂工程上的锻炼较少。

第二部分 个人技术总结

一、博客链接

uniapp:实现下拉加载与上拉刷新

二、技术概述

在如今的移动端软件中,一个可拖动页面是十分常见的,如何获取数据可以既考虑到数据的大小、又方便实现数据获取?
为了让用户可以刷新物品数据、为了防止数据一次性获取的时候数据过多导致的一系列问题,我们使用了下拉刷新和上拉加载技术,其中主要介绍的是上拉加载。

...全文
68 回复 打赏 收藏 举报
写回复
回复
切换为时间正序
请发表友善的回复…
发表回复
相关推荐
发帖
2022年福大-软件工程、实践-W班

136

社区成员

2022年福大-软件工程;软件工程实践-W班
软件工程 高校
社区管理员
  • FZU_SE_teacherW
  • 丝雨_xrc
  • Lyu-
加入社区
帖子事件
编辑了帖子 (查看)
2022-06-24 19:00
创建了帖子
2022-06-24 17:41
社区公告
暂无公告