高级软件工程学习总结

在22年的春季学期我学习了孟宁老师的高级软件工程课程,收获非常大。其实我是想上半学期就选孟宁老师的这门课,可惜抽签的时候落选了,幸好下半学期也开了这么课。孟宁老师讲的非常通俗易懂,会将一些复习的概念用一些例子去解释,使得同学们没有什么理解的障碍。在这门课上学习到的设计模式、软件架构等内容,在我上半年找实习的过程中也发挥了非常大的作用。因为我是夸专业考研的,在本科期间根本没有学到过这些课程。如果我没有上这门课的话,面试官问道了我肯定是答不出来的。

这门课对于软件架构的一些视图介绍的非常好,孟宁老师对其中一些视图的解释我一直都记得,有执行试图、部署视图、分解视图和实现视图。

  • 执行视图:执行视图展示了系统运行时的时序结构特点,比如流程图、时序图等。执行视图中的每一个执行实体,一般称为组件(Component),都是不同于其他组件的执行实体。如果有相同或相似的执行实体那么就把它们合并成一个。
  • 部署视图:部署视图是将执行实体和计算机资源建立映射关系。这里的执行实体的粒度要与所部署的计算机资源相匹配,比如以进程作为执行实体那么对应的计算机资源就是主机,这时应该描述进程对应主机所组成的网络拓扑结构,这样可以清晰地呈现进程间的网络通信和部署环境的网络结构特点。当然也可以用细粒度的执行实体对应处理器、存储器等。部署视图有助于设计人员分析一个设计的质量属性
  • 分解视图:分解是构建软件架构模型的关键步骤,分解视图也是描述软件架构模型的关键视图,一般分解视图呈现为较为明晰的分解结构(breakdown structure)特点。分解视图用软件模块勾划出系统结构,往往会通过不同抽象层级的软件模块形成层次化的结构。
  • 实现视图:描述软件架构和源文件之间真的映射关系。一般我们通过目录和源文件的命名来来对应软件架构中的包、类的静态结构单元,这样典型的实现视图就可以由软件项目的源文件目录树来呈现。

这门课让我对软件工程这个行业有了整体的认识,包括软件系统的设计,软件的开发流程,需求分析等等,这都是我以前所没有掌握的东西,在这里非常感谢孟宁老师!

参考资料 代码中的软件工程 https://gitee.com/mengning997/se

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值