软件工程实践总结——路漫漫其修远兮

222200214吴思 2024-12-14 23:08:31
这个作业属于哪个课程2401_CS_SE_FZU
这个作业要求在哪里软件工程实践总结&个人技术博客
这个作业的目标课程回顾与总结、个人技术总结
其他参考文献构建之法

目录

  • 第一部分 课程回顾与总结
  • 1.1 曾今思考过的问题
  • 1.2 再次思考
  • 1.3 新的问题
  • 1.5 在这门课中获得的成长
  • 每个阶段收获最大的知识或能力
  • 需求阶段
  • 设计阶段
  • 实现阶段
  • 测试阶段
  • 发布阶段
  • 1.6 心得体会
  • 1.6 自我评估
  • 第二部分 个人技术总结

第一部分 课程回顾与总结

1.1 曾今思考过的问题

对于构建之法问题的思考

1.2 再次思考

  • Q1: 有了GPT类的应用,传统的搜索引擎是否会被完全替代?

    我依旧觉得短时间内传统的搜索引擎不会完全被GPT类应用代替,通过一学期的使用以及全面的测试,我更深刻地体会到 GPT 等应用的不足,特别是在逻辑推理方面,GPT 等应用往往不能提供。搜索引擎能够提供广泛的信息范围,包括网页、文章、图片、视频等各种类型的内容,而GPT类应用的信息来源主要是其训练数据以及对于网上内容的整合,以我常用的 kimi 举例,当我进行提问时,kimi会给我回答并且点击引用内容会得到对应的网址。此外我认为不过于依赖 GPT 等应用直接获取答案,应该又自己的逻辑思考。

  • Q2: 对于一名工程师而言,究竟应该是更”专“一点好,还是更”广“一点好呢?

    我依然坚信,专业精深必须建立在广泛的知识基础之上,这一点我在团队合作中有了更深刻的体会。在团队协作中,我们不仅要精通自己的职责领域,还应对其他成员的工作有所了解。这样,我们才能更好地理解队友的工作内容和他们面临的挑战,从而促进团队的沟通与合作。至于自己负责的部分,只有追求卓越,精益求精,才能确保项目达到高标准的完成质量。

  • Q3: 工作时是否应该带着个人、感情驱动的因素?

    我感觉工作时尽量不要带上感情驱动因素。面对新的技术和没完成过的项目的时候,很容易会有畏难心理以及担忧,并且在团队合作时,会遇到对接上的问题,这些心理很容易影响自己的工作进度以及工作状态。正如书上说的:一个成熟的团队成员必须从事实和数据出发,按照流程,理性地工作。工作时应该尽可能摒弃个人情感,用理性角度看待问题、进行开发、与其他成员对接。

  • Q4: 在团队项目中,是选择有利于自身成长、最具挑战性的工作;还是有利于团队、有把握的完成的工作?

    在团队项目中,面对工作分配的抉择,我们往往需要在个人成长与团队利益之间找到平衡点。选择那些既能够促进自身成长,又具有一定挑战性的工作,无疑是一个理想的选择。在当今这个技术日新月异的时代,我们每个人都面临着不断学习、不断进步的压力。对于处于能力提升阶段的我们来说,跳出舒适区,迎接新的挑战,是实现个人成长的重要途径。
    面对不熟悉的工作,我们往往会低估自己的潜力和适应能力。实际上,许多工作的难度并没有我们预想的那么高。基于对自己的学习能力和适应能力的信心,我们应该勇于承担那些具有挑战性的任务。这样做不仅能推动个人技能的提升,还能增强团队的整体实力和灵活性。
    当然,选择工作时,我们也需要考虑到团队的需求和项目的实际情况。在确保能够胜任工作、保证项目进度和质量的前提下,适当地接受挑战性工作,是一种对个人和团队都负责任的态度。通过这样的实践,我们不仅能够积累宝贵的经验,还能在团队中树立起积极进取的形象,为未来的职业发展打下坚实的基础。

  • Q5: 团队成员的学习能力不一,要如何平衡?

    通过本学期的团队合作经历,我深刻体会到,学习能力并不是一个单一的维度,而是一个多维度的概念。每个团队成员都有自己擅长和喜欢的领域,在这些领域中,他们的学习效率和能力往往更高。因此,作为团队的领导者或协调者,我们应当尽量根据每个成员的特点和优势来分配任务。这样做不仅能提高项目的完成质量和效率,还能激发成员的工作热情和创造力。
    同时,我们也要考虑到个别成员可能会遇到学习状态不佳的时期。在这种情况下,可以适当减少他们的工作量,以避免过度压力影响他们的学习效果和工作表现。此外,在绩效考核时,也应当考虑到这些因素,给予适当的调整,以保持团队的公平性和激励机制的有效性。

