项目 | 内容 |
---|---|
课程 | 2022春季软件工程(罗杰 任健) |
要求 | 计划阶段要求-功能规格说明书 |
目标 | 制定功能规格说明书 |
当前版本:v0.3
版本号 | 发布日期 | 版本说明 |
---|---|---|
v0.3 | 2022/4/18 | 定义产品基础功能,形成alpha阶段预期 |
文章目录
一、引言
1.1项目简介:
- 项目名:Time Shaft 时间轴
- slogan:更高效的团队合作
- 项目描述:一款协助中小型团队进行组织管理的工具,集社交与工作于一身,打造以时间轴为主题的特色软件,致力于促进更高效的团队合作。
- 项目面向用户
- 中小型企业
- 独立团队
- 学生/教育人员
- 项目开发者:命劫开发团队
1.2规格书简介:
- 规格书建议:简要阅读规格书内容,了解我们的项目相关设计和预期,初步形成alpha阶段的功能概览,有助于用户日后产品体验。
- 读者建议:本说明书面向用户范围不受限制,我们希望我们的用户群体包括从业人员也包括教育行业内的老师、学生等
二、规格书概念说明
概念 | 说明 |
---|---|
time shaft | 指团队群聊中的会议时间轴,轴体以时间为划分,以会议为单元,包括多种会议信息。 |
会议期 | 指正在召开会议的团队,在此期间内所有的群成员发言都会被打上标签,作为信息保存在当前会议中。 |
团队组织 | 指某一个团队及其群体成员,在团队内可进行交互。 |
好友 | 可以互相进行日常网络社交行为的用户 |
团队管理面板 | 可以通过团队内的功能按钮进行团队管理和组织,如会议管理、成员管理等,是团队群组中功能的体现区域。 |
即时通讯 | 是一个实时通信系统,允许两人或多人使用网络实时的传递文字消息、文件等 |
会议card | 是团队时间轴中一个节点的元素载体,包含某次会议的标题、内容、参会成员、会议发起时间、会议时长、会议目标或成果、会议交流信息以及文档记录 |
三、典型用户以及典型应用场景
3.1 典型用户
- 本产品的用户主要分为以下三类:
- A. 教育行业课程组的教师
- B. 课程项目、科研团队中的大学生
- C. 社会业界的中小型团队(不局限在IT行业)的成员
用户类型 | 潜在总量 (占总潜在用户量百分比) | 使用习惯 | 产品期望 | 可付出的代价 |
---|---|---|---|---|
教师 | 60万(30%) | 工作日全天于办公室/教室/会议室、周末晚上于办公室/家,线上线下结合使用产品。 使用发布课程内容、组织学生考核、音视频会议、日程管理等功能。 | 高效工作、协同管理课程组与科研课题组 | 主体功能免费,会员每月不超25元,买断不超过60元。 |
大学生 | 60万(30%) | 每天于教室/宿舍/会议室不定时使用产品。 使用群聊、日历、会议等功能。 | 远程上课;高效小组讨论、推进项目进展 | 主体功能免费,会员每月不超10元,买断不超过30元。 |
业界成员 | 80万(40%) | 工作日全天于办公室/会议室,周末不定时,线上线下结合使用产品。 使用IM通讯、日程管理、工作台、音视频会议等功能。 | 高效愉悦地办公 | 主体功能免费,会员每月不超15元,买断不超过40元。 |
- 用户具体分析
A. 教育行业课程组的教师
姓名 | 罗晓捷 |
---|---|
年龄 | 38 |
性别 | 男 |
职业 | 大学副教授、博士生导师、课程组负责人 |
目标 | 管理课程组与科研课题组 |
特点 | 课程组所管理的学生数量庞大、教学任务繁多;科研课题组涉及领域多,需分类管理 |
B. 课程项目、科研团队中的大学生
姓名 | 郭佳 |
---|---|
年龄 | 21 |
性别 | 女 |
职业 | 大三学生 |
目标 | 完成课程项目、加入科研课题组并承担工作 |
特点 | 对自身要求严格,需要同时兼顾学业与科研项目 |
C. 社会业界中小型团队的成员
姓名 | 金赫 |
---|---|
年龄 | 27 |
性别 | 男 |
职业 | 公司白领 |
目标 | 顺畅沟通、高效协作 |
特点 | 对协同办公场景需求高 |
3.2 典型场景
- 本产品应用场景分为以下几类(包含用户类型):
- 沟通交流(ABC)
- 任务管理(ABC)
- 协同办公(AC)
- 系统以什么样的方式为各类用户提供服务?
- 群组管理系统:为团队办公定制的群组模式,提供高效、简洁、清晰的团队社区
- 独特的会议模式:我们将在团队群组中设计专门的会议板块,对会议主题、会议标签、会议描述、会议总结、参会人员进行设计
- 有序的会议文件管理:用户不用再去聊天记录里搜索团队公共的的文档,只需要搜索某次特定的会议主题,就能找到需要的内容
- 独特的时间轴模式:我们将以时间轴的组件模式来管理团队会议,既成员可以清晰的从时间轴上看到已经结束的会议,并点击查看会议回顾,也可以看到即将召开的会议等。
- 系统所提供的业务会让用户与用户之间产生什么样的关系?
- 满足日常交流需求:为用户与用户之间提供友好、便捷的即时通讯,针对消息进行单独回复,节省时间的同时也避免了群里消息刷屏造成的困扰
- 支持协同办公:支持用户间视频/通话会议、远程交流
- 帮助企业或团队聚焦重点:团队项目进程更加高效,从而使用户间凝聚力更强
- 可以给置身其中的各类用户带来什么样的好处?产生什么样的感受?
- 时间轴模式:团队会议更加高效、清晰,强调时间结点性,从而使用户工作效率提升、团队凝聚力增强、个人成就感增强
- 设置独特的会议标签:用户无需被消息繁多冗余、花费大量时间在查找会议/群聊内容等问题所困扰,为用户带来便捷的工作环境和较为轻松的工作状态
3.3 讲个故事
罗老师是航北大学计算机学院的副教授和博导,同时也是软件工程课程组负责人。平日的工作除了日常管理科研课题组与博士/硕士生课题外,还需要花费一部分精力在软件工程课程的设计、管理与考核上。在学期末的某天,罗老师的安排非常紧凑,9:00-10:30 与软件工程课题组的老师/助教讨论课程期末考核的内容与分工;10:50-11:25 软件工程最后一堂课,但由于疫情严重,只能线上进行;13:30-15:30 课题组年终总结,组内部分研究生因疫情未返校,部分同学可参与线下会议。
以上三个任务均需要与不同的老师、同学进行会议沟通,时间紧任务重,但细心负责的罗老师想要把每件事都处理好。罗老师随即打开了他日常使用的Time Shaft软件,在会议板块,对会议主题、会议标签、会议描述、会议总结、参会人员等快速进行设计,并将会议信息发布至不同的群组中,几个事项均顺利进行。下午,罗老师突然想到软工课堂上一组学生的问题还未处理,但他只模糊记得当时在讨论用户画像主题。他打开Time Shaft软件,进入软工课堂群组,点击“会议时间轴”,搜索标签“用户画像”,便顺利找到了讨论版块中学生写下的疑问。此时,罗老师想起自己上午讨论软件工程课程问题时,最后半小时接到了孩子班主任的电话,从而错过了相关讨论,他便进入“软工课程组管理群”,点击最近一次会议文件,顺着时间轴查找最后一个时间结点,阅读了助教记录的课程建议,也进行了自己的思考,备注在一旁。组会时,线上的学生随时可在群组里提出疑问。此外,罗老师有时会忘记某个学生前几周的进展,他会在该生汇报时翻看先前的组会记录,通过搜索该学生的姓名,查找他的工作进展。
傍晚,回到家的罗老师制定好了第二天的日程安排,惊喜地在Time Shaft上收到了美国老朋友的问候,一通10分钟的通话打出,一天的疲惫也得到了放松。
四、项目边界条件
4.1 用户数量限制
我们的项目将支持大批用户同时在线进行交流,我们预计alpha阶段项目正式发布第一周的用户为200人,在此基础上我们通过当前租赁服务器配置进行估算,是支持alpha阶段用户同时在线进行即时通讯。
4.2 视频流的限制
视频会议功能难度在于视频流的实时共享,受限于团队前期成本,我们的服务器具有限制,无法进行分布式多服务器动态管理,我们初步预定限制会议时间最大为3h,设置讲话区,在讲话区当中最多5人登上讲话区同时打开视频,减小在线视频流的服务器性能占用,此功能我们将在beta阶段优化。
4.3 即时通讯限制
由于我们预计alpha阶段项目的最大在线用户数量为200~500之间,若此时用户进行大规模高频率的通信交互,将会同时消耗服务器性能。尤其是常用的HTTP
协议,由于其单工通信性质,需要客户端请求一下,服务器处理一下,需要不断地轮询,这样的通讯过于低效并且会占用大量资源,实并且有可能在用户高峰阶段出现请求拥塞的问题,实时性会受到影响。所以我们采用集成WebSocket轻松实现信息推送,这是一种基于TCP的新网络协议,实现了客户端和服务器的全双工通信
4.4 浏览器兼容限制
我们的前端设计采用了动态适应性骨架,将支持Chrome、Mircosoft Edge、传统IE、Fox等主流浏览器,兼容性较好,对于不支持的浏览器我们将会无法登录,并提醒下载Chrome浏览器
4.5 文档容量限制
考虑到前期用户体验的便捷性、操作的流畅性和用户的使用意愿的扩大,我们采取Web端来集成产品,这样带来的问题就是用户上传文档将会存储在服务器后台数据库,由于我们的成本限制,这有可能带来服务器的容量风险,于是我们限制上传文档大小不能大于10Mb。通过我们的初步计算,alpha阶段发布时最大团队数量为20,通过微信和飞书等软件的文档数量进行统计,每个团队一个月的上传文档大小不会超过200Mb,这样完全支持我们的产品在alpha阶段上线一个月之内的容量需求
4.6 隐私保护
所有用户的信息都会被加密存储在服务器当中,用户之间无权利窥探除展示信息之外的任何内容;团队视频会议也将会加密保存,并且不提供出团队成员以外任何人的观察权限。
五、界面原型设计
5.1 设计草图
由我们组的Program Manager子萱同学设计,并且对功能layer进行了初步的规划和分类
上图为时间轴
项目的预设计页面,主要参考对比了飞书、slack等软件平台,其组成如下:
- 左侧——常用功能栏:实际设计与原型草图稍有出入,我们将左侧功能栏设计为用户的界面操作,包括通讯录、我的文档、通讯录、用户信息管理等操作
- 左二——聊天消息列表:在这一部分中我们会对用户加入的团队以及用户好友进行分类,同时还可以通过侧滑切换到消息列表等
- 中间——消息界面:包括用户之间以及团队当中的消息界面,是承载团队文字、文档等消息的结构,用户可以发送文字表情等消息
- 右二——时间轴:点击弹出团队会议&事件时间轴,记录团队进展信息,项目特色。
- 右——团队功能栏:进行团队成员、消息、设置等管理功能栏
5.2时间轴预设计框架
我们首先单独设计了团队时间轴
样式,在时间设计过程中,我们会细化时间标签,并且添加会议&事件信息等具体内容
5.3 项目初始框架预览
对设计草图进行了实例化分析,初步设计了登录注册以及主页面框架,主页面框架尚未彻底完成,会在后续的更新中不断填充。预计我们将支持双色主题,即明亮
和黑夜
。
未登录用户的界面初步框架:
登录后的主页面布局设计:
六、系统功能描述以及验收检验标准
6.1系统核心功能
-
官网页面(未登录状态)——Alpha
提供产品宣传介绍,提供平台入口
-
主页(未登录状态)——Alpha
状态显示为未登录
引导用户进行登录或者注册
-
主页(登录状态)——Alpha
显示用户信息
展示用户可操作功能栏
可查看用户通讯录以及消息列表
可以进行用户间的交互
可以参与团队会议等活动
-
用户信息管理 ——Alpha
更换头像
更改个人信息等
-
用户间的交互 ——Alpha
好友的添加、删除
用户日常社交
-
团队管理 ——Alpha
团队成员的添加和删除
团队管理员设置
团队信息的更改
团队功能栏使用
-
团队会议 ——Alpha
在固定时间内创建一次会议
邀请参会人员
设置会议标题
添加会议标签
保存会议信息:会议信息会自动保存,会议相关聊天记录内容会打上当下会议的标签,最后会形成会议card展现在时间轴当中
编辑会议总结和描述
打开搜索会议内容记录和相关文档
-
视频会议 ——Beta
开启团队会议室
支持团队讲话区5人同时打开摄像头进行会议交流
人员可自行登台下台,也可以由会议管理员操作
同时会议视频将会保留,保存在时间轴的会议card当中
-
在线文档编辑 ——Beta
支持团队在线编辑区,多人在线同时编辑团队文档
-
更多功能细节 ——Beta
更多功能和细节填充,使得产品更加趋于完善
6.2系统辅助功能
-
会议搜索:
通过某次会议主题或者标签在时间轴中搜索会议,即可点开会议card得到档次会议的全部信息
-
用户搜索:
支持通过用户名搜索用户
-
事件提醒:
对于即将召开的会议我们会通过发送系统提醒,在会议召开前提醒参会人员
对于用户和团队的聊天消息我们也会通过系统提示来发布
-
群组搜索:
支持通过群ID号申请加入团队
支持管理员邀请好友加入团队
-
其他个性化功能:依据时间和团队后续完成情况酌情添加
·················
6.3 产品预期展望
- 满足用户日常的交流需求
- 提供个性化的用户个人信息方案
- 提供精简、丰富的团队一体化管理
- 让用户满意的时间轴事件特色
- 提高团队的合作效率
- 增强团队内不得凝聚力和执行力
6.4 用户期望
我们期望的用户范围不受限制,即包括从业人员也包括教育行业的老师和学生团体。我们希望当用户达到 500+之后开始开发PC端软件,原因如下:
第一:项目已具备初期积累用户
第二:缓解前期设计当中数据库缓存的压力,将用户缓存文件移植到本地
第三:形成更加稳定且具有发展目标的成熟体软件
七、产品可能的副作用
- 我们租用阿里学生服务器,收到大规模攻击导致数据库文件丢失、云端文档丢失、服务端病毒植入等风险较小,但是不排除阿里防火墙对部分攻击失效
- 用户隐私和账号安全,用户账号在数据端一律采用hash加密,在一定程度上保障了用户的信息安全
- 可能出现用户高峰实时通讯锁带来的带宽紧张问题,如果用户量达到服务器不能承载的地步,我们会考虑增加服务器,使用分布式处理,分担服务器压力
- 可能出现小众浏览器不兼容问题,我们将会在浏览器打开阶段提示下载Chrome浏览器