《软件工程导论》第一次随笔

        这一次的个人项目和结对项目的中学数学出题系统,终让我体会到了一点点的“软件工程”的感觉,包括各种功能函数的设计等等,

此前的一些编程任务终归只算是“做题”解决问题吧,或许会有难点,但总觉得只是做题满足答案罢了,这次的个人和结对项目,是为了满足需求,为了各种业务需求去寻找解决方法,有了项目的感觉。

 

       查看学习一下我的结对同伴的代码,他使用的是Java语言,而我这次由于对Java编译器等一些操作的不熟练,用的是C++。

 

       整体上来说,他的个人项目的模块化完成的非常好,而且各个功能模块之间的联系与连接很优秀,例如FileController、UIController,还有examDB、teacherDB等等,函数名简单易懂,从软件架构上讲,做到了相关功能的高聚集,无关功能的低耦合,在后续的团队项目中的各个功能的修改、完善或者更改上留有很大的空间,同时也极具修改、升级时的便捷性。

       个人项目中,在一些地方,例如文件夹的是否已经建立的问题上,我的结对伙伴使用了try catch,使代码精简且易懂,反观自己的代码,由于使用了过多的if elseif else 等判断语句,导致代码显得繁琐且难读。同时,使用hash表作为一个DB存放老师的信息和密码也是极好的存在,略加修改便可以在结对项目中使用,而我的代码由于老师的信息存放过于死板,仅为if else判断,这导致了代码的可重用性变得很差。同时,我的个人项目在正式编写前进行很完整的功能模块分析,导致编写代码的时候,由于两个功能函数之间的时间跨度长,导致了最后整合功能函数时,发现UI功能和出题功能中都混入了一些同样的功能出现了重复,所以删除了其中一个功能函数,其无关功能的高耦合性导致了我的代码在后期的拓展性极差,几乎很难随随便便的加入其他功能,以后需要改正编程习惯,在正式编写代码前要好好的进行需求分析与功能模块设计。

 

posted @ 2020-09-30 19:17  雷佳晨  阅读(99)  评论(0)    收藏  举报