ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

第09组(71) 需求分析报告

2020-11-01 18:33:59  阅读:346  来源: 互联网

标签:supported varchar uuid 报告 viewer 09 w3 71 255


1.组长博客链接

点这里

2.团队基本情况

  • 团队项目的整体计划安排
计划安排 预计时间
编写需求说明书 10.17-10.20
约定好编码规范,初步架构搭建,完成需求规格说明书最终版 10.17-10.23
UI设计,完成架构设计,制定测试计划 10.24-10.30
完成Alpha版本——编码+测试+项目管理同步推进 10.31-11.28
完善项目,确定用户试用反馈和对测试计划改进 待定
完成Beta版本——以上面为基础进行改良+测试+项目管理推进 待定
确定最终版本与完善,编写用户手册 待定
  • 整体团队分工(大概,还会在细分)
分工 负责人
后端 叶飞扬,何坤杰,肖少东
前端,原型 张郑峰,宋静慧
美工 刘维凝
ppt,测试 柳越,罗彤
各类文档报告,测试 赖彪
答辩,测试 魏霖涛
  • 本次需求分析任务团队分工
    所有人需做的部分:对各个版本的文档进行讨论分析,决定改进方向
姓名 具体分配任务 具体分值(%)
魏霖涛(组长) 博客,燃尽图,演示视频 5
宋静慧 设计和描述原型,思维导图,演示视频 20
张郑峰 设计和描述原型,实现前端 10
刘维凝 项目logo 5
柳越 制作PPT 9
罗彤 制作PPT,答辩负责人,项目logo 10
赖彪 需求分析报告 9
叶飞扬 UML图,爬取数据 10
肖少东 UML图,搭建后端基本框架 10
何坤杰 UML图,爬取数据 12
  • 项目功能导图和燃尽图
    功能导图:

    燃尽图:

3.UML图

(1) 用户管理部分

负责人:肖少东

描述:用户管理包含用户注册、用户登录修改个人信息、重置密码,创建队伍,目标路线管理、好友管理的部分

该部分面临的问题:用户身份认证,用户间的通信,创建队伍的逻辑以及用户隐私的控制

解决的问题:

  • ​ 认证采用认证中间件拦截处理模块,使用Json Web Token Authorization,对不同的用户使用不同的token;
  • ​ 用户交流采用websocket长连接以支持用户之间的实时通信。
  • ​ 隐私信息保护,为隐私信息加入混淆再进行传输。

用例图

useruser注册注册登录登录修改个人信息修改个人信息IncludeInclude竞赛竞赛证书证书IncludeInclude我的路线我的路线报名报名好友列表好友列表ExtendsExtends我的队伍我的队伍ExtendsExtends用户中心用户中心
类图

Team(队伍)+ tid: uuid+ owner: uuid+ create_date: datetime+ name: varchar+ description: varcharUserJoinInfo(用户的比赛记录)+ jid: uuid + uid: uuid+ ctid: uuid (比赛子项)+ tid: uuid (比赛队伍,可为null)+ create_date: datetimeUserAward (用户的获奖情况)+ aid: uuid+ uid: uuid+ name: varchar+ type: int (0代表证书,1代表比赛)+ ctid: uuid (证书或者比赛的子项)+ description: varcharAwardRes(获奖资源)+ rid: uuid+ aid: uuid + name: varchar+ url: varchar+ ext: varcahr+ size: bigintUserResume(用户简历)+ rid: uuid+ uid: uuid+ name: varchar+ info: varchar+ create_time: datetime+ update_time: datetimeApplyInfo(报名记录)+ aid: uuid+ tid: uuid+ uid: uuid+ title: varchar+ content: varchar+ status: int (报名状态)FriendUser(好友列表)+ owner: uuid+ uid: uuid+ group: varchar+ remarks: varchar+ create_time: datetimeChatMessage+ cid: uuid+ fuid: uuid(发送方)+ tuid: uuid(接收方)+ content_json: varcharFriendApplyInfo(好友申请信息)+ fid: uuid+ owner: uuid+ uid: uuid+ status: int+ message: varcharTeamPartner(队伍成员)+ tid: uuid+ uid: uuid+ remarks: varchar+ create_date: datetimeUser(用户)+ id: uuid+ username: varchar+ password: varchar+ email: varchar+ phone: varchar+ avatar: varchar+ born: datetime+ login_times: int+ last_login_ip: varchar+ create_date:datetime+ last_login_date: datetimeUserRouteItem( 用户路线具体子项)+ rtid: uuid+ rid: uuid+ name: varchar+ type: int (0代表证书,1代表比赛)+ ctid: uuid (证书或者比赛的子项)UserRoute(用户参与路线)+ rid: uuid+ name: varchar (参与路线的自定义名称)+ description: varchar (路线的具体描述)
活动图

