Thunder_Class
Thunder_Class copied to clipboard
雷课堂大作业
过来围观一下,你加油,顺便送你一个:star:!:smile: **✏️ with ❤️ by NPU-Franklin**
项目架构的一个参考
## 项目架构的一个参考 在我 fork 的 [repo](https://github.com/cnDengyu/Thunder_Class) 中有一个分支,src 中包含了一个 core 文件夹和一个 Qt 文件夹。 core 文件夹中存放了一个 Workflow 抽象类,包含许多纯虚函数。 Qt 文件夹中存放了一组 GUI 类和一个 QtWorkflow 派生类,实现 Workflow 类的所有虚函数。 当然也可以新建其他文件夹(比如 MFC),然后创建 MFCWorkflow 派生类,把核心类链接到 MFC 的...
感谢各位积极参与!目前软件架构已初步成形,之后会逐渐加入代码,相关的文档也会跟进。请参阅 [类图](../tree/master/doc/类图plantUML.png)(细节较少,但侧重重点依赖关系和核心逻辑) [类文档](../tree/master/doc/类文档.md)(实时补充) [开发计划(说正式但还是草稿,肯定会偏离)](../tree/master/doc/第一轮迭代正式计划.md) 完成基本数据类型的定义后,大家都可以积极贡献代码了!任何人如果有认领模块(锅)的想法或者关于软件设计方面的意见/建议欢迎讨论交流~ 本周主要贡献者: @inkydragon 代码风格检查器 @cnDengyu GUI初步架构的编写和软件设计的深入讨论 @profthecopyright 软件架构设计及各种文档和图(嗯对我就是不写代码)
### 前言 这个 issue 从 GUI 开发者的角度分析一下希望向内部发送的消息。 ## 接口实现进度(可考虑动态更新) - [ ] onLogin - [ ] onUserListChange - [ ] onSetServerIP - [ ] onStartAudioShare - [ ] onCloseAudioShare -...
感谢@RainaX #16 推荐,决定用[plantUML](http://plantuml.com)作图。 优点: 1. 可以从plain text转为png格式的UML图,方便编辑,且有[Chrome插件](https://chrome.google.com/webstore/detail/plantuml-viewer/legbfeljfbjgfifnkmpoajgpgejojooj)以及其他[各种插件](https://plantuml.com/zh/running),可随时编辑随时预览。 2. 上手迅速,教程详细(如类图在[这里](https://plantuml.com/zh/class-diagram)),一看就会。 3. 功能强大,可编辑各种常见类型的UML图(用例图、时序图等等),还可以加各种注释。 已结合@cnDengyu #17 的具体实现在[doc](../tree/master/doc)中更新了[类图](../tree/master/doc/类图plantUML.png),[源文件](../tree/master/doc/类图plantUML.txt)在这里,可以体会一下(部分细节有所调整)。
求UML版各种图
我上传了初稿的类图(草图,还没加具体的函数什么的),但目前没装Rational Rose一类的工具,暂且做了个ppt版。个人对UML不太熟,希望有人能负责类图(以及之后可能有的时序图、用例图etc)的UML版转换,感谢~
隔壁同学前来围观。 考虑到这个程序可以运行在服务器上,可以换用更强的GNU Affero General Public License 3.0。 附上协议链接: [](https://www.gnu.org/licenses/agpl-3.0.html)
关于设计思路的若干问题
1. 根据老师在4.21晚习题课的讲解,这里面的传输C/S模式应该是老师(主持会议方)为服务端,建好之后IP告诉同学让同学(与会者)用客户端加入,数据库也是老师保存在本地,共享屏幕仅教师端可以使用,双方是不平等的关系。当然答辩的时候展示同学作为假想的“老师”。你的设计思路中单独一个服务端的想法不符合需求。 2. 使用纯UDP传输与多处需求相悖,相比传输速率,大作业里稳定性显然更重要。 3. 共享屏幕不要求实时,一秒钟一帧十秒钟一帧都是可以的,如果你要是用 ffmpeg 的话记得把 ffmpeg 加入你的项目里作为代码一部分,然后和你原本的代码一起编译得到同一个exe,不得使用dll等。 4. Qt早就成了自动化小学期的Baseline,这都2020年竟然要用MFC吗? 5. 想蹭热度无可厚非,但是搞一堆不符合需求的东西,要是真让需要完成作业的同学看见,走偏了方向,最后辛苦爆肝几星期拿个及格分,你作何感受?