Agenda 启动后,读取位于磁盘上的所有已存用户信息和会议信息。
注册新用户时,用户需设置一个唯一的用户名和一个密码。另外,注册用户时还需 用户登记其邮箱及电话信息。如果注册时提供的用户名已由其他用户使用,应反馈一个 适当的出错信息;成功注册后,亦应反馈一个成功注册的信息。
用户使用用户名和密码登录 Agenda 系统。用户名和密码同时正确则登录成功并反 馈一个成功登录的信息。否则,登录失败并反馈一个失败登录的信息。
已登录的用户可以注销用户账户。用户注销操作成功,需反馈一个成功注销的信息; 否则,用户注销操作失败并需反馈一个失败注销的信息。注销成功则退出系统登录状态。 用户账户注销后,该用户账户不再存在。
用户账户删除以后,其原来参与的所有会议均删除。
已登录的用户退出 Agenda 系统后不能再执行执行用户删除,用户退出,用户查询, 添加会议,查询会议,删除会议,清除会议操作。系统只允许用户注册和用户登录。
用户可以查看已注册该系统的所有用户的用户名、邮箱及电话信息。
已登录的用户可以添加一个新会议到其议程安排中。规定会议可以在多个已注册 的用户间举行,不可创建无另一注册用户的会议。添加会议时提供的信息应包括:
- 会议主题(title)
- 会议参与者(participator)
- 会议起始时间(start time)
- 会议结束时间(end time)
注意,用户不允许分身参加多个会议,即如果用户自己或被预约的用户已有一个会 议安排与新会议在时间上重叠(overlap),该新会议将无法成功添加到议程管理系统中。 用户在添加会议后,应获得适当的反馈信息,以便得知是成功地添加了新会议,还是在 添加过程中出现了某些错误。(提示:可以约束每个用户创建的会议主题是唯一的,这 样方便下面的删除操作时能提供一个唯一标识。)
已登录的用户可以查询自己的议程在某一时间段(time interval)内的所有会议安排。 查询会议时提供的参数应包括所关注时间段的起始时间和终止时间;查询结果返回该用 户议程中在指定时间范围内找到的所有会议安排的列表,在列表中给出每一会议的起始 时间、终止时间、主题、以及被预约的另一用户的名字。注意,查询会议的结果既应包 括用户作为发起人的那些会议,也应包括用户作为被预约人的那些会议。
已注册的用户可以删除自己创建的某一会议安排。删除会议时,需提供一个能唯一 地标识待删除的会议的参数(提示:可以简单地以会议主题作为一个会议的唯一标识)。
已注册的用户可以清除自己创建的所有会议安排。但不能清楚他被邀请的会议安排(除非销 号)。
Agenda 退出时,必须将现有的所有用户信息和会议信息写入磁盘。