在我们做好软件的用例分析、语言的选择和基本的一个功能活动图后,我们便可以开始大致软件的设计。
在用例图中,我们看到有两个用例:一个是用户的配置、一个是系统的监控。但用例图中中还隐藏着一个功能,那就是同步。
现在我们清楚了,软件要满足下面三个功能:
- 用户接口
- 文件系统监控
- 云同步
刚开始设计时,要遵循一些规则,这样避免后面软件开发的中设计的失误导致设计的重写。而且在整个开发过程中,自己采用了一些敏捷的思想:快速迭代,每次迭代能完成一个新的feature。在设计领域,有很多的理论知识,其中设计模式哲学受到很多大牛的推崇,自己也参考了许多。
在设计初,对于这三种功能,我们要映射到软件中,其实映入脑海的就是将三个功能通过三个模块来实现,而由于三个模块彼此需要交互,所以需要一定的协议来进行沟通。
我想大家也能想到怎么设计这三个模块和之间的协议吧?对!就是将三种功能映射为三个独立的线程,而之间的协议则是自己定义的消息(如下图)。
现在最基本的功能设计已经