结对作业一
作业信息
这个作业属于哪个课程 | 2021春软件工程实践W班 (福州大学) |
---|---|
这个作业要求在哪里 | 结对作业一 |
结对学号 | 221801428 221801402 |
这个作业的目标 | 1、找到结对伙伴 2、根据需求,进行原型设计 3、撰写博客 |
其他参考文献 | Axure基础教程 |
目录
PSP表格
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | ||
• Estimate | • 估计这个任务需要多少时间 | 800 | 850 |
Development | 开发 | ||
• Analysis(Personal) | • 需求分析(个人) | 50 | 60 |
• Analysis(Pair) | • 需求分析(结对) | 60 | 60 |
• Learning | • 工具学习 | 200 | 220 |
• Design Spec | • 生成设计文档 | 20 | 15 |
• Design Review | • 设计复审 | 50 | 40 |
• Design | • 具体设计 | 390 | 420 |
Reporting | 报告 | ||
• Size Measurement | • 计算工作量 | 10 | 10 |
• Postmortem & Process Improvement Plan | • 事后总结, 并提出过程改进计划 | 20 | 25 |
合计 | 800 | 850 |
效能分析
这次的作业不需要编码,所以具体程序的效能分析暂时无法给出,但是因为作业过程中涉及学习和设计的部分,故将学习和设计过程中遇到的一些导致效率低下的问题给出。
- 因为选择了Axure作为原型设计工具,故在使用前必须要进行学习,我们在网上寻找了很多的教学视频,有的视频节奏过慢,导致效率不高,虽然教学很细,但是会导致作业无法在指定的时间内完成;而有的教学视频使用的版本不一致,例如我们使用的是Axure9而大部分视频都是使用Axure8,查询过后发现这两个版本使用差距较大,故导致学习资源非常有限。
- 仅仅是为了完成作业而去学习一个东西,完成作业后可能会弃之不理,这样的做法也许算是浪费学习时间。因此在学习时进行了笔记的记录,仍存在以下两个问题:一,这个作业并不要求我们对Axure进行深入的学习,只需一些基本的元件拖拽以及属性,交互设置即可,若要深入进行学习,同时记录知识势必会花费大量时间,然而这个学期课程忙碌,我们该如何在两者之间进行权衡?二,Axure在未经购买时只能免费使用30天,即使我们现在努力学习使用方法,届时软件无法使用,现在做的工作也有可能付诸东流,或者对这方面有所了解即是这次作业的目的?
- 原型设计过程中,Axure这个软件非常人性化,极大地提高了设计的效率,但在设计的时侯还是会寻求对称,等距,这就导致在设计一些细节的时候耗费的时间过多,然后结果看来也并没有改善的非常明显,似乎在做无用功。
- 和结对的伙伴一起设计原型时,有些时候会有意见冲突,或者某一方的设计并不完全符合总体的设计风格,这就需要另一方进行修改,调整。
原型地址
设计思路以及原型介绍
设计思路
1、首先,制作一个首页用于搜索论文,导入论文自然不必多说。不过要从文件导入,就必须要告诉用户导入规则,如支持的文件类型,以及论文题目排版等,这些信息选择放在一个消息弹窗中进行显示。在导入部分,一开始计划将用户上传的文件进行分析,然后给出所有的论文题目并以表格的形式显示在主页面,方便用户确认,然而,经过仔细思考,如果用户要导入的论文题目非常多,使用表格进行显示可能会造成主页面太长,不够美观,便暂时不选择提供这个功能。
2、因为题目要求有些模糊(比如说对搜索结果进行增删改的意义是什么,也可能是我们理解不透彻),最后我们决定使用多用户模式,每个用户有自己的收藏夹,用户可以选择自己喜欢的论文信息放入收藏夹中,方便查看,修改和删除。因此,需要登录和注册功能,于是我们便加入了登录注册页面,并通过主页面跳转。
3、在搜索结果显示部分,开始是以为一个搜索页面即可,因为本身要显示的内容并不多。之后考虑到论文的题目或论文作者可能很长,这会导致每一个搜索项长短不一且容易造成显示问题,故为每个搜索项新增一个论文详情界面,在里面以表格的形式给出每个论文的详情信息,而搜索界面做个字符串截取,当文本过长时,使用省略号代替剩下的内容。
4、热词排行以及动图部分。热词考虑放在搜索结果页面,根据搜索结果进行分析。动图则放在单独页面,使用户不需要经过搜索也能查看统计信息。
原型展示
主页面
主页面包含导向各个部分的连接,以及对导入的相关说明。
导入的具体格式要求则放在单独的消息框中显示
搜索列表
搜索列表包含论文题目,关键词,编号,链接,作者等信息。搜索列表右边为热词排行
论文详情
包括更加详细的论文基本信息
登录注册
因为不能确保是否需要登录和注册,故暂且简单设计了一下登录和注册的页面
热词趋势图
通过将echarts代码导入Axure中以显示折线图动图
困难解决
1、如何判断搜索结果是否已经收藏过,防止重复收藏
首先因为要求比较模糊,我们暂时无法准确的回答如何解决。这里先给出的是yzx同学的设想方案,在不使用数据库保存所有可能的搜索结果的情况下,打算使用论文编号来标识每一个搜索结果,因为论文编号是唯一的,能确定论文编号,其余的作者,关键字,论文题目等信息就可以确定,因此数据库只保存用户的收藏项,用户要将搜索项加入收藏中时,先判断搜索项的论文编号是否在收藏中已存在,若已存在则提示已收藏过。
收获:也算是了解了在不使用数据库的情况下,如何实现与使用数据库时类似的效果。
2、是否要显示用户导入的文件内容
虽然指定了用户导入文件的数据格式,但如果点击导入后直接显示搜索结果,可能会导致用户怀疑是否是自己需要查找的那些论文题目,因此干脆用户点击导入,选择文件后,直接在下面的表格中显示要搜索的论文题目列表供用户确认,这样子更加人性化。
收获:实现一个功能,要考虑所有最坏的情况。
3、优化折线图的显示(未解决)
我们希望在折线图的每条折线最后跟上一个文字描述这条折现代表的热词是什么,然而在网络上查找相关信息时并未发现相关的信息,只有在每个点左右设置信息的属性选项,这样子导致整张图充满文字,很乱。以及在第一次载入数据统计页面的时候,动图有些时候会不显示,刷新一次后便正常了。
NABCD模型
N (Need 需求)
- 获取待爬取论文列表及论文信息爬取;
- 支持用户输入单个论文题目,也支持通过excel,txt文件批量导入论文列表;
- 通过论文列表,爬取论文的摘要、关键词、原文链接,作者,论文编号;
- 对已爬取的论文列表进行操作;
- 可对论文列表进行增删改操作;
- 可对论文列表进行查询(输入论文题目,也支持模糊查询:输入论文编号、关键词等基本信息),若在论文列表中不存在所要检索的论文,则根据输入的查询语句到网站爬取并返回论文的摘要、关键词、原文链接;
- 分析已爬取到的论文信息,提取top10个热门领域或热门研究方向;
- 将三顶会的历年热词热度趋势以折现图的方式显示
A (Approach 做法)
- 解析用户输入,通过爬虫程序爬取相关的论文信息,以列表的形式展现给用户。
- 使用一个数据库保存用户的收藏论文信息,并在需要时对数据库进行更新。
- 缓存爬取热词趋势得到的数据,防止爬取程序执行耗时过长。
B (Benefit 好处)
- 使用方便,输入数据格式简单。
- 页面使用暗色调简约风,看着舒服。
- 多用户模式增强用户的使用体验,提高应用的耐用性。
C (Competitors 竞争)
- 应用简约而功能齐全,不花里胡哨,适合用于办公时使用。
- 有些竞争对手虽然可能功能很强大,但是为了利益最大化,大部分在页面中都加入了各种各样的广告,导致用户使用体验差。相比其他应用,本应用无广告,使用方式简单,使用时不要求进行登录注册,并且,能确保做到和其他应用相当程度的功能。
D (Delivery 交付)
- 可以先在同学,同专业的学生之间进行推广,反响良好的话再发布到应用商店。
- 同时可以创建一些交流群,发布应用的更新情况以及进行宣传。
- 也可通过视频演示的方式,投放到bilibili,微博等有大量用户的平台上,吸引用户。
使用工具
原型设计工具主要使用了Axure RP9
折线图绘制使用了echarts的在线编辑器
结对总结
结对过程
任务开始时,我们交流了一下任务需求的具体情况,以及未来该用什么语言实现
对某些需求的设计进行了讨论
任务过程中,我们各人负责一部分的页面设计,并且设计后让对方进行适当的修改。提高了效率。
第一次结对的感受
杨朕炫:首先之前也和其他人合作完成任务过,因此,结对给我最大的感受便是能使我们的工作事半功倍,在提高了对技术的掌握之外,更提高了我的交流沟通能力。在结对过程中,我们也有过意见矛盾的时候,这个过程教会了我如何进行团队协作,如何与其他人一起解决问题,也深刻让我体验到了团队的重要性。结对使我们互相了解,互相进步。虽然我们的技术水平不可能一模一样,但结对过程中的互相学习使得我们俩都有所进步,有所收获。
普润寒:这次结对对我来说是一个不错的进步阶梯。在之前的个人单独任务的时候可能会被一些问题给困住无法前行,但在结对的时候可以通过沟通,请教队友,解决了一些因为自己能力不足而无法解决的问题,同时也可以学到队友身上优秀的实践思想,以及稍微学习到一点队友的学习方法。然后自己有点拖延,任务可能会在快到deadline才开始处理,但在这次结对受到队友的引导和鼓励,算是较早的就开始了任务,之中我也了解到团结合作的重要,在这次结对作业中可以说是受益匪浅。
结对评价
221801428(yzx)——>221801402(prh) : 首先,润寒同学学习东西速度特别快,我一个下午学会的东西他似乎两三个小时便学会了,并且把他负责的页面交付给我时,我也不必做太多的修改,极大地使设计工作更加有效率。同时,润寒同学非常容易交流,并且能够提出自己的意见,能对当前的困难之处进行缜密的分析,并给出适当的解决方案,和他一起结对我感到很放松,也很放心。
221801402(prh)——>221801428(yzx) : 朕炫同学是个很不错的队友,更准确地来说是不错的领航员。有着清晰的头脑和厉害的实践能力。仿佛在设计以前就已经把整个程序已经给完成了,明确的指出我们需要的是什么,我们要做的是什么,我们应该是怎么做到的。在他方向的指引下,自己曾经单独任务时的迷茫感瞬间全无。而且朕炫同学易沟通,有很好逻辑性,能迅速指出我提出意见的可行点和不足处,而且不管是作业的大方向还是面对困难时所需要的突破方向都是由他指出而且他处理了这次结对作业的大部分内容,我的页面也是在他的辅佐下完成的。总之结对作业时朕炫同学给人一种跟着他走就不会出错的安心感。