跨平台的网络云盘软件设计实现[一]
2014-04-29 22:25
344 查看
由于ubuntu one 停止服务,由于众所周知的原因dropbox插件在中国也没法使用,一直没有好的linux同步工具,所以自己索性写了一个跨平台的工具。自己在设计和实现的过程中学习到了不少知识,下面自己写成博客,慢慢分享。
首先是需求分析,自己用用例图画了一个如下。
需求分析:
从上面看,这个软件主要的功能比较简单,交互的对象比较少。
作为功能的核心,主要是检测文件系统的改变,然后将文件系统的改变同步到云服务器上。其他的功能就是基于这个主要功能而做的配置。
了解了用户需求(其实主要是我自己的需求),我们就可以开始选择开发语言和框架了。由于鄙人需要是一个跨平台软件,而且最好能敏捷开发。所以自己选择python跨平台、简洁而又强大的语言。同时选择Qt的绑定作为UI的界面,因为程序。同时需要一个能支持分布式的版本管理系统。所以git是我的选择,同时开始第一次试用github,话说这个在GFW下访问巨慢(呵呵)。
那么开始大体的软件设计了,在设计前需要知道大体的软件流程,比如用户添加删除同步目录,软件如何做。
软件的活动图如下:
我们可以看到,当用户添加目录时,软件需要添加到配置信息中,同时开启对添加目录下面文件、目录的变动的监控。当有文件变动时,需要同步云服务器的相关改动,同时通知客户。
而当删除目录时,相关文件系统监控则需要移除。
展示下界面:
之后将继续介绍相关详细设计以及代码实现,欢迎关注。
首先是需求分析,自己用用例图画了一个如下。
需求分析:
从上面看,这个软件主要的功能比较简单,交互的对象比较少。
作为功能的核心,主要是检测文件系统的改变,然后将文件系统的改变同步到云服务器上。其他的功能就是基于这个主要功能而做的配置。
了解了用户需求(其实主要是我自己的需求),我们就可以开始选择开发语言和框架了。由于鄙人需要是一个跨平台软件,而且最好能敏捷开发。所以自己选择python跨平台、简洁而又强大的语言。同时选择Qt的绑定作为UI的界面,因为程序。同时需要一个能支持分布式的版本管理系统。所以git是我的选择,同时开始第一次试用github,话说这个在GFW下访问巨慢(呵呵)。
那么开始大体的软件设计了,在设计前需要知道大体的软件流程,比如用户添加删除同步目录,软件如何做。
软件的活动图如下:
我们可以看到,当用户添加目录时,软件需要添加到配置信息中,同时开启对添加目录下面文件、目录的变动的监控。当有文件变动时,需要同步云服务器的相关改动,同时通知客户。
而当删除目录时,相关文件系统监控则需要移除。
展示下界面:
之后将继续介绍相关详细设计以及代码实现,欢迎关注。
相关文章推荐
- 跨平台的网络云盘软件设计实现【二】
- 基于SNMP的网络管理软件设计方案和实现
- 网络流量测量软件的设计与实现
- 基于SNMP的网络管理软件设计方案和实现
- 毕业设计----j2ee实现网络云盘系统(存储个人/共享文件/搜索文件/删除文件)
- 基于.Net(C#开发)平台的三层框架架构软件的设计与实现
- Sniff网络基础原理和软件实现技巧详解
- 通信网络实验——sniffer(嗅探器)设计与实现
- 智能卡3G COS软件的设计与实现
- iOS开发--利用NSProxy实现消息转发-模块化的网络接口层设计
- 使用ConnectifyInstaller软件模拟wifi热点,实现网络共享
- 毕业设计基于OpenCV的图像特征提取软件的设计与实现,部分展示
- vc动态升级模块的设计与实现[网络中的虚拟实验平台]
- 中小企业网络基本架构的设计与实现-实训
- Java系列讲座二:Socket网络通信实现聊天软件项目讲解(UDP)
- hadoop云盘client的设计与实现(一)
- [连载]《C#通讯(串口和网络)框架的设计与实现》- 10.宿主程序详细设计
- [连载]《C#通讯(串口和网络)框架的设计与实现》- 6.通讯控制器的设计
- 们只是「电脑玩物」 首页 实用技巧 免费资源 超好玩的游戏 软件推荐 IT技术 资讯 编程 其它 MVVM设计模式和WPF中的实现(四) 事件绑定 07net01.com 发布于 2015-10-08
- 中国成都国际软件设计大赛--网络预赛注意事项