软件工程学习总结

        本学期,通过对《高级软件工程》这门课的学习,我获益良多,原本枯燥乏味的软件工程知识,在孟宁老师的生动讲解下变得生动起来,对于我在软件工程专业知识的学习以及软件工程思想的提升提供了巨大的帮助。

        在学习软件工程这门课时,配合着孟宁老师的课堂,我使用的是《代码中的软件工程》这本书作为参考资料,其所描述的内容与课堂一致,内部章节划分清晰,知识点一目了然,为我学习高级软件工程相关知识提供了巨大助力。

        在软件工程的学习中,学习过程应该归纳为以下几个部分:软件工程相关工具使用,软件设计,需求分析,软件危机等几个部分,下面将一一概述。

        首先,就软件工程相关工具,我学会了功能强大的编辑器vscode以及版本控制工具git的基本使用方法,并且对团队git共同开发项目的流程有了一个基本的了解。其次,学习了vim编辑器的使用,使用vim配合正则表达式可以大大提升检索效率。

        在需求分析部分,首先认识到了什么是需求,需求的类型,以及一个好的需求所应该具有的特性,其次,也对有关需求分析的方法(原型化方法、建模方法)有了一定的了解,同时,也学习到了对在需求中提取用例的方法。在软件开发过程中,可能会需要不断适应技术和用户需求的更新,此时,一种增量过程模型也即敏捷模型给我们提供了良好的蓝本。对于该模型,我学会了有关敏捷统一过程的步骤,对软件流程控制有了新的理解。

        在软件设计部分,首先在获得需求并且弄清了软件模块和需求用例,用例与软件系统参与者,参与者与软件系统之间的关系后,需要对软件架构进行一个完整的把握,建立良好的软件架构,合理进行架构分解,同时灵活运用各种试图描述软件架构,有利于项目成员从整体上把握项目情况,同时有利于理清软件架构之间的相互依赖关系,理清系统演化的内在逻辑,进行项目的风险管理。其次,对于单一软件模块的设计,我们可以通过模块化的方式进行细化,对每一个提供单一职责的模块进行独立设计与开发,并运用设计模式提高模块内聚度,降低模块间的耦合度,从而达到软件模块设计最佳实践。在设计模式的学习中,重点理解了设计模式的原则(开闭原则,里氏替换原则,单一职责原则,依赖倒置原则,迪米特原则,合成复用原则等)。其最重要的一点我觉得是用对象组合代替了继承,减少了大量软件模块间的依赖,大大降低了软件模块间的耦合度。

        最后,在对软件危机相关知识的学习中,我感受到了软件危机的由来及其严重性,了解到未来较长一段时间内难以找到解决软件危机的银弹方法。同时,我也学习到了有关软件过程的一系列知识,软件过程中所需要进行的工作,软件生命周期等。其次,我认识到了团队在软件开发中的重要性,通过对CMMI等一系列评估软件团队成熟度的方案,我知道开发一款能够经得住市场考验,健壮的软件不仅需要个人的高技术力,更需要具有科学管理策略的团队成员们的共同努力。

        参考资料:《代码中的软件工程》 孟宁 著。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值