管理培训搜索
18318889481

IT
| 网络安全管理师

信息安全工程 网络蠕虫

| 系统集成项目管理工程师

每日一练 报名考试 考试大纲 知识考点 综合知识 直播动态 考试用书 政策法规 系统集成产学研实践 资质认定

| 金融科技师

职业前景 CGFT专题 政策动态

| 网络工程师

考试动态 每日一练 学习笔录 技术考点 知识考点 直播动态 考试用书 技术与应用 网络工程 网络技术入门 考试大纲

| 计算机学苑

数字媒体艺术 计算机科学与技术 软考报名 信息处理技术员 行业资讯 考试大纲 直播动态 网络安全 网络管理 通信技术 OpenHarmony 计算机与网络 企业信息化 软件工程 Linux 嵌入式Linux开发基础(ARMAtom) 离散数学 操作系统 C++程序设计 Java 语言程序设计 智能感知与无人系统 机器学习算法与人工智能 Python 软考资讯

| 计算机应用水平考试

考试动态 报考指南 全国计算机应用水平考试 中国计算机等级考试 江西计算机等级考试 广东计算机等级考试 江苏计算机等级考试 贵州计算机等级考试 湖南计算机等级考试 福建计算机等级考试 河南计算机等级考试 广西计算机等级考试 山西计算机等级考试 吉林计算机等级考试 江苏计算机等级考试 湖北计算机等级考试 北京计算机等级考试 安徽计算机等级考试 宁夏计算机等级考试 浙江计算机等级考试 陕西计算机等级考试 湖北计算机等级考试 河北计算机等级考试 天津计算机等级考试

| 电子商务平台

互联网营销师 电子商务师 农村电商

| 计算机技术与软件专业技术资格(水平)考试
| 信息系统项目管理师

学习笔记 考试动态 直播动态 考试用书 考试大纲 信息系统项目管理

| 信息系统监理师

IT实务 直播预告 信息系统监理师综合 答疑QA 监理资质

| 信息处理技术员

考试动态 直播动态 考试用书 知识分享 技术百科

| 基于C++跨平台的云笔记设计与实现当前您所在的位置:首页 > IT > 计算机学苑 > C++程序设计

基于C++跨平台的云笔记设计与实现

贺竑睿,周 兵,林 宏*

(贵州师范学院 数学与大数据学院,贵州 贵阳 550018)

摘 要: 针对跨平台云笔记协作的问题,文章设计并且开发了一个基于C/S架构的跨平台云笔记平台。本研究深入分析云笔记平台的业务流程,对云笔记平台的需求进行用例建模,再选取C++为开发语言,TCP为通信协议,Qt为开发工具。通过云笔记平台的构建,本设计为用户提供在线记录笔记服务,例如查看笔记、新建笔记、修改笔记、删除笔记等,实现了笔记的云端存储,为促进笔记使用的简洁化、方便化提供了可行性,同时为以后使用Qt框架开发跨平台应用探索了技术路径。

关键词:跨平台;云笔记;C++;Qt

0 引言

随着互联网、云计算的高速发展,记录笔记并且保存笔记的问题已经成为人们学习与生活的刚需。纸质笔记无法随身携带,导致人们经常忘记笔记内容。开发一套基于云端、随时记录和读取的云笔记系统,显得十分重要。云笔记作为一个新兴的互联网业务,尽管当前用户数量还比较少,但是其便捷、随时的优点使得其拥有巨大的市场潜力。随着人们对工作效率的要求的不断提升,云笔记业务将成为人们工作学习中的重要组成部分[1-6]

1 系统功能需求分析

系统的主要功能有:注册用户、创建笔记、查看笔记、修改笔记、删除笔记。

云笔记平台的使用者有普通用户和平台管理员。平台首先需要注册用户基础信息,以便登录平台时验证。用户可以登录平台,也可以退出平台。若用户选择保存笔记,则表明该笔记可以存储在服务器中。平台管理员应当定期审查笔记是否违规。待平台管理员审查完毕之后,违规的笔记被平台管理员删除。另外,用户可以申诉笔记,由管理员二次审查,如果没有违规,笔记恢复,用户最终决定是否保留。

系统主要有两类角色:平台管理员、普通用户。平台管理员使用的用例有用户信息管理、用户笔记管理。业主使用的主要用例有注册、登录、保存笔记、修改笔记、删除笔记,如图1所示。

