学习攻略 | 怎样学好软件工程?
该思维导图由 AI 生成,仅供参考
软件工程知识架构全景图
- 深入了解
- 翻译
- 解释
- 总结
学习软件工程需要掌握工具、方法、过程和本源四个层次。软件工程的核心知识围绕软件开发过程、方法学和工具展开。学习软件工程的四重境界包括用器、学术、悟道和传道。建议采用“做中学”和“教中学”两种方法相结合。此外,推荐了一些相关书籍供大家参考,如《构建之法》、《人月神话》、《人件》等。这些书籍涵盖了软件工程的实践方法、历史经典、人员管理以及敏捷开发等方面的内容。 总结:软件工程的全景图展现了学习软件工程的四重境界和有效的学习方法。通过“做中学”和“教中学”,将知识转化为经验,并分享给他人。写作、内部分享或培训以及将知识应用于项目中,都是提升软件工程能力的有效途径。这些方法将帮助读者更好地理解和应用软件工程知识,同时也促进知识的传播和共享。
《软件工程之美》,新⼈⾸单¥59
全部留言(27)
- 最新
- 精选
- David Mao老师总结的器、术、道、传道四重境界很棒,结合自己的工作实践深有感悟。我是做软件测试的,最近在自学python开发,希望老师给一些建议,感谢。
作者回复: 看到你在学Python,不知道你所在团队自动化测试方面做的如何,我觉得这方面其实大有可为,可以极大的提高测试效率。 另外多学习一些软件工程知识,将来如果要兼顾或转型项目管理,也是不错的发展方向。
2019-02-2118 - alva_xu还有一本机械工业出版社出的《软件工程》,作者是Ian Sommerville,也特别好。已经出了十多版了吧。
作者回复: 软件工程的书确实还有很多不错的,很遗憾没能一一例举,感谢推荐👍
2019-02-2110 - 彭燕林原版是英文参考书籍能不能介绍一下英文信息,方便查找。
作者回复: 你是说《软件工程——实践者的研究方法》吗? Software Engineering – A Practitioner’s Approach 作者是 Roger S. Pressman 如果专栏内容涉及英文专业术语的,一般会注明英文。如果对具体某个术语的英语有疑问的,可以留言,我会补充说明。
2019-02-215 - Sam_Deep_Thinking关于软件工程的书籍,我推荐一本 周爱民先生的〖大道至简〗,讲的也很不错,作者思考的比较深,可以作为学习软件工程的参考书籍之一。
作者回复: 是的,写得很好,🙏感谢推荐
2019-10-064 - 廖师虎CRUD是择指增删改查,基于此模式很难做到可审计,可溯源,只有临时的状态,不可重放恢复
作者回复: 如果要做到可信,其实和CRUD不矛盾,如果你想可审计、可溯源、可重访,可以在架构层面解决。 比如说基于分层架构,你添加一条记录,并不是直接写一条SQL,而是调用数据访问层的方法,这个方法会帮助你增加相应的日志、审计记录。这样从编程角度看,还是CRUD,但是从结果上来说,已经具备你的要求。包括以后如果要增加更多审计逻辑,只要修改你响应的架构,对于你业务层的代码几乎没什么影响。
2019-04-1424 - 一路向北老师说的学中教,教中学的4重境界,非常形象,容易让人领会。 实践的过程中,最难的应该是悟道了,期望在后面的学习中能够多悟道。这方面也是需要自己独立的深入思考才能产生的结果。
作者回复: 是的,这是个漫长的过程。 “悟道”最重要的不是结果,而是这个实践和思考的过程。多实践多思考,长期看自然就会有很多收获的。 尤其是当你尝试去“传道”的时候,你可能会发现你突然“悟道”了。
2019-02-214 - rocedu过程分为瀑布模型和敏捷开发两类,合适吗?
作者回复: 从大类上来看,我觉得没什么问题。当然也想听听老师的意见。
2019-03-2723 - Lonely绿豆蛙瓜大软微学弟前来报道~
作者回复: 学弟好!我们那会还叫软件学院呢
2019-02-223 - javaadu听老师的话,已经整理一篇学习笔记。也分享下自己关于学习的心得: 1. 知行合一:理论与实践相结合,在软件开发中使用工具的时候,要及时总结使用工具的技巧;在经历过一个项目后,要总结这个过程中对的得失经验。然后将这些经验和技巧应用到下一个项目中。 2. 持之以恒:想要做到卓越,不可能一蹴而就,因此要持之以恒得践行知行合一。 3. 乐于分享:将自己的心得体会讲给别人,可以用博客、短视频、内部培训的方式,在讲给别人的过程中,也是对知识的重新梳理和查缺补漏。
作者回复: 赞👍 改变,从改变习惯开始
2019-02-213 - E请问老师,软件开发的过程和方法之间的关系是什么?
作者回复: 软件开发过程就是指你开发软件时的整个过程的开发模式,比如说瀑布模型还是敏捷开发。 选择了开发过程,你就需要有具体方法来执行。 比如你选择了瀑布模型,整个软件开发过程就是按照瀑布模型的分阶段来进行,对应的方法就是瀑布模型中的方法,例如需求分析、架构设计;如果你选择了敏捷开发,则整个开发过程就是一种敏捷迭代方式,后面的方法对应的就是敏捷开发的一套方法体系,例如Scrum、用户故事、持续集成等。
2019-03-232