项目 | 内容 |
---|---|
这个作业属于哪个课程 | BUAA2019软件工程 |
这个作业的要求在哪里 | 作业要求 |
我们在这个课程的目标是 | 学会团队合作,共同开发一个完整的项目 |
这个作业在哪个具体方面帮助我们实现目标 | 项目功能规格制定与说明 |
功能规格文档版本号:v1.0
修订历史:
版本号 | 修改说明 |
---|---|
v1.0 | 第一版的目标成果是“北航社团”小程序,主要面向北航学生群体。本文主要明确了小程序面向的用户群体和典型场景,并完成了初版原型设计。 |
写在前面
编写目的
- 面向BuaaRedSun团队成员:明确本项目的详细需求。
- 面向北航学生群体:表达我们对项目功能的理解,供用户确认和提出意见,并逐步和用户形成一致的理解和确认,为详细设计和实现软件打下基础。
项目简介
- 项目名称:”北航社团“小程序与网页平台。(点这里查看项目NACBD)
- 项目背景和解决的痛点:
- 学生刚入北航时缺乏了解社团的长期的、便利的渠道;社团公众号文章分散各处;群里发的活动报名问卷容易被水过去,而且每次要填的信息都差不多。
- 社团管理员在管理社员时没有一个很好的工具,来发布活动、统计报名人员、通知活动变更等。
- 社联在管理所有社团时,在审核活动申请、审核场地申请、星级评定、材料收取等方面也存在一些困难。
- 因此,我们希望能打造一款软件连接学生、社团和社联,根据用户不同的使用需求,我们计划给将社团展示、活动报名等功能放在手机小程序端,在社团管理的大部分功能放在网页端。
- 项目面向的用户:
- 小程序:主要面向北航学生,其中的社团管理功能,则面向社长等社团管理员。
- 网页端:主要面向社长等社团管理员,还能面向社联。
- 项目开发者:北航软件工程 BuaaRedSun团队
预期的读者和阅读建议
- BuaaRedSun团队成员:需要仔细阅读此次α阶段要实现的小程序的功能的具体描述,考虑如何实现。
- 北航学生:了解小程序端的初步原型设计,作为用户进行功能确认,并提出功能或布局上的意见。
- 社联与社长:关注小程序中涉及社团展示、活动展示、社员信息收集的功能,并提出意见。
概念说明
概念 | 解释 |
---|---|
社联 | 学生社团联合会,负责管理社团相关事务,并帮助社团进行发展等 |
百团大战 | 由社联组织各个社团,在室外场地展示社团风采(简称外场活动),是各个社团展示自己、拉新人入社的好时机,由于所有社团接近100个,称为“百团大战“。多数社员都是在百团大战时加入社团的。 |
社内活动 | 由某社团举办的、仅针对加入了该社团的学生开放 的活动 |
公开活动 | 由某社团举办的、并非仅面向社团内部成员 的活动(比如面向全校、面向大一、面向某几个院系等) |
活动报备/申请 | 社团举办活动前,需要打印活动报备表格,填写活动的具体情况,找指导单位/老师签字盖章,然后交给社联,社联上交给团委进行审核 |
社团星级评定 | 社联向各个社团收集它们本学年关于活跃度、管理情况等的材料,社联根据这些材料等,给各个社团评定星级(1-5星) |
典型用户和场景
萌新M
用户信息 | 用户情况 |
---|---|
姓名 | 萌新M |
用户身份 | 某学院大一新生 |
用户情况 | 刚入学,对于各个社团的情况不大了解 |
用户动机 | 希望能方便地查看各个社团的介绍和活动,同时方便地加入自己感兴趣的社团 |
用户痛点1 | 目前找不到集北航社团咨询与一身的平台。社团的公众号太分散,一个个去关注和查看文章十分麻烦;社联推送的社团介绍也比较有限。 |
用户痛点2 | 加入社团的步骤比较麻烦,一般需要在百团大战外场中,先填写基本信息问卷,然后支付社费,接着加一位社团管理员为好友,这样才能被拉进群,外场人好多真的好挤。 |
典型场景1 | 百团大战马上要来了,萌新M想率先了解各个社团的情况,于是打开了“北航社团”小程序,浏览了自己感兴趣的社团类别,以及热度比较高的几个社团的信息。他觉得A社团很符合自己的兴趣,于是直接在线上交了社费并加入了A社团,他被拉进了A社的群里,感受着老社员们对萌新M的热烈欢迎。 |
典型场景2 | 萌新M看到小程序上对于B社的简介,觉得有点兴趣,但是还不确定要不要加入,于是他去看了B社的百团大战外场,十分喜欢,当场通过小程序一键加入了B社,减去了繁琐的入社步骤,还能跟外场小姐姐多交流一会儿,美滋滋。 |
使用环境 | 主要是在零散的时间内、在随时可能移动的状态下,去关注社团信息,比如去教室的路上、课间休息时间、食堂排队时间、在宿舍宅着时等。 |
用户比例 | 40% |
重要性 | ★★★★★ 非常重要,如果从大一开始就认可这个小程序,并时常关注北航社团的信息,那么这部分用户的使用年份会很长;另外,如果萌新M之后当了社团管理员,也会向社员推广这个产品。 |
二狗G
用户信息 | 用户情况 |
---|---|
姓名 | 二狗G |
用户身份 | 某学院大二学生(本表也适用于大三学生 三狗) |
用户情况 | 因为特别喜欢参加A社的社内活动,所以二狗G加入了A社团,积极参加A社每周末定期举办的活动;同时对于其它社团有趣的公开活动也蛮有兴趣。 |
用户动机 | 希望能方便地参加社内活动,同时希望能获取其它社团的公开活动的信息。 |
用户痛点1 | 社内活动由于场地等原因,经常会有变化,比如时间、地点的更换,或者本周活动取消,但是由于社团群里聊天消息太多,有时候会错过这样的重要通知信息。 |
用户痛点2 | 虽然只加入了A社,但是二狗G对于BCD社的公开活动也很有兴趣,但是这些活动只能通过刷朋友圈,或者主动查看公众号文章的方式来获取信息,十分不便。 |
典型场景1 | 由于场地原因,本周末A社的社内活动取消,社长在群里发了通知,同时也用小程序给社员们发了通知,社员们纷纷议论起来,群里聊天消息达到99+。正忙着敏捷开发的二狗G打开微信群,并不想将聊天记录往上翻,他直接点开了小程序给他推送的服务通知,哦看来这周末的时间可以全部用来敏捷开发了,嗯接着干吧! |
典型场景2 | 二狗G觉得自己最近有点宅,想看看有没有什么活动可以参加,他打开“北航社团”小程序,哇塞,B社居然邀请到了知名相声演员郭德纲来讲相声,必须安排!还有10个名额,快抢!10元入场费?值!他心满意足地放下手机,吹起口哨继续debug。 |
使用环境 | 主要是在零散的时间内、在随时可能移动的状态下,去关注社团信息,比如去教室的路上、课间休息时间、食堂排队时间、在宿舍宅着时等。 |
用户比例 | 50% |
重要性 | ★★★★ 很重要,他们占活动参与人员的很大比例。 |
社管S
用户信息 | 用户情况 |
---|---|
姓名 | 社管S |
用户身份 | A社的社团管理员,比如社长、部长等 |
用户情况 | 1.对内,需要向社员发布社内活动消息、统计活动报名人员、通知活动变更情况、统计社员基本信息; 2.对外,需要向大家宣传A社,及A社的公开活动,积极拉人进社,完成信息收集、社费收取等入社步骤; 3.对上,需要向社联报备活动、申请场地、上交社员信息、上交星级评定材料。 |
用户动机 | 1.希望能方便地管理社员,发布活动、通知、投票等; 2.希望能有好的渠道宣传本社情况,非社员能更方便地入社,也减少社团繁琐的工作; 3.希望能向社联方便地申请场地、报备活动,社联也能保存好各种信息,每年星级评定的材料不用交太多,这样也更公平… |
用户痛点1 | 进行社团管理工作时,一般会把通知消息或者报名问卷、信息填写问卷等放到社团的群里,但是这些重要的消息经常被社员的聊天水过去了,需要重发。上述方式不仅麻烦,而且效果不佳。 |
用户痛点2 | 百团大战时,前来报名入社的人很多,但是由于报名步骤比较繁杂,导致现场比较混乱;而且百团大战之后,基本就没有什么人会加入社团了,社团缺乏一个好地平台展示自己;宣传公开活动时,大多只能通过公众号文章和朋友圈的形式进行宣传,宣传效果不佳。 |
用户痛点3 | 报备活动、申请场地等流程较为繁杂;而且有时候团委要统计各个社团社员的一些情况,比较麻烦;星级评定时需要提交很多材料,比较麻烦。 |
典型场景1 | 社团A要给社团内部成员设计一套社服,社管S于是通过“北航社团”网页端编辑了一个投票,并一键推送给了所有社员,社员通过服务通知接收到了该投票进行填写(如果开启了接受社内消息的功能);投票截止后,社管S通过网页端下载到了社员的投票情况,坐等社长夸奖。 |
典型场景2 | 社团A要举办一个公开活动,社管S于是通过“北航社团”网页端编辑了该活动的基本信息,并一键发布活动(这里也考虑加入社联的审核功能),所有“北航社团”小程序的用户都能在“活动”页面查看该活动的情况,并可以在线报名和支付活动费用。哇塞,这次活动有好多非社内成员参加,给活动部的小姐姐点赞。 |
使用环境 | 由于需要编辑问卷内容、活动信息等,因此一般在电脑端进行使用。 |
用户比例 | 7% |
重要性 | ★★★★★ 十分重要,如果能让社长体会到本产品对于他们管理社员、宣传活动、对接社联的便利性,他们会更愿意帮助我们在社员中推广此产品。 |
社联L
用户信息 | 用户情况 |
---|---|
姓名 | 社联L |
用户身份 | 归属于社联,负责管理各社团事务 |
用户情况 | 社团上报的活动需要上交给团委进行审批;需要了解社团的发展情况,并帮助他们发展;需要收集星级评定的资料。 |
用户动机 | 1.希望活动审批等流程能更加信息化,更加高效; 2.希望能全面了解社团发展情况; 3.希望能方便地管理各个社团的信息,使星级评定更加合理和客观。 |
用户痛点1 | 采用纸质版的审批流程,流程复杂,跑动量大,自己累,还经常被社团管理员抱怨 |
用户痛点2 | 想要给社团提供一定的发展支持,但是难以了解社团的情况,无法很好地主动给予帮助支持,只能由社团主动提出自己的需求。 |
用户痛点3 | 星级评定材料的收集、审核和打分都主要靠人工进行,工作量大,且有失一定的客观性。 |
典型场景1 | 社管S发来了活动报备表,社联L通过“北航社团”这套信息化的系统,及时接受到活动报备表,初步审核后将活动信息通过邮件转发给指导老师和团委老师,审批的老师一键同意了该活动,社联将审批结果下达给社管S,皆大欢喜。 |
典型场景2 | 从社团的人数、活动、热度等角度,系统全面地记录了两年来社团A的情况,通过数据来量化社团的整体情况,社联L发现社团A的公众号文章阅读量很低,仔细调查后发现排版不行,于是直接联系社团A宣传部,进行相应的培训;同时还发现社团A的活动经费比较匮乏,社联L主动提出帮该社团联系赞助,真棒! |
典型场景3 | 从社团的人数、活动、热度等角度构建了社团评价体系模型,每年星级评价时,这部分指标直接通过系统进行打分;只需向社团收取一小部分其它资料进行人工打分即可;打分完毕后公式结果,大家对于数据都很服气。 |
使用环境 | 由于需要审核活动信息、看到信息表格等,因此一般在电脑端进行使用。 |
用户比例 | 3% |
重要性 | ★★★★★ 很重要,如果能让社联体会到本产品在管理社团、评价社团、审批活动等方面的便利性,他们可以在社长中大力推广此产品。 |
原型系统与交互
原型系统与功能描述
这里是原型系统链接(链接里的系统有些逻辑和功能尚不完整,请以本文档为准。)
建议使用手机打开浏览,效果更佳:https://org.modao.cc/app/3e028b745bb68cb09c6a50cfb57fcb2941f49ecd
页面 | 功能描述 | 原型设计 |
---|---|---|
授权登录 | 1.点击“授权登录”按钮,会调用微信接口获取用户信息(主要是昵称和头像)。 | |
新闻 |
1.页面上半部分是滑块视图容器,装载4张热度最高的活动卡片。每隔2s自动切换活动卡片,也可以向左/右滑动查看卡片。 2.点击活动卡片,可以跳转至“活动详情”页面。 3.页面下半部分是新闻列表,新闻是从各个社团的微信公众号上实时爬取?的公众号文章的信息(标题、时间、阅读量?、封面图片或一张合适的图)。 4.新闻排序方式:默认按照热度降序排列。也可以选择按照时间从近到远排序。点击“热度”和“时间”可以在上述两种排序方式之间切换。 5.新闻类别筛选:默认显示所有类别的社团的新闻。点击“全部类别”将弹出类别选择框(样式未定),可以选择某一类别,筛选出该类别的社团的新闻。当然也可以切换回“全部类别”。 6.点击新闻的标题或图片,跳转至相应的“新闻详情”页面。 7.点击新闻中蓝色字样的社团名称,跳转至相应的“社团信息”页面。 |
|
新闻详情 |
1.能够阅读对应的公众号文章。 2.点赞、评论、跳转至公众号等功能,将根据技术难度、需求程度等决定是否完成。 |
|
活动 |
1.按照热度和时间综合排序,列表显示活动卡片,注意这里仅显示尚未过期的活动。 2.点击活动卡片,可以跳转至相应的“活动详情”页 |
|
活动详情_1 |
1.显示活动的海报、时间、得到、主办方、简介、活动剩余报名名额。 2.点击蓝色的具体主办方,可以跳转至对应的“社团信息”页面。 3.根据报名人数是否已满,右下角显示“点击报名”或“无法报名”。 4.点击“点击报名”后,如果尚未进行北航学生身份认证,则跳转至“身份认证”页面。 |
|
活动详情_2 |
5.点击“点击报名”后,如果已经进行了身份认证,且不需要上交活动费用,则弹出消息提示框“报名成功”。 6.点击“点击报名”后,如果已经进行了身份认证,且需要上交活动费用,则从底部弹出报名费用支付窗口,点击“点击支付”后,即可进行一系列支付操作(这里如果支付功能难以做到,则考虑贴出收款二维码) |
|
活动详情_3 | 7.报名成功后,右下角显示“已报名”,同时活动海报下方出现“扫码签到”,点击可跳转至“扫码”页面,签到成功则活动海报下方出现“已签到”。(签到功能是否鸡肋还需要对社长需求进行调研) | |
社团 |
1.最上面提供搜索框,可以用关键字搜索社团。 2.然后列表显示“我加入的社团”,点击即可跳转至相应的“社团信息”页面。若无则不显示此列表。 3.接着列表显示“我关注的社团”,点击即可跳转至相应的“社团信息”页面。若无则不显示此列表。 4.最后显示“社团分类”,默认只显示6个分类,可以点击“展开全部分类”,看到所有的类别,并可以通过点击“收回全部分类”收回。 5.点击某个类别即可跳转至相应类别的“某类别社团”页面。 |
|
某类别社团 | 1.列表显示该类别下的所有社团。 2.点击社团即可跳转至相应的“社团信息”页面。 |
|
社团信息 |
1.上半部分显示社团的logo,中英文名称,标签(类别标签、星级评定标签...),还有“加入”按钮和“关注”按钮。 2.点击“加入”按钮,如果尚未进行北航学生身份认证,则需要先跳转至“身份认证”页面,否则直接在支付社费后即可加入社团(与活动详情_2类似的支付功能) |
|
社团新闻 |
1.显示新闻列表,新闻是从该社团的微信公众号上实时爬取的公众号文章的摘要信息(与新闻页面一致)。 2.点击某个新闻,跳转至相应的“新闻详情”页面。 |
|
社内活动 | 1.列表展示社内活动的活动卡片。 2.点击卡片会弹框显示该活动的详细信息(样式见“我的社内活动”页面)。 |
|
公开活动 | 1.列表展示社团的公开活动的活动卡片。 2.点击活动卡片,可以跳转至相应的“活动详情”页 |
3.5 |
我的/我的社内活动 | 1.列表显示该用户加入的所有社团的所有社内活动卡片。 2.点击展开历史,可以看到历史活动的活动卡片。 3.点击卡片会弹框显示该社内活动的详细信息。 |
|
我的公开活动 | 1.列表显示该用户加入的所有社团的所有尚未过期的公开活动的卡片。 2.点击展开历史,可以看到历史活动的活动卡片。 3.点击卡片跳转至该活动的详情页面。 |
4.5 |
管理社团 | 第二版再完善这部分的功能 | |
身份认证 |
1.用户可以 文本输入自己的学号、姓名、身份证号,可以选择自己的性别、政治面貌、所在学院,还可以一键授权微信绑定的手机号(后期考虑上传学生证照片进行更严格的身份认证) 2.仅当用户填写完上述所有信息之后,点击“填写完毕”按钮才能有效,否则弹窗提示“请完成所有信息的填写” 3.若用户点击“暂不填写”页面,则返回至上一页面。 |
验收标准
页面 | 功能描述 | 验收标准 |
---|---|---|
授权登录 | 1.授权登录 | 1.当且仅当用户点击了授权登录按钮并同意授权后,才可跳转至下一页面 2.授权登录后可以获取用户的微信昵称和头像,注意微信的性别不一定是真实性别。 |
新闻 | 1.展示活动滑块 2.点击活动跳转 3.展示新闻列表 4.点击新闻跳转 5.点击社团跳转 6.按类别筛选 7.按热度或时间排序 |
1.滑块视图容器,装载4张热度最高的活动卡片。每隔2s自动切换活动卡片,向左/右滑动能切换卡片。 2.点击活动卡片,可以跳转至活动详情,返回正确 3.新闻列表从各个社团的微信公众号上实时爬取,一旦入驻的公众号有新的公众号文章,新闻列表应尽快更新,给用户提供“下拉刷新”的功能。 4.新闻时间显示分三段:(1)当天新闻显示“今天”。(2)昨天至7天前的新闻,显示“x天前”,x是1~7的整数。(3)其余时间的新闻,用xx-xx形式,比如04-01表示4月1日。 5.进入“新闻详情”页面后返回时,该新闻的阅读量(眼睛图标旁的数字)应有所增加。 6.新闻能够按“热度”或“时间”排序,排序方式的切换没有问题。 7.新闻类别筛选正确,且能返回“全部类别”状态 8.点击新闻能正确跳转公众号文章,返回正确 9.点击社团能正确跳转至社团信息页面,返回正确 |
新闻详情 | 1.展示文章内容 2#.能点赞、评论、跳转至公众号 |
1.展示文章内容正确,返回正确 2#.能点赞、评论、跳转至该公众号 |
活动 | 1.展示活动卡片列表 2.点击卡片跳转详情 |
1.按照热度和时间综合排序,展示活动卡片列表仅显示未举办的活动。 2.点击卡片正确跳转详情,返回正确 |
活动详情 | 1.展示活动详细信息 2.点击主办方跳转社团详情 3.人数已满则无法报名 4.人数未满则可以报名 5.报名后可以进行缴费 6.报名成功后可以扫码签到 |
1.正确展示活动详细信息,特别是时间上必须是尚未开始的活动。 2.点击主办方正确跳转社团详情,返回正确 3.人数已满则显示无法报名,点击按钮没有反应 4.人数未满、点击报名后,若未进行身份认证,则跳转至身份认证页。 5.人数未满、点击报名且已经进行身份认证的,如果该活动需要上活动费用,则进行支付,然后报名成功,显示“已报名”。 6.人数未满、点击报名且已经进行身份认证的,如果该活动不需要上活动费用,则弹窗提示“报名成功”,显示“已报名”。 7.报名成功后,出现扫码签到按钮,扫码签到后显示“已签到” |
社团 | 1.能搜索社团 2.列表显示我加入的社团 3.列表显示我关注的社团 4.分类显示社团 5.点击类别跳转至该类别的社团列表页 6.点击社团跳转详情 |
1.可以用关键字搜索社团,没有则提示“无” 2.列表显示我加入的社团,若无则不显示此列表。可以点击折叠此列表。 3.列表显示我关注的社团,若无则不显示此列表。可以点击折叠此列表。 4.分类显示社团,可以展开和收回更多的社团类别 5.点击类别正确跳转至该类别的社团列表页,返回正确 6.点击加入或关注的社团正确跳转社团详情页,返回正确。 |
某类别社团 | 1.列表显示该类别下的社团 2.点击社团跳转详情 |
1.列表显示该类别下的社团 2.点击社团正确跳转详情页,返回正确 |
社团信息 | 1.展示社团信息 2.可以加入和关注社团 |
1.正确展示社团信息,可以一键复制手机号、公众号,可以点击查看社团宣传视频。 2.正确显示“加入”“已加入”“关注”“已关注” 3.点击“加入”按钮,如果尚未进行北航学生身份认证,则跳转至身份认证页,否则直接在线支付社费后即可加入社团 4.加入社团后,相应的社团人数变化。 |
社团新闻 | 1.展示新闻列表 2.点击新闻跳转 |
1.新闻列表从该社团的微信公众号上实时爬取,一旦有新的公众号文章,新闻列表应尽快更新,并给用户提供“下拉刷新”的功能。 2.点击新闻能正确跳转公众号文章,返回正确 |
社内活动 | 1.列表展示社内活动卡片 2.点击卡片会弹框显示该活动的详细信息 |
1.列表展示社内活动卡片 2.点击卡片弹框显示详细信息,点击空白处返回 |
公开活动 | 1.列表展示公开活动卡片 2.点击活动卡片,可以跳转至相应的“活动详情”页 |
1.列表展示该社团主办的公开活动卡片 2.点击活动卡片,可以跳转至活动详情,返回正确 |
我的/我的社内活动 | 1.列表显示该用户加入的所有社团的所有社内活动卡片。 2.点击展开历史,可以看到历史活动的活动卡片。 3.点击卡片会弹框显示该社内活动的详细信息。 |
1.列表显示该用户加入的所有社团的所有社内活动卡片。 2.点击展开历史,收回历史,功能正确。 3.点击卡片弹框显示该社内活动的详细信息,点击空白处返回 |
我的公开活动 | 1.列表显示该用户加入的所有社团的所有尚未举办的公开活动的卡片。 2.点击展开历史,可以看到历史活动的活动卡片。 3.点击卡片跳转至该活动的详情页面。 |
1.列表显示该用户加入的所有社团的所有尚未举办的公开活动的卡片。 2.点击展开历史,收回历史,功能正确。 3.点击卡片跳转至该活动的详情页面,返回正确 |
身份认证 | 1.填写身份信息 | 1.仅当用户填写完所有信息、点击“填写完毕”按钮才算有效,否则弹窗提示“请完成所有信息的填写”。 2.正确记录用户是否填写了信息。 3.学号即使检查是否重复,提供申诉功能# |
副作用
- 使用小程序在线支付,可能会让部分用户觉得不够安全可靠。
- 北航身份认证页面需要用户填写一些信息,有些用户可能不愿意在小程序上填写自己的隐私信息,我们需要做好隐私保护的措施。
- 该系统的核心功能仅适用于北航学生,不支持校际活动。