一、项目描述 本项目是一个为公司内部提供提案、投票表决等服务的小应用。 用户可以通过一个统一的密码登录到这个应用上,在线发起一个提案,系统自动将该提案信息发送到涉及人员的邮箱,由这部分人员进行投票表决。投票结束之后,这些用户均可以登录本应用,查看表决结果,投票未结束之前无法查看投票情况。 为了尽可能地达到匿名投票的目的,该系统设计了两条规则: 1、每一个提案按涉及人员及其权重关系生成一系列随机筹码,用户用这些筹码进行表决,系统不记录这些筹码的使用关系,筹码一经使用即销毁。 2、所有人员投票结束后才可以查看最终表决结果,防止人为按权重猜测投票人。 所有提案涉及用户均可以在提案的留言区进行匿名留言。 任何留言、投票在系统层面上均只保留最终结果,不可追溯过程。 二、系统需求分析及User Story设计 目前本系统一共有如下两种角色: 系统管理员:系统管理员完成对用户的管理和系统的配置,本身不具备任何其他功能 用户:用户可以发起motion,进行投票,浏览已结束的提案,或进行匿名留言 User story 1 系统管理员可以对系统的使用者进行管理,指定每个用户在系统中的投票权重。用户一旦建立,立即在全系统生效。 User story 2 系统管理员可以配置motion id前缀,网站登录密码,mail server以及发件人信息,mail内容格式等信息。 user story 3 用户可以用一个公共的网站登录密码登录本系统,不同用户之间无法区分彼此。用户成功登录后将跳转到提案浏览页面。 user story 4 登录后,用户可提交一个提案,并且选定提案相关人员,系统将自动生成投票筹码并向所有相关人员发送表决邮件。提案一旦提交,无法再次修改。但在本次浏览器活动期内能够撤回,因邮件可能已经发出,系统将再次发送取消提案邮件。 user story 5 用户在接收到提案邮件之后,可以用随信自带的筹码进行表决,筹码使用之后即过期,不可重复使用。投票时不需要用户输入密码。 user story 6 登录后,用户可以浏览所有提案,如果提案已经结束,则可以进一步查看提案表决结果;否则只能查看提案内容,以及匿名留言。 user story 7 登录后,用户可以通过在提案信息页面上的留言框发送对本提案的匿名留言,留言一旦提交,不可修改。但在本次浏览器活动期内能够删除。