结对作业一
相关问题 | 具体内容 |
---|---|
这个作业属于哪个课程 | <2021春软件工程实践S班> |
这个作业要求在哪里 | <结对作业一> |
结对学号 | <221801416><221801439> |
这个作业的目标 | <团队合作、原型制作、NABCD模型> |
其他参考文献 | <markdown教程><墨刀> |
PSP表格和效能分析
PSP
Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|
计划 | 10 | 10 |
估计这个任务需要多少时间 | 120 | 150 |
需求分析 (包括学习新技术) | 120 | 150 |
生成设计文档 | 30 | 20 |
设计复审 | 10 | 20 |
登录界面设计时间 | 10 | 10 |
主页面设计时间 | 20 | 20 |
分析论文信息界面 | 30 | 40 |
操作论文信息界面 | 30 | 40 |
展示论文信息界面 | 30 | 40 |
报告 | 90 | 120 |
事后总结, 并提出过程改进计划 | 10 | 30 |
合计 | 510 | 670 |
效能分析
目前还处于原型设计阶段,还不能确定程序的性能。会在下一阶段进行效能分析。
原型
地址
介绍
整体思路
①第一印象
拿到题后,首先看问题和需求,看到爬虫之后有点害怕,因为之前有因为某些原因接触过相关知识,很复杂;往后一看,似乎是在爬取之后进行类似于数据库的增删改查操作,经过这么长时间与数据库打各种交道,似乎这一部分不会太难;后面关于热词的和标签的统计又发现难点,总体来说,问题和需求下的研究似乎没有那么简单。然后看见备注说明此次作业是一次原型模拟,觉得还有充足时间去研究具体实现,但又对原型设计很陌生,所以二人在短暂的计划后开始学习原型工具墨刀。
②具体思路
如上图,在要求的基础上我们准备增添一个登陆界面和主页面对具体实现进行一个简单的列举,然后通过链接的方式分别进入相关功能--导入、展示页面、操作页面、分析页面,并决定通过顶部导航栏对其进行分类和跳转
主要设计
①登陆界面:一个简单的用户名和密码的输入,可以让信息变得专人专项,实现如下:
②主页面:通过登陆后进入主界面,有两个导入形式--输入论文题目进行单个导入以及输入论文列表进行批量输入,此时我们的主要重心放在批量导入中;此外,还有顶部导航栏对三个功能--展示、操作、分析进行链接跳转。如下:
③展示论文信息:根据所选择的论文列表对筛选到的论文进行简单排列,里面包含论文名、论文所在网址、摘要以及相关标签。如下:
④操作论文列表:通过文本框输入进行特定查询以及通过对顶会和年份的选择进行模糊查询来指定需要的论文,如下:
⑤分析论文信息:通过对论文标签的统计,赋予标签一个事件,触发事件后可以得到相应标签的论文,标签不是完全一致的,比如标签为“应用”,那么“计算机应用”和“应用”标签下的论文都可以被筛选并显示;同时用动图将标签出现次数由低到高展现出来,如下:
⑥页面间联系:主页面通过顶部链接将展示、分析与操作联系起来,各页面访问通过左上方“>”联系起来,可以进行返回
设计修改
刚开始只是暂时将几个页面链接起来,并没有实现流畅的查询等操作,于是就有了下方问题描述,然后的解决方案便是用多个状态叠加,并用事件触发进行解决并实现。
困难及解决
①原型的使用:又是一个新的东西,在使用前并不知道它有什么作用。在根据链接学习快速指南后慢慢开始驶入正轨。
②如何动态地呈现原型?
问题描述:由于原型只是一个模型网页,所以无法像运行代码一样按部就班地动态呈现,那么在现阶段我们能做的是什么呢?
解决方案:在对原型的了解和使用下,发现每个页面可以有很多个不同的状态,就像动画是由一帧帧图片产生,所以就给每个页面添加不同的状态,并对按钮或者输入框赋予事件,只要单击就会触发事件。事件转换可以页面转换,也可以同一页面下状态转换,由此可以解决不动态的问题。
③收获:学会了原型的状态更迭,明白了触发事件机制,可以动态运行网页。
NABCD模型
N(Need,需求)
●获取待爬取论文列表及论文信息爬取:
△支持用户输入单个论文题目,也支持批量导入论文列表;
△通过论文列表,爬取论文的摘要、关键词、原文链接;
●对已爬取的论文列表进行操作:
△可对论文列表进行增删改操作;
△可对论文列表进行查询(输入论文题目,也支持模糊查询:输入论文编号、关键词等基本信息),若在论文列表中不存在所要检索的论文,则根据输入的查询语句到网站爬取并返回论文的摘要、关键词、原文链接;
●分析已爬取到的论文信息,提取top10个热门领域或热门研究方向:
△形成如关键词图谱之类直观的查看方式,点击某个关键词可展现相关的论文;
△可对多年间、不同顶会的热词呈现热度走势对比,以动图的形式呈现(这里将范畴限定在计算机视觉的三大顶会CVPR、ICCV、ECCV内);
A(Approach,做法)
- 登录
△输入账号密码登录系统
△用账号的输入框作为事件触发,将登录页面的第二状态设置为输入完成账号密码,然后通过登录按钮触发页面转换,转至主页面 - 主页面
△通过点击顶部导航栏的按钮跳转到不同的页面
△点击导入按钮导入论文列表
△导入分为单项导入和批量导入,同样以输入框为触发事件,主页面的两个导入按钮和输入框分离为状态2、3,然后用导入按钮跳转至展现页面由此表示导入完成。 - 操作论文列表
△通过搜索框或下拉框检索论文
△点击按钮对论文列表进行增删改
△此页面也有三个状态,第一状态为输入框hint和论文列表,第二状态为输入确切名称,第三状态输出查询,以输入框和按钮进行状态和页面跳转 - 分析论文信息
△通过标签检索相应标签下的论文
△通过标签制作动态折线图
△不同标签下跳转到满足筛选的展现页面的不同状态
B(Benefit,好处)
- 界面简洁
△顶部导航栏,方便用户选择
△条理清晰,方便用户理解
△下拉框检索,操作方便 - 自定义论文列表
△支持用户自己导入论文列表
△可以对论文列表以及内容进行增删改
C(Competitors,竞争)
- 优势
△目前还没有这种统计热词的平台,可以吸引很多的用户
△界面简洁,操作方便 - 劣势
△功能不够强大
△只适合有学术要求的用户使用
D(Delivery,推广)
- 线上推广
△通过微信公众号推广
△通过同学朋友转发 - 线下推广
△在校内摆摊推广
原型工具使用
使用工具:墨刀
使用功能:
①页面;②矩形框、输入框、按钮等插件;③事件触发;④状态转换等
结对体验
总结
刚开始看到作业的要求,两个人都不知道该怎么开始,然后我们又去阅读了一遍《构建之法》,通过阅读《构建之法》关于NABCD的内容,我们能够更好地进行项目设计,从NABCD五个方面考虑项目的设计,使得我们考虑的更加完善。这是我们第一次做原型设计,发现通过原型设计,后续开发阶段就会方便很多,也由此增加了对原型设计的知识。
感受
通过这次结对作业,我们感受到单人作业和结队作业有很大的不同,遇到问题时需要两个人沟通,开始做作业前也要先设计好模块,规定好每个人要做的任务,避免后面乱套,正如《构建之法》所提到的团队合作,要有清晰明了的分工,各司其职才能高效完成任务。
评价
- 对陆吉杉的评价:吉杉同学很认真负责,我们分配的任务她都会准时完成,并且找我沟通,她也很乐意听我的意见,而且会适时地提出改正,希望下次团队作业还能跟她合作!
- 对林怀颖的评价:怀颖同学的基础知识很完备,对于新知识的学习也比较快速高效,有很多值得学习的地方,对于我提出的问题都尽力帮忙讲解,而且对自己的任务完成度高,很庆幸此次与她合作!
备注
此次原型设计所采取的论文内容均来自于中国期刊网的“计算机技术”词条下的搜索结果。