软工实践总结——学海无涯

112101341俞子涵 2024-06-03 18:00:34
这个作业属于哪个课程2302软件工程
这个作业要求在哪里软件工程实践总结&个人技术博客
这个作业的目标对这学期软件工程实践的总结
其他参考文献

目录

  • Part 1. 课程回顾与总结
  • 以前问题的链接
  • 对问题的解答
  • 问题一:软件的行为和用户的期望值不一样,就一定是 Bug 吗?
  • 问题二:花费时间越多,代表工作量越高吗?
  • 问题三:代码量与个人的编码能力有直接关系吗?
  • 问题四:对于一名工程师而言,究竟应该是更”专“一点好,还是更”广“一点好呢?
  • 问题五:想从事软件开发的大学生是去企业实习成长更快还是在学校实验室实习成长更快呢?
  • 五阶段的收获
  • 对软件工程的理解
  • 对课程目标的解释
  • Part 2. 个人技术总结

Part 1. 课程回顾与总结

以前问题的链接

软件工程实践寒假作业

对问题的解答

问题一:软件的行为和用户的期望值不一样,就一定是 Bug 吗?
    当软件的行为与用户的期望值不一致时,并不一定直接等同于存在一个“Bug”。
  • 在用户需求与期望方面:首先,需要明确用户的期望是否基于正确的理解或使用软件的意图。有时,用户可能基于个人习惯或对其他软件的经验,对某个功能有特定的期望,但这并不意味着当前软件就应该满足这种期望。
  • 在功能定义与文档方面:软件的功能和行为应该根据开发时的需求和设计文档来定义。如果软件的行为与这些文档描述的一致,那么即使与某些用户的期望不符,也不一定是Bug。
  • 总之,当软件的行为与用户的期望不一致时,需要仔细分析原因和上下文。有时这只是一个简单的误解或期望不匹配的问题,而有时则确实是一个需要修复的Bug。
问题二:花费时间越多,代表工作量越高吗?
    花费时间越多,并不一定代表工作量越高。工作量是一个衡量完成特定任务或项目所需努力、技能和资源的量度,而不仅仅是所花费的时间。
  • 具有更高技能水平的人可能能够更快地完成工作,因为他们能够更有效地使用他们的知识和经验。因此,即使他们花费的时间较少,他们的工作量也可能很高。
  • 即使一个人花费了很长时间,但如果他们的工作效率低下,那么他们实际完成的工作量可能并不高。相反,一个高效的人可能在短时间内完成大量工作。
  • 某些任务可能需要更多的思考、计划和研究,这些任务可能不需要花费大量时间,但工作量却很高。而一些简单的、重复性的任务可能需要花费大量时间,但工作量相对较低。
  • 因此,虽然时间是衡量工作量的一个因素,但它并不是唯一的因素。要准确评估工作量,还需要考虑其他因素,如任务的复杂性、所需技能、工作效率等。
问题三:代码量与个人的编码能力有直接关系吗?
    代码量与个人的编码能力并不直接相关。代码量(即编写的代码行数)是一个数量上的度量,而编码能力则是一个更广泛、更复杂的评估标准,它涉及多个方面。
  • 代码质量:编写高质量的代码比编写大量低质量的代码更能体现编码能力。高质量的代码通常更加简洁、易于理解、易于维护和可扩展。
    问题解决能力:编码能力不仅体现在编写代码上,还体现在分析和解决问题的能力上。一个优秀的程序员能够准确地识别问题、设计解决方案,并编写出有效的代码来实现这些方案。
  • 学习和适应能力:随着技术的不断发展,新的编程语言和工具不断涌现。一个具有良好编码能力的程序员应该具备快速学习和适应新技术的能力。
  • 代码量并不能直接反映个人的编码能力。在实际评估一个人的编码能力时,应该综合考虑多个方面的因素。
问题四:对于一名工程师而言,究竟应该是更”专“一点好,还是更”广“一点好呢?
    对于一名工程师而言,是更“专”一点好还是更“广”一点好,这取决于多种因素,包括个人的职业目标、兴趣所在、所在行业的特性以及团队的需求等。
  • 更“专”一点:
    深度优势:专注于某一领域或技术可以带来深入的理解和掌握,使工程师成为该领域的专家。这有助于解决复杂问题、优化系统性能,并在该领域内具有更强的竞争力。
    专业声誉:通过深度研究和实践,工程师可以在其专业领域建立起良好的声誉,成为同行中的佼佼者。

  • 更“广”一点:
    适应性强:掌握多种技术和知识可以使工程师更容易适应不同的项目和团队需求,具有更强的适应能力。
    跨部门合作:宽广的知识面有助于工程师与其他部门(如销售、市场、运营等)进行更有效的沟通和合作,推动项目的顺利进行。

  • 综合考虑:
    在实际工作中,我们更应根据自己的职业规划和所在行业的需求,寻求“专”与“广”的平衡发展。既要在某一领域深入钻研,又要关注相关领域的知识和技术动态。
    持续学习:无论选择“专”还是“广”,工程师都应保持持续学习的态度,不断提升自己的能力和竞争力。
    团队协作:在团队中,不同背景和能力的工程师可以相互补充、协作共进,共同推动项目的成功实施。

  • 总之,对于一名工程师而言,更“专”一点还是更“广”一点好,需要根据具体情况进行权衡和选择。重要的是要在自己的职业道路上不断探索、学习和成长。

