面向对象及软件工程-团队作业3

1.测试人员

张昕博,刘一陶,江政良,李博宇。

2. 测试问题

(1).问诊医生列表的人数与实际问诊的人数不符

solve:在插入患者的唯一标识的时候,我们首先没有用队列push。我们每次获取问诊这个医生的数组,如果有新的用户没有问诊过这个医生,我们就将它插入这个数组,var up="info[0].name = ***" , [up] : res这种方法。再上传到云数据库。

(2).聊天界面不能实时刷新

solve: setInterval(function (){that.getInfo(); },1000) 可以是刷新界面。

(3).用户发送的朋友圈没有按时间顺序显示

solve:wx.cloud.database().collection("friendsqure").orderBy('dateY', 'desc').orderBy('dateM', 'desc').orderBy('dateD', 'asc').orderBy('date', 'desc') 本来写的orderBy('dateD', 'desc'),日期按降序排列没毛病吧。但是显示就不对。只好用asc。

(4).输入病症,推荐的返回值有两个相同的医生。

sovle:python写了对一种病症有多种判断逻辑,将多种判断逻辑合并。

(5).区块链速度慢,数据上链时间一般要5~10秒

solve: 使用硬件,嵌入式编程,这样的话区块链就会独立运行。提高了程序运行和区块链的效率。

3.测试结果

(1).安卓手机不会显示中文路径的图片,ios可以显示。

(2)安卓手机会校验域名,ios不会校验域名;当我们使用ios测试时能够成功访问我们的云服务器;但是安卓手机却无法访问。bug是因为我们的微信公众平台没有成功通过我们的域名添加。

(3)区块链出现很多内存出bug,不及时回收带来的野指针。解决方法是单步调试,逻辑分析,然后搞清楚每个指针与对象的指引关系,何时结束,结束就立即free和设为Nul。

4.分工

张昕博 前端工作

刘一陶 后端工作

江政良 区块链编码

李博宇 机器学习编码

此次实验项目制作过程之中,我们对自己的重大失误做出了深刻以及具体的了解。第一:观念的不注重性,当我们团队在几个月前决定申请域名的时候,由于日期的规划没有计算到疫情带来的不充分性和不可预料性,我们发现剩下的时间不足以申请域名于是团队将此事搁置了下来,但是疫情影响下,比赛时间推迟了半个月,此时却由于没有域名来搭建我们的服务器,导致我们区块链(使用c语言书写)和后端的java连接的方式无法在当前的环境下成功使用(我们使用了云服务器但是云服务器要使用jna技术的前提是将区块链的dll文件上传到我们的云服务器上,我们请教了杨培老师以及其他做过类似工作的专业人士但是却无法解决),相反如果我们可以及时的获取自己的域名搭建起我们的服务器之后,这个问题就会迎刃而解了。第二:我们对项目的预估很失败;之所以这么说是因为我们对项目原本的计划是经过的能力和分工的合理分配的但是出现的许多工程上的问题导致我们话费了70%以上的时间去进行搭建环境和构建平台链接上面,这时的我们的精力无法充分的利用起来,大部分的时间花费到了无关于项目代码和逻辑的开销之上,这是我们没有预料到的第二个问题,而且这些问题消耗了我们的热血导致我们团队的cpu没有运转起来。第三:对项目的界定不明确,根据谢老师的指导我们对区块链再项目中的应用实际上是很有可观前景的,但是由于所读的论文不足,所积累的知识面不够广泛我们对区块链的应用很是片面和不具体,换句话说就是没有充分的把区块链的功能应用出来。这也是项目的失败之处。在项目执行之前要对项目本体作出全面的具体的规划和预算是尤为重要的这将会决定着项目在后期实现的环节里的可靠性和步骤性,各环节的负责人员交流经验和问题的机会也必须存在,这才能是的前后相顾,不至于头重脚轻。

posted @ 2020-06-30 17:04  FairySense工作室  阅读(169)  评论(0编辑  收藏  举报