软件工程知识架构
在《软件工程——实践者的研究方法》这本经典软件工程教材中,作者 Roger S.Pressman 画了一张图,高度概括了整个软件工程的核心知识。![](https://img.haomeiwen.com/i10122332/2ddb5741b2ef6af3.png)
质量焦点
软件工程是为了应对软件危机诞生的学科,其目标就是为例聚焦于质量,构建和维护高质量的软件。
过程
要构建高质量软件,则要解决软件过程中的混乱,将软件过程中的沟通、计划、建模、构建和部署等活动有效地组织起来。软件过程局势软件项目的生命周期,即软件从诞生到结束这段时间。
两种过程框架
-
瀑布模型
-
敏捷开发
方法
方法是指在整个过程中,如何构建系统的方法学。比如说,如何分析用户需求;如何对产品进行测试验收;如何进行系统架构设计等。
知道了过程,掌握了方法,那么具体落到操作层面,就会涉及到工具的使用。
工具
我们需要通过工具来辅助方法的执行,提高效率。
总结一下,软件工程的和兴知识点,**就是围绕软件开发过程,产生的方法学和工具。
软件工程 = 工具 + 方法 + 过程 。
![](https://img.haomeiwen.com/i10122332/a2f160a7e9efa58c.png)
如何学习软件工程
学习软件工程的四重境界
从“道、术、器”三个维度,软件工程的学习可以分为四重境界。
第一重:用器
“器”就是工具,工具规则简单,通过简单的学习就可以使用,很快就可以看到效果,很好的使用工具们可以帮助我们高效率的完成工作。 比如,原型设计工具可以帮助你确定需求,持续集成工具可以帮助你简化测试和部署的流程。
第二重:学术
“术”就是方法,学会方法,就可以应用方法去完成一个任务。例如,使用需求分析的方法,可以搞清楚用户想要什么,用Scrum去组织项目开发过程。
“术”的使用是脱离“器”的。
第三重:悟道
“道”就是本源,软件工程知识的核心思想和本质规律。
第四重:传道
当你对知识有一个深刻的领悟的情况下,将复杂的知识通过浅显易懂的方式传授给别人。教学也是最好的学习方式,通过传授别人知识,可以让你对知识本身有更深入的理解。
做中学,教中学
![](https://img.haomeiwen.com/i10122332/4a9be0cf4a94f12a.png)
”做中学”,是一种自伤而下的学习方法,通过实践,从使用工具道学习方法,再从方法中提炼出道。
“教中学“,是一种自上而下的学习方法,通过教学,去进一步深入领会别人总结出来的道,去模仿推导方法,去学习如何让使用工具。
“做中学”和“教中学”,这两种方法你可以配合起来使用。
参考书目
《构建之法》
作者邹欣是微软的研发总监,同时在多所高校进行了软件工程的教学实践,在此基础上对软件工程的各个知识点和技能要求进行了系统性整理,形成教材。也是本专栏很多很好的补 充。
《人月神话》
这是软件工程历史上的经典著作,内容发人深省,40 年来一直畅销不衰,里面的观点即使到现在也不过时。这本书即使你以前看过,隔一段时间再翻看一遍,可能都会有新的感悟。
《人件》
如果说《人月神话》关注“软件开发”本身,《人件》则关注软件开发中的“人”。作者指出知识型企业的核心是人,而不是技术。
《软件工程——实践者的研究方法》
《走出软件作坊》
这本书生动的描述了国内小型 IT 企业在发展过程中遇到的一系列项目管理问题,以及作者是如何去解决这些问题的。
网友评论