问题五:想从事软件开发的大学生是去企业实习成长更快还是在学校实验室实习成长更快呢?
    对于想从事软件开发的大学生来说,无论是去企业实习还是在学校实验室实习,都有其独特的成长价值和优势。然而,具体哪种实习方式成长更快,可能因个人情况、实习内容和环境等因素而异。

一、企业实习

  • 实际项目经验:
    企业实习通常能够让学生接触到真实的软件开发项目,这些项目往往具有明确的需求、严格的开发周期和实际的用户群体。通过参与这些项目,学生能够更深入地了解软件开发的整个流程,包括需求分析、设计、编码、测试、部署和维护等各个环节。
    这种实际项目经验能够帮助学生将理论知识与实际工作相结合,提升他们的实践能力和解决问题的能力。
  • 团队协作与沟通:
    在企业实习中,学生需要与团队成员、项目经理和其他部门的人员进行频繁的沟通和协作。这种团队协作经验能够帮助学生提升沟通技巧、增强团队协作能力和项目管理能力。

二、学校实验室实习

  • 学术研究氛围:
    学校实验室实习通常更加注重学术研究和技术创新。在这种环境中,学生能够接触到最新的科研成果和技术动态,与导师和同学一起进行科研项目的探索和研究。
    这种学术研究氛围能够帮助学生培养创新思维和科研能力,提升他们的专业素养和技术水平。

  • 导师指导:
    学校实验室实习通常会有导师进行指导和帮助。导师们具有丰富的学术背景和行业经验,能够为学生提供宝贵的建议和意见,帮助他们在学术研究和技术实践上取得更好的成果。

总结:

  • 对于想从事软件开发的大学生来说,企业实习和学校实验室实习都有其独特的成长价值。企业实习更注重实际项目经验和团队协作能力的培养,而学校实验室实习则更注重学术研究氛围和理论知识的深化。
    具体选择哪种实习方式,需要根据个人兴趣、职业规划和实际情况进行权衡。

五阶段的收获

  • 需求阶段:通过与客户、利益相关者和其他团队成员的沟通,我能够深入理解项目的目标和用户期望,这有助于我在后续阶段中做出更准确的决策。

  • 设计阶段:问题解决和抽象思维能力。设计过程中常常需要解决各种技术难题,这锻炼了我的问题解决能力。同时,将复杂问题抽象成简单模型的能力也得到了提升。

  • 实现阶段:编码和调试能力。通过编写代码和调试程序,我的编码能力得到了显著提升,同时也学会了如何快速定位和解决代码中的错误。通过编程语言和工具的使用。在实现阶段,我深入学习了所使用的编程语言和开发工具,掌握了它们的特性和最佳实践。

  • 测试阶段:软件测试方法和工具。在测试阶段,我学习了如何制定测试计划、编写测试用例,并掌握了多种测试方法和工具的使用。

  • 发布阶段:项目管理和团队协作能力。发布阶段需要协调多个团队和部门的工作,这锻炼了我的项目管理和团队协作能力。同时,我也学会了如何与不同背景的人有效沟通和协作。

对软件工程的理解
  • 软件工程涉及多个领域的知识和技术,包括程序设计语言、数据库、软件开发工具、系统平台等。它的目标是运用现代科学技术知识来设计并构造计算机程序,以及为开发、运行和维护这些程序所必需的相关文件资料。软件工程是一门综合性的学科,它运用现代科学技术知识来设计并构造计算机程序及相关文件资料,以确保软件的高质量、高效率和可维护性。在软件开发过程中,遵循软件工程的原理和方法,使用合适的工具和技术,有助于提高软件的质量和开发效率。
对课程目标的解释
  • 理解软件工程师职业要求和软件影响:90分。通过这次课程学习,我深入理解了软件工程师的职业要求,也认识到要成为软件工程师需要全方位的发展,技术全面、经验丰富、学习能力强、沟通能力强和解决问题能力突出。同时,软件工程师的工作对社会、行业和个人职业发展都具有深远的影响。

  • 掌握需求分析全过程:85分。我能够利用需求表达工具,向客户描述他们的需求,构建需求分析模型。虽然面对复杂多样的客户需求时,我还存在许多不足,但相信通过未来的不断学习会更加精进。

  • 掌握软件开发全过程:85分。通过软件工程实践,我理解并遵循体系结构设计方法,参与了从架构到详细设计的过程。但在一些设计模式和设计原则的应用上,还需要加强实践经验。

  • 具备设计评测与优选能力:80分。在软件工程实践的课程中,我参与了执行设计模型的技术评审,但对这方面理解还不够,还需要提高设计思维和决策能力。

  • 掌握软件工程文档写作:90分。我熟练掌握了各类软件工程文档的撰写方法,并具备与同行沟通交流的能力。

  • 具有良好团队合作意识:90分。我在团队协作中认真参与项目的工作,切实完成了任务,并能提供一些改进意见,能够与他人有效沟通协作。

  • 具备基本项目管理能力:80分。我学习并理解软件项目管理的各个要素,对工作量估算和进度规划的方法有一定的理解,但在管理复杂项目方面仍需要进一步提升。

Part 2. 个人技术总结

个人技术总结——Springboot实现文件上传功能及MyBatis的sql映射

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

122

社区成员

发帖
与我相关
我的任务
社区描述
FZU-SE
软件工程 高校
社区管理员
  • LinQF39
  • 助教-吴可仪
  • 一杯时间
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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