学习攻略 | 怎样学好软件工程?

2019-02-21 宝玉
《软件工程之美》
课程介绍


讲述:宝玉

时长:大小9.91M


你好,我是宝玉。
关于“什么是软件工程”和“为什么要学软件工程”,我在开篇词中已经简单介绍过了。总结来说:软件工程是软件行业知识体系的内核。无论你想走技术路线,还是转向做管理,想要走的更快更稳,那就绕不开软件工程。
在正式开始学习前,我们先来聊聊应该如何学习软件工程。你要先知道,软件工程学科的“知识树”结构是什么样的,才能更好地理解每个知识点和彼此间的联系。

软件工程知识架构全景图

首先你要明确,当我们谈软件工程学时,究竟在讲些什么呢?
在《软件工程——实践者的研究方法》这本经典软件工程教材中,作者 Roger S.Pressman 画了一张图,高度概括了整个软件工程的核心知识。
由图可见,“质量焦点”在最底层,这不难理解软件工程是为了应对软件危机诞生的学科...

展开全文
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。

精选留言

  • David Mao
    2019-02-21
    老师总结的器、术、道、传道四重境界很棒,结合自己的工作实践深有感悟。我是做软件测试的,最近在自学python开发,希望老师给一些建议,感谢。

    作者回复: 看到你在学Python,不知道你所在团队自动化测试方面做的如何,我觉得这方面其实大有可为,可以极大的提高测试效率。 另外多学习一些软件工程知识,将来如果要兼顾或转型项目管理,也是不错的发展方向。

    
    17
  • alva_xu
    2019-02-21
    还有一本机械工业出版社出的《软件工程》,作者是Ian Sommerville,也特别好。已经出了十多版了吧。

    作者回复: 软件工程的书确实还有很多不错的,很遗憾没能一一例举,感谢推荐👍

    
    8
  • 彭燕林
    2019-02-21
    原版是英文参考书籍能不能介绍一下英文信息,方便查找。

    作者回复: 你是说《软件工程——实践者的研究方法》吗? Software Engineering – A Practitioner’s Approach 作者是 Roger S. Pressman 如果专栏内容涉及英文专业术语的,一般会注明英文。如果对具体某个术语的英语有疑问的,可以留言,我会补充说明。

    
    5
  • 一路向北
    2019-02-21
    老师说的学中教,教中学的4重境界,非常形象,容易让人领会。 实践的过程中,最难的应该是悟道了,期望在后面的学习中能够多悟道。这方面也是需要自己独立的深入思考才能产生的结果。

    作者回复: 是的,这是个漫长的过程。 “悟道”最重要的不是结果,而是这个实践和思考的过程。多实践多思考,长期看自然就会有很多收获的。 尤其是当你尝试去“传道”的时候,你可能会发现你突然“悟道”了。

    
    4
  • Sam_Deep_Thinking
    2019-10-06
    关于软件工程的书籍,我推荐一本 周爱民先生的〖大道至简〗,讲的也很不错,作者思考的比较深,可以作为学习软件工程的参考书籍之一。

    作者回复: 是的,写得很好,🙏感谢推荐

    
    3
  • 廖师虎
    2019-04-14
    CRUD是择指增删改查,基于此模式很难做到可审计,可溯源,只有临时的状态,不可重放恢复

    作者回复: 如果要做到可信,其实和CRUD不矛盾,如果你想可审计、可溯源、可重访,可以在架构层面解决。 比如说基于分层架构,你添加一条记录,并不是直接写一条SQL,而是调用数据访问层的方法,这个方法会帮助你增加相应的日志、审计记录。这样从编程角度看,还是CRUD,但是从结果上来说,已经具备你的要求。包括以后如果要增加更多审计逻辑,只要修改你响应的架构,对于你业务层的代码几乎没什么影响。

    
    3
  • rocedu
    2019-03-27
    过程分为瀑布模型和敏捷开发两类,合适吗?

    作者回复: 从大类上来看,我觉得没什么问题。当然也想听听老师的意见。

    
    3
  • Lonely绿豆蛙
    2019-02-22
    瓜大软微学弟前来报道~

    作者回复: 学弟好!我们那会还叫软件学院呢

    
    3
  • javaadu
    2019-02-21
    听老师的话,已经整理一篇学习笔记。也分享下自己关于学习的心得: 1. 知行合一:理论与实践相结合,在软件开发中使用工具的时候,要及时总结使用工具的技巧;在经历过一个项目后,要总结这个过程中对的得失经验。然后将这些经验和技巧应用到下一个项目中。 2. 持之以恒:想要做到卓越,不可能一蹴而就,因此要持之以恒得践行知行合一。 3. 乐于分享:将自己的心得体会讲给别人,可以用博客、短视频、内部培训的方式,在讲给别人的过程中,也是对知识的重新梳理和查缺补漏。

    作者回复: 赞👍 改变,从改变习惯开始

    
    3
  • E
    2019-03-23
    请问老师,软件开发的过程和方法之间的关系是什么?

    作者回复: 软件开发过程就是指你开发软件时的整个过程的开发模式,比如说瀑布模型还是敏捷开发。 选择了开发过程,你就需要有具体方法来执行。 比如你选择了瀑布模型,整个软件开发过程就是按照瀑布模型的分阶段来进行,对应的方法就是瀑布模型中的方法,例如需求分析、架构设计;如果你选择了敏捷开发,则整个开发过程就是一种敏捷迭代方式,后面的方法对应的就是敏捷开发的一套方法体系,例如Scrum、用户故事、持续集成等。

    
    2
  • gfkdcadet
    2019-03-02
    买了课程相关的全部6本参考书籍,也算是全身心投入了!

    作者回复: 赞,有疑惑的地方也欢迎留言提问:)

    
    2
  • cxy
    2019-02-21
    老师,那思维导图中的工具分类,不知道是否可以把常用的工作具软件名加进去,那样可以我们让有目的地去细化学习。

    作者回复: 我在后面的文章中会有各个阶段常用工具的介绍,因为还在整理中,等到结束后会考虑重新编辑加上名字。

    
    2
  • 技术修行者
    2019-12-01
    1. 做中学和学中做,用器->学术->悟道->传道,提炼得挺好的。 2. 主动分享,教学相长。 3. 推荐的书目,看上去大部分都是比较老的,算是经典了。例如《走出软件作坊》,我记得是2010年左右买的,《构建之法》大概是4、5年前买的。
    
    1
  • 打工皇帝
    2019-09-17
    聚焦质量 清楚过程 知道方法 会用工具
    
    1
  • 梁中华
    2019-03-17
    不知道怎么搞得,现在都不提RUP 了,当年可是很火的,以用例和架构驱动的软件开发过程,大型软件开发中还是比较适合的。

    作者回复: RUP是很好的模式,但大型软件开发项目毕竟相对少,而且RUP的实施也需要专业的支持。不像瀑布模型那样简单易行,也不像敏捷那样适用面广,遍地开花。

    
    1
  • if...else...
    2022-06-16
    软件工程=过程+方法+工具
    
    
  • Geek_fcffdd
    2022-05-02
    老师总结的真好!
    
    
  • Geek_41c9f0
    2020-05-02
    希望自己能够坚持学习下去,真正做出改变,以期看到自己能力上的变化。

    作者回复: 祝学习顺利,有问题也欢迎通过留言提出!

    
    
  • bidinggong
    2020-03-27
    软件工程 = 工具 + 方法 + 过程。“做中学”和“教中学”结合。老师言传身教!谢谢
    
    
  • 贵州小欧哥
    2020-03-26
    从道、术、器来讲,深入浅出。易理解
    
    