软件基础第二次作业

软件基础 https://edu.cnblogs.com/campus/zjlg/rjjc20/
这个作业的目标 通读《构建之法》中课程已覆盖内容,要求列出3个问题,可以是读后不理解的,或者读后反对的
姓名-学号 金佳炜-2018339930012
软件基础第二次作业
==========
问题一

我看了这么一段文字:单元测试应该准确、快速地保证程序基本模块的正确性。有这个问题:怎样才算一个好的单元测试?

  • 查阅资料:单元测试应该在最低的功能/参数上验证程序的正确性。单元测试过后,机器状态保持不变。单元测试要快(一个测试运行时间是几秒钟,而不是几分钟)。单元测试应该产生可重复、一致的结果。独立性,单元测试的运行/通过/失败不依赖于别的测试,可以人为构造数据,以保持单元测试的独立性。独立性,单元测试的运行/通过/失败不依赖于别的测试,可以人为构造数据,以保持单元测试的独立性。单元测试应该集成到自动测试的框架中。单元测试必须和产品代码一起保存和维护。单元测试必须和代码一起进行版本维护。
  • 我的经验:把单元测试的责任和代码作者绑定在一起后,代码作者就能更真切地体会到复杂代码的副作用,因为验证复杂代码的正确性要困难得多。要注意的一点是:100%的代码覆盖率并不等同于100%的正确性。在下面的情况下,100% 的覆盖率和100% 的正确性不是同一回事。
  • 我的想法:要做好单元测试就要遵守上述规则,慢慢养成良好的习惯,程序中很多缺陷都是从这些啰里啰唆的错误处理中产生的。如果你的模块中某个错误处理路径很难到达,那你也许要想想是否可以把这个错误处理拿掉。

问题二

我看了这么一段文字:代码规范的重要性。有这个问题:何为代码规范的重要性?

  • 查阅资料:规范的代码可以促进团队合作;规范的代码可以减少bug处理 ;规范的代码可以降低维护成本 ;规范的代码有助于代码审查 ;养成代码规范的习惯,有助于程序员自身的成长 。
  • 我的经验:很多IT人士将程序员比做民工,这也的确非常的形象。就像刚才提到的,复杂的算法或逻辑只占项目中很小的比例,大多仅仅是垒代码的工作。可是越是简单,测试的bug反而是越多,而且是无穷无尽的bug。这里很大的程度上是由于代码不规范所致。没有规范的对输入输出参数的规范,没有规范的异常处理,没有规范的日志处理等等,不但导致了我们总是出现类似空指针这样低级的bug而且还很难找到引起bug的原因。相反,在规范的开发中,bug不但可以有效减少,查找bug也变得轻而易举。规范不是对开发的制约,而确实是有助于提高开发效率的。
  • 我的想法:代码规范对一个程序非常重要,一个规范的代码往往能更好地解决问题。

问题三

我看了这么一段文字:从瀑布模型开始的各种模型都有一个共同点:重计划,重事先发生,重文档表达。这一类的方法中集大成者要算Rational统一流程。有这个问题:何为Rational统一流程?

  • 查阅资料:Rational统一过程(RUP)是Rational软件公司(现在Rational公司被IBM并购)创造的软件工程方法。RUP描述了如何有效地利用商业的可靠的方法开发和部署软件,是一种重量级过程(也被称作厚方法学),因此特别适用于大型软件团队开发大型项目。
    在软件工程领域,与RUP齐名的软件方法还有:
    净室软件工程(重量级)
    极限编程(extreme programming)和其他敏捷软件开发(agile methodology)方法学(轻量级)
    RUP强调采用迭代和检查的方式来开发软件,整个项目开发过程由多个迭代过程组成。在每次迭代中只考虑系统的一部分需求,针对这部分需求进行分析、设计、实现、测试和部署等工作,每次迭代都是在系统已完成部分的基础上进行的,每次给系统能够增加一些新的功能,如此循环往复地进行下去,直至完成最终项目。
  • 我的经验:软件的生命周期就好比人的生命周期——从婴儿时期,幼儿时期,少年时期,青年时期,中年时期到老年时期以及最后死亡的过程一样,软件也有从生产期消亡期的过程。而统一软件过程就是在软件生命周期过程中以用例为驱动、构架为中心来进行一次一次的增量式的迭代,每次迭代都是以上一次迭代为基础并生成包括构件的源代码体、需求说明、测试用例等的制品。
    每次的迭代又具体分为四个阶段:初始、细化、提交和转移,而在每个阶段又分为五个工作流:需求、分析、设计、实现和测试。统一软件开发过程是基于面向对象方法和UML统一建模语言的,用这种方法论来指导软件开发主要可以解决两个问题:1.软件复用问题;2.需求变化问题。
  • 我的想法:要完成一个复杂的软件项目,这些规程是非常重要的。团队的各种成员要在不同阶段做不同的事。
posted @ 2020-11-03 14:15  jjw123  阅读(95)  评论(0)    收藏  举报