useruser登录成功[Not supported by viewer]nonoyesyes登录[Not supported by viewer]注册[Not supported by viewer]yesyesnono注册[Not supported by viewer]功能选择[Not supported by viewer]我的报名[Not supported by viewer]竞赛[Not supported by viewer]证书[Not supported by viewer]指定竞赛页面[Not supported by viewer]指定证书页面[Not supported by viewer]聊天[Not supported by viewer]个人信息[Not supported by viewer]好友列表[Not supported by viewer]指导私聊[Not supported by viewer]队伍群聊[Not supported by viewer]修改个人信息[Not supported by viewer]注销[Not supported by viewer]
状态图

未登入未登入已注册已注册未注册未注册遗忘密码遗忘密码账号正常账号正常重置密码重置密码注册注册已登入已登入登入登入收藏收藏消息消息报名报名Viewer does not support full SVG 1.1

(2) 权限部分

负责人:叶飞扬

描述:为区分管理员、普通用户、特殊用户进行细粒化权限控制

该部分面临的问题:权限控制越细处理越复杂同时效率也越低,如何权衡效率以及粒度。

解决的问题:

采用基于角色的权限控制,并将统一资源定位变换为资源与方法进行细粒化控制,同时加入自动化权限分配策略。

用例图

UserUser自身权限自身权限AdminAdmin修改用户权限修改用户权限权限模块权限模块
类图

Permission+ pid: uuid+ name: varchar+ url: varchar+ create_date: datetime+ method: varchar+ description: varcharRole+ rid: uuid+ name: varchar+ create_time: datetimeUser(用户)+ id: uuid+ username: varchar+ password: varchar+ email: varchar+ phone: varchar+ avatar: varchar+ born: datetime+ login_times: int+ last_login_ip: varchar+ create_date:datetime+ last_login_date: datetime
活动图

useruser权限不够[Not supported by viewer]在竞赛模块[Not supported by viewer]nonoyesyes申请成为队长[Not supported by viewer]权限等级上升[Not supported by viewer]
状态图

普通权限普通权限管理员权限管理员权限普通队员权限普通队员权限队长权限队长权限成为队长成为队长管理员权限管理员权限Viewer does not support full SVG 1.1

(3) 证书部分

负责人:何坤杰

描述:证书的爬取、收集、证书的自动化分类以及排序存储

该部分面临的问题:证书的官方网站散而多,各省的证书网站都不近相同,如何做到自动化获取这些信息是一个难点

解决的问题:

爬虫爬取资源以及人工手动收集标记,然后逐步转为自动化收集以及标记。

用例图

UserUser搜索比赛搜索比赛查看证书查看证书IncludeInclude报名报名AdminAdmin维护证书信息维护证书信息证书模块证书模块
类图

