Scroll to top

2020_1课程设计—基于BC的证书格式转换工具的设计与实现—个人报告

个人贡献

  • 收集、学习相关资料
  • 下载安装OpenSSL,实现证书颁发和格式转换
  • 根据计划进行程序设计、优化
  • 对底层代码进行单元测试

设计中遇到的问题及解决方法

  • 起初写Java代码时,虽然借助了BouncyCastle这个第三方库,但是写出来的代码仍然更像是面向过程的代码,经过组长的建议,在后期优化时我们将类、方法重新进行了整理。
  • 后台的测试虽然能够解决边界问题,但是将信息传入后台后再做检测判断,就比较蠢,我们选择了前台通过JavaScript检测以后再提交表单。

调试过程中遇到的主要问题,并说明解决方法

  • 问题1:导入BouncyCastle的jar包后,程序仍然报错。
  • 解决:经查阅资料发现导错了jar包,BouncyCastle提供了两个jar包bcprov-jdk15to18-165.jarbcprov-ext-jdk15to18-165.jar,应该导入第一个,注意区别。
  • 问题2:不会写测试代码
  • 解决:广泛学习网上的博客,学习Junit中抛出的异常类型检测、检测exit退出等,学习了assert的用法。
  • 问题3:Eclipse上开发的web项目如何导入IDEA中
  • 解决:参考博客,细节很多,导入jar包、配置Tomcat时都要注意。

设计体会与收获

  • 关于程序设计,我们在一开始就明确了程序设计的思路,基于BouncyCastle的证书格式转化就是利于BouncyCastle这个第三方库的类和方法实现证书读取和写入,这对我们后期完善代码有很大的帮助。
  • 关于单元测试,遇到的第一个问题是:有try,有catch是否还有必要进行单元测试?这个问题我其实困惑了蛮久,但当尝试搜索如何用Junit测试异常时,突然意识到,catch到的是预料到的异常情况,实际情况则不尽然。第二个问题是:参数、返回值特别复杂的情况,又如何单元测试这个问题,我最初的想法是判断是否返回为空,当然这肯定测试的不够合理。后来查阅资料时看到返回值比较复杂时Junit4中的断言可以检测部分关键字。
  • 最后来点小反思。Java语言好用吗?好用!那为啥对其掌握不够?用的少了!那就多用用,捡起来吧!

码云链接

参考资料

END

posted @ 2020-05-04 20:24  September_starlet  阅读(158)  评论(0编辑  收藏  举报
动态线条
动态线条end