作业格式
- 课程名称: 软件工程1916|W(福州大学)
- 作业要求: 团队作业第二次—项目选题报告
- 团队名称: 那周余嘉熊掌将得队
- 作业目标:确定和分析选题,绘制评审表
- 团队信息:
队员学号 | 队员姓名 | 博客地址 | 备注 |
---|---|---|---|
221600131 | Jamin | https://www.cnblogs.com/JaminWu/ | 队长 |
221600308 | 我超可爱的 | http://www.cnblogs.com/XNC-SoCute/ | |
221600305 | haziza | http://www.cnblogs.com/haziza/ | |
221600340 | 你看见我的小熊了吗 | https://www.cnblogs.com/stereohearts/ | |
221600426 | Hunterj Lin | https://www.cnblogs.com/HunterJ/ | |
021600823 | 玫葵 | https://www.cnblogs.com/offeroques/ | |
选题报告 | |||
========== |
1、选题题目
<center> **福州大学服务外包与软件设计实验室对外网站** </center>
2、选题背景、概况、意义
-
背景
- 福州大学服务外包与软件设计实验室成立于2013年,位于福州大学数学与计算机科学学院3号楼201室,是一个充满创新和热情的团队。实验室通过搭建开放的技术交流学习空间,致力于培养并指导优秀学生代表学校参加“中国大学生服务外包创新创业大赛”,“中国‘软件杯’大学生软件设计大赛”等省级、国家级的高水平赛事。实验室坚持传递“创新、创意、创造,用我们的激情与智慧改变生活、改变世界。”的理念,目前共取得国家特等奖1项,一等奖1项,二等奖9项、三等奖14项;省级一等奖8项、二等奖7项、三等奖15项等。
-
概况
- 近年来,在实验室不断发展壮大,实验室成员不断取得优异的成绩与实验室参与赛事不断增多的情况下,仅仅通过QQ、微信公众号、邮箱等工具来进行实验室宣传、通知发布和赛事报名等日常事项已远远不够,一个专门的、能对外展示实验室、发布实验室重要通知以及赛事报名交流的实验室对外平台显得格外重要。
-
意义
- 开发此网站的意义在于,能够对外展示实验室项目、比赛成果和实验室成员,帮助实验室吸引到更多有目标、有技术、有热情的同学的加入;帮助老师和其他实验室管理员发布实验室有关的通知,避免以往的短信邮件通知容易被忽略的情况;帮助学校本科生同学更好地获取到比赛信息,进行赛事报名和之后的作品提交等等。
3、选题主要内容
-
系统功能模块设计
- 本项目开发主要分为以下两个模块:网站功能模块和管理员功能模块。
- 网站功能模块
<table width="571.45" border="0" cellpadding="0" cellspacing="0" style='width:571.45pt;border-collapse:collapse;table-layout:fixed;'> <col width="79.15" style='mso-width-source:userset;mso-width-alt:3377;'/> <col width="86.60" style='mso-width-source:userset;mso-width-alt:3694;'/> <col width="94.95" style='mso-width-source:userset;mso-width-alt:4051;'/> <col width="107.45" style='mso-width-source:userset;mso-width-alt:4584;'/> <col width="203.30" style='mso-width-source:userset;mso-width-alt:8674;'/> <tr height="19.10" style='height:19.10pt;mso-height-source:userset;mso-height-alt:382;'> <td class="xl65" height="19.10" width="79.15" style='height:19.10pt;width:79.15pt;' x:str>功能名称</td> <td class="xl66" width="181.55" colspan="2" style='width:181.55pt;' x:str>功能描述</td> <td class="xl67" width="107.45" style='width:107.45pt;' x:str>权限</td> <td class="xl67" width="203.30" style='width:203.30pt;' x:str>备注</td> </tr> <tr height="19.10" style='height:19.10pt;mso-height-source:userset;mso-height-alt:382;'> <td class="xl68" height="19.10" style='height:19.10pt;' x:str>1.首页</td> <td class="xl69" colspan="2" style=''></td> <td class="xl70" x:str>所有人</td> <td class="xl72"></td> </tr> <tr height="33.50" style='height:33.50pt;mso-height-source:userset;mso-height-alt:670;'> <td class="xl68" height="221" rowspan="4" style='height:221.00pt;' x:str>2.赛事相关</td> <td class="xl71" x:str>2.1赛事通知</td> <td class="xl71" x:str>各项赛事所有通知</td> <td class="xl70" x:str>所有人</td> <td class="xl67" x:str>可添加附件</td> </tr> <tr height="126.50" style='height:126.50pt;mso-height-source:userset;mso-height-alt:2530;'> <td class="xl71" rowspan="2" style='' x:str>2.2竞赛报名</td> <td class="xl71" rowspan="2" style='' x:str>各项赛事报名</td> <td class="xl70" rowspan="2" style='' x:str>注册用户</td> <td class="xl73" x:str>点击竞赛报名后可展开还在报名时段内的竞赛列表,从中选择点击报名。</td> </tr> <tr height="34" style='height:34.00pt;mso-height-source:userset;mso-height-alt:680;'> <td class="xl70" x:str>报名信息有错或者换题如何处理</td> </tr> <tr height="27" style='height:27.00pt;mso-height-source:userset;mso-height-alt:540;'> <td class="xl71" x:str>2.3对接招募</td> <td class="xl71" x:str>找人、找队伍</td> <td class="xl70" x:str>注册用户</td> <td class="xl70" x:str>固定格式、限定字数</td> </tr> <tr height="33.50" style='height:33.50pt;mso-height-source:userset;mso-height-alt:670;'> <td class="xl68" height="97.25" rowspan="2" style='height:97.25pt;' x:str>3.获奖作品</td> <td class="xl71" colspan="2" rowspan="2" style='' x:str>获奖作品名称、何竞赛何奖项、年份、成员(第一顺位为队长)、作品海报或截图、简介</td> <td class="xl70" rowspan="2" style='' x:str>所有人</td> <td class="xl73" x:str>按年份展示</td> </tr> <tr height="63.75" style='height:63.75pt;'> <td class="xl70" x:str>海报及截图的大小是否需要统一?</td> </tr> <tr height="189.50" style='height:189.50pt;mso-height-source:userset;mso-height-alt:3790;'> <td class="xl68" height="301" rowspan="3" style='height:301.00pt;' x:str>4.了解我们</td> <td class="xl71" x:str>4.1成员介绍</td> <td class="xl71" x:str>页面分五个区展示四个工作组成员(相片、姓名、参加项目)以及教师(相片、研究方向以及简介)</td> <td class="xl70" x:str>所有人</td> <td class="xl74" rowspan="3" style=''></td> </tr> <tr height="47.75" style='height:47.75pt;'> <td class="xl71" x:str>4.2前辈风采</td> <td class="xl71" x:str>优秀毕业生的照片、去向</td> <td class="xl70" x:str>所有人</td> </tr> <tr height="63.75" style='height:63.75pt;'> <td class="xl71" x:str>4.4日常状态</td> <td class="xl71" x:str>展示些实验室的场景、活动照片</td> <td class="xl70" x:str>所有人</td> </tr> <tr height="64.50" style='height:64.50pt;mso-height-source:userset;mso-height-alt:1290;'> <td class="xl68" height="112.25" rowspan="2" style='height:112.25pt;' x:str>5.加入我们</td> <td class="xl71" colspan="2" rowspan="2" style='' x:str>报名加入实验室</td> <td class="xl70" rowspan="2" style='' x:str>注册用户</td> <td class="xl73" x:str>无需上传项目,保留申请者个人介绍</td> </tr> <tr height="47.75" style='height:47.75pt;'> <td class="xl70" x:str>报名信息有错如何处理</td> </tr> <tr height="48.50" style='height:48.50pt;mso-height-source:userset;mso-height-alt:970;'> <td class="xl68" height="238" rowspan="3" style='height:238.00pt;' x:str>6.个人中心</td> <td class="xl71" x:str>6.1账号设置</td> <td class="xl71" x:str>个人资料、密码修改</td> <td class="xl70" x:str>注册用户</td> <td class="xl75" rowspan="3" style='' x:str>点击我的报名后,应出现报名列表,选择后上传对应文件</td> </tr> <tr height="63.75" style='height:63.75pt;'> <td class="xl71" x:str>6.2对接招募</td> <td class="xl71" x:str>我的发帖、我的回帖、收到回帖</td> <td class="xl70" x:str>注册用户</td> </tr> <tr height="125.75" style='height:125.75pt;'> <td class="xl71" x:str>6.3我的报名</td> <td class="xl71" x:str>查看报名情况以及上传所报名比赛的源码、<font class="font2">P</font><font class="font2">PT</font><font class="font1">、海报、视频等</font></td> <td class="xl70" x:str>注册用户</td> </tr> <tr width="0" style='display:none;'> <td width="79" style='width:79;'></td> <td width="87" style='width:87;'></td> <td width="95" style='width:95;'></td> <td width="107" style='width:107;'></td> <td width="203" style='width:203;'></td> </tr> </table>
- 管理员功能模块
<table width="391.15" border="0" cellpadding="0" cellspacing="0" style='width:391.15pt;border-collapse:collapse;table-layout:fixed;'> <col width="88.30" style='mso-width-source:userset;mso-width-alt:3767;'/> <col width="51.20" style='width:51.20pt;'/> <col width="126.70" style='mso-width-source:userset;mso-width-alt:5405;'/> <col width="124.95" style='mso-width-source:userset;mso-width-alt:5331;'/> <tr height="19.10" style='height:19.10pt;mso-height-source:userset;mso-height-alt:382;'> <td class="xl65" height="19.10" width="88.30" style='height:19.10pt;width:88.30pt;' x:str>功能名称</td> <td class="xl66" width="177.90" colspan="2" style='width:177.90pt;' x:str>功能介绍</td> <td class="xl66" width="124.95" style='width:124.95pt;' x:str>备注</td> </tr> <tr height="48.50" style='height:48.50pt;mso-height-source:userset;mso-height-alt:970;'> <td class="xl67" height="48.50" style='height:48.50pt;' x:str>1.发布通知</td> <td class="xl68" colspan="2" style='' x:str>发布至“赛事相关—赛事通知”,面向所有人</td> <td class="xl68" x:str>统一格式,可添加附件</td> </tr> <tr height="33.50" style='height:33.50pt;mso-height-source:userset;mso-height-alt:670;'> <td class="xl67" height="33.50" style='height:33.50pt;' x:str>2.添加获奖</td> <td class="xl68" colspan="2" style='' x:str>添加字段参照网站功能中的<font class="font2">3</font></td> <td class="xl69"></td> </tr> <tr height="204.50" style='height:204.50pt;mso-height-source:userset;mso-height-alt:4090;'> <td class="xl67" height="252.50" rowspan="2" style='height:252.50pt;' x:str>3.竞赛管理</td> <td class="xl68" x:str>3.1添加竞赛</td> <td class="xl68" x:str>设定竞赛所需收集信息,构造竞赛模板</td> <td class="xl70" x:str>不同竞赛需要收集的信息不同,例如:“软件杯”没有赛题分组,“服创大赛“有赛题分组,”省赛“每个赛题可以有两个分组。</td> </tr> <tr height="48" style='height:48.00pt;mso-height-source:userset;mso-height-alt:960;'> <td class="xl68" x:str>3.2修改竞赛</td> <td class="xl68" x:str>修改竞赛模板</td> <td class="xl68" x:str>这个模块需要考虑多样比赛,适配性要强。</td> </tr> <tr height="48.50" style='height:48.50pt;mso-height-source:userset;mso-height-alt:970;'> <td class="xl67" height="81.25" rowspan="2" style='height:81.25pt;' x:str>4.报名导出</td> <td class="xl68" x:str>4.1.纳新导出</td> <td class="xl68" x:str>申请加入实验室结果导出</td> <td class="xl69" rowspan="2" style='' x:str>E<font class="font1">xcel</font></td> </tr> <tr height="32.75" style='height:32.75pt;'> <td class="xl68" x:str>4.2竞赛报名</td> <td class="xl68" x:str>竞赛报名信息导出</td> </tr> <tr height="87" style='height:87.00pt;mso-height-source:userset;mso-height-alt:1740;'> <td class="xl67" height="87" style='height:87.00pt;' x:str>5.材料导出</td> <td class="xl68" colspan="2" style='' x:str>竞赛材料导出</td> <td class="xl68" x:str>导出可按竞赛名称导出(评审时使用)、可按材料类别导出(例如只导出海报或<font class="font2">P</font><font class="font2">PT</font><font class="font1">,决赛中使用)</font></td> </tr> <tr height="45.40" style='height:45.40pt;mso-height-source:userset;mso-height-alt:908;'> <td class="xl67" height="63.75" rowspan="2" style='height:63.75pt;' x:str>6.人员调整</td> <td class="xl71" colspan="2" rowspan="2" style='' x:str>添加及删除教师、成员、优秀毕业生</td> <td class="xl68" rowspan="2" style='' x:str>如果没有照片,可以选择卡通形象</td> </tr> <tr height="18.35" style='height:18.35pt;'/> <tr width="0" style='display:none;'> <td width="88" style='width:88;'></td> <td width="127" style='width:127;'></td> <td width="125" style='width:125;'></td> </tr> </table>
-
选题难点
- 根据语料库自行设计神经网络算法,进行交流中心言论的筛选和审核。
- 未来将上线投入使用的真实项目,还需考虑网络安全、使用体验、后期维护、软件寿命等问题。
- 由于赛事后期可能会增加的不确定性,赛事相关需要做成可扩展的模块。
- 由于存在多人同时上传大文件的情况,需要设计合理的流量控制策略
-
程序语言/框架
- 前端:Webpack+Vue+AntDesign
- 后端:.Net Core
- NLP:Pytorch
NABCD模型
-
Need 需求
- 用户端 :
- 展示实验室项目成果、获奖情况、成员信息
- 通过网站进行报名和作品提交
- 可通过交流平台招募队友或寻找队伍
- 实验室可通过平台进行纳新
- 收取通知
- 管理员端 :
- 增删改比赛、获奖作品、成员信息
- 导出报名表、作品
- 管理交流平台
- 发布通知
- 网站数据统计与分析
- 发布头条快报
-
Approach 方法
-
前端主要使用Webpack,Vue以及AntDesign等框架进行实现。
大致思路是先由一人对原型中的组件进行统计汇总,然后统一编写css样式。之后将其封装为自定义组件方便复用和维护,再通过Vue-Router来组织页面路由,用Vuex存放全局变量。最后通过Webpack打包编译。 -
后端使用 .Net Core。
首先在Model层封装系统所需类,然后抽象出公共操作接口,数据接入接口等,在后期实现过程中,各个后端队员对自己所负责的模块进行对应接口的实现,最后由总工程师对所有模块进行组合,然后在Controller层实现对外开放接口。 -
NLP算法使用Pytoch框架,LSTM网络和ERNIE预训练模型。
虽然文本分类,尤其是对一些违背社会主义核心价值观言论的筛选现在一定有很稳定的接口,或者可以直接写规则来筛选。但是由于个人兴趣还是想独立训练一个模型。大致思路是先通过NLPIR或LTP导入语料库先进行数据预处理,然后丢入LSTM训练。有时间的话可以用随机森林等算法多跑几个模型最后做个集成。
-
-
Benefit 好处
- 方便实验室进行对外的成果展示
- 方便老师和实验室的负责人进行通知的发布。
- 方便负责人获取报名队伍信息和作品的收集。
- 方便同学了解实验室信息和实验室纳新报名。
- 方便同学进行大赛信息的了解和报名。
-
Competitors 竞争
- 由于选题原因,基本不存在竞争压力。
- UI界面交互上用户可能会与其它官网进行对比。如果不能提供一个风格清新、使用顺畅的界面可能会被“见多识广”的数计院同学所诟病。
- 赛事资源整合功能上网上其实有类似的网站,例如赛氪网,整合了各学科各等级的赛事。但我们是有针对性地整合那些得到教育部支持,我校承认并会在综合测评和保研资格考核中加分的计算机赛事。两者其实是相辅相成。且我们新增了招募队友平台,能帮助本校学生高效组队。
-
Delivery 交付
- 因为该项目是实验室的官方网站,所以在推广方面将得到学院老师、辅导员、团委学生会的鼎力支持。例如在官方公众号、各信息通知群等平台发布宣传消息,迅速提升知名度。
- 在赛事报名和实验室纳新正式通知中告知学生需要在此网站进行报名。
评审表
-
评审表下载地址
-
评审表预览
个人贡献比例权重
-
衡量准则
- 主要衡量部分在于团队成员的团队任务贡献度以及成员负责的任务难度。
- 当团队成员接受了团队分配的任务之后,有责任的、按时有质量地交付会有一定的加分,否则需要受到一定的绩效上的处罚。
- 在团队成员的相互交流时,确定团队的共同目标和阶段性任务时,对构建积极、信任、和谐的团队有贡献的成员会有所加分,对消极的成员(例如开会迟到、交流时全程划水)的也会有所处罚。
-
个人贡献比例
学号 | 姓名 | 比例 |
---|---|---|
221600131 | Jamin | 17% |
221600308 | 我超可爱的 | 19% |
221600426 | Hunterj Lin | 16% |
021600823 | 玫葵 | 19% |
221600340 | 你看见我的小熊了吗 | 15% |
221600305 | haziza | 14% |
来源:oschina
链接:https://my.oschina.net/u/4353832/blog/3601903