您的位置:首页 > 理论基础 > 计算机网络

跨平台的网络云盘软件设计实现[一]

2014-04-29 22:25 344 查看
由于ubuntu one 停止服务,由于众所周知的原因dropbox插件在中国也没法使用,一直没有好的linux同步工具,所以自己索性写了一个跨平台的工具。自己在设计和实现的过程中学习到了不少知识,下面自己写成博客,慢慢分享。

首先是需求分析,自己用用例图画了一个如下。

需求分析:



从上面看,这个软件主要的功能比较简单,交互的对象比较少。

作为功能的核心,主要是检测文件系统的改变,然后将文件系统的改变同步到云服务器上。其他的功能就是基于这个主要功能而做的配置。

了解了用户需求(其实主要是我自己的需求),我们就可以开始选择开发语言和框架了。由于鄙人需要是一个跨平台软件,而且最好能敏捷开发。所以自己选择python跨平台、简洁而又强大的语言。同时选择Qt的绑定作为UI的界面,因为程序。同时需要一个能支持分布式的版本管理系统。所以git是我的选择,同时开始第一次试用github,话说这个在GFW下访问巨慢(呵呵)。

那么开始大体的软件设计了,在设计前需要知道大体的软件流程,比如用户添加删除同步目录,软件如何做。

软件的活动图如下:



我们可以看到,当用户添加目录时,软件需要添加到配置信息中,同时开启对添加目录下面文件、目录的变动的监控。当有文件变动时,需要同步云服务器的相关改动,同时通知客户。

而当删除目录时,相关文件系统监控则需要移除。

展示下界面:



之后将继续介绍相关详细设计以及代码实现,欢迎关注。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: