数字媒体艺术 计算机科学与技术 软考报名 信息处理技术员 行业资讯 考试大纲 直播动态 网络安全 网络管理 通信技术 OpenHarmony 计算机与网络 企业信息化 软件工程 Linux 嵌入式Linux开发基础(ARMAtom) 离散数学 操作系统 C++程序设计 Java 语言程序设计 智能感知与无人系统 机器学习算法与人工智能 Python 软考资讯
随着互联网、云计算的高速发展,记录笔记并且保存笔记的问题已经成为人们学习与生活的刚需。纸质笔记无法随身携带,导致人们经常忘记笔记内容。开发一套基于云端、随时记录和读取的云笔记系统,显得十分重要。云笔记作为一个新兴的互联网业务,尽管当前用户数量还比较少,但是其便捷、随时的优点使得其拥有巨大的市场潜力。随着人们对工作效率的要求的不断提升,云笔记业务将成为人们工作学习中的重要组成部分[1-6]。
系统的主要功能有:注册用户、创建笔记、查看笔记、修改笔记、删除笔记。
云笔记平台的使用者有普通用户和平台管理员。平台首先需要注册用户基础信息,以便登录平台时验证。用户可以登录平台,也可以退出平台。若用户选择保存笔记,则表明该笔记可以存储在服务器中。平台管理员应当定期审查笔记是否违规。待平台管理员审查完毕之后,违规的笔记被平台管理员删除。另外,用户可以申诉笔记,由管理员二次审查,如果没有违规,笔记恢复,用户最终决定是否保留。
系统主要有两类角色:平台管理员、普通用户。平台管理员使用的用例有用户信息管理、用户笔记管理。业主使用的主要用例有注册、登录、保存笔记、修改笔记、删除笔记,如图1所示。
图1 系统用例
用户通过发出增删查改的请求,对应的处理过程会通过与数据库的存储文件的交互完成对应的操作。管理员会对用户的笔记进行审查,当然用户可以申诉自己被判定违规的笔记。数据流如图2所示。
图2 数据流
本系统的总体功能主要是为了用户可以快速地、实时地将所需要的笔记保存,并且便于查看。本设计确保用户拥有个人私有空间,并且保证用户信息的安全。每个环节的操作更加简明。用户在使用的过程中有良好的用户使用体验[7]。
用户登录系统后进入笔记管理子系统。如果用户之前上传过笔记,该系统会根据之前上传的所有笔记的标题排列在标题栏中,方便用户查看。用户可以查看之前存储的笔记,并且可以对其进行在线编辑[8],并管理笔记。也可以对之前保存的笔记进行删除操作,删除用户不需要的笔记。用户也可以在线新建笔记,笔记待用户编辑完成后,点击保存按钮即可对新建的笔记进行保存。
系统支持同一个账号多个操作系统同时登录。刷新按钮可以刷新笔记最后修改过的内容。
管理员可以进入此系统,对普通的用户上传的笔记进行管理,通过在线浏览用户的笔记来判断用户是否违禁,如果有违禁的笔记可以对其进行删除[9]。用户遗忘密码时,可以联系管理员修改密码。
Qt是一个能支持多种操作系统的开发框架,它使用C++语言开发,为使用者提供了C++图形用户界面库。Qt通过对所支持的操作系统平台的底层API的功能抽象统一,Qt使用了统一编程接口,忽略了各个操作系统的差异,但也为不同的操作系统提供特定的编程接口[10]。Qt的应用程序编程接口是直接建立在系统底层API之上,确保了程序的运行效率,这是其他库所不及的。Qt可以做到不修改代码,即可实现跨平台应用的开发。用一套代码在不同平台编译后,即可生成直接在该平台运行的软件。
笔记模块包含系统的主要功能:创建笔记、笔记重命名、删除笔记、修改笔记,如图3所示。
图3 用户操作界面
创建笔记本:用户输入笔记名称,在右侧的编辑栏就可以书写笔记的内容,点击保存按钮后,笔记将会以文件的形式保存于服务器端。
笔记重命名:查看笔记后直接对原标题进行修改即可对标题进行重命名。服务端会搜索到存储笔记标题的booklist.txt文件,将其中需要修改的标题修改成修改过的标题,再将book文件夹中原来的标题名文件重命名为新的标题名字。
删除笔记:先判断用户文件夹中的book文件夹中是否有该文章的标题,执行删除语句,先将该笔记的内容清空,再将该笔记的标题从文本中去除,成功删除笔记本。
本项目采用文件的方式存储数据,文件存储的优势是移植数据方便,如图4所示。
图4 存储实现
文件夹是存放整个系统数据的文件夹,用户文件夹是用户名命名的文件夹,booklist.txt文件是存入该用户的笔记标题。book文件夹存放用户笔记。noteserver user.txt文件存放所有用户信息。
本文根据测试目的截取了PTGM模型测试环节的部分内容,通过测试力求客户端软件能够实现多用户同时登录的基本功能。
在服务器端使用预先准备的测试程序,用3台不同操作系统的PC机同时登录,3台PC机的系统分别为Windows10,MacOS Monterey12.2,Ubuntu 20.04,对登录用户、编写笔记并保存等功能进行测试。每当用户进行登录、查看笔记、保存操作时,服务端的测试程序会按照操作顺序在测试程序Debug输出栏处打印出客户端操作,以便确定每个用户的操作是否被服务器正确接收并且执行相应的操作。
从上面对系统的功能测试结果表明,经过测试,每个功能都能被服务器正常读取,操作都被处理,笔记的保存正常,并且运行速度也达到了预期。
该系统在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.
© 2019-2021 All rights reserved. 北京转创国际管理咨询有限公司 京ICP备19055770号-1
Beijing TransVenture International Management Consulting Co., Ltd.
地址:佛山市金融高新区京华广场
北京市大兴区新源大街25号院恒大未来城7号楼1102室
深圳市福田区华能大厦
深圳市南山区高新科技园南区R2-B栋4楼12室
梅州市丰顺县留隍镇新兴路881号
汕头市金平区华坞村七巷三楼
长沙市芙蓉区韶山北路139号文化大厦
欢迎来到本网站,请问有什么可以帮您?
稍后再说 现在咨询