1.3 新的问题

软件的行为和用户的期望值不一样,就一定是 Bug 吗?

软件的行为和用户的期望值不一样,并不一定就意味着是Bug。

  • 需求不明确或变更:如果软件的行为符合设计文档和需求规格,但用户期望的结果与之不符,可能是因为需求在开发过程中发生了变化,或者需求本身没有被准确捕捉和定义。
  • 用户误解:用户可能对软件的功能有误解,期望软件能做它实际上不支持的事情,这种情况下,问题可能在于用户教育或文档说明不足。
  • 设计缺陷:软件可能按照需求设计和实现,但设计本身存在缺陷,导致软件行为不符合用户的实际使用场景或预期。

1.5 在这门课中获得的成长

我从这门课获得了超出自己预期的成长。我从这门课学到了如何与压力相处,在压力面前不气馁继续工作。压力产生动力,这门课的压力属实不小,但也是正因为这些压力,我学习了很多的技术,自身能力得到很大的提高。
我学会了如何与团队成员进行沟通合作,一个项目的完成需要负责各个部分的成员共同努力以及交流沟通,在。我特别喜欢我们团队的氛围,团队成员不会给彼此很大的压力以及评判,相反的在压力大的时候会相互鼓励,从始至终我们团队的合作氛围一直很好,大家都向着一个目标努力。当看到自己的工作落地展示成前端界面,给我很大的成就感。团队成员的高效,精益求精的工作态度让我很敬佩,给我很大的鼓舞。

每个阶段收获最大的知识或能力

需求阶段

  • 需求分析:通过学习并运用NACBD(需求分析方法),我学会了如何准确捕捉和分析用户的真实需求,这是确保项目成功的关键第一步。
  • 文档撰写技巧:撰写需求规格说明书的过程中,我提高了我的技术写作能力,学会了如何清晰、准确地表达复杂的技术要求和业务逻辑。

    设计阶段

  • 原型设计技能:我学会了使用Adobe XD等工具进行原型设计,这让我能够快速、直观地展现用户界面和交互流程,为后续开发打下坚实基础。
  • 设计思维:在设计过程中,我学会了如何从用户的角度思考问题,以及如何将这些思考转化为可行的设计方案。

    实现阶段

  • 后端开发实践:在结对开发的实践中,我负责后端开发,这让我进一步理解数据库和API的构建与管理,提升了我的系统架构能力。
  • 前端开发技能:在团队开发的实践中,我的角色是前端开发人员,我学会了使用微信小程序的开发框架,并熟练掌握了Vue.js框架,这让我在与后端对接接口时更加得心应手。

    测试阶段

  • 测试策略与方法:我学会了软件测试的基本策略和方法,包括单元测试、集成测试和系统测试等,这些知识帮助我确保了软件的质量和稳定性。
  • 工具使用与故障排查:通过使用APIfox等工具进行调试,我学会了如何进行有效的故障排查和问题解决,这对于提高软件的可靠性至关重要。

    发布阶段

  • 软件维护与管理:我学会了如何维护和管理软件,包括收集用户反馈、解决问题以及进行软件的更新和维护,这些都是提供良好用户体验的关键环节。
  • 用户沟通与反馈整合:在与用户沟通和整合反馈的过程中,我提高了我的沟通技巧,并学会了如何将用户的声音转化为产品改进的动力。

1.6 心得体会

