软件工程课程实践总结

182000214廖文焘 2024-06-02 19:09:59
这个作业属于哪个课程https://bbs.csdn.net/forums/ssynkqtd_06
这个作业要求在哪里https://bbs.csdn.net/topics/618785000
这个作业的目标总结
其他参考文献

目录

  • Part 1. 课程回顾与总结
  • 以前问题的链接
  • 对问题的解答
  • 我都是大学生了,上课还要认真听老师讲课么?
  • 如何区分一个好的程序员和不好的程序员呢?
  • 程序员是否有必要为满足小部分人的需求去做软件,或者为软件添加某些功能?
  • “过早优化是一切烦恼的根源”:那么,如何界定早晚?
  • 商业价值与开源精神是否矛盾?
  • 五阶段的收获
  • 对软件工程的理解
  • 对课程目标的解释
  • Part 2. 个人技术总结

Part 1. 课程回顾与总结

以前问题的链接

https://bbs.csdn.net/topics/618071979

对问题的解答

我都是大学生了,上课还要认真听老师讲课么?

​ 作为大学生,听不听老师讲课要分情况:

  1. 专业:计算机不同于任何传统专业,其本身有着丰厚的文化圈子且有着任何其他专业都无法媲美的开源资料与资源,除去算力的限制外,大部分实践也基本上没有壁垒,传统的使用读书/读PPT模式进行的教学效果有限。
  2. 老师:计算机专业对 “ 好老师 ” 的要求更加严格,不仅是讲授书本上的知识,如何将其与原理,与实践结合,并引导学生思考超出课本之外的东西、引导学生思考如何学习更加重要。
  3. 课程:涉及计算机中底层且不变的,凝结了计算机先驱的种种思想的课程(如 OS / 体系结构 / 组成原理等重要且难度较大的课程),可以多听几个老师的课程,以求更透彻的理解。

如何区分一个好的程序员和不好的程序员呢?

  • 是否对代码有 good taste
  • 是否有着良好的代码基础
  • 是否具备良好的从具体中抽象出共性的能力、

程序员是否有必要为满足小部分人的需求去做软件,或者为软件添加某些功能?

视情况而定。

“过早优化是一切烦恼的根源”:那么,如何界定早晚?

​利用简单的数据结构替代复杂的算法实现,使得程序首能够正常运行,再通过性能分析等方式,去发现程序的瓶颈并进行优化。这里的早晚并不需要界定,或许你的程序根本不在意性能,如果你的程序真的出现性能问题,再进行优化。

商业价值与开源精神是否矛盾?

并不矛盾,从一开始,自由软件就没有反对商业,公司依然可以通过提供服务来盈利。相反地,Unix 衰退的原因就是由于在历史的某个阶段,各个公司只专注于所谓的商业利益,而导致了分裂,从而错失了发展的良机。

五阶段的收获

  1. 需求阶段:在这个阶段,我学到了如何与客户有效沟通,理解他们的实际需求,并将其转化为可执行的需求规格说明书。这个过程锻炼了我的需求分析和问题解决能力。
  2. 设计阶段:在设计阶段,我学会了运用各种软件设计模式和架构设计原则,以构建可扩展、可维护的软件系统。这让我增强了软件设计的能力和系统思维。
  3. 实现阶段:在代码实现阶段,我深入学习了编程语言、框架和工具的使用,并提高了编码技巧和单元测试能力。这阶段是最能提高我编程实操能力的环节。
  4. 测试阶段:在测试阶段,我学会了运用不同的测试策略和方法,如单元测试、集成测试、端到端测试等,以确保软件质量。这个过程增强了我的测试思维和problem-solving能力。
  5. 发布阶段:在发布阶段,我学习了软件部署、监控和维护的知识,以及如何应对上线后的问题。这让我对软件的整个生命周期有了更全面的理解。

对软件工程的理解

软件工程强调团队协作,包括沟通协调、任务分工、过程管理等方面。优秀的软件工程师不仅需要扎实的技术功底,也需要良好的项目管理和人际交往技能。软件工程追求的目标是开发出高质量、可靠、可维护的软件系统。为此需要严格的过程控制、质量保证、风险管理等各种工程实践。软件工程是一门不断进化的学科,随着技术的发展和实践经验的积累,各种方法论和工具也在不断更新和完善。保持学习和创新精神是软件工程师的基本素质。

对课程目标的解释

  1. 理解软件工程师职业要求和软件影响:95分。通过这次课程学习,我深入理解了软件工程师的职业道德准则,也认识到软件产品对社会的深远影响。我树立了积极向上的软件开发理念。

  2. 掌握需求分析全过程:90分。我能够熟练使用需求表达工具,规范地描述客户需求,构建需求分析模型。但在应对复杂多样的客户需求时,还需要进一步提高分析和建模的能力。

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

  4. 具备设计评测与优选能力:80分。我能够执行设计模型的技术评审,但在创新设计方案和优选设计方案方面,还需要提高设计思维和决策能力。

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

  6. 具有良好团队合作意识:95分。我在团队协作中表现出很强的责任心和主动性,能够与他人有效沟通协作。

  7. 具备基本项目管理能力:85分。我理解软件项目管理的各个要素,掌握了工作量估算和进度规划的方法,但在管理复杂项目方面仍需要进一步提升。

Part 2. 个人技术总结

准备篇中制定的路线已经学习完毕,担任的开发角色是移动端开发,学习了 Flutter 技术

技术博客标题

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

122

社区成员

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

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