一、规格化设计的发展历史和规格化设计得到重视的原因
随着计算机技术的发展,与之相应,程序的代码也不断的变得复杂,程序不易测试,代码复杂引起很多问题,在这个过程中,人们逐渐发现了规格的重要性,便产生了结构化程序设计方法,将软件的复杂度降低,降低开发难度。
而随着硬件的再次发展,程序复杂度进一步提升,结构化设计的扩展性,维护性不强的问题凸显出来,无法满足人们的需求,于是出现了面向过程编程。而一个复杂的程序往往是很多人相互合作一起开发出来的,为了相互之间能够将程序功能等规格体现出来,规格化的技术也体现出了它的重要性,引起了人们的重视。
二、被报告的规格bug
这几次的作业中遇到的同学还是挺佛系的,因此没有报告什么bug,但就我自己看,还是有很多不足的。这次写的JSF我觉得按方法的类型主要可以分为几类,第一类是构造方法,这种方法的JSF很好写,也不会出错。第二类是private属性的get方法或者是set方法,这类方法也基本上是固定的,很容易写,不会出错。第三类就是类中按相应的目的写的类中的正常的方法。这种方法很多,而且最不容易写,因为很多东西都不会用布尔表达式写。
三、规格bug原因分析
在这次的JSF规格中,我感觉主要的问题就是我的很多方法EFFECT都使用的是自然语言描述,而原因除了我没有很熟练的掌握使用布尔表达式来书写EFFECT外,主要是因为在我所写的方法中,为了实现相应的方法目的,最终涉及到的数据有点多或者方法本身的目的就有点抽象,而使得EFFECT最终不好写布尔表达式,只能使用自然语言。
四、规格缺陷及改进
上面也提到了,我觉得我的规格缺陷主要是就是自然语言使用太多,下面说一下具体的。
第一个EFFECTS:
改进后:
第二个 REQUIRES
改进后:
这个其实EFFECTS也是自然语言,但我实在不知道从文件中读入该怎么用布尔表达式写。
五、聚类分析
无聚类分析。
六、基本思路和体会
这几次的作业中,由于大部分都是先写出了方法和类,然后再写的规格,因此很多规格确实都是很不好写。
而在出租车系列作业中,随着一次次对出租车功能的增加以及对整个出租车程序的修改,我能感觉到确实是将出租车这些作为一个面向对象来实现了,不知不觉中已经对面向对象有了很多的了解。
而在bug互报这个阶段,感觉自己很幸运,遇到的测试者都是很佛系的同学,我测试的同学在相互讨论之后,大家都很平和的接受了最后的结果,很和平。