我们的平台主要包括三个主要的部分:数据库逻辑结构实现、前端界面实现、神经网络算法实现。当然还包括连接这三部分的接口的实现,下面将一一介绍。
数据库逻辑结构实现:
数据库按照软件设计篇设计的数据库表结构,遵循其中的表约束条件,使用SQL语句建库就好了,具体生成数据库表结构的.sql脚本已经上传至GitHub(GitHub Address:https://github.com/ylem10/SoftwareProject),读者可以自行下载运行。我们使用的数据是MySql数据库。
前端界面实现:
前端界面展示将在软件展示部分给出,具体实现是使用了HTML+CSS,使用JS/JQ实现交互功能。
神经网络算法实现:
神经网络的实现参考了吴恩达先生的深度学习课程,具体实现策略用到了一些数学知识,包括矩阵,微积分和凸优化等内容。具体实现流程已经在软件设计方面讲述的很清楚了。为了和别的模块兼容,接口设计的更加明确,我们实现了两个类:NNTrainer(神经网络训练类)和NNPredicter(神经网络预测类),把神经网络模型进行封装,使其模块更强。但是由于送入神经网络的数据是在一定的限制条件下随机生成的(很难找到这方面的数据集),导致了神经网络的训练效果不是很好,不过代码经过本人的详细检查,没有什么问题。
接口实现:
View层与Controller层的数据传递
1) view通过超链接的方式给Controller层传递数据
2) view通过ajax的方式给Controller层传递数据
3)Controller层返回数据给view层
Model层与Controller层的数据传递
Control层给出参数直接调用Model层中的方法
相关说明:
由于我们的上一篇博客(Address:http://www.cnblogs.com/ylemfei-7797110/p/7899310.html)已经把我们的软件实现部分涵盖了,也讲述的很清楚了,所以,这里只是对上一篇做了一个简短的总结,具体细节可以参考上一篇博客。另外,我们的代码也已经上传至GitHub平台(Address:https://github.com/ylem10/SoftwareProject)大家可以clone本项目代码。