个人项目

  • 在个人项目的开发过程中,我深刻体会到了多角色承担的挑战。由于项目规模较小,我需要独自承担从规划到执行的各个环节,这不仅考验了我的技术能力,也锻炼了我的时间管理和自我激励能力。尽管任务繁重,但个人项目的进展可以根据自身情况灵活安排和调整,这为我提供了一个自由探索和学习的平台,让我能够在实践中不断成长和进步。

结对项目

  • 在结对项目中,我体验到了合作的力量。与队友的合作过程总体上是愉快的,我们能够相互支持和鼓励。在遇到意见分歧时,我们通过开放的讨论和寻求折中方案来解决问题,这不仅增强了我们的沟通技巧,也让我们学会了如何在不同观点中寻找共识,这对于任何团队合作都是至关重要的。

团队项目

  • 团队项目中项目管理者的管理很有序,很大程度上促进了项目有序进展,我们在前端、UI和后端开发中都有设立小组长来进行督促和对项目进行把控,我们根据自己的兴趣确定自己的开发方向
  • 在团队开发中我的学习效率和热情比个人项目开发和结对开发高,学会了微信小程序的开发以及vue框架和elementUI的配合开发,学到了前端开发的新技能。
  • 团队开发中我学会了如何与团队进行沟通,在遇到分歧时如何尽量达到大家都能接受的决策、与后端人员的接口对接等。

1.6 自我评估

目标掌握程度解释
目标1: 理解软件工程师的职业道德规范和实践要求,了解国情社情民情,理解软件产品对社会、健康文化等影响,树立积极向上的软件开发理念。100%通过学习和实践我深刻理解软件工程师的职业道德规范和实践要求,树立了积极向上的软件开发理念。
目标2: 掌握需求分析的全过程,能辨别客户表述的多样化要求,熟练使用需求表达工具,能够规范、准确地表达客户的需求,构建需求分析模型。85%我基本掌握需求分析的全过程,但是提取用户需求能力还欠缺。
目标3: 掌握软件开发的全过程,遵循体系结构设计方法和基本设计原则,通过正式的技术评审,完成从体系结构设计模型、数据设计模型和构件级设计模型,形成面向高效可靠的服务组件设计方案或软件系统设计方案。80%掌握软件开发的全过程、设计原则,项目开发中参与模型设计,但是尚不能独立提出高效可靠的服务组件或软件系统设计方案
目标4: 能够执行从组件到软件系统的技术评测,具备设计模型的评判能力,具有创新设计意识,能够优选设计方案。90%在技术测评方面,我进行了单元测试和集成测试具备一定的模型评判能力。创新意识尚不足。
目标5: 遵循软件开发各阶段文档标准,采用规范的表达,掌握需求规格说明书、系统设计说明书、系统测试报告等文档撰写方法,具备与业界同行交流能力。95%能遵循软件开发各阶段文档标准,采取规范表达,参与需求规格说明书、系统设计说明书文档的撰写,具备与同行交流的能力
目标6: 具有良好的团队意识和合作技能,能够与其他成员开展有效的沟通和协作;能够组织、协调或指挥团队开展工作。75%团队意识尚显不足,开发过程中我反思发现我与团队成员交流不足,并且但是组织、协调或者指挥团队工作的能力不足。
目标7: 能够辨别具体软件项目管理中涉及的构成要素,掌握软件规模和工作量的估算方法,能够选择合适的工具规划软件进度并对项目管理过程进行配置,具备初步的管理复杂软件工程项目的能力。85%能够辨别具体软件项目管理中涉及的构成要素吗,但对软件规模和工作量的估算常常过小,能够选择合适的工具规划软件进度并对项目管理过程进行配置,具备初步的管理复杂软件工程项目的能力。

第二部分 个人技术总结

个人技术总结——微信小程序自定义导航栏编程说明
技术概述

微信小程序自定义导航栏技术用于创建个性化的页面导航,以适应不同的业务需求和品牌形象。它在需要超越微信默认导航栏限制时使用,学习该技术可以提升用户体验和界面一致性。技术难点在于适配不同机型和确保导航栏与胶囊按钮对齐。

...全文
24 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

109

社区成员

发帖
与我相关
我的任务
社区描述
202401_CS_SE_FZU
软件工程 高校
社区管理员
  • FZU_SE_TeacherL
  • 032002124林日臻
  • 助教姜词杰
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