Certificate(证书)+ cid: uuid+ name: varchar+ create_date: datetime+ description: varchar+ website: varchar+ ccid: uuidCertificateClassification(证书分类)+ ccid: uuid+ name: varchar+ create_date: datetimeCertificateItem(证书具体考证)+ ctid: uuid+ cid: uuid+ exam_start: datetime+ exam_end: datetime+ apply_start: datetime+ apply_end: datetime+ address: varcharCertificateRes(证书的资源)+ rid: uuid+ name: varchar+ url: varchar+ ext: varchar+ size: bigint+ cid: uuid+ ctid: uuidFCertificateClassification+ ccid: uuid+ cid: uuid
活动图

useruser证书[Not supported by viewer]搜索证书[Not supported by viewer]指定证书[Not supported by viewer]详情[Not supported by viewer]官方公告[Not supported by viewer]相关文件
[Not supported by viewer]
报名[Not supported by viewer]

状态图

证书状态不可报名不可报名创建创建报名期报名期比赛期比赛期时间超过时间超过Viewer does not support full SVG 1.1

(4) 竞赛部分

负责人: 何坤杰

描述:比赛的爬取、收集以及自动化分类以及排序

该部分面临的问题:比赛的部分相对于证书部分会有专门的网站进行收集,爬取相对容易,但是如何区分一个比赛的区域以及比赛的正规性等等相对比较难。

解决的问题:

基于文本分析过滤一些水赛,只提取比较重要的比赛,同时通过前期的手动分类逐步转化为后期的自动化分类。

用例图

UserUser搜索比赛搜索比赛查看比赛查看比赛IncludeInclude报名报名组队组队IncludeIncludeAdminAdmin维护比赛信息维护比赛信息比赛模块比赛模块
类图

Competition(比赛)+ cid: uuid+ name: varchar+ create_time: datetime+ description: varchar+ website: varchar+ max_people_count: int+ ccid: uuidCompetitionClassification(比赛分类)+ ccid: uuid+ name: varchar+ create_time: datetimeCompetitionItem(比赛的具体子项)+ ctid: uuid+ cid : uuid+ name: varchar (具体的名字,赛道) + competition_start: datetime+ competition_end: datetime+ apply_start: datetime+ apply_end: datetime+ address: varchar+ create_time: datetimeCompetitionRes(比赛的资源)+ rid: uuid+ name: varchar+ url: varchar (OSS对象存储的定位标识)+ ext: varchar+ size: bigint+ cid: uuid (比赛的项目,可为null)+ ctid: uuid(比赛的子项,可为null)FCompetitionClassification+ cid: uuid+ ccid: uuid
活动图

useruser竞赛[Not supported by viewer]搜索比赛[Not supported by viewer]指定比赛[Not supported by viewer]详情[Not supported by viewer]官方公告[Not supported by viewer]相关文件[Not supported by viewer]报名[Not supported by viewer]人数符合[Not supported by viewer]组队[Not supported by viewer]报名成功[Not supported by viewer]查看队伍[Not supported by viewer]创建队伍[Not supported by viewer]申请入队[Not supported by viewer]YesYesNoNo
状态图

队伍尚未创建队伍尚未创建报名队伍报名队伍队伍筹备队伍筹备队长创建队长创建报名失败报名失败报名成功报名成功人员不足,时间超时人员不足,时间超时报名人数满足报名人数满足Viewer does not support full SVG 1.1

实体关系图(总图)

