高级软件工程——课程实验总结

一、做了哪几个实验,各有什么体会和收获?

1、安装并使用VS Code以及熟悉Git的基本用法

正所谓“工欲善其事必先利其器”,VS Code和Git都是我们的“好帮手”。VS Code十分轻量化,且扩展性很强,通过安装插件来支持多种语言,提供了写代码做项目的平台。之所以把Git和VS Code放一起写,是因为VS Code内置了类似于Linux shell的控制台,我是在其中使用Git的。Git为我们的代码托管和版本管理提供了保障。

2、实现LinkTable接口

这个实验出现在“模块化代码”一节,根据抽象的接口来写链表操作的具体实现,让我体会到面向接口编程的思想。其中让我印象深刻的是,链表节点中只含有指向下一个节点的指针,即只给出一个空盒子,空盒子之间被组织成链表结构,里面装什么由使用者来决定,这种抽象而又简洁的设计真是巧妙。

3、用VS Code和draw.io画UML用例图

画UML用例图是从需求分析到软件设计中的一小环节,目的在于对用例进行建模,将各元素间的关系可视化,便于后续的设计与编码实现。

4、验证软件中一些特殊机制:回调、多态、闭包、异步调用、匿名函数

上述特殊机制对应于不同的设计需求,比如设置触发机制、增加方法灵活度、提供语法糖等等。我们可以根据需要来使用这些机制。

5、熟悉正则表达式(课堂测试)

正则表达式最核心的能力是搜索和替换,若能熟练使用规则,可在一定程度上提高工作效率。

二、对本课程的内容安排和实验安排的思考和建议

孟老师的课程内容安排十分合理。先从软件工具的使用讲起,再谈到作为软件工程师的自我修养,这就为后续深入软件工程这一庞大体系做好了准备,即东西都备齐了,人也做好了思想准备,可以正式开始了。之后便讲到软件作为信息结构的本质和软件的特性,把握了本质就不会迷失。接着就顺理成章的介绍了从需求分析到软件设计,以及用到的各种设计模式和设计原则,从宏观上把握开发软件的过程。在微观上,孟老师通过一些代码规范教我们写高质量的代码。另外,由于软件具有的复杂性,自然而然就引出了“软件危机”这一课题,孟老师介绍了软件危机的由来和各种应对手段。

在实验安排方面,工具使用的实验占比有点多,工具的使用可以作为一个辅助项而非一独立的实验。若能将一些工具类实验替换为一些软件新技术/新产品(如Git上又新又火的开源项目)的简要调研作业,看其中用了课程中的那些知识,将会为这门课程再添一份光彩。

posted @ 2021-07-16 18:31  lularible  阅读(29)  评论(2编辑  收藏  举报