实验2的一些心得体会
Posted lingfeng647
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实验2的一些心得体会相关的知识,希望对你有一定的参考价值。
lab2写了许久,诸多感想,下面简单谈一下
1 实验过程中收获的经验和教训
- 在实现ADT之前,先写测试策略和测试用例,这样做有助于帮你深入思考,并且有助于打磨ADT实现的许多细节
- ADT的Spec在前期的设计非常重要,直接影响后期实现的难度
- Spec里面要写的尽可能的细致,将所有想到的可能情况都写出对于的解决措施
- 同一个接口类,不同的实现方式,工作量差别很大
2 针对以下方面的感受
(1) 面向ADT的编程和直接面向应用场景编程,你体会到二者有何差异?
- 面向ADT编程与面向应用场景编程有相当大的差异。
- 面向ADT编程要求对编写的程序整体有充分的认识,要考虑接口、抽象类、类的整体设计,考虑哪些部分能够复用(可以复用的模块,尽量往父类中放),哪些部分才需要具体实现。
- 面向ADT编程做的好可以节省大量时间;而面向应用场景编程则有“就事论事”的意味,好处是针对一件事做,编程思路简单,问题是工作量大,复用性低。
(2) 使用泛型和不使用泛型的编程,对你来说有何差异?
泛型可以适应更多的应用场景,相对不使用泛型复杂度略有提升,使用泛型时避免了类型转换的麻烦,存储的是什么类型的数据,取出的就是什么类型的数据。
(3) 在给出ADT的规约后就开始编写测试用例,优势是什么?你是否能够适应这种测试方式?
在给出ADT的规约后就开始编写测试用例,这样做能够不受已有代码的干扰,完全就函数的功能编写测试用例。其好处在于:提高了正确率与效率。
在Lab 2中初次接触到这种编程方式,有些不适应,还需要多加练习。
(4) P1设计的ADT在多个应用场景下使用,这种复用带来什么好处?
减少了重复工作,提高了软件生产率,有助于提升软件质量,也提高了编程体验。
(5) 为ADT撰写specification, invariants, RI, AF,时刻注意ADT是否有rep exposure,这些工作的意义是什么?你是否愿意在以后编程中坚持这么做?
- 可以明确ADT的实现思路,方便了未来的自己以及其他的代码阅读者
- 同时能够时刻提醒自己注意规范,检查是否有表示泄露
- 虽然增加的工作量,但是利人利己
(6) 关于本实验的工作量、难度、deadline。
本实验的主体工作量在做完以后回头看,工作量适中,就难度而言也并不算特别大,但deadline相对较紧
而且在MIT的页面上,题目要求以英文形式介绍,写的并不算特别清晰,要点分布分散,翻译花费了不少时间。
(7) 《软件构造》课程进展到目前,你对该课程有何收获和建议?
该课程难度较高,课上学习与课下实验并进,相辅相成,体验感较好,但是实验需要大量时间来完成,希望可以增加实验课学时
《软件工程》课程实验心得体会4
转眼间软件工程已经接近尾声了,在这个课时,课前我们小组经过研究和讨论等的研究,对一些似懂非懂的图进行归纳,在课上的到老师的帮助后得到解答。对顺序图以相同类型题型进行试验作图。进行一次归纳和整理。对于顺序图,我们应该先画出它的框架,然后进行填充,比如说它的原始框架包含着参与者、界面类、实体类、控制类这四部分,然后再题中寻找符合它的,对于类与类之间存在的方法连接起来便很容易画出顺序图。本次课最大的收获大概就是对顺序图、用力规约、以及用例图的做法了吧;
以上是关于实验2的一些心得体会的主要内容,如果未能解决你的问题,请参考以下文章