用户用户用户名用户名邮箱邮箱头像头像出生日期出生日期手机号码手机号码比赛比赛分类分类比赛时间比赛时间报名时间报名时间资源资源名称名称地点地点比赛介绍信息比赛介绍信息长度长度创建的时间创建的时间拥有拥有11nn队伍队伍属于属于nnnn名称名称描述信息描述信息分类分类证书证书名称名称名称名称报名时间报名时间考试时间考试时间官方网站官方网站官方网站官方网站地点地点拥有拥有nn11证书信息证书信息奖项奖项名称名称属于属于11nn描述描述获奖证书图片获奖证书图片属于属于11nn拥有拥有nn11添加好友添加好友nnnn路线规划路线规划描述描述名称名称创建时间创建时间拥有拥有nnnn拥有拥有nnnn邮箱邮箱用户名用户名头像头像描述描述名称名称获奖证书图片获奖证书图片报名时间报名时间邮箱邮箱用户名用户名头像头像描述描述名称名称获奖证书图片获奖证书图片报名时间报名时间证书信息证书信息考试时间考试时间名称名称官方网站官方网站地点地点描述描述名称名称创建时间创建时间地点地点邮箱邮箱用户名用户名头像头像描述描述名称名称获奖证书图片获奖证书图片报名时间报名时间分类分类证书信息证书信息考试时间考试时间名称名称官方网站官方网站地点地点描述描述名称名称创建时间创建时间地点地点比赛时间比赛时间名称名称报名时间报名时间分类分类用户部分用户部分比赛部分比赛部分证书部分证书部分角色角色名称名称创建时间创建时间有效期有效期权限权限拥有拥有名称名称资源资源操作操作nnnn创建时间创建时间属于属于nnnn权限部分权限部分Viewer does not support full SVG 1.1
时序图

首页首页个人信息界面个人信息界面竞赛界面竞赛界面证书界面证书界面组队界面组队界面用户用户查看我的队伍查看我的队伍登录竞枢登录竞枢点击我的点击我的查看参赛信息查看参赛信息登录失败登录失败报名参赛报名参赛查看报名信息查看报名信息聊天界面聊天界面队伍群聊队伍群聊好友私聊好友私聊
通信图

证书列表证书列表证书详细证书详细查看查看返回返回报名报名登入登入报名报名返回返回成功成功验证验证验证成功验证成功Viewer does not support full SVG 1.1

部署图

FirewallFirewallSpider ServerSpider ServerScrapyScrapyGatewayGatewayNginxNginxUser clientUser clientBrowserBrowserDB ServerDB ServerMysqlMysqlWeb ServerWeb ServerJava Web ApiJava Web ApiViewer does not support full SVG 1.1

4.作业记录相关

  • UML设计工具的选择,理由及评价

    使用的工具:VSCode Drawio插件、坚果云绘图

    理由:白嫖+多网盘支持,多平台支持——支持在vscode、桌面端、web端。比visio轻量,无需下载,易移植。

    评价:基本满足要求,很多模板支持,画UML图非常容易

  • 遇到的困难及解决方法

    • 遇到的困难:首先是对uml的陌生,对于各种uml设计图没有一个明确的概念,经常会混淆不同图的画法与意义。然后小组成员对于工具的使用还不熟练。
    • 解决的方法:查阅各种uml教程与博客,多用工具试试手。
  • PSP

PSP2.1 Personal SoftwareProcess Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划 45 50
·Estimate ·估计这个任务需要多少时间 30 40
Development 开发 100 50
·Analysis · 需求分析 (包括学习新技术) 70 80
·Design Spec · 生成设计文档 30 20
·Design Review ·设计复审 30 10
·Coding Standard · 代码规范 (为目前的开发制定合适的规范) 30 45
·Design · 具体设计 260 300
·Coding · 具体编码 30 40
·Code Review · 代码复审 0 0
·Test · 测试(自我测试,修改代码,提交修改 0 0
Reporting 报告 60 50
·Test Repor ·测试报告 30 50
·Size Measurement ·计算工作量 15 20
· Postmortem & Process Improvement Plan ·事后总结, 并提出过程改进计划 80 60
· 合计 810 815
  • 学习进度表
第N周 新增代码(行) 累计代码(行) 本周学习耗时(小时) 累计学习耗时(小时) 重要成长
1 200 200 10 10 掌握新技能,增强组员的合作和相互学习

标签:supported,varchar,uuid,报告,viewer,09,w3,71,255
来源: https://www.cnblogs.com/Luotong-cnblogs/p/13910583.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有