@galaxy-0
2016-08-27T18:05:34.000000Z
字数 1337
阅读 578
文档
报告
总界面如图,左侧是功能栏,右侧是日程显示,下方是按钮工具栏
功能栏简介:
- 收集箱:存放临时的事项,需要进一步安排时间
- 今日待办:今天的任务
- 明日待办:明天的任务
- 任务列表:一个大项目中的细分步骤,比如项目为大作业时,步骤可以分为“配置开发环境”“完成主界面”“完成文件交互部分”等等。步骤可以安排一个具体的时间转化为今日待办或者其他
- 日程:未来某一天做的事情
- 每日任务:每天都要做的事情
- 分类列表:待看的书单和电影列表等(资料列表)
可以添加一个新的日程,界面如下:
如果添加的时候信息填写错误会出现错误提示:
测试的时候系统时间是8月27号,我们添加一个29号的日程
添加的所有日程如下
把系统时间调至第二天,重新打开软件
可以看到,今日待办多了一条“跑步”的每日任务(每日任务每天都会添加到今日待办的列表中)
同时之前在明日待办中添加的事项自动转移到了今日待办中
而之前未完成的跑步事项变成了橙色显示
而明日待办中出现了之前添加的29号的日程
测试演示表明,这个软件可以适应各种类别的日程管理,能够很好地与时间进行适应
其它功能比如翻页,点击日程右侧的省略号查看详细信息并编辑日程就不再进行演示,具体可以参照视频
代码主要分为三层,view
,controller
,model
view:处理界面,负责与用户交互
controller:处理view发过来的请求,处理好业务逻辑之后发给model
model:接受controller的请求,直接对文件进行读写
使用这样的代码架构一个是方便组织系统,在调试的时候会比较方便地定位到出错地点,同时这样的结果具有很强的扩展性。当model层写好之后所有的文件读写变成了简单地调用某些操作函数,提高了代码的重用率。美中不足是在代码编写的过程中还没有实现解耦,model层的文件操作还不能很好地分离出来成为一个独立的复用模块,这一点还有待加强。
在编写这个系统中,很深刻的体会是“先想好再动手”。一开始打代码是想到什么功能做什么,导致编码十分混乱,接口也不够统一。发现了问题之后我重新思考了一下软甲的操作逻辑,并设计好了函数调用的逻辑和层次,于是剩下的工作就变成了单纯的代码编写,省去了很多修改的时间。在调试的时候由于qt不能直接看到哪里崩溃了,所以采用的是输出错误日志的方法进行调试,在调试的过程中也积累了很多调试的经验,到后期出错的时候调试找bug已经十分熟练。这次实训任务中,我经历了短时间现学现用,也经历了熬夜改bug,耐着性子钻研英文文档,这对我来说是一个挑战,也是一次磨炼。以后我会继续开发这个软件,从界面和功能上做到更好。