图1 系统用例

用户通过发出增删查改的请求,对应的处理过程会通过与数据库的存储文件的交互完成对应的操作。管理员会对用户的笔记进行审查,当然用户可以申诉自己被判定违规的笔记。数据流如图2所示。

图2 数据流

2 系统功能详细设计

2.1 总体功能设计

本系统的总体功能主要是为了用户可以快速地、实时地将所需要的笔记保存,并且便于查看。本设计确保用户拥有个人私有空间,并且保证用户信息的安全。每个环节的操作更加简明。用户在使用的过程中有良好的用户使用体验[7]

2.2 在线笔记管理

用户登录系统后进入笔记管理子系统。如果用户之前上传过笔记,该系统会根据之前上传的所有笔记的标题排列在标题栏中,方便用户查看。用户可以查看之前存储的笔记,并且可以对其进行在线编辑[8],并管理笔记。也可以对之前保存的笔记进行删除操作,删除用户不需要的笔记。用户也可以在线新建笔记,笔记待用户编辑完成后,点击保存按钮即可对新建的笔记进行保存。

2.3 支持多操作系统

系统支持同一个账号多个操作系统同时登录。刷新按钮可以刷新笔记最后修改过的内容。

2.4 系统后台管理

管理员可以进入此系统,对普通的用户上传的笔记进行管理,通过在线浏览用户的笔记来判断用户是否违禁,如果有违禁的笔记可以对其进行删除[9]。用户遗忘密码时,可以联系管理员修改密码。

3 系统功能实现

3.1 跨平台的实现

Qt是一个能支持多种操作系统的开发框架,它使用C++语言开发,为使用者提供了C++图形用户界面库。Qt通过对所支持的操作系统平台的底层API的功能抽象统一,Qt使用了统一编程接口,忽略了各个操作系统的差异,但也为不同的操作系统提供特定的编程接口[10]。Qt的应用程序编程接口是直接建立在系统底层API之上,确保了程序的运行效率,这是其他库所不及的。Qt可以做到不修改代码,即可实现跨平台应用的开发。用一套代码在不同平台编译后,即可生成直接在该平台运行的软件。

3.2 笔记模块的实现

笔记模块包含系统的主要功能:创建笔记、笔记重命名、删除笔记、修改笔记,如图3所示。

图3 用户操作界面

创建笔记本:用户输入笔记名称,在右侧的编辑栏就可以书写笔记的内容,点击保存按钮后,笔记将会以文件的形式保存于服务器端。

笔记重命名:查看笔记后直接对原标题进行修改即可对标题进行重命名。服务端会搜索到存储笔记标题的booklist.txt文件,将其中需要修改的标题修改成修改过的标题,再将book文件夹中原来的标题名文件重命名为新的标题名字。

删除笔记:先判断用户文件夹中的book文件夹中是否有该文章的标题,执行删除语句,先将该笔记的内容清空,再将该笔记的标题从文本中去除,成功删除笔记本。

3.3 存储的实现

本项目采用文件的方式存储数据,文件存储的优势是移植数据方便,如图4所示。

图4 存储实现

文件夹是存放整个系统数据的文件夹,用户文件夹是用户名命名的文件夹,booklist.txt文件是存入该用户的笔记标题。book文件夹存放用户笔记。noteserver user.txt文件存放所有用户信息。

4 系统功能测试

本文根据测试目的截取了PTGM模型测试环节的部分内容,通过测试力求客户端软件能够实现多用户同时登录的基本功能。

在服务器端使用预先准备的测试程序,用3台不同操作系统的PC机同时登录,3台PC机的系统分别为Windows10,MacOS Monterey12.2,Ubuntu 20.04,对登录用户、编写笔记并保存等功能进行测试。每当用户进行登录、查看笔记、保存操作时,服务端的测试程序会按照操作顺序在测试程序Debug输出栏处打印出客户端操作,以便确定每个用户的操作是否被服务器正确接收并且执行相应的操作。

从上面对系统的功能测试结果表明,经过测试,每个功能都能被服务器正常读取,操作都被处理,笔记的保存正常,并且运行速度也达到了预期。

5 结语

该系统在Qt框架下基于C++语言,可部署在私有云平台上,私密性更佳。云笔记项目可以在Windows,Linux,MacOS等主流平台直接编译和运行,达到了“一处编写,多处编译和运行”的目标,为进一步开发跨平台的应用打下了坚实基础。

