实训项目策划案
个人行程助理
Personal Schedule Assistant
吴拯宇
2009年9月28日
博看文思
www.ibokanwisdom.com
概述
系统简述
个人行程助理实现了一个可以对个人事件进行时间安排、目标设置、进度标注等管理的数据系统。
面向用户群
需要对日程进行规划和控制的个人。
需要在日程中进行多个行动目标追踪(比如购物清单)的个人。
主要功能
日历显示
可显示一个标准公历日历,并可进行配置。日历可以月视图、周视图、日视图等模式进行显示。
事件安排
在日历视图中,以色块的形式表示不同事件。
可任意添加、删除、修改事务,并为事件设置多个目标。
事件具有不同的类型,以不同颜色进行区分。
目标设置
每个事件可设置多个目标。目标可以是事件完成的子步骤,或者人员列表,或者物品清单。
进度标注
可以把事件中的目标标注为完成或未完成。
标注的影响将自动反映到事件整体的完成度数值,并显示在事件中。
P.S.A.
1
功能模块
日历视图
日历视图有三种显示模式:月视图、周视图、日视图,可自由切换。
默认显示当天的日视图。
月视图
月视图以一个表格显示一个自然月中的日期。表格中如出现上月或下月的日期,以浅色显示,并不可操作。
日期中如有事件,则在格子中显示对应颜色的小圆点。事件数超过5个则只显示数目。
点击日期格,切换至该日期的日视图。
左右滑动屏幕可切换月份,也可进行直接时间指定。
周视图
周视图以一个纵排的表格显示一个星期的7天。每个纵条表示一天的事件,并有标尺显示时间轴。
日期中如有事件,则在对应日期的纵条的对应位置上以色块表示。
点击日期格,切换至该日期的日视图。
左右滑动屏幕可切换星期,也可进行直接时间指定。
日视图
日视图以一个纵向滚动的卷轴视图表示一天的时间。卷轴上有纵向的时间轴标尺。
日期中如有事件,则在时间轴上以色块表示,色块从开始时间覆盖到结束时间,色块中显示事件名称、地点和进度百分
比。
左右滑动屏幕可切换日期,也可进行直接时间指定。
事件
在日历视图的日视图中,可进行事件的增加、删除和编辑。
不同事件覆盖的时间段不可重叠。事件不可跨天。
在日视图中,点击已有事件弹出事件详细信息视图。此视图中显示事件的名称、类型等详细信息,以及目标列表。
P.S.A.
2
增加事件
在时间轴空白处点击,弹出事件编辑视图,进行新事件编辑。需要填入的信息包括:事件名称、地点、类型(固定选
项)、开始时间、结束时间、目标列表等。
编辑/删除事件
点击已有事件,弹出事件详细信息视图。在此视图中可点击编辑按钮进入编辑模式。在编辑模式下可对事件信息进行变更
以及执行删除事件的操作。
目标
在事件详细信息视图中,可对列出的目标进行完成/未完成的标注。
已完成的目标在列表中有不同的表现方式。
对目标进行标注,将影响本事件的进度显示。没有目标的事件不显示进度。
目标可以在事件编辑视图中进行增、删、改等操作。
P.S.A.
3
技术
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
持久化
• 使用SQLite3数据库进行事件数据的保存。
时间
• 使用NSDate类及相关类来进行时间划分、判定、调整等计算,保证程序内所有的时间数据时间轴同步。
• 需要设计算法以保证事件之间不会发生时间重叠。
• 需要设计算法来生成各种日历视图模式中的时间数据。
• 设置时间时,使用Picker控件进行输入。
视图结构
• 在日历视图中使用Tab View Controller来进行不同精度模式的切换。
• 使用ModalView来显示弹出的各种信息视图和编辑视图。
• 使用ViewController的Editing来切换编辑模式和普通模式。
• 使用Group模式的TableView来表示事件详细信息视图和编辑视图。
日历视图
• 使用分页式的ScrollView来完成日历视图的左右切换功能。
• 使用Quartz2D绘制时间轴、时间单元格和色块。
P.S.A.
4
补充事项
功能展望
• 可以在日视图中拖动事件的开始点和结束点来快速地对事件时间进行修改。
• 可以在时间轴上拖动事件来改变其时间。
需要完成的配套文档
I. UI设计文档
II. 详细设计文档(包括模块划分、接口设计、数据库设计、功能具体实现方案及素材资源需求列表等内容)
III. 项目进度规划跟踪表
P.S.A.
5