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

来源:互联网 发布:期货买卖 知乎 编辑:程序博客网 时间:2024/06/03 17:26

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

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


    需求分析:


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

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

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

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

  软件的活动图如下:


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

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


    展示下界面:


    

    之后将继续介绍相关详细设计以及代码实现,欢迎关注。

0 0
原创粉丝点击