[参考文献]

[1]SONG Y,XUE D,LI J.The design and implementation of cloud notes system web-based[J].International Conference on Information Technol,2017(10):56-58.

[2]WANG L Y.Cloud-notes’client design and implementation based IOS[J].Journal of Xichang College(Natural Science Edition),2014(21):42-44.

[3]PIRARTHANI P,MURUGAN S.Synchronization of sticky notes using cloud[J].International Conference on Communications,2015(10):1497-1500.

[4]SELLIS T,OIKONOMOU K.Algorithmic Aspects of Cloud Computing:Second International Workshop[J].Lecture Notes in Computer Science,2017(20):10230-10234.

[5]WANG G L,WALID B A, JOSÉ N,et al.Optimal mapping of cloud virtual machines[J].Electronic Notes in Discrete Mathematics,2016(52):93-100.

[6]Dan C M. Cloud Computing: Applications and Paradigms[J]. Elsevier Inc, 2013(12):99-130.

[7]毛静.云笔记系统的设计与实现[J].电子设计工程,2019(2):34-37.

[8]罗云青.C++语言下的跨平台软件开发[J].电子技术与软件工程,2015(9):62-63.

[9]林荣杭,刘小英.基于Flutter的云笔记系统[J].信息技术与信息化,2021(10):41-43,46.

[10]焦文涛.一种基于QT平台的即时通信软件的设计与实现[D].西安:西安电子科技大学,2013.


课程
财会类
税务类
金融类
经管类
认证类
学历类
建工类
健康类
专家
政府专家
财税名家
高校教授
文化传媒
金融科技
金融电子化
企业管理
财政金融
生物医药
诺贝尔奖得主
合规法律
科学技术
银行智库
财会
中国注册会计师
AIA
会计实务
财务经理人
初级会计师
税务实务
中级会计师
中国会计智库
CFO成长营
会计学苑
建工
二级造价工程师
建筑工程资讯
二级建造师
一级造价工程师
监理工程师
消防设施操作员
产教融合
建工学苑
一级建造师
安全工程师
消防工程师
造价工程事务所
BIM工程师
经管
转创人力
中级经济师
二级人力资源管理师
三级人力资源师
人力资源管理师
碳排放管理师
期刊中心
教材参考
军队文职人员
产教融合
劳动关系协调员
初、中级经济考试
企业合规师
初级经济师
企业人力资源管理师
职业指导师
教育
英语学习考试
专升本
成人高等教育
自考中国
自学考试研究所
普通专升本
小自考中心
高等继续教育学院
中外教育
智库与社会服务
高等职业本科
金融
证券从业
基金从业
金融智库
银行从业
转创博学
ICCM
项目
高管培训
国际学历
财经证书
专项课程
企业内训
教育技术产品
高校学科建设服务
教学资源开发
国际合作服务
产业服务
国内院校
海外院校
海外留学
合作院校
观点
政治经济
IT&财务融合
高校教授
文化传媒
金融科技
金融电子化
企业管理
财政金融
生物医药
诺贝尔奖
合规法律
科学技术
银行智库
商业产经
医卫
医卫健康
主管药师
保育员
药卫学苑
心理咨询师
家庭照护员
养老护理员
健康管理师
公共营养师
执业药师
育婴师(员)
主管护师
护士执业
医院招聘
IT
网络安全管理师
系统集成项目管理工程师
金融科技师
网络工程师
计算机学苑
计算机应用水平考试
电子商务平台
计算机技术与软件专业技术资格(水平)考试
信息系统项目管理师
信息系统监理师
信息处理技术员
考研
考研资讯
信息中心
专业硕士
考研公共课
同等学力申硕中心
复试调剂
研究生工作
考研中国
硕士入学考试
考研直播动态
教师
高中教师
考试动态
直播动态
考试报名
教育智库
幼儿教师
小学教师
初中教师
教师中国
教师招聘
中小学教师资格考试
普通话测试
教师企业
校长领导力
社工
社会工作者
技能中国
智库与社会服务
初级社会工作者
中级社会工作者
报考动态
社会工作事务所
职称评审
家庭教育指导师
转创网校APP
18318889481
在线QQ
在线留言
返回首页
返回顶部
留言板
发送